194 lines
8.1 KiB
Text
194 lines
8.1 KiB
Text
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):
|