324 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			324 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
|   | diff -uN Python-2.6.6Orig/configure Python-2.6.6/configure
 | ||
|  | --- Python-2.6.6Orig/configure	2010-05-25 12:27:03.000000000 +1000
 | ||
|  | +++ Python-2.6.6/configure	2010-09-10 18:25:15.924146785 +1000
 | ||
|  | @@ -12760,12 +12760,12 @@
 | ||
|  |   | ||
|  |  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for %zd printf() format support" >&5 | ||
|  |  $as_echo_n "checking for %zd printf() format support... " >&6; } | ||
|  | -if test "$cross_compiling" = yes; then :
 | ||
|  | -  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 | ||
|  | -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 | ||
|  | -as_fn_error "cannot run test program while cross compiling
 | ||
|  | -See \`config.log' for more details." "$LINENO" 5; }
 | ||
|  | -else
 | ||
|  | +#if test "$cross_compiling" = yes; then :
 | ||
|  | +#  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 | ||
|  | +#$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
 | ||
|  | +#as_fn_error "cannot run test program while cross compiling
 | ||
|  | +#See \`config.log' for more details." "$LINENO" 5; }
 | ||
|  | +#else
 | ||
|  |    cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
|  |  /* end confdefs.h.  */ | ||
|  |  #include <stdio.h> | ||
|  | @@ -12815,7 +12815,7 @@
 | ||
|  |  fi | ||
|  |  rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ | ||
|  |    conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
|  | -fi
 | ||
|  | +#fi
 | ||
|  |   | ||
|  |   | ||
|  |  ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " | ||
|  | diff -uN Python-2.6.6Orig/configure.in Python-2.6.6/configure.in
 | ||
|  | --- Python-2.6.6Orig/configure.in	2010-05-25 12:27:03.000000000 +1000
 | ||
|  | +++ Python-2.6.6/configure.in	2010-09-10 18:25:15.934134297 +1000
 | ||
|  | @@ -3860,48 +3860,48 @@
 | ||
|  |    AC_MSG_RESULT(no) | ||
|  |  fi | ||
|  |   | ||
|  | -AC_MSG_CHECKING(for %zd printf() format support)
 | ||
|  | -AC_TRY_RUN([#include <stdio.h>
 | ||
|  | -#include <stddef.h>
 | ||
|  | -#include <string.h>
 | ||
|  | -
 | ||
|  | -#ifdef HAVE_SYS_TYPES_H
 | ||
|  | -#include <sys/types.h>
 | ||
|  | -#endif
 | ||
|  | -
 | ||
|  | -#ifdef HAVE_SSIZE_T
 | ||
|  | -typedef ssize_t Py_ssize_t;
 | ||
|  | -#elif SIZEOF_VOID_P == SIZEOF_LONG
 | ||
|  | -typedef long Py_ssize_t;
 | ||
|  | -#else
 | ||
|  | -typedef int Py_ssize_t;
 | ||
|  | -#endif
 | ||
|  | -
 | ||
|  | -int main()
 | ||
|  | -{
 | ||
|  | -    char buffer[256];
 | ||
|  | -
 | ||
|  | -    if(sprintf(buffer, "%zd", (size_t)123) < 0)
 | ||
|  | -       	return 1;
 | ||
|  | -
 | ||
|  | -    if (strcmp(buffer, "123"))
 | ||
|  | -	return 1;
 | ||
|  | -
 | ||
|  | -    if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0)
 | ||
|  | -       	return 1;
 | ||
|  | -
 | ||
|  | -    if (strcmp(buffer, "-123"))
 | ||
|  | -	return 1;
 | ||
|  | -
 | ||
|  | -    return 0;
 | ||
|  | -}],
 | ||
|  | -[AC_MSG_RESULT(yes)
 | ||
|  | - AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])],
 | ||
|  | - AC_MSG_RESULT(no))
 | ||
|  | +#AC_MSG_CHECKING(for %zd printf() format support)
 | ||
|  | +#AC_TRY_RUN([#include <stdio.h>
 | ||
|  | +##include <stddef.h>
 | ||
|  | +##include <string.h>
 | ||
|  | +
 | ||
|  | +##ifdef HAVE_SYS_TYPES_H
 | ||
|  | +##include <sys/types.h>
 | ||
|  | +##endif
 | ||
|  | +
 | ||
|  | +##ifdef HAVE_SSIZE_T
 | ||
|  | +#typedef ssize_t Py_ssize_t;
 | ||
|  | +##elif SIZEOF_VOID_P == SIZEOF_LONG
 | ||
|  | +#typedef long Py_ssize_t;
 | ||
|  | +##else
 | ||
|  | +#typedef int Py_ssize_t;
 | ||
|  | +##endif
 | ||
|  | +#
 | ||
|  | +#int main()
 | ||
|  | +#{
 | ||
|  | +#    char buffer[256];
 | ||
|  | +#
 | ||
|  | +#    if(sprintf(buffer, "%zd", (size_t)123) < 0)
 | ||
|  | +#       	return 1;#
 | ||
|  | +#
 | ||
|  | +#    if (strcmp(buffer, "123"))
 | ||
|  | +#	return 1;
 | ||
|  | +#
 | ||
|  | +#    if (sprintf(buffer, "%zd", (Py_ssize_t)-123) < 0)
 | ||
|  | +#       	return 1;
 | ||
|  | +#
 | ||
|  | +#    if (strcmp(buffer, "-123"))
 | ||
|  | +#	return 1;
 | ||
|  | +#
 | ||
|  | +#   return 0;
 | ||
|  | +#}],
 | ||
|  | +#[AC_MSG_RESULT(yes)
 | ||
|  | +# AC_DEFINE(PY_FORMAT_SIZE_T, "z", [Define to printf format modifier for Py_ssize_t])],
 | ||
|  | +# AC_MSG_RESULT(no))
 | ||
|  |   | ||
|  |  AC_CHECK_TYPE(socklen_t,, | ||
|  |    AC_DEFINE(socklen_t,int, | ||
|  | -            Define to `int' if <sys/socket.h> does not define.),[
 | ||
