Skip to content

Commit b48bee1

Browse files
authored
Merge pull request #923 from swiftwasm/maxd/group-build-flags
Move build flags to presets
2 parents 81fbd45 + 4aca741 commit b48bee1

File tree

5 files changed

+92
-83
lines changed

5 files changed

+92
-83
lines changed

utils/build-presets.ini

+79
Original file line numberDiff line numberDiff line change
@@ -2427,3 +2427,82 @@ no-assertions
24272427
mixin-preset=source_compat_suite_linux_base
24282428
debug
24292429
no-assertions
2430+
2431+
#===----------------------------------------------------------------------===#
2432+
# Preset for the WebAssembly toolchain and SDK
2433+
#===----------------------------------------------------------------------===#
2434+
2435+
[preset: webassembly]
2436+
2437+
wasm
2438+
release
2439+
verbose
2440+
cmake-c-launcher=%(C_CXX_LAUNCHER)s
2441+
cmake-cxx-launcher=%(C_CXX_LAUNCHER)s
2442+
skip-build-benchmarks
2443+
build-stdlib-deployment-targets=wasi-wasm32
2444+
build-swift-dynamic-sdk-overlay=false
2445+
build-swift-dynamic-stdlib=false
2446+
build-swift-static-sdk-overlay
2447+
build-swift-static-stdlib
2448+
llvm-targets-to-build=X86;WebAssembly
2449+
stdlib-deployment-targets=wasi-wasm32
2450+
wasi-icu-data=%(SOURCE_PATH)s/icu_out/lib/libicudata.a
2451+
wasi-icu-i18n=%(SOURCE_PATH)s/icu_out/lib/libicui18n.a
2452+
wasi-icu-i18n-include=%(SOURCE_PATH)s/icu_out/include
2453+
wasi-icu-uc=%(SOURCE_PATH)s/icu_out/lib/libicuuc.a
2454+
wasi-icu-uc-include=%(SOURCE_PATH)s/icu_out/include
2455+
wasi-sdk=%(SOURCE_PATH)s/wasi-sdk
2456+
2457+
[preset: webassembly-installable]
2458+
2459+
install_destdir=%(SOURCE_PATH)s/install
2460+
installable_package=%(INSTALLABLE_PACKAGE)s
2461+
install-prefix=/%(TOOLCHAIN_NAME)s/usr
2462+
swift-install-components=autolink-driver;compiler;clang-builtin-headers;stdlib;sdk-overlay;parser-lib;editor-integration;tools;testsuite-tools;toolchain-tools;license;sourcekit-inproc;swift-remote-mirror;swift-remote-mirror-headers;clang-resource-dir-symlink
2463+
llvm-install-components=clang
2464+
install-swift
2465+
darwin-toolchain-bundle-identifier=%(BUNDLE_IDENTIFIER)s
2466+
darwin-toolchain-display-name=%(DISPLAY_NAME)s
2467+
darwin-toolchain-display-name-short=%(DISPLAY_NAME_SHORT)s
2468+
darwin-toolchain-name=%(TOOLCHAIN_NAME)s
2469+
darwin-toolchain-version=%(TOOLCHAIN_VERSION)s
2470+
darwin-toolchain-alias=swift
2471+
2472+
[preset: webassembly-linux]
2473+
2474+
mixin-preset=webassembly
2475+
extra-cmake-options=
2476+
-DSWIFT_PRIMARY_VARIANT_SDK:STRING=WASI
2477+
-DSWIFT_PRIMARY_VARIANT_ARCH:STRING=wasm32
2478+
-DSWIFT_SDKS='WASI;LINUX'
2479+
-DSWIFT_BUILD_SOURCEKIT=FALSE
2480+
-DSWIFT_ENABLE_SOURCEKIT_TESTS=FALSE
2481+
-DSWIFT_BUILD_SYNTAXPARSERLIB=FALSE
2482+
-DCMAKE_AR="%(SOURCE_PATH)s/wasi-sdk/bin/llvm-ar"
2483+
-DCMAKE_RANLIB="%(SOURCE_PATH)s/wasi-sdk/bin/llvm-ranlib"
2484+
2485+
[preset: webassembly-macos]
2486+
2487+
mixin-preset=webassembly
2488+
extra-cmake-options=
2489+
-DSWIFT_PRIMARY_VARIANT_SDK:STRING=WASI
2490+
-DSWIFT_PRIMARY_VARIANT_ARCH:STRING=wasm32
2491+
-DSWIFT_OSX_x86_64_ICU_STATICLIB=TRUE
2492+
-DSWIFT_BUILD_SOURCEKIT=FALSE
2493+
-DSWIFT_ENABLE_SOURCEKIT_TESTS=FALSE
2494+
-DSWIFT_BUILD_SYNTAXPARSERLIB=FALSE
2495+
-DCMAKE_AR='/usr/local/opt/llvm/bin/llvm-ar'
2496+
-DCMAKE_RANLIB='/usr/local/opt/llvm/bin/llvm-ranlib'
2497+
2498+
[preset: webassembly-linux-installable]
2499+
2500+
mixin-preset=
2501+
webassembly-linux
2502+
webassembly-installable
2503+
2504+
[preset: webassembly-macos-installable]
2505+
2506+
mixin-preset=
2507+
webassembly-macos
2508+
webassembly-installable

