[oe-commits] Robert Yang : python: remove the default optimization

git at git.openembedded.org git at git.openembedded.org
Fri May 10 10:36:31 UTC 2013


Module: openembedded-core.git
Branch: master
Commit: 165ed464bbb9bf985dde9d8c15d000809901fff6
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=165ed464bbb9bf985dde9d8c15d000809901fff6

Author: Robert Yang <liezhi.yang at windriver.com>
Date:   Wed May  8 16:29:48 2013 +0800

python: remove the default optimization

We had hard coded python-native and python's default optimization to 1,
which made the "assert" statement didn't work, and removed the "-O/-OO"
(optimization options), the target python had a "-N" option to disable
the default optimization, but the native python didn't.

I think that we can set the environment variable PYTHONOPTIMIZE or use
"python -O" if we need to optimize, but I'm not sure whether we need to
set it by default, it would confuse the user or cause/hide unexpected
problems if the "assert" doesn't work.

[YOCTO #4427]

Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 .../python-native/04-default-is-optimized.patch    |   20 -------
 .../recipes-devtools/python/python-native_2.7.3.bb |    2 +-
 .../python/python/04-default-is-optimized.patch    |   60 --------------------
 .../python/99-ignore-optimization-flag.patch       |   21 -------
 meta/recipes-devtools/python/python_2.7.3.bb       |    2 -
 5 files changed, 1 insertions(+), 104 deletions(-)

diff --git a/meta/recipes-devtools/python/python-native/04-default-is-optimized.patch b/meta/recipes-devtools/python/python-native/04-default-is-optimized.patch
deleted file mode 100644
index 8fe147e..0000000
--- a/meta/recipes-devtools/python/python-native/04-default-is-optimized.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-# When compiling for an embedded system, we need every bit of
-# performance we can get. default to optimized with the option
-# of opt-out.
-# Signed-Off: Michael 'Mickey' Lauer <mickey at vanille-media.de>
-
-Index: Python-2.6.1/Python/compile.c
-===================================================================
---- Python-2.6.1.orig/Python/compile.c
-+++ Python-2.6.1/Python/compile.c
-@@ -32,7 +32,7 @@
- #include "symtable.h"
- #include "opcode.h"
- 
--int Py_OptimizeFlag = 0;
-+int Py_OptimizeFlag = 1;
- 
- #define DEFAULT_BLOCK_SIZE 16
- #define DEFAULT_BLOCKS 8
diff --git a/meta/recipes-devtools/python/python-native_2.7.3.bb b/meta/recipes-devtools/python/python-native_2.7.3.bb
index 162eced..722d92c 100644
--- a/meta/recipes-devtools/python/python-native_2.7.3.bb
+++ b/meta/recipes-devtools/python/python-native_2.7.3.bb
@@ -4,7 +4,7 @@ EXTRANATIVEPATH += "bzip2-native"
 DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native"
 PR = "${INC_PR}.1"
 
-SRC_URI += "file://04-default-is-optimized.patch \
+SRC_URI += "\
            file://05-enable-ctypes-cross-build.patch \
            file://06-ctypes-libffi-fix-configure.patch \
            file://10-distutils-fix-swig-parameter.patch \
diff --git a/meta/recipes-devtools/python/python/04-default-is-optimized.patch b/meta/recipes-devtools/python/python/04-default-is-optimized.patch
deleted file mode 100644
index 7ce819a..0000000
--- a/meta/recipes-devtools/python/python/04-default-is-optimized.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-Updated original patch for python 2.7.3
-
-Signed-Off-By: Nitin A Kamble <nitin.a.kamble at intel.com>
-2012/05/01
-
-
-# when compiling for an embedded system, we need every bit of
-# performance we can get. default to optimized with the option
-# of opt-out.
-# Signed-Off: Michael 'Mickey' Lauer <mickey at vanille-media.de>
-
-Index: Python-2.7.3/Python/compile.c
-===================================================================
---- Python-2.7.3.orig/Python/compile.c
-+++ Python-2.7.3/Python/compile.c
-@@ -32,7 +32,7 @@
- #include "symtable.h"
- #include "opcode.h"
- 
--int Py_OptimizeFlag = 0;
-+int Py_OptimizeFlag = 1;
- 
- #define DEFAULT_BLOCK_SIZE 16
- #define DEFAULT_BLOCKS 8
-Index: Python-2.7.3/Modules/main.c
-===================================================================
---- Python-2.7.3.orig/Modules/main.c
-+++ Python-2.7.3/Modules/main.c
-@@ -40,7 +40,7 @@ static char **orig_argv;
- static int  orig_argc;
- 
- /* command line options */
--#define BASE_OPTS "3bBc:dEhiJm:OQ:RsStuUvVW:xX?"
-+#define BASE_OPTS "3bBc:dEhiJm:NOQ:RsStuUvVW:xX?"
- 
- #ifndef RISCOS
- #define PROGRAM_OPTS BASE_OPTS
-@@ -69,8 +69,7 @@ Options and arguments (and corresponding
- static char *usage_2 = "\
-          if stdin does not appear to be a terminal; also PYTHONINSPECT=x\n\
- -m mod : run library module as a script (terminates option list)\n\
---O     : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x\n\
---OO    : remove doc-strings in addition to the -O optimizations\n\
-+-N     : do NOT optimize generated bytecode\n\
- -R     : use a pseudo-random salt to make hash() values of various types be\n\
-          unpredictable between separate invocations of the interpreter, as\n\
-          a defense against denial-of-service attacks\n\
-@@ -365,8 +364,8 @@ Py_Main(int argc, char **argv)
- 
-         /* case 'J': reserved for Jython */
- 
--        case 'O':
--            Py_OptimizeFlag++;
-+        case 'N':
-+            Py_OptimizeFlag=0;
-             break;
- 
-         case 'B':
diff --git a/meta/recipes-devtools/python/python/99-ignore-optimization-flag.patch b/meta/recipes-devtools/python/python/99-ignore-optimization-flag.patch
deleted file mode 100644
index a5d9812..0000000
--- a/meta/recipes-devtools/python/python/99-ignore-optimization-flag.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-# Reinstate the empty -O option to fix weird mixing of native and target
-# binaries and libraries with LD_LIBRARY_PATH when host==target
-#
-# Signed-off-by: Denys Dmytriyenko <denis at denix.org>
-
-Index: Python-2.6.6/Modules/main.c
-===================================================================
---- Python-2.6.6.orig/Modules/main.c
-+++ Python-2.6.6/Modules/main.c
-@@ -327,6 +327,9 @@ Py_Main(int argc, char **argv)
- 
-         /* case 'J': reserved for Jython */
- 
-+      	case 'O': /* ignore it */
-+      		break;
-+
-         case 'N':
-             Py_OptimizeFlag=0;
-             break;
diff --git a/meta/recipes-devtools/python/python_2.7.3.bb b/meta/recipes-devtools/python/python_2.7.3.bb
index aace95e..f76f218 100644
--- a/meta/recipes-devtools/python/python_2.7.3.bb
+++ b/meta/recipes-devtools/python/python_2.7.3.bb
@@ -7,11 +7,9 @@ DISTRO_SRC_URI_linuxstdbase = ""
 SRC_URI += "\
   file://01-use-proper-tools-for-cross-build.patch \
   file://03-fix-tkinter-detection.patch \
-  file://04-default-is-optimized.patch \
   file://05-enable-ctypes-cross-build.patch \
   file://06-ctypes-libffi-fix-configure.patch \
   file://06-avoid_usr_lib_termcap_path_in_linking.patch \
-  file://99-ignore-optimization-flag.patch \
   ${DISTRO_SRC_URI} \
   file://multilib.patch \
   file://cgi_py.patch \





More information about the Openembedded-commits mailing list