From 662d578598fdf9be7452218f25014e0109ce3dbb Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Fri, 13 Jun 2025 12:18:10 +0100 Subject: [PATCH 1/2] build-script: fix `--skip-build-llvm` not having full effect While LLVM cannot be completely disabled when Swift is built, we should still allow skipping LLVM configuration and build steps when Swift is not built. This can happen, for example, when `build-script` user wants an ad-hoc incremental build, and `--skip-build-swift` is also passed. --- .../swift_build_support/build_script_invocation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/swift_build_support/swift_build_support/build_script_invocation.py b/utils/swift_build_support/swift_build_support/build_script_invocation.py index a0cc295878c74..cdcc64f01964b 100644 --- a/utils/swift_build_support/swift_build_support/build_script_invocation.py +++ b/utils/swift_build_support/swift_build_support/build_script_invocation.py @@ -623,7 +623,7 @@ def compute_product_pipelines(self): # Swift still needs a few LLVM targets like tblgen to be built for it to be # configured. Instead, handle this in the product for now. builder.add_product(products.LLVM, - is_enabled=True) + is_enabled=self.args.build_llvm or self.args.build_swift) builder.add_product(products.StaticSwiftLinuxConfig, is_enabled=self.args.install_static_linux_config) From 5bbddf067682e854c497969aa8ff425ebddcaa66 Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Mon, 16 Jun 2025 15:25:17 +0100 Subject: [PATCH 2/2] build-script: allow disabling LLVM only when not building LLDB --- .../swift_build_support/build_script_invocation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/swift_build_support/swift_build_support/build_script_invocation.py b/utils/swift_build_support/swift_build_support/build_script_invocation.py index cdcc64f01964b..7b78dbca1d325 100644 --- a/utils/swift_build_support/swift_build_support/build_script_invocation.py +++ b/utils/swift_build_support/swift_build_support/build_script_invocation.py @@ -623,7 +623,7 @@ def compute_product_pipelines(self): # Swift still needs a few LLVM targets like tblgen to be built for it to be # configured. Instead, handle this in the product for now. builder.add_product(products.LLVM, - is_enabled=self.args.build_llvm or self.args.build_swift) + is_enabled=self.args.build_llvm or self.args.build_swift or self.args.build_lldb) builder.add_product(products.StaticSwiftLinuxConfig, is_enabled=self.args.install_static_linux_config)