Skip to content

Commit de19694

Browse files
[WASM] Improve build script based on ShellCheck
1 parent 3b8fdf9 commit de19694

File tree

4 files changed

+27
-28
lines changed

4 files changed

+27
-28
lines changed

utils/webassembly/build-toolchain.sh

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
#/bin/bash
1+
#!/bin/bash
22

33
set -ex
4-
SOURCE_PATH="$(cd "$(dirname $0)/../../.." && pwd)"
5-
UTILS_PATH="$(cd "$(dirname $0)" && pwd)"
4+
SOURCE_PATH="$(cd "$(dirname "$0")/../../.." && pwd)"
5+
UTILS_PATH="$(cd "$(dirname "$0")" && pwd)"
66

77
WASI_SDK_PATH=$SOURCE_PATH/wasi-sdk
88

@@ -14,9 +14,9 @@ case $(uname -s) in
1414
HOST_SUFFIX=macosx-x86_64
1515
;;
1616
Linux)
17-
if [ $(grep RELEASE /etc/lsb-release) == "DISTRIB_RELEASE=18.04" ]; then
17+
if [ "$(grep RELEASE /etc/lsb-release)" == "DISTRIB_RELEASE=18.04" ]; then
1818
OS_SUFFIX=ubuntu18.04
19-
elif [ $(grep RELEASE /etc/lsb-release) == "DISTRIB_RELEASE=20.04" ]; then
19+
elif [ "$(grep RELEASE /etc/lsb-release)" == "DISTRIB_RELEASE=20.04" ]; then
2020
OS_SUFFIX=ubuntu20.04
2121
else
2222
echo "Unknown Ubuntu version"
@@ -37,7 +37,6 @@ MONTH=$(date +"%m")
3737
DAY=$(date +"%d")
3838
TOOLCHAIN_VERSION="${YEAR}${MONTH}${DAY}"
3939
TOOLCHAIN_NAME="swift-wasm-DEVELOPMENT-SNAPSHOT-${YEAR}-${MONTH}-${DAY}-a"
40-
ARCHIVE="${TOOLCHAIN_NAME}-${OS_SUFFIX}.tar.gz"
4140

4241
PACKAGE_ARTIFACT="$SOURCE_PATH/swift-wasm-DEVELOPMENT-SNAPSHOT-${OS_SUFFIX}.tar.gz"
4342

@@ -60,12 +59,12 @@ HOST_BUILD_DIR=$HOST_BUILD_ROOT/Ninja-Release
6059
TARGET_BUILD_DIR=$TARGET_BUILD_ROOT/Ninja-Release
6160

6261
# Avoid clang headers symlink issues
63-
mkdir -p $HOST_TOOLCHAIN_SDK/usr/lib/clang/10.0.0
62+
mkdir -p "$HOST_TOOLCHAIN_SDK/usr/lib/clang/10.0.0"
6463

