summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xTOOLS/dylib-unhell.py8
-rw-r--r--waftools/detections/compiler_swift.py1
2 files changed, 9 insertions, 0 deletions
diff --git a/TOOLS/dylib-unhell.py b/TOOLS/dylib-unhell.py
index 8f0b151f03..05c75789e7 100755
--- a/TOOLS/dylib-unhell.py
+++ b/TOOLS/dylib-unhell.py
@@ -89,8 +89,16 @@ def process_libraries(libs_dict, binary, processed = []):
def process_swift_libraries(binary):
command = ['xcrun', '--find', 'swift-stdlib-tool']
swiftStdlibTool = subprocess.check_output(command, universal_newlines=True).strip()
+ # from xcode11 on the dynamic swift libs reside in a separate directory from
+ # the std one, might need versioned paths for future swift versions
+ swiftLibPath = os.path.join(swiftStdlibTool, '../../lib/swift-5.0/macosx')
+ swiftLibPath = os.path.abspath(swiftLibPath)
command = [swiftStdlibTool, '--copy', '--platform', 'macosx', '--scan-executable', binary, '--destination', lib_path(binary)]
+
+ if os.path.exists(swiftLibPath):
+ command.extend(['--source-libraries', swiftLibPath])
+
subprocess.check_output(command, universal_newlines=True)
print(">> setting additional rpath for swift libraries")
diff --git a/waftools/detections/compiler_swift.py b/waftools/detections/compiler_swift.py
index 1759052d53..854d1a6db8 100644
--- a/waftools/detections/compiler_swift.py
+++ b/waftools/detections/compiler_swift.py
@@ -44,6 +44,7 @@ def __add_dynamic_swift_library_linking_flags(ctx, swift_library):
if StrictVersion(ctx.env.SWIFT_VERSION) >= StrictVersion("5.0"):
ctx.env.append_value('LINKFLAGS', [
'-Xlinker', '-rpath', '-Xlinker', '/usr/lib/swift',
+ '-L/usr/lib/swift',
])
ctx.env.append_value('LINKFLAGS', [