206 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			206 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
|   | diff -urN Python-2.7.2/configure ltib/rpm/BUILD/Python-2.7.2/configure
 | ||
|  | --- Python-2.7.2/configure	2011-06-11 11:46:28.000000000 -0400
 | ||
|  | +++ ltib/rpm/BUILD/Python-2.7.2/configure	2011-11-14 12:10:41.011373524 -0500
 | ||
|  | @@ -13673,7 +13673,7 @@
 | ||
|  |    $as_echo_n "(cached) " >&6 | ||
|  |  else | ||
|  |    if test "$cross_compiling" = yes; then : | ||
|  | -  ac_cv_have_long_long_format=no
 | ||
|  | +  ac_cv_have_long_long_format="cross -- assuming yes"
 | ||
|  |  else | ||
|  |    cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
|  |  /* end confdefs.h.  */ | ||
|  | @@ -13725,7 +13725,7 @@
 | ||
|  |  $as_echo "$ac_cv_have_long_long_format" >&6; } | ||
|  |  fi | ||
|  |   | ||
|  | -if test "$ac_cv_have_long_long_format" = yes
 | ||
|  | +if test "$ac_cv_have_long_long_format" != no
 | ||
|  |  then | ||
|  |   | ||
|  |  $as_echo "#define PY_FORMAT_LONG_LONG \"ll\"" >>confdefs.h | ||
|  | diff -urN Python-2.7.2/Makefile.pre.in ltib/rpm/BUILD/Python-2.7.2/Makefile.pre.in
 | ||
|  | --- Python-2.7.2/Makefile.pre.in	2011-06-11 11:46:26.000000000 -0400
 | ||
|  | +++ ltib/rpm/BUILD/Python-2.7.2/Makefile.pre.in	2011-11-14 12:10:41.013373444 -0500
 | ||
|  | @@ -182,6 +182,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 | ||
|  | @@ -215,6 +216,8 @@
 | ||
|  |  # Parser | ||
|  |  PGEN=		Parser/pgen$(EXE) | ||
|  |   | ||
|  | +HOSTPGEN=   $(PGEN)
 | ||
|  | +
 | ||
|  |  POBJS=		\ | ||
|  |  		Parser/acceler.o \ | ||
|  |  		Parser/grammar1.o \ | ||
|  | @@ -407,8 +410,8 @@
 | ||
|  |  # Build the shared modules | ||
|  |  sharedmods: $(BUILDPYTHON) | ||
|  |  	@case $$MAKEFLAGS in \ | ||
|  | -	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
 | ||
|  | -	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
 | ||
|  | +	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' PYTHONXCPREFIX='$(DESTDIR)$(prefix)' $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \
 | ||
|  | +	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' PYTHONXCPREFIX='$(DESTDIR)$(prefix)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \
 | ||
|  |  	esac | ||
|  |   | ||
|  |  # Build static library | ||
|  | @@ -542,7 +545,7 @@
 | ||