6564
build_host_toolchain() {
6665
# Build the host toolchain and SDK first.
6766
env SWIFT_BUILD_ROOT="$HOST_BUILD_ROOT" \
68-
$SOURCE_PATH/swift/utils/build-script \
67+
"$SOURCE_PATH/swift/utils/build-script" \
6968
--preset=$HOST_PRESET \
7069
--build-dir="$HOST_BUILD_DIR" \
7170
INSTALL_DESTDIR="$HOST_TOOLCHAIN_DESTDIR" \
@@ -74,7 +73,7 @@ build_host_toolchain() {
7473
}
7574

7675
build_target_toolchain() {
77-
mkdir -p $HOST_BUILD_DIR/
76+
mkdir -p "$HOST_BUILD_DIR/"
7877
# Copy the host build dir to reuse it.
7978
if [[ ! -e "$HOST_BUILD_DIR/llvm-$HOST_SUFFIX" ]]; then
8079
cp -r "$HOST_BUILD_DIR/llvm-$HOST_SUFFIX" "$TARGET_BUILD_DIR/llvm-$HOST_SUFFIX"
@@ -84,8 +83,8 @@ build_target_toolchain() {
8483

8584
# build the cross-compilled toolchain
8685
env SWIFT_BUILD_ROOT="$TARGET_BUILD_ROOT" \
87-
$SOURCE_PATH/swift/utils/build-script \
88-
--preset=$TARGET_PRESET --reconfigure \
86+
"$SOURCE_PATH/swift/utils/build-script" \
87+
--preset=$TARGET_PRESET \
8988
--build-dir="$TARGET_BUILD_DIR" \
9089
INSTALL_DESTDIR="$TARGET_TOOLCHAIN_DESTDIR" \
9190
SOURCE_PATH="$SOURCE_PATH" \
@@ -97,8 +96,8 @@ build_target_toolchain() {
9796
TOOLS_BIN_DIR="${HOST_TOOLCHAIN_SDK}/usr/bin" \
9897
C_CXX_LAUNCHER="$(which sccache)"
9998

100-
$UTILS_PATH/build-foundation.sh $TARGET_TOOLCHAIN_SDK
101-
$UTILS_PATH/build-xctest.sh $TARGET_TOOLCHAIN_SDK
99+
"$UTILS_PATH/build-foundation.sh" "$TARGET_TOOLCHAIN_SDK"
100+
"$UTILS_PATH/build-xctest.sh" "$TARGET_TOOLCHAIN_SDK"
102101

103102
}
104103

@@ -108,22 +107,22 @@ merge_toolchains() {
108107
cp -r "$HOST_TOOLCHAIN_DESTDIR" "$DIST_TOOLCHAIN_DESTDIR"
109108

110109
# Merge wasi-sdk and the toolchain
111-
cp -r $WASI_SDK_PATH/share/wasi-sysroot $DIST_TOOLCHAIN_SDK/usr/share
110+
cp -r "$WASI_SDK_PATH/share/wasi-sysroot" "$DIST_TOOLCHAIN_SDK/usr/share"
112111

113112
# Copy the target environment stdlib into the toolchain
114113
# Avoid copying usr/lib/swift/clang because our toolchain's one is a directory
115114
# but nightly's one is symbolic link. A simple copy fails to merge them.
116-
rsync -v -a $TARGET_TOOLCHAIN_SDK/usr/lib/ $DIST_TOOLCHAIN_SDK/usr/lib/ --exclude 'swift/clang'
117-
rsync -v -a $TARGET_TOOLCHAIN_SDK/usr/bin/ $DIST_TOOLCHAIN_SDK/usr/bin/
115+
rsync -v -a "$TARGET_TOOLCHAIN_SDK/usr/lib/" "$DIST_TOOLCHAIN_SDK/usr/lib/" --exclude 'swift/clang'
116+
rsync -v -a "$TARGET_TOOLCHAIN_SDK/usr/bin/" "$DIST_TOOLCHAIN_SDK/usr/bin/"
118117

119118
# Replace absolute sysroot path with relative path
120-
sed -i -e "s@\".*/include@\"../../../../share/wasi-sysroot/include@g" $DIST_TOOLCHAIN_SDK/usr/lib/swift/wasi/wasm32/wasi.modulemap
119+
sed -i -e "s@\".*/include@\"../../../../share/wasi-sysroot/include@g" "$DIST_TOOLCHAIN_SDK/usr/lib/swift/wasi/wasm32/wasi.modulemap"
121120
}
122121

123122
build_host_toolchain
124123
build_target_toolchain
125124

126125
merge_toolchains
127126

128-
cd $DIST_TOOLCHAIN_DESTDIR
129-
tar cfz $PACKAGE_ARTIFACT $TOOLCHAIN_NAME
127+
cd "$DIST_TOOLCHAIN_DESTDIR"
128+
tar cfz "$PACKAGE_ARTIFACT" "$TOOLCHAIN_NAME"

utils/webassembly/install-wasi-sdk.sh

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
#/bin/bash
1+
#!/bin/bash
22

33
set -ex
44

5-
SOURCE_PATH="$( cd "$(dirname $0)/../../../" && pwd )"
5+
SOURCE_PATH="$( cd "$(dirname "$0")/../../../" && pwd )"
66

7-
cd $SOURCE_PATH
7+
cd "$SOURCE_PATH"
88

99
WASI_SDK_URL="https://github.com/swiftwasm/wasi-sdk/releases/download/0.2.2-swiftwasm/dist-$2.zip"
1010

1111
[ ! -e dist-wasi-sdk.zip ] && \
12-
wget -O dist-wasi-sdk.zip $WASI_SDK_URL
12+
wget -O dist-wasi-sdk.zip "$WASI_SDK_URL"
1313
unzip -u dist-wasi-sdk.zip -d .
1414
WASI_SDK_TAR_PATH=$(find . -type f -name "wasi-sdk-*")
15-
WASI_SDK_FULL_NAME=$(basename $WASI_SDK_TAR_PATH -$1.tar.gz)
16-
tar xfz $WASI_SDK_TAR_PATH
15+
WASI_SDK_FULL_NAME=$(basename "$WASI_SDK_TAR_PATH" -"$1".tar.gz)
16+
tar xfz "$WASI_SDK_TAR_PATH"
1717
rm -rf ./wasi-sdk
18-
mv $WASI_SDK_FULL_NAME ./wasi-sdk
18+
mv "$WASI_SDK_FULL_NAME" ./wasi-sdk

utils/webassembly/linux/install-dependencies.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#/bin/bash
1+
#!/bin/bash
22

33
set -ex
44

utils/webassembly/macos/install-dependencies.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#/bin/bash
1+
#!/bin/bash
22

33
set -ex
44

0 commit comments

Comments
 (0)