mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-02 21:48:20 +03:00
Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
@@ -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
|
||||
@@ -66,12 +66,6 @@ config BR2_PACKAGE_PYTHON3_OSSAUDIODEV
|
||||
help
|
||||
ossaudiodev module for Python3.
|
||||
|
||||
config BR2_PACKAGE_PYTHON3_PYEXPAT
|
||||
select BR2_PACKAGE_EXPAT
|
||||
bool "pyexpat"
|
||||
help
|
||||
pyexpat module for Python3.
|
||||
|
||||
config BR2_PACKAGE_PYTHON3_READLINE
|
||||
select BR2_PACKAGE_READLINE
|
||||
bool "readline"
|
||||
@@ -97,6 +91,12 @@ config BR2_PACKAGE_PYTHON3_SQLITE
|
||||
help
|
||||
SQLite database support
|
||||
|
||||
config BR2_PACKAGE_PYTHON3_PYEXPAT
|
||||
select BR2_PACKAGE_EXPAT
|
||||
bool "xml module"
|
||||
help
|
||||
pyexpat and xml libraries for Python3.
|
||||
|
||||
config BR2_PACKAGE_PYTHON3_ZLIB
|
||||
bool "zlib module"
|
||||
select BR2_PACKAGE_ZLIB
|
||||
|
||||
Reference in New Issue
Block a user