diff options
-rwxr-xr-x | TOOLS/dylib-unhell.py | 8 | ||||
-rw-r--r-- | waftools/detections/compiler_swift.py | 1 |
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', [ |