Skip to content

Commit 7b00176

Browse files
authored
Merge pull request #80174 from edymtt/edymtt/use-runtimes-build-quater
build-script: Permit to build compiler-rt with `LLVM_ENABLE_RUNTIMES`
2 parents 0ae5a42 + 0c8171f commit 7b00176

File tree

10 files changed

+194
-42
lines changed

10 files changed

+194
-42
lines changed

utils/build-script-impl

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -806,20 +806,6 @@ function set_build_options_for_host() {
806806
esac
807807

808808

809-
# We don't currently support building compiler-rt for cross-compile targets.
810-
# It's not clear that's useful anyway.
811-
if [[ $(is_cross_tools_host "${host}") ]] ; then
812-
llvm_cmake_options+=(
813-
-DLLVM_TOOL_COMPILER_RT_BUILD:BOOL=FALSE
814-
-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=FALSE
815-
)
816-
else
817-
llvm_cmake_options+=(
818-
-DLLVM_TOOL_COMPILER_RT_BUILD:BOOL="$(false_true ${SKIP_BUILD_COMPILER_RT})"
819-
-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL="$(false_true ${SKIP_BUILD_COMPILER_RT})"
820-
)
821-
fi
822-
823809
# If we are asked to not generate test targets for LLVM and or Swift,
824810
# disable as many LLVM tools as we can. This improves compile time when
825811
# compiling with LTO.

utils/build_swift/build_swift/defaults.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ def llvm_install_components():
122122
"""Convenience function for getting the default llvm install components for
123123
platforms.
124124
"""
125+
# llvm build product will take care of replacing compiler-rt with
126+
# builtins,runtimes if need be
125127
components = ['llvm-ar', 'llvm-cov', 'llvm-profdata', 'IndexStore', 'clang',
126128
'clang-resource-headers', 'compiler-rt', 'clangd', 'LTO',
127129
'lld']

utils/build_swift/build_swift/driver_arguments.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1404,6 +1404,11 @@ def create_argument_parser():
14041404
'separated options "-DCMAKE_VAR1=YES,-DCMAKE_VAR2=/tmp". Can '
14051405
'be called multiple times to add multiple such options.')
14061406

1407+
option('--llvm-build-compiler-rt-with-use-runtimes', toggle_true,
1408+
help='Switch to LLVM_ENABLE_RUNTIMES as the mechanism to build compiler-rt'
1409+
'It will become the default with LLVM 21, this flag is '
1410+
'meant to stage its introduction and account for edge cases')
1411+
14071412
# -------------------------------------------------------------------------
14081413
in_group('Build settings for Android')
14091414

utils/build_swift/tests/expected_options.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,7 @@
231231
'lldb_build_variant': 'Debug',
232232
'lldb_build_with_xcode': '0',
233233
'llvm_assertions': True,
234+
'llvm_build_compiler_rt_with_use_runtimes': False,
234235
'llvm_build_variant': 'Debug',
235236
'llvm_cmake_options': [],
236237
'llvm_enable_modules': False,
@@ -852,6 +853,7 @@ class BuildScriptImplOption(_BaseOption):
852853
AppendOption('--llvm-ninja-targets'),
853854
AppendOption('--llvm-ninja-targets-for-cross-compile-hosts'),
854855
AppendOption('--llvm-cmake-options'),
856+
EnableOption('--llvm-build-compiler-rt-with-use-runtimes'),
855857
AppendOption('--darwin-symroot-path-filters'),
856858

857859
UnsupportedOption('--build-jobs'),

utils/swift_build_support/swift_build_support/products/cmake_product.py

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ def host_cmake_options(self, host_target):
133133

134134
llvm_target_arch = None
135135
cmake_osx_deployment_target = None
136+
cmake_os_sysroot = None
136137
swift_host_triple = None
137138
swift_host_variant = platform
138139
swift_host_variant_sdk = platform.upper()
@@ -381,19 +382,6 @@ def host_cmake_options(self, host_target):
381382
# in the compiler checks CMake performs
382383
swift_cmake_options.define('CMAKE_OSX_ARCHITECTURES', arch)
383384

