This patch removes various ways native system options can pass into the python 
compilation and somehow break C modules.

Upstream-Status: Configuration [OE Specific]

RP 2012/04/23

Index: Python-2.7.2/setup.py
===================================================================
--- Python-2.7.2.orig/setup.py	2012-04-23 20:03:47.295582553 +0000
+++ Python-2.7.2/setup.py	2012-04-23 20:03:15.000000000 +0000
@@ -231,7 +231,13 @@
         # compilers
         if compiler is not None:
             (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
-            args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
+            # Need to filter out -isysroot from the flags. Ideally should 
+            # figure out target flags here.
+            flags = []
+            for f in cflags.split():
+                if not f.startswith("-isystem"):
+                    flags.append(f)
+            args['compiler_so'] = compiler + ' ' + ccshared + ' ' + ' '.join(flags)
         self.compiler.set_executables(**args)
 
         build_ext.build_extensions(self)
@@ -393,7 +399,6 @@
         # into configure and stored in the Makefile (issue found on OS X 10.3).
         for env_var, arg_name, dir_list in (
                 ('LDFLAGS', '-R', self.compiler.runtime_library_dirs),
-                ('LDFLAGS', '-L', self.compiler.library_dirs),
                 ('CPPFLAGS', '-I', self.compiler.include_dirs)):
             env_val = sysconfig.get_config_var(env_var)
             if env_val:
@@ -419,16 +424,16 @@
                     for directory in reversed(options.dirs):
                         add_dir_to_list(dir_list, directory)
 
-        if os.path.normpath(sys.prefix) != '/usr' \
-                and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
+#        if os.path.normpath(sys.prefix) != '/usr' \
+#                and not sysconfig.get_config_var('PYTHONFRAMEWORK'):
             # 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
             # the one that is currently installed (issue #7473)
-            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"))
+#            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
