|
|
@@ -0,0 +1,28 @@
|
|
|
+--- a/src/mklibs.py
|
|
|
++++ b/src/mklibs.py
|
|
|
+@@ -105,14 +105,14 @@ def library_depends(obj):
|
|
|
+
|
|
|
+ # Return a list of libraries the passed objects depend on. The
|
|
|
+ # libraries are in "-lfoo" format suitable for passing to gcc.
|
|
|
+-def library_depends_gcc_libnames(obj):
|
|
|
++def library_depends_gcc_libnames(obj, soname):
|
|
|
+ if not os.access(obj, os.F_OK):
|
|
|
+ raise "Cannot find lib: " + obj
|
|
|
+ libs = library_depends(obj)
|
|
|
+ ret = []
|
|
|
+ for i in libs:
|
|
|
+ match = re.match("^(((?P<ld>ld\S*)|(lib(?P<lib>\S+))))\.so.*$", i)
|
|
|
+- if match:
|
|
|
++ if match and not soname in ("libpthread.so.0"):
|
|
|
+ if match.group('ld'):
|
|
|
+ ret.append(find_lib(match.group(0)))
|
|
|
+ elif match.group('lib'):
|
|
|
+@@ -592,7 +592,7 @@ while 1:
|
|
|
+ cmd.extend(extra_flags)
|
|
|
+ cmd.append("-lgcc")
|
|
|
+ cmd.extend(["-L%s" % a for a in [dest_path] + [sysroot + b for b in lib_path if sysroot == "" or b not in ("/" + libdir + "/", "/usr/" + libdir + "/")]])
|
|
|
+- cmd.append(library_depends_gcc_libnames(so_file))
|
|
|
++ cmd.append(library_depends_gcc_libnames(so_file, soname))
|
|
|
+ command(target + "gcc", *cmd)
|
|
|
+
|
|
|
+ ## DEBUG
|