changeset 3177:ad28990f51b9

Fix python compile wrt. librestrict.so. Strip all python lib/inc dirs that don't start with CROSS_ROOT.
author Han-Wen Nienhuys <hanwen@lilypond.org>
date Sat, 07 Apr 2007 19:08:09 -0300
parents 4cb539facff8
children 1ef5f8d6f6f1
files patches/python-2.4.2-setup.py-cross_root.patch specs/python.py
diffstat 2 files changed, 28 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/python-2.4.2-setup.py-cross_root.patch	Sat Apr 07 19:08:09 2007 -0300
@@ -0,0 +1,23 @@
+--- setup.py~	2007-04-07 13:58:49.000000000 -0300
++++ setup.py	2007-04-07 18:48:31.000000000 -0300
+@@ -185,13 +189,18 @@
+         build_ext.build_extensions(self)
+ 
+     def build_extension(self, ext):
+-
+         try:
++            self.include_dirs = []
++            root = os.environ.get ('CROSS_ROOT','')
++            ext.include_dirs = [d for d in ext.include_dirs
++                                 if d.startswith (root)]
++            self.compiler.include_dirs = [d for d in self.compiler.include_dirs
++                                          if d.startswith (root)]
+             build_ext.build_extension(self, ext)
+         except (CCompilerError, DistutilsError), why:
+             self.announce('WARNING: building of extension "%s" failed: %s' %
+                           (ext.name, sys.exc_info()[1]))
+-            return
++            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:
--- a/specs/python.py	Sat Apr 07 19:06:34 2007 -0300
+++ b/specs/python.py	Sat Apr 07 19:08:09 2007 -0300
@@ -16,7 +16,8 @@
                    format='bz2')
 
         ## don't import settings from build system.
-	self.BASECFLAGS=''
+	self.BASECFLAGS = ''
+        self.CROSS_ROOT = '%(system_root)s'
 
     def license_file (self):
         return '%(srcdir)s/LICENSE'
@@ -39,6 +40,9 @@
         self.system ('cd %(srcdir)s && patch -p0 < %(patchdir)s/python-configure.in-sysname.patch')
         self.system ('cd %(srcdir)s && patch -p1 < %(patchdir)s/python-2.4.2-configure.in-sysrelease.patch')
         self.system ('cd %(srcdir)s && patch -p0 < %(patchdir)s/python-2.4.2-setup.py-import.patch')
+        self.system ('cd %(srcdir)s && patch -p0 < %(patchdir)s/python-2.4.2-setup.py-cross_root.patch')
+        self.file_sub ([('@CC@', '@CC@ -I$(shell pwd)')],
+                        '%(srcdir)s/Makefile.pre.in')
 
     def configure (self):
         self.system ('''cd %(srcdir)s && autoconf''')