Skip to content

Commit 44a6811

Browse files
authored
Merge pull request #83135 from MaxDesiatov/test-wasm-stdlib
build-script: allow `--test-wasm-stdlib` without `--build-wasm-stdlib` This allows testing Wasm stdlib without fully rebuilding WASI sysroot and stdlib, while changes to stdlib itself are still detected by ninja as dependencies and are built incrementally, which is great for local builds.
2 parents 4d8b589 + cf0e96c commit 44a6811

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

utils/build_swift/build_swift/driver_arguments.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,9 @@ def _apply_default_arguments(args):
292292
args.test_xros_host = False
293293
args.test_android_host = False
294294

295+
if args.build_wasmstdlib:
296+
args.test_wasmstdlib = True
297+
295298

296299
def create_argument_parser():
297300
"""Return a configured argument parser."""
@@ -829,6 +832,8 @@ def create_argument_parser():
829832
option(['--build-wasm-stdlib'], toggle_true('build_wasmstdlib'),
830833
help='build the stdlib for WebAssembly target into a'
831834
'separate build directory ')
835+
option('--test-wasm-stdlib', toggle_true('test_wasmstdlib'),
836+
help='test stdlib for WebAssembly')
832837
option(['--wasmkit'], toggle_true('build_wasmkit'),
833838
help='build WasmKit')
834839
option(['--install-wasmkit'], toggle_true('install_wasmkit'),

utils/build_swift/tests/expected_options.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@
328328
'test_swiftformat': False,
329329
'test_swiftdocc': False,
330330
'test_toolchainbenchmarks': False,
331-
'test_wasmstdlib': True,
331+
'test_wasmstdlib': False,
332332
'tvos': False,
333333
'tvos_all': False,
334334
'validation_test': None,
@@ -591,6 +591,7 @@ class BuildScriptImplOption(_BaseOption):
591591
SetTrueOption('--swiftdocc', dest='build_swiftdocc'),
592592
SetTrueOption('--build-minimal-stdlib', dest='build_minimalstdlib'),
593593
SetTrueOption('--build-wasm-stdlib', dest='build_wasmstdlib'),
594+
SetTrueOption('--test-wasm-stdlib', dest='test_wasmstdlib'),
594595
SetTrueOption('--wasmkit', dest='build_wasmkit'),
595596
SetTrueOption('--build-stdlib-docs'),
596597
SetTrueOption('--preview-stdlib-docs'),

utils/swift_build_support/swift_build_support/build_script_invocation.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,9 @@ def compute_product_pipelines(self):
683683
builder.add_product(products.WasmKit,
684684
is_enabled=self.args.build_wasmkit)
685685
builder.add_product(products.WasmStdlib,
686-
is_enabled=self.args.build_wasmstdlib)
686+
# Revert `or self.args.test_wasmstdlib` once we adopt `wasi-sdk-26`
687+
# or higher version that includes https://github.com/WebAssembly/wasi-libc/commit/eadb436d5c09f7983c3a687086e5af6b6e9f5510.patch
688+
is_enabled=self.args.build_wasmstdlib or self.args.test_wasmstdlib)
687689
builder.add_product(products.WasmThreadsStdlib,
688690
is_enabled=self.args.build_wasmstdlib)
689691
builder.add_product(products.WasmSwiftSDK,

0 commit comments

Comments
 (0)