384-
# We don't currently support building compiler-rt for cross-compile targets.
385-
# It's not clear that's useful anyway.
386-
if self.is_cross_compile_target(host_target):
387-
llvm_cmake_options.define('LLVM_TOOL_COMPILER_RT_BUILD:BOOL', 'FALSE')
388-
llvm_cmake_options.define('LLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL', 'FALSE')
389-
else:
390-
llvm_cmake_options.define('LLVM_TOOL_COMPILER_RT_BUILD:BOOL',
391-
cmake.CMakeOptions.true_false(
392-
self.args.build_compiler_rt))
393-
llvm_cmake_options.define('LLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL',
394-
cmake.CMakeOptions.true_false(
395-
self.args.build_compiler_rt))
396-
397385
# If we are asked to not generate test targets for LLVM and or Swift,
398386
# disable as many LLVM tools as we can. This improves compile time when
399387
# compiling with LTO.
@@ -428,4 +416,8 @@ def host_cmake_options(self, host_target):
428416

429417
llvm_cmake_options.define('COVERAGE_DB', self.args.coverage_db)
430418

431-
return (llvm_cmake_options, swift_cmake_options)
419+
# This provides easier access to certain settings
420+
# users may need without having to use CMakeOptions interface
421+
relevant_options = {'CMAKE_OSX_SYSROOT': cmake_os_sysroot}
422+
423+
return (llvm_cmake_options, swift_cmake_options, relevant_options)

utils/swift_build_support/swift_build_support/products/llvm.py

Lines changed: 83 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ def build(self, host_target):
234234

235235
(platform, arch) = host_target.split('-')
236236

237-
llvm_cmake_options = self.host_cmake_options(host_target)[0]
237+
llvm_cmake_options, _, relevant_options = self.host_cmake_options(host_target)
238238
llvm_cmake_options.extend_raw(self.args.llvm_cmake_options)
239239

240240
# TODO: handle cross compilation
@@ -300,18 +300,78 @@ def build(self, host_target):
300300
llvm_cmake_options.define('LLVM_INCLUDE_DOCS:BOOL', 'TRUE')
301301
llvm_cmake_options.define('LLVM_ENABLE_LTO:STRING', self.args.lto_type)
302302
llvm_cmake_options.define('COMPILER_RT_INTERCEPT_LIBDISPATCH', 'ON')
303+
# Swift expects the old layout for the runtime directory
304+
# updating this in tracked in #80180
305+
llvm_cmake_options.define('LLVM_ENABLE_PER_TARGET_RUNTIME_DIR', 'OFF')
306+
if host_target.startswith('linux'):
307+
# This preserves the behaviour we had when using
308+
# LLVM_BUILD_EXTERNAL COMPILER_RT --
309+
# that is, having the linker not complaing if symbols used
310+
# by TSan are undefined (namely the ones for Blocks Runtime)
311+
# In the long term, we want to remove this and
312+
# build Blocks Runtime before LLVM
313+
llvm_cmake_options.define(
314+
'SANITIZER_COMMON_LINK_FLAGS:STRING', '-Wl,-z,undefs')
315+
316+
builtins_runtimes_target_for_darwin = 'arm64-apple-darwin'
317+
if system() == "Darwin":
318+
llvm_cmake_options.define(
319+
f'BUILTINS_{builtins_runtimes_target_for_darwin}_'
320+
'CMAKE_OSX_SYSROOT',
321+
relevant_options['CMAKE_OSX_SYSROOT'])
322+
llvm_cmake_options.define(
323+
f'RUNTIMES_{builtins_runtimes_target_for_darwin}_'
324+
'CMAKE_OSX_SYSROOT',
325+
relevant_options['CMAKE_OSX_SYSROOT'])
326+
llvm_cmake_options.define(
327+
'LLVM_BUILTIN_TARGETS', builtins_runtimes_target_for_darwin)
328+
llvm_cmake_options.define(
329+
'LLVM_RUNTIME_TARGETS', builtins_runtimes_target_for_darwin)
330+
llvm_cmake_options.define('RUNTIMES_BUILD_ALLOW_DARWIN', 'ON')
331+
# Build all except rtsan
332+
llvm_cmake_options.define(
333+
f'RUNTIMES_{builtins_runtimes_target_for_darwin}_'
334+
'COMPILER_RT_SANITIZERS_TO_BUILD',
335+
'asan;dfsan;msan;hwasan;tsan;safestack;cfi;scudo_standalone;'
336+
'ubsan_minimal;gwp_asan;nsan;asan_abi')
303337

