From 1e2cea8945bc2183fbe1a012dcd633a352125952 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 24 Apr 2012 18:45:14 +0200
Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot
 from python_lib_dir

* without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix
  and with PYTHONPATH from OE it's pointing to native python dir

    $ export PYTHONPATH=/OE/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib/python2.7/
    $ python
    Python 2.7.2 (default, Apr 18 2012, 09:19:59)
    [GCC 4.6.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from distutils import sysconfig
    >>> sysconfig.get_config_vars('INCLUDEPY')
    ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
    >>>
    $ unset PYTHONPATH
    $ python
    Python 2.7.2 (default, Apr 18 2012, 09:19:59)
    [GCC 4.6.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from distutils import sysconfig
    >>> sysconfig.get_config_vars('INCLUDEPY')
    ['/python2.7']
    >>> import sysconfig
    >>> sysconfig.get_config_vars('INCLUDEPY')
    ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7']
* python_lib_dir = python_lib_dir.replace(env['sysroot'], '')
  returns path to target sysroot

Upstream-Status: Inappropriate [embedded specific]

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
---
 SConstruct | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/SConstruct b/SConstruct
index 6c93311..cde8b3d 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1148,6 +1148,12 @@ else:
         basecflags += ' -coverage'
         ldflags += ' -coverage'
         ldshared += ' -coverage'
+
+    if env['sysroot']:
+        print "Prefixing includepy '%s' with sysroot prefix" % includepy
+        includepy = os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], includepy))
+        print "'%s'" % includepy
+
     # in case CC/CXX was set to the scan-build wrapper,
     # ensure that we build the python modules with scan-build, too
     if env['CC'] is None or env['CC'].find('scan-build') < 0:
@@ -1408,11 +1414,14 @@ if not env['python']:
     python_install = []
 else:
     python_lib_dir = env['python_libdir']
+    python_lib_dir = python_lib_dir.replace(env['sysroot'], '')
     python_module_dir = python_lib_dir + os.sep + 'gps'
     python_extensions_install = python_env.Install( DESTDIR + python_module_dir,
                                                     python_built_extensions)
     if not env['debug'] and not env['profiling'] and not env['nostrip'] and not sys.platform.startswith('darwin'):
         python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET')
+    env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \
+                     % (python_lib_dir, ))
 
     python_modules_install = python_env.Install( DESTDIR + python_module_dir,
                                                 python_modules)
-- 
2.1.0

