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
 |