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
 | |
| 
 |