diff options
Diffstat (limited to 'package/python/python-cross-compile.patch')
| -rw-r--r-- | package/python/python-cross-compile.patch | 117 | 
1 files changed, 117 insertions, 0 deletions
| diff --git a/package/python/python-cross-compile.patch b/package/python/python-cross-compile.patch new file mode 100644 index 000000000..f7465cc3c --- /dev/null +++ b/package/python/python-cross-compile.patch @@ -0,0 +1,117 @@ +--- Python-2.3.4/Makefile.pre.in.orig	2003-11-18 14:54:00.000000000 -0500 ++++ Python-2.3.4/Makefile.pre.in	2004-07-29 21:44:47.075924464 -0400 +@@ -159,6 +159,7 @@ +  + PYTHON=		python$(EXE) + BUILDPYTHON=	python$(BUILDEXE) ++HOSTPYTHON=	./$(BUILDPYTHON) +  + # === Definitions added by makesetup === +  +@@ -186,6 +187,8 @@ + # Parser + PGEN=		Parser/pgen$(EXE) +  ++HOSTPGEN=	$(PGEN) ++ + POBJS=		\ + 		Parser/acceler.o \ + 		Parser/grammar1.o \ +@@ -314,8 +317,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)' CROSS_COMPILE='yes' OPT='$(OPT)' DESTDIR='$(DESTDIR)'  $(HOSTPYTHON) -E $(srcdir)/setup.py -q build;; \ ++	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' CROSS_COMPILE='yes' OPT='$(OPT)' DESTDIR='$(DESTDIR)' $(HOSTPYTHON) -E $(srcdir)/setup.py build;; \ + 	esac +  + # buildno should really depend on something like LIBRARY_SRC +@@ -432,7 +435,7 @@ +  +  + $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT) +-		-$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) ++		-$(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C) +  + $(PGEN):	$(PGENOBJS) + 		$(CC) $(OPT) $(LDFLAGS) $(PGENOBJS) $(LIBS) -o $(PGEN) +@@ -705,19 +708,19 @@ + 	done + 	$(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt + 	PYTHONPATH=$(DESTDIR)$(LIBDEST)  $(RUNSHARED) \ +-		./$(BUILDPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ ++		$(HOSTPYTHON) -Wi -tt $(DESTDIR)$(LIBDEST)/compileall.py \ + 		-d $(LIBDEST) -f \ + 		-x 'badsyntax|site-packages' $(DESTDIR)$(LIBDEST) + 	PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ +-		./$(BUILDPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ ++		$(HOSTPYTHON) -Wi -tt -O $(DESTDIR)$(LIBDEST)/compileall.py \ + 		-d $(LIBDEST) -f \ + 		-x '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 +  +@@ -812,7 +815,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)' \ ++		$(HOSTPYTHON) -E $(srcdir)/setup.py install \ + 	   	--prefix=$(prefix) \ + 		--install-scripts=$(BINDIR) \ + 		--install-platlib=$(DESTSHARED) \ +--- Python-2.3.4/setup.py.orig	2004-07-29 21:32:12.993562408 -0400 ++++ Python-2.3.4/setup.py	2004-07-29 21:47:12.174866072 -0400 +@@ -213,6 +213,7 @@ +         try: +             imp.load_dynamic(ext.name, ext_filename) +         except ImportError, why: ++          if os.environ.get('CROSS_COMPILE') != "yes": +             self.announce('*** WARNING: renaming "%s" since importing it' +                           ' failed: %s' % (ext.name, why), level=3) +             assert not self.inplace +@@ -233,6 +234,9 @@ +                     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" ' +@@ -245,8 +245,9 @@ +  +     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') ++        add_dir_to_list(self.compiler.library_dirs, os.getenv('DESTDIR') + '/lib') ++        add_dir_to_list(self.compiler.library_dirs, os.getenv('DESTDIR') + '/usr/lib') ++        add_dir_to_list(self.compiler.include_dirs, os.getenv('DESTDIR') + '/usr/include') +  +         # fink installs lots of goodies in /sw/... - make sure we +         # check there +@@ -254,11 +255,6 @@ +             add_dir_to_list(self.compiler.library_dirs, '/sw/lib') +             add_dir_to_list(self.compiler.include_dirs, '/sw/include') +  +-        if os.path.normpath(sys.prefix) != '/usr': +-            add_dir_to_list(self.compiler.library_dirs, +-                            sysconfig.get_config_var("LIBDIR")) +-            add_dir_to_list(self.compiler.include_dirs, +-                            sysconfig.get_config_var("INCLUDEDIR")) +  +         try: +             have_unicode = unicode | 
