@@ -1665,8 +1665,8 @@ if run_vendor == 'apple':
1665
1665
1666
1666
config .target_build_swift_dylib = SubstituteCaptures (
1667
1667
f"{ escape_for_substitute_captures (config .target_build_swift )} "
1668
- r" -parse-as-library -emit-library -o '\1'"
1669
- r" -Xlinker -install_name -Xlinker @executable_path/$(basename '\1') "
1668
+ r" -parse-as-library -emit-library -o '\1\2 '"
1669
+ r" -Xlinker -install_name -Xlinker @executable_path/\2 "
1670
1670
)
1671
1671
config .target_add_rpath = SubstituteCaptures (r'-Xlinker -rpath -Xlinker \1' )
1672
1672
@@ -1764,7 +1764,7 @@ elif run_os in ['windows-msvc']:
1764
1764
subst_target_swift_frontend_mock_sdk_after = ''
1765
1765
1766
1766
config .target_build_swift_dylib = \
1767
- SubstituteCaptures (r"%s -parse-as-library -emit-library -o \1" % (
1767
+ SubstituteCaptures (r"%s -parse-as-library -emit-library -o \1\2 " % (
1768
1768
escape_for_substitute_captures (config .target_build_swift )))
1769
1769
config .target_add_rpath = r''
1770
1770
@@ -1902,7 +1902,7 @@ elif (run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'openbsd', 'windows-
1902
1902
config .target_codesign = "echo"
1903
1903
config .target_build_swift_dylib = SubstituteCaptures (
1904
1904
f"{ escape_for_substitute_captures (config .target_build_swift )} "
1905
- r" -parse-as-library -emit-library -o '\1'"
1905
+ r" -parse-as-library -emit-library -o '\1\2 '"
1906
1906
)
1907
1907
config .target_add_rpath = SubstituteCaptures (r'-Xlinker -rpath -Xlinker \1' )
1908
1908
config .target_swift_frontend = (
@@ -1996,7 +1996,7 @@ elif run_os == 'linux-androideabi' or run_os == 'linux-android':
1996
1996
config .target_codesign = "echo"
1997
1997
config .target_build_swift_dylib = SubstituteCaptures (
1998
1998
f"{ escape_for_substitute_captures (config .target_build_swift )} "
1999
- r" -parse-as-library -emit-library -o '\1'"
1999
+ r" -parse-as-library -emit-library -o '\1\2 '"
2000
2000
)
2001
2001
config .target_add_rpath = SubstituteCaptures (r'-Xlinker -rpath -Xlinker \1' )
2002
2002
config .target_swift_frontend = ' ' .join ([
@@ -2083,7 +2083,7 @@ elif kIsWASI:
2083
2083
config .target_codesign = "echo"
2084
2084
config .target_build_swift_dylib = SubstituteCaptures (
2085
2085
f"{ escape_for_substitute_captures (config .target_build_swift )} "
2086
- r" -parse-as-library -emit-library -static -o '\1'"
2086
+ r" -parse-as-library -emit-library -static -o '\1\2 '"
2087
2087
)
2088
2088
config .target_add_rpath = ''
2089
2089
config .target_swift_frontend = ' ' .join ([
@@ -2167,7 +2167,7 @@ elif config.external_embedded_platform:
2167
2167
config .target_codesign = "echo"
2168
2168
config .target_build_swift_dylib = SubstituteCaptures (
2169
2169
f"{ escape_for_substitute_captures (config .target_build_swift )} "
2170
- r" -parse-as-library -emit-library -static -o '\1'"
2170
+ r" -parse-as-library -emit-library -static -o '\1\2 '"
2171
2171
)
2172
2172
config .target_add_rpath = ''
2173
2173
config .target_swift_frontend = ' ' .join ([
@@ -2938,7 +2938,10 @@ config.substitutions.append(('%target-run-stdlib-swift', config.target_run_stdli
2938
2938
config .substitutions .append (('%target-repl-run-simple-swift' , subst_target_repl_run_simple_swift ))
2939
2939
config .substitutions .append (('%target-run' , config .target_run ))
2940
2940
config .substitutions .append (('%target-jit-run' , subst_target_jit_run ))
2941
- config .substitutions .append (('%target-build-swift-dylib\(([^)]+)\)' , config .target_build_swift_dylib ))
2941
+ # Capture groups:
2942
+ # \1 = path before the file name (non-greedy)
2943
+ # \2 = file name (last component, no slashes or parentheses)
2944
+ config .substitutions .append (('%target-build-swift-dylib\(([^)]+?)([^/\\ ()]+)\)' , config .target_build_swift_dylib ))
2942
2945
config .substitutions .append (('%target-codesign' , config .target_codesign ))
2943
2946
config .substitutions .append (('%target-build-swift' , config .target_build_swift ))
2944
2947
config .substitutions .append (('%target-clang' , config .target_clang ))
0 commit comments