[oe-commits] org.oe.dev python 2.5.2 add parameter to run python in unoptimized bytecode mode

mickeyl commit oe at amethyst.openembedded.net
Wed Jul 16 08:00:36 UTC 2008


python 2.5.2 add parameter to run python in unoptimized bytecode mode
Thanks to the default-is-optimized patch, this python was running in optimized
mode all the time, there was no way to run it unoptimized. However this
is necessary at times (e.g. if you want to run code that contains 'assert'
statements, since optimized bytecode strips these out), so I added a new
command line parameter 'N' to python that allows you to run it unoptimized.

Author: mickeyl at openembedded.org
Branch: org.openembedded.dev
Revision: bcdca45c1b2872acd0f00daa6d38395d0d5867d1
ViewMTN: http://monotone.openembedded.org/revision/info/bcdca45c1b2872acd0f00daa6d38395d0d5867d1
Files:
1
packages/python/python-2.5.2/default-is-optimized.patch
packages/python/python_2.5.2.bb
Diffs:

#
# mt diff -rc523797dd69c84a4cd83a55b55b1d7b08f966155 -rbcdca45c1b2872acd0f00daa6d38395d0d5867d1
#
#
#
# patch "packages/python/python-2.5.2/default-is-optimized.patch"
#  from [524dcf57d51780fdc3c281c49f60fc03193204e0]
#    to [aeb51917d9c931269828e28f524ceb30e897d1c2]
# 
# patch "packages/python/python_2.5.2.bb"
#  from [5b3625881116fda1abd1f83093917137935991c8]
#    to [2bf6d846cc21654a0850a5e2bd3be1ecf5fb1c7a]
#
============================================================
--- packages/python/python-2.5.2/default-is-optimized.patch	524dcf57d51780fdc3c281c49f60fc03193204e0
+++ packages/python/python-2.5.2/default-is-optimized.patch	aeb51917d9c931269828e28f524ceb30e897d1c2
@@ -1,7 +1,7 @@
-Index: Python-2.5.1/Python/compile.c
+Index: Python-2.5.2/Python/compile.c
 ===================================================================
---- Python-2.5.1.orig/Python/compile.c
-+++ Python-2.5.1/Python/compile.c
+--- Python-2.5.2.orig/Python/compile.c
++++ Python-2.5.2/Python/compile.c
 @@ -30,7 +30,7 @@
  #include "symtable.h"
  #include "opcode.h"
@@ -11,3 +11,38 @@ Index: Python-2.5.1/Python/compile.c
  
  /*
    ISSUES:
+Index: Python-2.5.2/Modules/main.c
+===================================================================
+--- Python-2.5.2.orig/Modules/main.c
++++ Python-2.5.2/Modules/main.c
+@@ -40,7 +40,7 @@ static char **orig_argv;
+ static int  orig_argc;
+ 
+ /* command line options */
+-#define BASE_OPTS "c:dEhim:OQ:StuUvVW:xX?"
++#define BASE_OPTS "c:dEhim:ONQ:StuUvVW:xX?"
+ 
+ #ifndef RISCOS
+ #define PROGRAM_OPTS BASE_OPTS
+@@ -68,8 +68,7 @@ Options and arguments (and corresponding
+ ";
+ static char *usage_2 = "\
+ -m mod : run library module as a script (terminates option list)\n\
+--O     : optimize generated bytecode (a tad; also PYTHONOPTIMIZE=x)\n\
+--OO    : remove doc-strings in addition to the -O optimizations\n\
++-N     : do NOT optimize generated bytecode\n\
+ -Q arg : division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew\n\
+ -S     : don't imply 'import site' on initialization\n\
+ -t     : issue warnings about inconsistent tab usage (-tt: issue errors)\n\
+@@ -302,7 +301,10 @@ Py_Main(int argc, char **argv)
+ 			break;
+ 
+ 		case 'O':
+-			Py_OptimizeFlag++;
++			fprintf(stderr, "-O is already default in this version. Ignoring\n");
++
++		case 'N':
++			Py_OptimizeFlag=0;
+ 			break;
+ 
+ 		case 'S':
============================================================
--- packages/python/python_2.5.2.bb	5b3625881116fda1abd1f83093917137935991c8
+++ packages/python/python_2.5.2.bb	2bf6d846cc21654a0850a5e2bd3be1ecf5fb1c7a
@@ -6,7 +6,7 @@ DEPENDS_sharprom = "python-native readli
 DEPENDS = "python-native readline zlib gdbm openssl sqlite3 tcl tk"
 DEPENDS_sharprom = "python-native readline zlib gdbm openssl"
 # bump this on every change in contrib/python/generate-manifest-2.5.py
-PR = "ml4"
+PR = "ml6"
 
 PYTHON_MAJMIN = "2.5"
 






More information about the Openembedded-commits mailing list