304338
if self.args.build_embedded_stdlib and system() == "Darwin":
305339
# Ask for Mach-O cross-compilation builtins (for Embedded Swift)
306340
llvm_cmake_options.define(
307341
'COMPILER_RT_FORCE_BUILD_BAREMETAL_MACHO_BUILTINS_ARCHS:STRING',
308342
'armv6 armv6m armv7 armv7m armv7em')
343+
llvm_cmake_options.define(
344+
f'BUILTINS_{builtins_runtimes_target_for_darwin}_'
345+
'COMPILER_RT_FORCE_BUILD_BAREMETAL_MACHO_BUILTINS_ARCHS:'
346+
'STRING', 'armv6 armv6m armv7 armv7m armv7em')
309347

310348
llvm_enable_projects = ['clang']
349+
llvm_enable_runtimes = []
311350

312351
if self.args.build_compiler_rt and \
313352
not self.is_cross_compile_target(host_target):
314-
llvm_enable_projects.append('compiler-rt')
353+
if self.args.llvm_build_compiler_rt_with_use_runtimes:
354+
llvm_enable_runtimes.append('compiler-rt')
355+
# This accounts for previous incremental runs that may have set
356+
# those in the LLVM CMakeCache.txt
357+
llvm_cmake_options.undefine('LLVM_TOOL_COMPILER_RT_BUILD')
358+
llvm_cmake_options.undefine('LLVM_BUILD_EXTERNAL_COMPILER_RT')
359+
else:
360+
# No need to unset anything,
361+
# since we set LLVM_ENABLE_RUNTIMES explicitly
362+
llvm_enable_projects.append('compiler-rt')
363+
llvm_cmake_options.define(
364+
'LLVM_TOOL_COMPILER_RT_BUILD:BOOL', 'TRUE')
365+
llvm_cmake_options.define(
366+
'LLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL', 'TRUE')
367+
else:
368+
if not self.args.llvm_build_compiler_rt_with_use_runtimes:
369+
# No need to unset anything,
370+
# since we set LLVM_ENABLE_RUNTIMES explicitly
371+
llvm_cmake_options.define(
372+
'LLVM_TOOL_COMPILER_RT_BUILD:BOOL', 'FALSE')
373+
llvm_cmake_options.define(
374+
'LLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL', 'FALSE')
315375

316376
if self.args.build_clang_tools_extra:
317377
llvm_enable_projects.append('clang-tools-extra')
@@ -325,18 +385,15 @@ def build(self, host_target):
325385
if self.args.build_lld:
326386
llvm_enable_projects.append('lld')
327387

388+
if self.args.test:
389+
# LLVMTestingSupport is not built at part of `all`
390+
# and is required by some Swift tests
391+
build_targets.append('LLVMTestingSupport')
392+
328393
llvm_cmake_options.define('LLVM_ENABLE_PROJECTS',
329394
';'.join(llvm_enable_projects))
330-
331-
# In the near future we are aiming to build compiler-rt with
332-
# LLVM_ENABLE_RUNTIMES
333-
# Until that happens, we need to unset this variable from
334-
# LLVM CMakeCache.txt for two reasons
335-
# * prevent PRs testing this variable to affect other runs landing
336-
# unrelated features
337-
# * avoid fallouts should we land such change and then have to revert
338-
# it to account for unforeseen regressions
339-
llvm_cmake_options.undefine('LLVM_ENABLE_RUNTIMES')
395+
llvm_cmake_options.define('LLVM_ENABLE_RUNTIMES',
396+
';'.join(llvm_enable_runtimes))
340397