utils/webassembly/build-linux.sh

-31
This file was deleted.

utils/webassembly/build-mac.sh

-31
This file was deleted.

utils/webassembly/build-toolchain.sh

+11-16
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ WASI_SDK_PATH=$SOURCE_PATH/wasi-sdk
99
case $(uname -s) in
1010
Darwin)
1111
OS_SUFFIX=osx
12-
BUILD_SCRIPT=$UTILS_PATH/build-mac.sh
12+
PRESET_NAME=webassembly-macos-installable
1313
;;
1414
Linux)
1515
OS_SUFFIX=linux
16-
BUILD_SCRIPT=$UTILS_PATH/build-linux.sh
16+
PRESET_NAME=webassembly-linux-installable
1717
;;
1818
*)
1919
echo "Unrecognised platform $(uname -s)"
@@ -35,20 +35,15 @@ BUNDLE_IDENTIFIER="swiftwasm.${YEAR}${MONTH}${DAY}"
3535
DISPLAY_NAME_SHORT="Swift for WebAssembly Development Snapshot"
3636
DISPLAY_NAME="${DISPLAY_NAME_SHORT} ${YEAR}-${MONTH}-${DAY}"
3737

38-
$BUILD_SCRIPT \
39-
--install_destdir="$SOURCE_PATH/install" \
40-
--installable_package="$INSTALLABLE_PACKAGE" \
41-
--install-prefix=/$TOOLCHAIN_NAME/usr \
42-
--swift-install-components "autolink-driver;compiler;clang-builtin-headers;stdlib;sdk-overlay;parser-lib;editor-integration;tools;testsuite-tools;toolchain-tools;license;sourcekit-inproc;swift-remote-mirror;swift-remote-mirror-headers;clang-resource-dir-symlink" \
43-
--llvm-install-components "clang" \
44-
--install-swift \
45-
--darwin-toolchain-bundle-identifier="${BUNDLE_IDENTIFIER}" \
46-
--darwin-toolchain-display-name="${DISPLAY_NAME}" \
47-
--darwin-toolchain-display-name-short="${DISPLAY_NAME_SHORT}" \
48-
--darwin-toolchain-name="${TOOLCHAIN_NAME}" \
49-
--darwin-toolchain-version="${TOOLCHAIN_VERSION}" \
50-
--darwin-toolchain-alias="swift" \
51-
"$@"
38+
$SOURCE_PATH/swift/utils/build-script --preset=$PRESET_NAME \
39+
SOURCE_PATH="$SOURCE_PATH" \
40+
INSTALLABLE_PACKAGE="$INSTALLABLE_PACKAGE" \
41+
BUNDLE_IDENTIFIER="${BUNDLE_IDENTIFIER}" \
42+
DISPLAY_NAME="${DISPLAY_NAME}" \
43+
DISPLAY_NAME_SHORT="${DISPLAY_NAME_SHORT}" \
44+
TOOLCHAIN_NAME="${TOOLCHAIN_NAME}" \
45+
TOOLCHAIN_VERSION="${TOOLCHAIN_VERSION}" \
46+
C_CXX_LAUNCHER="$(which sccache)"
5247

5348

5449
NIGHTLY_TOOLCHAIN=$SOURCE_PATH/swift-nightly-toolchain

utils/webassembly/ci.sh

+2-5
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@ export PATH="$HOME/.wasmer/bin:$PATH"
2222
export SCCACHE_CACHE_SIZE="50G"
2323
export SCCACHE_DIR="$SOURCE_PATH/build-cache"
2424

25-
CACHE_FLAGS="--cmake-c-launcher $(which sccache) --cmake-cxx-launcher $(which sccache)"
26-
FLAGS="--release $CACHE_FLAGS --verbose"
27-
28-
$BUILD_SCRIPT $FLAGS
25+
$BUILD_SCRIPT
2926

3027
if [[ "$(uname)" == "Darwin" ]]; then
3128
# workaround: host target test directory is necessary to use run-test
@@ -38,5 +35,5 @@ if [[ "$(uname)" == "Linux" ]]; then
3835
echo "Skip running test suites for Linux"
3936
else
4037
# Run test but ignore failure temporarily
41-
$BUILD_SCRIPT $FLAGS -t || true
38+
$BUILD_SCRIPT -t || true
4239
fi

0 commit comments

Comments
 (0)