|  | +            Define to 'int' if <sys/socket.h> does not define.),[
 | ||
|  |  #ifdef HAVE_SYS_TYPES_H | ||
|  |  #include <sys/types.h> | ||
|  |  #endif | ||
|  | Common subdirectories: Python-2.6.6Orig/Demo and Python-2.6.6/Demo | ||
|  | Common subdirectories: Python-2.6.6Orig/Doc and Python-2.6.6/Doc | ||
|  | Common subdirectories: Python-2.6.6Orig/Grammar and Python-2.6.6/Grammar | ||
|  | Binary files Python-2.6.6Orig/hostpython and Python-2.6.6/hostpython differ | ||
|  | Common subdirectories: Python-2.6.6Orig/Include and Python-2.6.6/Include | ||
|  | Common subdirectories: Python-2.6.6Orig/Lib and Python-2.6.6/Lib | ||
|  | Common subdirectories: Python-2.6.6Orig/Mac and Python-2.6.6/Mac | ||
|  | diff -uN Python-2.6.6Orig/Makefile.pre.in Python-2.6.6/Makefile.pre.in
 | ||
|  | --- Python-2.6.6Orig/Makefile.pre.in	2010-08-02 08:05:31.000000000 +1000
 | ||
|  | +++ Python-2.6.6/Makefile.pre.in	2010-09-10 18:25:15.934134297 +1000
 | ||
|  | @@ -175,6 +175,7 @@
 | ||
|  |   | ||
|  |  PYTHON=		python$(EXE) | ||
|  |  BUILDPYTHON=	python$(BUILDEXE) | ||
|  | +HOSTPYTHON=     ./$(BUILDPYTHON)
 | ||
|  |   | ||
|  |  # The task to run while instrument when building the profile-opt target | ||
|  |  PROFILE_TASK=	$(srcdir)/Tools/pybench/pybench.py -n 2 --with-gc --with-syscheck | ||
|  | @@ -206,6 +207,8 @@
 | ||
|  |  # Parser | ||
|  |  PGEN=		Parser/pgen$(EXE) | ||
|  |   | ||
|  | +HOSTPGEN=   $(PGEN)
 | ||
|  | +
 | ||
|  |  POBJS=		\ | ||
|  |  		Parser/acceler.o \ | ||
|  |  		Parser/grammar1.o \ | ||
|  | @@ -394,8 +397,8 @@
 | ||
|  |  # Build the shared modules | ||
|  |  sharedmods: $(BUILDPYTHON) | ||
|  |  	@case $$MAKEFLAGS in \ | ||
|  | -	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
 | ||
|  | -	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
 | ||
|  | +	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
 | ||
|  | +	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
 | ||
|  |  	esac | ||
|  |   | ||
|  |  # Build static library | ||
|  | @@ -517,7 +520,7 @@
 | ||
|  |   | ||
|  |  $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT) | ||
|  |  		-@$(INSTALL) -d Include | ||
|  | -		-$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
 | ||
|  | +		-$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
 | ||
|  |   | ||
|  |  $(PGEN):	$(PGENOBJS) | ||
|  |  		$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) | ||
|  | @@ -886,24 +889,24 @@
 | ||
|  |  		done; \ | ||
|  |  	done | ||
|  |  	$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt | ||
|  | -	PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
 | ||
|  | -		./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
 | ||
