diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-12-28 21:54:53 +0100 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2015-01-02 19:30:17 +0100 |
commit | c24c874810054cb0185807fe797d92056207bbbe (patch) | |
tree | b9c296f3c00a98b0c97b673de9dad441e606c030 /package/python3/python3-011-support-library-path-old-compilers.patch | |
parent | 144e21f203cf88c1768488d08e201e9579db857e (diff) | |
download | buildroot-c24c874810054cb0185807fe797d92056207bbbe.tar.gz buildroot-c24c874810054cb0185807fe797d92056207bbbe.zip |
python3: rename patches to the new convention
Note that we don't use completely sequential numbers, because patches
below 100 are used to address cross-compilation issues in Python 3,
while patches above 100 are used to make more Python 3 modules
configurable.
[Thomas: fixup commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Diffstat (limited to 'package/python3/python3-011-support-library-path-old-compilers.patch')
-rw-r--r-- | package/python3/python3-011-support-library-path-old-compilers.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/package/python3/python3-011-support-library-path-old-compilers.patch b/package/python3/python3-011-support-library-path-old-compilers.patch deleted file mode 100644 index 296e9febb9..0000000000 --- a/package/python3/python3-011-support-library-path-old-compilers.patch +++ /dev/null @@ -1,54 +0,0 @@ -python3: do not rely only on LIBRARY_PATH for old compilers - -The cross-compilation improvements integrated in Python rely on the -compiler exposing a line starting with LIBRARY_PATH when called with --E -v. This is used by Python setup.py to find the installation -locations of libraries. - -However, this LIBRARY_PATH line is not shown by very old compilers, -such as the gcc 4.2.x compiler used on the AVR32 architecture. This -causes libraries installed in the sysroot, such as libffi, to not be -detected by the setup.py script. - -To fix this problem, this patch adds addtional logic to setup.py, -which consists in deriving the library paths from the sysroot -location, if no LIBRARY_PATH field was found. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - -Index: b/setup.py -=================================================================== ---- a/setup.py -+++ b/setup.py -@@ -427,6 +427,7 @@ - in_incdirs = False - inc_dirs = [] - lib_dirs = [] -+ compiler_has_library_path = False - try: - if ret >> 8 == 0: - with open(tmpfile) as fp: -@@ -438,6 +439,7 @@ - elif line.startswith("End of search list"): - in_incdirs = False - elif is_gcc and line.startswith("LIBRARY_PATH"): -+ compiler_has_library_path = True - for d in line.strip().split("=")[1].split(":"): - d = os.path.normpath(d) - if '/gcc/' not in d: -@@ -449,6 +451,15 @@ - finally: - os.unlink(tmpfile) - -+ if not compiler_has_library_path: -+ ret = os.system("%s -print-file-name=libc.a | sed -r -e 's:(usr/)?lib(32|64)?/([^/]*/)?libc\.a::' >%s" % (gcc, tmpfile)) -+ with open(tmpfile) as fp: -+ line = fp.readline().strip() -+ add_dir_to_list(self.compiler.library_dirs, -+ os.path.join(line, "usr", "lib")) -+ add_dir_to_list(self.compiler.library_dirs, -+ os.path.join(line, "lib")) -+ - def detect_modules(self): - # Ensure that /usr/local is always used, but the local build - # directories (i.e. '.' and 'Include') must be first. See issue |