Skip to contentSkip to conversation

python: remove the default optimization

PATCH New Robert Yang 1 participant 2 messages May 8, 2013

lore
Share & tools
lore
#0 lore raw

cover python: remove the default optimization

The following changes since commit 9895d2c074156fee338d91aed7cfb0800477c622:

maintainers.inc: update sbc pkg maintainer (2013-05-07 13:58:26 +0100)

are available in the git repository at:

git://git.pokylinux.org/poky-contrib robert/python
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/python

Robert Yang (1):
python: remove the default optimization

 .../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 insertion(+), 104 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python-native/04-default-is-optimized.patch
 delete mode 100644 meta/recipes-devtools/python/python/04-default-is-optimized.patch
 delete mode 100644 meta/recipes-devtools/python/python/99-ignore-optimization-flag.patch
Signature · 1 line
1.8.1.2
#1 lore raw

PATCH 1/1 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]

---
 .../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 insertion(+), 104 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python-native/04-default-is-optimized.patch
 delete mode 100644 meta/recipes-devtools/python/python/04-default-is-optimized.patch
 delete mode 100644 meta/recipes-devtools/python/python/99-ignore-optimization-flag.patch
meta/recipes-devtools/python/python-native/04-default-is-optimized.patch deleted +0 -20
deleted file mode 100644
index 8fe147e..0000000
@@ -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 <[email protected]>
-
-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
meta/recipes-devtools/python/python-native_2.7.3.bb +1 -1
index 162eced..722d92c 100644
@@ -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 \
meta/recipes-devtools/python/python/04-default-is-optimized.patch deleted +0 -60

60 lines not on this page · raw message

meta/recipes-devtools/python/python/99-ignore-optimization-flag.patch deleted +0 -21
deleted file mode 100644
index a5d9812..0000000
@@ -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 <[email protected]>
-
-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;
meta/recipes-devtools/python/python_2.7.3.bb +0 -2
index aace95e..f76f218 100644
@@ -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 \
Signature · 1 line
1.8.1.2