@@ -243,6 +243,7 @@ def parse_global_args(args):
243243 args .source_dirs ["swift-certificates" ] = os .path .join (args .project_root , ".." , "swift-certificates" )
244244 args .source_dirs ["swift-asn1" ] = os .path .join (args .project_root , ".." , "swift-asn1" )
245245 args .source_dirs ["swift-syntax" ] = os .path .join (args .project_root , ".." , "swift-syntax" )
246+ args .source_dirs ["swift-build" ] = os .path .join (args .project_root , ".." , "swift-build" )
246247 args .source_root = os .path .join (args .project_root , "Sources" )
247248
248249 if platform .system () == 'Darwin' :
@@ -442,6 +443,16 @@ def build(args):
442443 build_dependency (args , "swift-certificates" ,
443444 ["-DSwiftASN1_DIR=" + os .path .join (args .build_dirs ["swift-asn1" ], "cmake/modules" ),
444445 "-DSwiftCrypto_DIR=" + os .path .join (args .build_dirs ["swift-crypto" ], "cmake/modules" )])
446+ swift_build_cmake_flags = [
447+ get_llbuild_cmake_arg (args ),
448+ "-DSwiftSystem_DIR=" + os .path .join (args .build_dirs ["swift-system" ], "cmake/modules" ),
449+ "-DSwiftASN1_DIR=" + os .path .join (args .build_dirs ["swift-asn1" ], "cmake/modules" ),
450+ "-DSwiftCrypto_DIR=" + os .path .join (args .build_dirs ["swift-crypto" ], "cmake/modules" ),
451+ "-DTSC_DIR=" + os .path .join (args .build_dirs ["tsc" ], "cmake/modules" ),
452+ "-DArgumentParser_DIR=" + os .path .join (args .build_dirs ["swift-argument-parser" ], "cmake/modules" ),
453+ "-DSwiftDriver_DIR=" + os .path .join (args .build_dirs ["swift-driver" ], "cmake/modules" ),
454+ ]
455+ build_dependency (args , "swift-build" , swift_build_cmake_flags )
445456 build_swiftpm_with_cmake (args )
446457
447458 build_swiftpm_with_swiftpm (args ,integrated_swift_driver = False )
@@ -718,6 +729,7 @@ def build_swiftpm_with_cmake(args):
718729 "-DSwiftCrypto_DIR=" + os .path .join (args .build_dirs ["swift-crypto" ], "cmake/modules" ),
719730 "-DSwiftASN1_DIR=" + os .path .join (args .build_dirs ["swift-asn1" ], "cmake/modules" ),
720731 "-DSwiftCertificates_DIR=" + os .path .join (args .build_dirs ["swift-certificates" ], "cmake/modules" ),
732+ "-DSwiftBuild_DIR=" + os .path .join (args .build_dirs ["swift-build" ], "cmake/modules" ),
721733 "-DSWIFTPM_PATH_TO_SWIFT_SYNTAX_SOURCE=" + args .source_dirs ["swift-syntax" ],
722734 ]
723735
@@ -738,6 +750,7 @@ def build_swiftpm_with_cmake(args):
738750 add_rpath_for_cmake_build (args , os .path .join (args .build_dirs ["swift-collections" ], "lib" ))
739751 add_rpath_for_cmake_build (args , os .path .join (args .build_dirs ["swift-asn1" ], "lib" ))
740752 add_rpath_for_cmake_build (args , os .path .join (args .build_dirs ["swift-certificates" ], "lib" ))
753+ add_rpath_for_cmake_build (args , os .path .join (args .build_dirs ["swift-build" ], "lib" ))
741754
742755 # rpaths for compatibility libraries
743756 for lib_path in get_swift_backdeploy_library_paths (args ):
@@ -875,6 +888,7 @@ def get_swiftpm_env_cmd(args):
875888 os .path .join (args .build_dirs ["swift-collections" ], "lib" ),
876889 os .path .join (args .build_dirs ["swift-asn1" ], "lib" ),
877890 os .path .join (args .build_dirs ["swift-certificates" ], "lib" ),
891+ os .path .join (args .build_dirs ["swift-build" ], "lib" ),
878892 ]
879893
880894 if platform .system () == 'Darwin' :
0 commit comments