[Stackless-checkins] r52206 - in stackless/trunk: Mac/BuildScript/build-installer.py Mac/BuildScript/resources/ReadMe.txt Mac/BuildScript/resources/Welcome.rtf Objects/typeobject.c PCbuild/publish_binaries.py Stackless/core/slp_transfer.c Stackless/core/stackless_impl.h Stackless/module/channelobject.c Stackless/module/flextype.c Stackless/module/flextype.h Stackless/module/scheduling.c Stackless/pickling/prickelpit.c Stackless/platf/switch_ppc_macosx.h Stackless/platf/switch_x86_unix.h configure configure.in

richard.tew python-checkins at python.org
Fri Oct 6 14:38:53 CEST 2006


Author: richard.tew
Date: Fri Oct  6 14:38:50 2006
New Revision: 52206

Modified:
   stackless/trunk/Mac/BuildScript/build-installer.py
   stackless/trunk/Mac/BuildScript/resources/ReadMe.txt
   stackless/trunk/Mac/BuildScript/resources/Welcome.rtf
   stackless/trunk/Objects/typeobject.c
   stackless/trunk/PCbuild/publish_binaries.py
   stackless/trunk/Stackless/core/slp_transfer.c
   stackless/trunk/Stackless/core/stackless_impl.h
   stackless/trunk/Stackless/module/channelobject.c
   stackless/trunk/Stackless/module/flextype.c
   stackless/trunk/Stackless/module/flextype.h
   stackless/trunk/Stackless/module/scheduling.c
   stackless/trunk/Stackless/pickling/prickelpit.c
   stackless/trunk/Stackless/platf/switch_ppc_macosx.h
   stackless/trunk/Stackless/platf/switch_x86_unix.h
   stackless/trunk/configure
   stackless/trunk/configure.in
Log:
Merged in recent changes to the release25-maint branch (changes after r51933 to 52140).  For the comments relating to the changes, see the logs for that branch within the given revision range.  But basically, this fixes up Mac OS support and removes a lot of compiler warnings, includes some customised lib files in the published binaries and also fixes the odd bug.

Modified: stackless/trunk/Mac/BuildScript/build-installer.py
==============================================================================
--- stackless/trunk/Mac/BuildScript/build-installer.py	(original)
+++ stackless/trunk/Mac/BuildScript/build-installer.py	Fri Oct  6 14:38:50 2006
@@ -628,7 +628,7 @@
     version = getVersion()
 
     print "Running configure..."
