1
- # /bin/bash
1
+ #! /bin/bash
2
2
3
3
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) "
6
6
7
7
WASI_SDK_PATH=$SOURCE_PATH /wasi-sdk
8
8
@@ -14,9 +14,9 @@ case $(uname -s) in
14
14
HOST_SUFFIX=macosx-x86_64
15
15
;;
16
16
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
18
18
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
20
20
OS_SUFFIX=ubuntu20.04
21
21
else
22
22
echo " Unknown Ubuntu version"
@@ -37,7 +37,6 @@ MONTH=$(date +"%m")
37
37
DAY=$( date +" %d" )
38
38
TOOLCHAIN_VERSION=" ${YEAR}${MONTH}${DAY} "
39
39
TOOLCHAIN_NAME=" swift-wasm-DEVELOPMENT-SNAPSHOT-${YEAR} -${MONTH} -${DAY} -a"
40
- ARCHIVE=" ${TOOLCHAIN_NAME} -${OS_SUFFIX} .tar.gz"
41
40
42
41
PACKAGE_ARTIFACT=" $SOURCE_PATH /swift-wasm-DEVELOPMENT-SNAPSHOT-${OS_SUFFIX} .tar.gz"
43
42
@@ -60,12 +59,12 @@ HOST_BUILD_DIR=$HOST_BUILD_ROOT/Ninja-Release
60
59
TARGET_BUILD_DIR=$TARGET_BUILD_ROOT /Ninja-Release
61
60
62
61
# 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"
64
63
65
64
build_host_toolchain () {
66
65
# Build the host toolchain and SDK first.
67
66
env SWIFT_BUILD_ROOT=" $HOST_BUILD_ROOT " \
68
- $SOURCE_PATH /swift/utils/build-script \
67
+ " $SOURCE_PATH /swift/utils/build-script" \
69
68
--preset=$HOST_PRESET \
70
69
--build-dir=" $HOST_BUILD_DIR " \
71
70
INSTALL_DESTDIR=" $HOST_TOOLCHAIN_DESTDIR " \
@@ -74,7 +73,7 @@ build_host_toolchain() {
74
73
}
75
74
76
75
build_target_toolchain () {
77
- mkdir -p $HOST_BUILD_DIR /
76
+ mkdir -p " $HOST_BUILD_DIR /"
78
77
# Copy the host build dir to reuse it.
79
78
if [[ ! -e " $HOST_BUILD_DIR /llvm-$HOST_SUFFIX " ]]; then
80
79
cp -r " $HOST_BUILD_DIR /llvm-$HOST_SUFFIX " " $TARGET_BUILD_DIR /llvm-$HOST_SUFFIX "
@@ -84,8 +83,8 @@ build_target_toolchain() {
84
83
85
84
# build the cross-compilled toolchain
86
85
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 \
89
88
--build-dir=" $TARGET_BUILD_DIR " \
90
89
INSTALL_DESTDIR=" $TARGET_TOOLCHAIN_DESTDIR " \
91
90
SOURCE_PATH=" $SOURCE_PATH " \
@@ -97,8 +96,8 @@ build_target_toolchain() {
97
96
TOOLS_BIN_DIR=" ${HOST_TOOLCHAIN_SDK} /usr/bin" \
98
97
C_CXX_LAUNCHER=" $( which sccache) "
99
98
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 "
102
101
103
102
}
104
103
@@ -108,22 +107,22 @@ merge_toolchains() {
108
107
cp -r " $HOST_TOOLCHAIN_DESTDIR " " $DIST_TOOLCHAIN_DESTDIR "
109
108
110
109
# 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"
112
111
113
112
# Copy the target environment stdlib into the toolchain
114
113
# Avoid copying usr/lib/swift/clang because our toolchain's one is a directory
115
114
# 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/"
118
117
119
118
# 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"
121
120
}
122
121
123
122
build_host_toolchain
124
123
build_target_toolchain
125
124
126
125
merge_toolchains
127
126
128
- cd $DIST_TOOLCHAIN_DESTDIR
129
- tar cfz $PACKAGE_ARTIFACT $TOOLCHAIN_NAME
127
+ cd " $DIST_TOOLCHAIN_DESTDIR "
128
+ tar cfz " $PACKAGE_ARTIFACT " " $TOOLCHAIN_NAME "
0 commit comments