|  | +	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \
 | ||
|  | +		$(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \
 | ||
|  |  		-d $(LIBDEST) -f \ | ||
|  |  		-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST) | ||
|  | -	PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
 | ||
|  | -		./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
 | ||
|  | +	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
 | ||
|  | +		$(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \
 | ||
|  |  		-d $(LIBDEST) -f \ | ||
|  |  		-x 'bad_coding|badsyntax|site-packages' $(DESTDIR)$(LIBDEST) | ||
|  |  	-PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \ | ||
|  | -		./$(BUILDPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
 | ||
|  | +		$(HOSTPYTHON) -Wi -t $(DESTDIR)$(LIBDEST)/compileall.py \
 | ||
|  |  		-d $(LIBDEST)/site-packages -f \ | ||
|  |  		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages | ||
|  |  	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ | ||
|  | -		./$(BUILDPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
 | ||
|  | +		$(HOSTPYTHON) -Wi -t -O $(DESTDIR)$(LIBDEST)/compileall.py \
 | ||
|  |  		-d $(LIBDEST)/site-packages -f \ | ||
|  |  		-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages | ||
|  |  	-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ | ||
|  | -		./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
 | ||
|  | +		$(HOSTPYTHON) -Wi -t -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
 | ||
|  |   | ||
|  |  # Create the PLATDIR source directory, if one wasn't distributed.. | ||
|  |  $(srcdir)/Lib/$(PLATDIR): | ||
|  | @@ -1001,7 +1004,8 @@
 | ||
|  |  # Install the dynamically loadable modules | ||
|  |  # This goes into $(exec_prefix) | ||
|  |  sharedinstall: | ||
|  | -	$(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
 | ||
|  | +	CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' CROSS_COMPILE='$(CROSS_COMPILE)' \
 | ||
|  | +	$(RUNSHARED) $(HOSTPYTHON) -E $(srcdir)/setup.py install \
 | ||
|  |  	   	--prefix=$(prefix) \ | ||
|  |  		--install-scripts=$(BINDIR) \ | ||
|  |  		--install-platlib=$(DESTSHARED) \ | ||
|  | Common subdirectories: Python-2.6.6Orig/Misc and Python-2.6.6/Misc | ||
|  | Common subdirectories: Python-2.6.6Orig/Modules and Python-2.6.6/Modules | ||
|  | Common subdirectories: Python-2.6.6Orig/Objects and Python-2.6.6/Objects | ||
|  | Common subdirectories: Python-2.6.6Orig/Parser and Python-2.6.6/Parser | ||
|  | Common subdirectories: Python-2.6.6Orig/PC and Python-2.6.6/PC | ||
|  | Common subdirectories: Python-2.6.6Orig/PCbuild and Python-2.6.6/PCbuild | ||
|  | Common subdirectories: Python-2.6.6Orig/Python and Python-2.6.6/Python | ||
|  | Common subdirectories: Python-2.6.6Orig/RISCOS and Python-2.6.6/RISCOS | ||
|  | diff -uN Python-2.6.6Orig/setup.py Python-2.6.6/setup.py
 | ||
|  | --- Python-2.6.6Orig/setup.py	2010-07-17 22:31:09.000000000 +1000
 | ||
|  | +++ Python-2.6.6/setup.py	2010-09-10 18:28:32.104148297 +1000
 | ||
|  | @@ -313,33 +313,40 @@
 | ||
|  |              self.announce('WARNING: skipping import check for Cygwin-based "%s"' | ||
|  |                  % ext.name) | ||
|  |              return | ||
|  | +        if os.environ.get('CROSS_COMPILE_TARGET') == 'yes':
 | ||
|  | +            return
 | ||
|  | +
 | ||
|  |          ext_filename = os.path.join( | ||
|  |              self.build_lib, | ||
|  |              self.get_ext_filename(self.get_ext_fullname(ext.name))) | ||
|  |          try: | ||
|  |              imp.load_dynamic(ext.name, ext_filename) | ||
|  |          except ImportError, why: | ||
|  | -            self.failed.append(ext.name)
 | ||
|  | -            self.announce('*** WARNING: renaming "%s" since importing it'
 | ||
|  | -                          ' failed: %s' % (ext.name, why), level=3)
 | ||
|  | -            assert not self.inplace
 | ||
|  | -            basename, tail = os.path.splitext(ext_filename)
 | ||
|  | -            newname = basename + "_failed" + tail
 | ||
|  | -            if os.path.exists(newname):
 | ||
|  | -                os.remove(newname)
 | ||
|  | -            os.rename(ext_filename, newname)
 | ||
|  | -
 | ||
|  | -            # XXX -- This relies on a Vile HACK in
 | ||
|  | -            # distutils.command.build_ext.build_extension().  The
 | ||
|  | -            # _built_objects attribute is stored there strictly for
 | ||
|  | -            # use here.
 | ||
|  | -            # If there is a failure, _built_objects may not be there,
 | ||
|  | -            # so catch the AttributeError and move on.
 | ||
|  | -            try:
 | ||
|  | -                for filename in self._built_objects:
 | ||
|  | -                    os.remove(filename)
 | ||
|  | -            except AttributeError:
 | ||
|  | -                self.announce('unable to remove files (ignored)')
 | ||
|  | +            if os.environ.get('CROSS_COMPILE_TARGET') != "yes":
 | ||
|  | +                self.announce('*** WARNING: renaming "%s" since importing it'
 | ||
|  | +                              ' failed: %s' % (ext.name, why), level=3)
 | ||
|  | +                assert not self.inplace
 | ||
|  | +                basename, tail = os.path.splitext(ext_filename)
 | ||
|  | +                newname = basename + "_failed" + tail
 | ||
|  | +                if os.path.exists(newname):
 | ||
|  | +                    os.remove(newname)
 | ||
|  | +                os.rename(ext_filename, newname)
 | ||
|  | +
 | ||
|  | +                # XXX -- This relies on a Vile HACK in
 | ||
|  | +                # distutils.command.build_ext.build_extension().  The
 | ||
|  | +                # _built_objects attribute is stored there strictly for
 | ||
|  | +                # use here.
 | ||
|  | +                # If there is a failure, _built_objects may not be there,
 | ||
|  | +                # so catch the AttributeError and move on.
 | ||
|  | +                try:
 | ||
|  | +                    for filename in self._built_objects:
 | ||
|  | +                        os.remove(filename)
 | ||
|  | +                except AttributeError:
 | ||
|  | +                    self.announce('unable to remove files (ignored)')
 | ||
|  | +            else:
 | ||
|  | +                self.announce('WARNING: "%s" failed importing, but we leave it '
 | ||
|  | +                              'because we are cross-compiling' %
 | ||
|  | +                              ext.name)
 | ||
|  |          except: | ||
|  |              exc_type, why, tb = sys.exc_info() | ||
|  |              self.announce('*** WARNING: importing extension "%s" ' | ||
|  | @@ -742,7 +749,7 @@
 | ||
|  |   | ||
|  |          if (ssl_incs is not None and | ||
|  |              ssl_libs is not None and | ||
|  | -            openssl_ver >= 0x00907000):
 | ||
|  | +            openssl_ver >= 0x00907000 and False):
 | ||
|  |              # The _hashlib module wraps optimized implementations | ||
|  |              # of hash functions from the OpenSSL library. | ||
|  |              exts.append( Extension('_hashlib', ['_hashopenssl.c'], | ||
|  | @@ -762,7 +769,7 @@
 | ||
|  |                              depends = ['md5.h']) ) | ||
|  |              missing.append('_hashlib') | ||
|  |   | ||
|  | -        if (openssl_ver < 0x00908000):
 | ||
|  | +        if (True or openssl_ver < 0x00908000):
 | ||
|  |              # OpenSSL doesn't do these until 0.9.8 so we'll bring our own hash | ||
|  |              exts.append( Extension('_sha256', ['sha256module.c']) ) | ||
|  |              exts.append( Extension('_sha512', ['sha512module.c']) ) | ||
|  | @@ -1823,7 +1830,7 @@
 | ||
|  |                                           ffi_configfile): | ||
|  |                  from distutils.dir_util import mkpath | ||
|  |                  mkpath(ffi_builddir) | ||
|  | -                config_args = []
 | ||
|  | +                config_args = sysconfig.get_config_var("CONFIG_ARGS").split(" ")
 | ||
|  |   | ||
|  |                  # Pass empty CFLAGS because we'll just append the resulting | ||
|  |                  # CFLAGS to Python's; -g or -O2 is to be avoided. | ||
|  | --- Python-2.6.6.orig//Lib/plat-linux3/regen 1970-01-01 01:00:00.000000000 +0100
 | ||
|  | +++ Python-2.6.6/Lib/plat-linux3/regen 2001-08-09 14:48:17.000000000 +0200
 | ||
|  | @@ -0,0 +1,8 @@
 | ||
|  | +#! /bin/sh
 | ||
|  | +case `uname` in
 | ||
|  | +Linux*) ;;
 | ||
|  | +*) echo Probably not on a Linux system 1>&2
 | ||
|  | + exit 1;;
 | ||
|  | +esac
 | ||
|  | +set -v
 | ||
|  | +h2py -i '(u_long)' /usr/include/sys/types.h /usr/include/netinet/in.h /usr/include/dlfcn.h
 | ||
|  | 
 |