341398
# NOTE: This is not a dead option! It is relied upon for certain
342399
# bots/build-configs!
@@ -500,9 +557,21 @@ def install(self, host_target):
500557
self.args.llvm_install_components != 'all':
501558
install_targets = []
502559
components = self.args.llvm_install_components.split(';')
560+
if self.args.llvm_build_compiler_rt_with_use_runtimes and \
561+
'compiler-rt' in components:
562+
# This is a courtesy fallback to avoid breaking downstream presets
563+
# we are not aware of
564+
components.remove('compiler-rt')
565+
components.append('builtins')
566+
components.append('runtimes')
567+
print('warning: replaced legacy LLVM component compiler-rt '
568+
'with builtins;runtimes -- consider updating your preset',
569+
flush=True)
570+
503571
for component in components:
504-
if self.is_cross_compile_target(host_target):
505-
if component == 'compiler-rt':
572+
if self.is_cross_compile_target(host_target) \
573+
or not self.args.build_compiler_rt:
574+
if component in ['compiler-rt', 'builtins', 'runtimes']:
506575
continue
507576
install_targets.append('install-{}'.format(component))
508577

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# REQUIRES: standalone_build
2+
# REQUIRES: OS=linux-gnu
3+
4+
# RUN: %empty-directory(%t)
5+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes --cmake %cmake 2>&1 | %FileCheck --check-prefix=LINUX %s
6+
# RUN: %empty-directory(%t)
7+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes=1 --cmake %cmake 2>&1 | %FileCheck --check-prefix=LINUX %s
8+
# RUN: %empty-directory(%t)
9+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --cmake %cmake 2>&1 | %FileCheck --check-prefix=LINUX %s
10+
# RUN: %empty-directory(%t)
11+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes=0 --cmake %cmake 2>&1 | %FileCheck --check-prefix=LINUX %s
12+
13+
# LINUX: Building llvm
14+
# LINUX-DAG: cmake -G Ninja
15+
# LINUX-SAME: -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR{{[^ ]*}}=OFF
16+
# LINUX-SAME: -DSANITIZER_COMMON_LINK_FLAGS{{[^ ]*}}=-Wl,-z,undefs
17+
# LINUX-SAME: llvm
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# REQUIRES: standalone_build
2+
# REQUIRES: OS=macosx
3+
4+
# RUN: %empty-directory(%t)
5+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes --cmake %cmake 2>&1 | %FileCheck --check-prefix=LLVM-USE-RUNTIMES %s
6+
# RUN: %empty-directory(%t)
7+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes=1 --cmake %cmake 2>&1 | %FileCheck --check-prefix=LLVM-USE-RUNTIMES %s
8+
9+
# LLVM-USE-RUNTIMES: Building llvm
10+
# LLVM-USE-RUNTIMES-DAG: cmake -G Ninja
11+
# LLVM-USE-RUNTIMES-SAME: -DBUILTINS_{{[^ ]*}}_CMAKE_OSX_SYSROOT
12+
# LLVM-USE-RUNTIMES-SAME: -DRUNTIMES_{{[^ ]*}}_CMAKE_OSX_SYSROOT
13+
# LLVM-USE-RUNTIMES-SAME: -DLLVM_BUILTIN_TARGETS
14+
# LLVM-USE-RUNTIMES-SAME: -DLLVM_RUNTIME_TARGETS
15+
# LLVM-USE-RUNTIMES-SAME: -DRUNTIMES_{{[^ ]*}}_COMPILER_RT_SANITIZERS_TO_BUILD
16+
# LLVM-USE-RUNTIMES-NOT: rtsan
17+
# LLVM-USE-RUNTIMES-SAME: -DBUILTINS_{{[^ ]*}}_COMPILER_RT_FORCE_BUILD_BAREMETAL_MACHO_BUILTINS_ARCHS
18+
# LLVM-USE-RUNTIMES-SAME: llvm
19+
20+
# RUN: %empty-directory(%t)
21+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --cmake %cmake 2>&1 | %FileCheck --check-prefix=EXTERNAL-COMPILER-RT %s
22+
# RUN: %empty-directory(%t)
23+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes=0 --cmake %cmake 2>&1 | %FileCheck --check-prefix=EXTERNAL-COMPILER-RT %s
24+
25+
# EXTERNAL-COMPILER-RT: Building llvm
26+
# EXTERNAL-COMPILER-RT-DAG: cmake -G Ninja
27+
# EXTERNAL-COMPILER-RT-SAME: -DCOMPILER_RT_FORCE_BUILD_BAREMETAL_MACHO_BUILTINS_ARCHS
28+
# EXTERNAL-COMPILER-RT-SAME: llvm
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# REQUIRES: standalone_build
2+
3+
# RUN: %empty-directory(%t)
4+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --cmake %cmake 2>&1 | %FileCheck --check-prefix=EXTERNAL-COMPILER-RT-CHECK %s
5+
# RUN: %empty-directory(%t)
6+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes=0 --cmake %cmake 2>&1 | %FileCheck --check-prefix=EXTERNAL-COMPILER-RT-CHECK %s
7+
8+
# EXTERNAL-COMPILER-RT-CHECK: Building llvm
9+
# EXTERNAL-COMPILER-RT-CHECK-DAG: cmake -G Ninja
10+
# EXTERNAL-COMPILER-RT-CHECK-SAME: -DLLVM_TOOL_COMPILER_RT_BUILD:BOOL=TRUE
11+
# EXTERNAL-COMPILER-RT-CHECK-SAME: -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=TRUE
12+
# EXTERNAL-COMPILER-RT-CHECK-SAME: -DLLVM_ENABLE_PROJECTS{{[^ ]*}}={{[^ ]*}}compiler-rt
13+
# EXTERNAL-COMPILER-RT-CHECK-SAME: llvm
14+
15+
# RUN: %empty-directory(%t)
16+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --skip-build-compiler-rt --cmake %cmake 2>&1 | %FileCheck --check-prefix=DONT-BUILD-COMPILER-RT %s
17+
# RUN: %empty-directory(%t)
18+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes=0 --skip-build-compiler-rt --cmake %cmake 2>&1 | %FileCheck --check-prefix=DONT-BUILD-COMPILER-RT %s
19+
20+
# DONT-BUILD-COMPILER-RT: Building llvm
21+
# DONT-BUILD-COMPILER-RT-DAG: cmake -G Ninja
22+
# DONT-BUILD-COMPILER-RT-SAME: -DLLVM_TOOL_COMPILER_RT_BUILD:BOOL=FALSE
23+
# DONT-BUILD-COMPILER-RT-SAME: -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=FALSE
24+
# DONT-BUILD-COMPILER-RT-NOT: compiler-rt
25+
# DONT-BUILD-COMPILER-RT-SAME: llvm
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# REQUIRES: standalone_build
2+
3+
# RUN: %empty-directory(%t)
4+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes --cmake %cmake 2>&1 | %FileCheck --check-prefix=LLVM-USE-RUNTIMES %s
5+
# RUN: %empty-directory(%t)
6+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes=1 --cmake %cmake 2>&1 | %FileCheck --check-prefix=LLVM-USE-RUNTIMES %s
7+
8+
# LLVM-USE-RUNTIMES: Building llvm
9+
# LLVM-USE-RUNTIMES-DAG: cmake -G Ninja
10+
# LLVM-USE-RUNTIMES-SAME: -ULLVM_TOOL_COMPILER_RT_BUILD
11+
# LLVM-USE-RUNTIMES-SAME: -ULLVM_BUILD_EXTERNAL_COMPILER_RT
12+
# LLVM-USE-RUNTIMES-SAME: -DLLVM_ENABLE_RUNTIMES{{[^ ]*}}={{[^ ]*}}compiler-rt
13+
# LLVM-USE-RUNTIMES-SAME: runtimes
14+
# LLVM-USE-RUNTIMES-SAME: llvm
15+
16+
# RUN: %empty-directory(%t)
17+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes --skip-build-compiler-rt --cmake %cmake 2>&1 | %FileCheck --check-prefix=DONT-BUILD-COMPILER-RT %s
18+
# RUN: %empty-directory(%t)
19+
# RUN: SKIP_XCODE_VERSION_CHECK=1 SWIFT_BUILD_ROOT=%t %swift_src_root/utils/build-script --dry-run --skip-build --llvm-build-compiler-rt-with-use-runtimes=1 --skip-build-compiler-rt --cmake %cmake 2>&1 | %FileCheck --check-prefix=DONT-BUILD-COMPILER-RT %s
20+
21+
# DONT-BUILD-COMPILER-RT: Building llvm
22+
# DONT-BUILD-COMPILER-RT-DAG: cmake -G Ninja
23+
# DONT-BUILD-COMPILER-RT-NOT: LLVM_TOOL_COMPILER_RT_BUILD
24+
# DONT-BUILD-COMPILER-RT-NOT: LLVM_BUILD_EXTERNAL_COMPILER_RT
25+
# DONT-BUILD-COMPILER-RT-NOT: compiler-rt
26+
# DONT-BUILD-COMPILER-RT-SAME: llvm

0 commit comments

Comments
 (0)