|  |  $(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp | ||
|  |  Parser/pgen.stamp: $(PGEN) $(GRAMMAR_INPUT) | ||
|  |  		-@$(INSTALL) -d Include | ||
|  | -		$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
 | ||
|  | +		-$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
 | ||
|  |  		-touch Parser/pgen.stamp | ||
|  |   | ||
|  |  $(PGEN):	$(PGENOBJS) | ||
|  | @@ -925,26 +928,26 @@
 | ||
|  |  		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|lib2to3/tests/data' \ | ||
|  |  		$(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|lib2to3/tests/data' \ | ||
|  |  		$(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): | ||
|  | @@ -1049,7 +1052,9 @@
 | ||
|  |  # Install the dynamically loadable modules | ||
|  |  # This goes into $(exec_prefix) | ||
|  |  sharedinstall: sharedmods | ||
|  | -	$(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
 | ||
|  | +	CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
 | ||
|  | +	$(RUNSHARED) $(HOSTPYTHON) -E $(srcdir)/setup.py install \
 | ||
|  | +		--skip-build \
 | ||
|  |  	   	--prefix=$(prefix) \ | ||
|  |  		--install-scripts=$(BINDIR) \ | ||
|  |  		--install-platlib=$(DESTSHARED) \ | ||
|  | diff -urN Python-2.7.2/setup.py ltib/rpm/BUILD/Python-2.7.2/setup.py
 | ||
|  | --- Python-2.7.2/setup.py	2011-06-11 11:46:28.000000000 -0400
 | ||
|  | +++ ltib/rpm/BUILD/Python-2.7.2/setup.py	2011-11-14 12:13:02.175758583 -0500
 | ||
|  | @@ -145,6 +145,7 @@
 | ||
|  |      def __init__(self, dist): | ||
|  |          build_ext.__init__(self, dist) | ||
|  |          self.failed = [] | ||
|  | +        self.cross_compile = os.environ.get('CROSS_COMPILE_TARGET') == 'yes'
 | ||
|  |   | ||
|  |      def build_extensions(self): | ||
|  |   | ||
|  | @@ -278,6 +279,14 @@
 | ||
|  |                            (ext.name, sys.exc_info()[1])) | ||
|  |              self.failed.append(ext.name) | ||
|  |              return | ||
|  | +
 | ||
|  | +        # Import check will not work when cross-compiling.
 | ||
|  | +        if os.environ.has_key('PYTHONXCPREFIX'):
 | ||
|  | +            self.announce(
 | ||
|  | +                'WARNING: skipping import check for cross-compiled: "%s"' %
 | ||
|  | +                ext.name)
 | ||
|  | +            return
 | ||
|  | +
 | ||
|  |          # Workaround for Mac OS X: The Carbon-based modules cannot be | ||
|  |          # reliably imported into a command-line Python | ||
|  |          if 'Carbon' in ext.extra_link_args: | ||
|  | @@ -369,9 +378,10 @@
 | ||
|  |   | ||
|  |      def detect_modules(self): | ||
|  |          # Ensure that /usr/local is always used | ||
|  | -        add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
 | ||
|  | -        add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
 | ||
|  | -        self.add_multiarch_paths()
 | ||
|  | +        if not self.cross_compile:
 | ||
|  | +            add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
 | ||
|  | +            add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
 | ||
|  | +            self.add_multiarch_paths()
 | ||
|  |   | ||
|  |          # Add paths specified in the environment variables LDFLAGS and | ||
|  |          # CPPFLAGS for header and library files. | ||
|  | @@ -408,7 +418,8 @@
 | ||
|  |                          add_dir_to_list(dir_list, directory) | ||
|  |   | ||
|  |          if os.path.normpath(sys.prefix) != '/usr' \ | ||
|  | -                and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
 | ||
|  | +                and not sysconfig.get_config_var('PYTHONFRAMEWORK') \
 | ||
|  | +                and not self.cross_compile:
 | ||
|  |              # OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework | ||
|  |              # (PYTHONFRAMEWORK is set) to avoid # linking problems when | ||
|  |              # building a framework with different architectures than | ||
|  | @@ -426,11 +437,14 @@
 | ||
|  |          # lib_dirs and inc_dirs are used to search for files; | ||
|  |          # if a file is found in one of those directories, it can | ||
|  |          # be assumed that no additional -I,-L directives are needed. | ||
|  | -        lib_dirs = self.compiler.library_dirs + [
 | ||
|  | -            '/lib64', '/usr/lib64',
 | ||
|  | -            '/lib', '/usr/lib',
 | ||
|  | -            ]
 | ||
|  | -        inc_dirs = self.compiler.include_dirs + ['/usr/include']
 | ||
|  | +        lib_dirs = self.compiler.library_dirs
 | ||
|  | +        inc_dirs = self.compiler.include_dirs
 | ||
|  | +        if not self.cross_compile:
 | ||
|  | +            lib_dirs += [
 | ||
|  | +                '/lib64', '/usr/lib64',
 | ||
|  | +                '/lib', '/usr/lib',
 | ||
|  | +                ]
 | ||
|  | +            inc_dirs += ['/usr/include']
 | ||
|  |          exts = [] | ||
|  |          missing = [] | ||
|  |   | ||
|  | @@ -1864,8 +1878,15 @@
 | ||
|  |   | ||
|  |                  # Pass empty CFLAGS because we'll just append the resulting | ||
|  |                  # CFLAGS to Python's; -g or -O2 is to be avoided. | ||
|  | -                cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \
 | ||
|  | -                      % (ffi_builddir, ffi_srcdir, " ".join(config_args))
 | ||
|  | +                if self.cross_compile:
 | ||
|  | +                    cmd = "cd %s && env CFLAGS='' %s/configure --host=%s --build=%s %s" \
 | ||
|  | +                          % (ffi_builddir, ffi_srcdir,
 | ||
|  | +                             os.environ.get('HOSTARCH'),
 | ||
|  | +                             os.environ.get('BUILDARCH'),
 | ||
|  | +                             " ".join(config_args))
 | ||
|  | +                else:
 | ||
|  | +                    cmd = "cd %s && env CFLAGS='' '%s/configure' %s" \
 | ||
|  | +                          % (ffi_builddir, ffi_srcdir, " ".join(config_args))
 | ||
|  |   | ||
|  |                  res = os.system(cmd) | ||
|  |                  if res or not os.path.exists(ffi_configfile): | ||
|  | --- 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
 |