-    runCommand("%s -C --enable-framework --enable-universalsdk=%s LDFLAGS='-g -L%s/libraries/usr/local/lib' OPT='-g -O3 -I%s/libraries/usr/local/include' 2>&1"%(
+    runCommand("%s -C --enable-framework --enable-stacklessfewerregisters --enable-universalsdk=%s LDFLAGS='-g -L%s/libraries/usr/local/lib' OPT='-g -O3 -I%s/libraries/usr/local/include' 2>&1"%(
         shellQuote(os.path.join(SRCDIR, 'configure')),
         shellQuote(SDKPATH), shellQuote(WORKDIR)[1:-1],
         shellQuote(WORKDIR)[1:-1]))
@@ -877,7 +877,7 @@
 
     makeMpkgPlist(os.path.join(pkgroot, 'Info.plist'))
     pl = Plist(
-                IFPkgDescriptionTitle="Universal MacPython",
+                IFPkgDescriptionTitle="Universal Stackless MacPython",
                 IFPkgDescriptionVersion=getVersion(),
             )
 
@@ -911,13 +911,13 @@
         shutil.rmtree(outdir)
 
     imagepath = os.path.join(outdir,
-                    'python-%s-macosx'%(getFullVersion(),))
+                    'stackless-%s-macosx'%(getFullVersion(),))
     if INCLUDE_TIMESTAMP:
         imagepath = imagepath + '%04d-%02d-%02d'%(time.localtime()[:3])
     imagepath = imagepath + '.dmg'
 
     os.mkdir(outdir)
-    runCommand("hdiutil create -volname 'Univeral MacPython %s' -srcfolder %s %s"%(
+    runCommand("hdiutil create -volname 'Universal Stackless MacPython %s' -srcfolder %s %s"%(
             getFullVersion(),
             shellQuote(os.path.join(WORKDIR, 'installer')),
             shellQuote(imagepath)))

Modified: stackless/trunk/Mac/BuildScript/resources/ReadMe.txt
==============================================================================
--- stackless/trunk/Mac/BuildScript/resources/ReadMe.txt	(original)
+++ stackless/trunk/Mac/BuildScript/resources/ReadMe.txt	Fri Oct  6 14:38:50 2006
@@ -1,3 +1,12 @@
+This is the Stackless (http://www.stackless.com/)
+version of Python.  It will replace the non-stackless 
+Python of the same version.  Other than additional
+features it should be compatible with normal Python.
+
+Everything below this point is from the original 
+Python ReadMe.txt
+----------------------------
+
 This package will install MacPython $FULL_VERSION for Mac OS X
 $MACOSX_DEPLOYMENT_TARGET for the following 
 architecture(s): $ARCHITECTURES.

Modified: stackless/trunk/Mac/BuildScript/resources/Welcome.rtf
==============================================================================
--- stackless/trunk/Mac/BuildScript/resources/Welcome.rtf	(original)
+++ stackless/trunk/Mac/BuildScript/resources/Welcome.rtf	Fri Oct  6 14:38:50 2006
@@ -4,7 +4,7 @@
 \paperw11900\paperh16840\margl1440\margr1440\vieww9920\viewh10660\viewkind0
 \pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
 
-\f0\fs24 \cf0 This package will install 
+\f0\fs24 \cf0 This package will install the "Stackless" variant of 
 \f1\b MacPython $FULL_VERSION
 \f0\b0  for 
 \f1\b Mac OS X $MACOSX_DEPLOYMENT_TARGET
@@ -15,4 +15,4 @@
 See the ReadMe file for more information.\
 \
 \
-This package will by default update your shell profile to ensure that this version of Python is on the search path of your shell. Please deselect the "Shell profile updater" package on the package customization screen  if you want to avoid this modification. }
\ No newline at end of file
+This package will by default update your shell profile to ensure that this version of Python is on the search path of your shell. Please deselect the "Shell profile updater" package on the package customization screen  if you want to avoid this modification. }

Modified: stackless/trunk/Objects/typeobject.c
==============================================================================
--- stackless/trunk/Objects/typeobject.c	(original)
+++ stackless/trunk/Objects/typeobject.c	Fri Oct  6 14:38:50 2006
@@ -1725,12 +1725,7 @@
 
 		/* Are slots allowed? */
 		nslots = PyTuple_GET_SIZE(slots);
-#ifdef STACKLESS
-		if (nslots > 0 && base->tp_itemsize != 0 && !PyType_Check(base)) {
-			/* for the special case of meta types, allow slots */
-#else
 		if (nslots > 0 && base->tp_itemsize != 0) {
-#endif
 			PyErr_Format(PyExc_TypeError,
 				     "nonempty __slots__ "
 				     "not supported for subtype of '%s'",

Modified: stackless/trunk/PCbuild/publish_binaries.py
==============================================================================
--- stackless/trunk/PCbuild/publish_binaries.py	(original)
+++ stackless/trunk/PCbuild/publish_binaries.py	Fri Oct  6 14:38:50 2006
@@ -13,7 +13,7 @@
 raw_input("press enter to continue")
 """
 
-fileList = [ r"..\Lib\copy_reg.py", r"..\Lib\pickle.py" ]
+fileList = [ r"..\Lib\copy_reg.py", r"..\Lib\pickle.py", r"..\Lib\platform.py", r"..\Lib\test\exception_hierarchy.txt" ]
 for debug in ("", "_d"):
     for suffix in ("dll", "lib", "exp"):
         fileList.append("python25%s.%s" % (debug, suffix))
@@ -23,6 +23,7 @@
     "lib":  "libs/",
     "exp":  "libs/",
     "py":   "Lib/",
+    "txt":  "Lib/test/",
 }
 
 

Modified: stackless/trunk/Stackless/core/slp_transfer.c
==============================================================================
--- stackless/trunk/Stackless/core/slp_transfer.c	(original)
+++ stackless/trunk/Stackless/core/slp_transfer.c	Fri Oct  6 14:38:50 2006
@@ -28,7 +28,7 @@
     intptr_t stsizeb; \
 	stackref += STACK_MAGIC; \
 	if (_cstprev != NULL) { \
-        if (slp_cstack_new(_cstprev, stackref, _prev) == NULL) __return(-1); \
+        if (slp_cstack_new(_cstprev, (intptr_t *)stackref, _prev) == NULL) __return(-1); \
 		stsizeb = slp_cstack_save(*_cstprev); \
 	} \
 	else \
@@ -168,7 +168,7 @@
 	\
 	stackref += STACK_MAGIC; \
 	if (_cstprev != NULL) { \
-		if (slp_cstack_new(_cstprev, stackref, _prev) == NULL) \
+		if (slp_cstack_new(_cstprev, (intptr_t*)stackref, _prev) == NULL) \
 			return -1; \
 		stsizeb = slp_cstack_save(*_cstprev); \
 	} \

Modified: stackless/trunk/Stackless/core/stackless_impl.h
==============================================================================
--- stackless/trunk/Stackless/core/stackless_impl.h	(original)
+++ stackless/trunk/Stackless/core/stackless_impl.h	Fri Oct  6 14:38:50 2006
@@ -356,7 +356,7 @@
 					 PyTaskletObject *next,
 					 int stackless);
 
-PyAPI_FUNC(int) initialize_main_and_current();
+PyAPI_FUNC(int) initialize_main_and_current(void);
 
 /* setting the tasklet's tempval, optimized for no change */
 

Modified: stackless/trunk/Stackless/module/channelobject.c
==============================================================================
--- stackless/trunk/Stackless/module/channelobject.c	(original)
+++ stackless/trunk/Stackless/module/channelobject.c	Fri Oct  6 14:38:50 2006
@@ -693,7 +693,7 @@
  */
 
 static char channel_send_sequence__doc__[] =
-"channel.send_sequence(seq) -- sed a stream of values\n\
+"channel.send_sequence(seq) -- send a stream of values\n\
 over the channel. Combined with a generator, this is\n\
 a very efficient way to build fast pipes.";
 
@@ -825,7 +825,7 @@
 {
 	STACKLESS_GETARG();
 	PyThreadState *ts = PyThreadState_GET();
-	PyChannel_HeapType *t = (PyChannel_HeapType *) self->ob_type;
+	/*unused: PyChannel_HeapType *t = (PyChannel_HeapType *) self->ob_type;*/
 	PyObject *it;
 	PyCFrameObject *f;
 
@@ -981,7 +981,7 @@
 	{"__setstate__",	(PCF)channel_setstate,	    METH_O,
 	 channel_setstate__doc__},
 	{"send_sequence",   (PCF)channel_send_sequence,	  METH_OS,
-	 channel_send__doc__},
+	 channel_send_sequence__doc__},
 	{NULL,		    NULL}             /* sentinel */
 };
 

Modified: stackless/trunk/Stackless/module/flextype.c
==============================================================================
--- stackless/trunk/Stackless/module/flextype.c	(original)
+++ stackless/trunk/Stackless/module/flextype.c	Fri Oct  6 14:38:50 2006
@@ -41,7 +41,7 @@
 }
 
 static PyObject *
-builddict(char *modulename, char *doc)
+builddict(const char *modulename, const char *doc)
 {
 	return Py_BuildValue("{s:s,s:s,s:[]}",
 			     "__module__", modulename,
@@ -145,7 +145,7 @@
 
 
 static PyTypeObject *
-type_clone(PyTypeObject *meta, PyTypeObject *base, char *typename, PyObject *dict,
+type_clone(PyTypeObject *meta, PyTypeObject *base, const char *typename, PyObject *dict,
 	   size_t type_size, PyCMethodDef *ml)
 {
         PyObject *args = Py_BuildValue("(s(O)O)", typename, base, dict);
@@ -171,7 +171,7 @@
 }
 
 static PyTypeObject *
-make_meta(char *modulename, char *type_name, size_t type_size)
+make_meta(const char *modulename, const char *type_name, size_t type_size)
 {
 	char metaname[200];
 	PyObject *dict;
@@ -188,9 +188,9 @@
 	return meta;
 }
 
-PyTypeObject * PyFlexType_Build( char *modulename,
-				 char *type_name,
-				 char *doc,
+PyTypeObject * PyFlexType_Build( const char *modulename,
+				 const char *type_name,
+				 const char *doc,
 				 PyTypeObject *base,
 				 size_t type_size,
 				 PyCMethodDef *ml )
@@ -232,3 +232,4 @@
 	return 0;
 }
 
+

Modified: stackless/trunk/Stackless/module/flextype.h
==============================================================================
--- stackless/trunk/Stackless/module/flextype.h	(original)
+++ stackless/trunk/Stackless/module/flextype.h	Fri Oct  6 14:38:50 2006
@@ -55,9 +55,9 @@
 
 /* build a new type and its meta-type */
 
-PyAPI_FUNC(PyTypeObject *) PyFlexType_Build( char *modulename,
-					     char *type_name,
-					     char *doc,
+PyAPI_FUNC(PyTypeObject *) PyFlexType_Build( const char *modulename,
+					     const char *type_name,
+					     const char *doc,
 					     PyTypeObject *base,
 					     size_t type_size,
 					     PyCMethodDef *ml );

Modified: stackless/trunk/Stackless/module/scheduling.c
==============================================================================
--- stackless/trunk/Stackless/module/scheduling.c	(original)
+++ stackless/trunk/Stackless/module/scheduling.c	Fri Oct  6 14:38:50 2006
@@ -1020,7 +1020,7 @@
 }
 
 /* defined in pythonrun.c */
-extern void PyStackless_HandleSystemExit();
+extern void PyStackless_HandleSystemExit(void);
 
 static PyObject *
 tasklet_end(PyObject *retval)

Modified: stackless/trunk/Stackless/pickling/prickelpit.c
==============================================================================
--- stackless/trunk/Stackless/pickling/prickelpit.c	(original)
+++ stackless/trunk/Stackless/pickling/prickelpit.c	Fri Oct  6 14:38:50 2006
@@ -1376,8 +1376,8 @@
 typedef struct {
 	PyObject_HEAD
 	PyDictObject *di_dict; /* Set to NULL when iterator is exhausted */
-	int di_used;
-	int di_pos;
+	Py_ssize_t di_used;
+	Py_ssize_t di_pos;
 	binaryfunc di_select;
 } dictiterobject;
 
@@ -1393,7 +1393,7 @@
 dictiterkey_reduce(dictiterobject *di)
 {
     PyObject *tup, *list, *key;
-    int i;
+    Py_ssize_t i;
 
     list = PyList_New(0);
     if (list == NULL)
@@ -1433,7 +1433,7 @@
 dictitervalue_reduce(dictiterobject *di)
 {
     PyObject *tup, *list, *value;
-    int i;
+    Py_ssize_t i;
 
     list = PyList_New(0);
     if (list == NULL)
@@ -1473,7 +1473,7 @@
 dictiteritem_reduce(dictiterobject *di)
 {
     PyObject *tup, *list, *key, *value, *res;
-    int i;
+    Py_ssize_t i;
 
     list = PyList_New(0);
     if (list == NULL)
@@ -1579,7 +1579,7 @@
 setiter_reduce(setiterobject *it)
 {
     PyObject *list, *set, *elem;
-    int i;
+    Py_ssize_t i;
 
     list = PyList_New(0);
     if (list == NULL)

Modified: stackless/trunk/Stackless/platf/switch_ppc_macosx.h
==============================================================================
--- stackless/trunk/Stackless/platf/switch_ppc_macosx.h	(original)
+++ stackless/trunk/Stackless/platf/switch_ppc_macosx.h	Fri Oct  6 14:38:50 2006
@@ -32,9 +32,15 @@
 
 #define STACK_MAGIC 3
 
+#if STACKLESS_FRHACK
 #define REGS_TO_SAVE "r13", "r14", "r15", "r16", "r17", "r18", "r19", "r20", \
        "r21", "r22", "r23", "r24", "r25", "r26", "r27", "r28", "r29", \
        "cr2", "cr3", "cr4"
+#else
+#define REGS_TO_SAVE "r13", "r14", "r15", "r16", "r17", "r18", "r19", "r20", \
+       "r21", "r22", "r23", "r24", "r25", "r26", "r27", "r28", "r29", "r31", \
+       "cr2", "cr3", "cr4"
+#endif
 
 static int
 slp_switch(void)

Modified: stackless/trunk/Stackless/platf/switch_x86_unix.h
==============================================================================
--- stackless/trunk/Stackless/platf/switch_x86_unix.h	(original)
+++ stackless/trunk/Stackless/platf/switch_x86_unix.h	Fri Oct  6 14:38:50 2006
@@ -31,10 +31,14 @@
 slp_switch(void)
 {
 	register int *stackref, stsizediff;
+#if STACKLESS_FRHACK
+	__asm__ volatile ("" : : : "esi", "edi");
+#else
 	__asm__ volatile ("" : : : "ebx", "esi", "edi");
+#endif
 	__asm__ ("movl %%esp, %0" : "=g" (stackref));
 	{
-		SLP_SAVE_STATE(stackref, stsizediff);
+ 		SLP_SAVE_STATE(stackref, stsizediff);
 		__asm__ volatile (
 		    "addl %0, %%esp\n"
 		    "addl %0, %%ebp\n"
@@ -44,9 +48,14 @@
 		SLP_RESTORE_STATE();
 		return 0;
 	}
+#if STACKLESS_FRHACK
+	__asm__ volatile ("" : : : "esi", "edi");
+#else
 	__asm__ volatile ("" : : : "ebx", "esi", "edi");
+#endif
 }
 
+
 #endif
 
 /*

Modified: stackless/trunk/configure
==============================================================================
--- stackless/trunk/configure	(original)
+++ stackless/trunk/configure	Fri Oct  6 14:38:50 2006
@@ -312,7 +312,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS VERSION SOVERSION CONFIG_ARGS UNIVERSALSDK PYTHONFRAMEWORK PYTHONFRAMEWORKDIR PYTHONFRAMEWORKPREFIX PYTHONFRAMEWORKINSTALLDIR FRAMEWORKINSTALLFIRST FRAMEWORKINSTALLLAST FRAMEWORKALTINSTALLFIRST FRAMEWORKALTINSTALLLAST FRAMEWORKUNIXTOOLSPREFIX MACHDEP SGI_ABI EXTRAPLATDIR EXTRAMACHDEPPATH CONFIGURE_MACOSX_DEPLOYMENT_TARGET EXPORT_MACOSX_DEPLOYMENT_TARGET CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX MAINCC CPP EGREP BUILDEXEEXT LIBRARY LDLIBRARY DLLLIBRARY BLDLIBRARY LDLIBRARYDIR INSTSONAME RUNSHARED LINKCC RANLIB ac_ct_RANLIB AR SVNVERSION INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN OPT BASECFLAGS OTHER_LIBTOOL_OPT LIBTOOL_CR!
 UFT SO LDSHARED BLDSHARED CCSHARED LINKFORSHARED CFLAGSFORSHARED SHLIBS USE_SIGNAL_MODULE SIGNAL_OBJS USE_THREAD_MODULE LDLAST THREADOBJ DLINCLDIR DYNLOADFILE MACHDEP_OBJS TRUE LIBOBJS HAVE_GETHOSTBYNAME_R_6_ARG HAVE_GETHOSTBYNAME_R_5_ARG HAVE_GETHOSTBYNAME_R_3_ARG HAVE_GETHOSTBYNAME_R HAVE_GETHOSTBYNAME LIBM LIBC UNICODE_OBJS THREADHEADERS SRCDIRS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS VERSION SOVERSION CONFIG_ARGS UNIVERSALSDK STACKLESS_FRHACK PYTHONFRAMEWORK PYTHONFRAMEWORKDIR PYTHONFRAMEWORKPREFIX PYTHONFRAMEWORKINSTALLDIR FRAMEWORKINSTALLFIRST FRAMEWORKINSTALLLAST FRAMEWORKALTINSTALLFIRST FRAMEWORKALTINSTALLLAST FRAMEWORKUNIXTOOLSPREFIX MACHDEP SGI_ABI EXTRAPLATDIR EXTRAMACHDEPPATH CONFIGURE_MACOSX_DEPLOYMENT_TARGET EXPORT_MACOSX_DEPLOYMENT_TARGET CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX MAINCC CPP EGREP BUILDEXEEXT LIBRARY LDLIBRARY DLLLIBRARY BLDLIBRARY LDLIBRARYDIR INSTSONAME RUNSHARED LINKCC RANLIB ac_ct_RANLIB AR SVNVERSION INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN OPT BASECFLAGS OTHER_LIBTO!
 OL_OPT LIBTOOL_CRUFT SO LDSHARED BLDSHARED CCSHARED LINKFORSHARED CFLAGSFORSHARED SHLIBS USE_SIGNAL_MODULE SIGNAL_OBJS USE_THREAD_MODULE LDLAST THREADOBJ DLINCLDIR DYNLOADFILE MACHDEP_OBJS TRUE LIBOBJS HAVE_GETHOSTBYNAME_R_6_ARG HAVE_GETHOSTBYNAME_R_5_ARG HAVE_GETHOSTBYNAME_R_3_ARG HAVE_GETHOSTBYNAME_R HAVE_GETHOSTBYNAME LIBM LIBC UNICODE_OBJS THREADHEADERS SRCDIRS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -847,6 +847,8 @@
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --enable-universalsdk[SDKDIR]
                           Build agains Mac OS X 10.4u SDK (ppc/i386)
+  --enable-stacklessfewerregisters
+                          save fewer registers building c-stack switching
   --enable-framework[=INSTALLDIR]
                           Build (MacOSX|Darwin) framework
   --enable-shared         disable/enable building shared python library
@@ -1428,6 +1430,13 @@
 
 fi;
 
+# Check whether --enable-stacklessfewerregisters or --disable-stacklessfewerregisters was given.
+if test "${enable_stacklessfewerregisters+set}" = set; then
+  enableval="$enable_stacklessfewerregisters"
+  STACKLESS_FRHACK=1
+else
+   STACKLESS_FRHACK=0
+fi;
 
 # Check whether --enable-framework or --disable-framework was given.
 if test "${enable_framework+set}" = set; then
@@ -3888,6 +3897,7 @@
     then
       BASECFLAGS="$BASECFLAGS -fno-strict-aliasing"
     fi
+    BASECFLAGS="$BASECFLAGS -DSTACKLESS_FRHACK=${STACKLESS_FRHACK}"
     case $ac_sys_system in
 	SCO_SV*)
 	    BASECFLAGS="$BASECFLAGS -m486 -DSCO5"
@@ -22743,6 +22753,7 @@
 s, at SOVERSION@,$SOVERSION,;t t
 s, at CONFIG_ARGS@,$CONFIG_ARGS,;t t
 s, at UNIVERSALSDK@,$UNIVERSALSDK,;t t
+s, at STACKLESS_FRHACK@,$STACKLESS_FRHACK,;t t
 s, at PYTHONFRAMEWORK@,$PYTHONFRAMEWORK,;t t
 s, at PYTHONFRAMEWORKDIR@,$PYTHONFRAMEWORKDIR,;t t
 s, at PYTHONFRAMEWORKPREFIX@,$PYTHONFRAMEWORKPREFIX,;t t

Modified: stackless/trunk/configure.in
==============================================================================
--- stackless/trunk/configure.in	(original)
+++ stackless/trunk/configure.in	Fri Oct  6 14:38:50 2006
@@ -83,6 +83,11 @@
 ])
 AC_SUBST(UNIVERSALSDK)
 
+AC_ARG_ENABLE(stacklessfewerregisters,
+	AC_HELP_STRING(--enable-stacklessfewerregisters, save fewer registers building c-stack switching),
+[STACKLESS_FRHACK=1],[ STACKLESS_FRHACK=0 ])
+AC_SUBST(STACKLESS_FRHACK)
+
 dnl quadrigraphs "@<:@" and "@:>@" produce "[" and "]" in the output
 AC_ARG_ENABLE(framework,
               AC_HELP_STRING(--enable-framework@<:@=INSTALLDIR@:>@, Build (MacOSX|Darwin) framework),
@@ -814,6 +819,7 @@
     then
       BASECFLAGS="$BASECFLAGS -fno-strict-aliasing"
     fi
+    BASECFLAGS="${BASECFLAGS} -DSTACKLESS_FRHACK=${STACKLESS_FRHACK}"
     case $ac_sys_system in
 	SCO_SV*)
 	    BASECFLAGS="$BASECFLAGS -m486 -DSCO5"

_______________________________________________
Stackless-checkins mailing list
Stackless-checkins at stackless.com
http://www.stackless.com/mailman/listinfo/stackless-checkins



More information about the Stackless-checkins mailing list