python-native: fix for non /usr/lib libdir case

the get_python_lib() use hard code "lib". when other recipe
building use python-native, the STAGING_LIBDIR is non /usr/lib,
so the hard code "lib" will break the build

This patch replace the hardcoded "lib" with value from libdir
to fix this issue.

(From OE-Core rev: ab4ae436126f20b404375c9ae77cf66cfe31ea34)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yu Ke
2011-07-11 15:23:18 +08:00
committed by Richard Purdie
parent 98d7597182
commit aeb29f595b
2 changed files with 12 additions and 5 deletions

View File

@@ -30,19 +30,26 @@ Index: Python-2.6.6/Lib/distutils/sysconfig.py
if os.name == "posix": if os.name == "posix":
if python_build: if python_build:
@@ -116,7 +119,10 @@ def get_python_lib(plat_specific=0, stan @@ -115,12 +118,16 @@ def get_python_lib(plat_specific=0, stan
If 'prefix' is supplied, use it instead of sys.prefix or
sys.exec_prefix -- i.e., ignore 'plat_specific'. sys.exec_prefix -- i.e., ignore 'plat_specific'.
""" """
+ lib_basename = os.getenv("libdir").split('/')[-1]
if prefix is None: if prefix is None:
- prefix = plat_specific and EXEC_PREFIX or PREFIX - prefix = plat_specific and EXEC_PREFIX or PREFIX
+ if plat_specific: + if plat_specific:
+ prefix = plat_specific and os.environ['STAGING_LIBDIR'].rstrip('lib') + prefix = plat_specific and os.environ['STAGING_LIBDIR'].rstrip(lib_basename)
+ else: + else:
+ prefix = plat_specific and EXEC_PREFIX or PREFIX + prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix": if os.name == "posix":
libpython = os.path.join(prefix, libpython = os.path.join(prefix,
@@ -216,7 +222,7 @@ def get_config_h_filename(): - "lib", "python" + get_python_version())
+ lib_basename, "python" + get_python_version())
if standard_lib:
return libpython
else:
@@ -216,7 +223,7 @@ def get_config_h_filename():
else: else:
# The name of the config.h file changed in 2.2 # The name of the config.h file changed in 2.2
config_h = 'pyconfig.h' config_h = 'pyconfig.h'
@@ -51,7 +58,7 @@ Index: Python-2.6.6/Lib/distutils/sysconfig.py
def get_makefile_filename(): def get_makefile_filename():
@@ -225,7 +231,7 @@ def get_makefile_filename(): @@ -225,7 +232,7 @@ def get_makefile_filename():
return os.path.join(os.path.dirname(os.path.realpath(sys.executable)), return os.path.join(os.path.dirname(os.path.realpath(sys.executable)),
"Makefile") "Makefile")
lib_dir = get_python_lib(plat_specific=1, standard_lib=1) lib_dir = get_python_lib(plat_specific=1, standard_lib=1)

View File

@@ -1,6 +1,6 @@
require python.inc require python.inc
DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native sqlite3-native" DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native sqlite3-native"
PR = "${INC_PR}.1" PR = "${INC_PR}.2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=38fdd546420fab09ac6bd3d8a1c83eb6" LIC_FILES_CHKSUM = "file://LICENSE;md5=38fdd546420fab09ac6bd3d8a1c83eb6"