diff --git a/utils/webassembly/build-toolchain.sh b/utils/webassembly/build-toolchain.sh index 5c53ac98acee3..c7a3f761d6000 100755 --- a/utils/webassembly/build-toolchain.sh +++ b/utils/webassembly/build-toolchain.sh @@ -39,6 +39,8 @@ $BUILD_SCRIPT \ --install_destdir="$SOURCE_PATH/install" \ --installable_package="$INSTALLABLE_PACKAGE" \ --install-prefix=/$TOOLCHAIN_NAME/usr \ + --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" \ + --llvm-install-components "clang" \ --install-swift \ --darwin-toolchain-bundle-identifier="${BUNDLE_IDENTIFIER}" \ --darwin-toolchain-display-name="${DISPLAY_NAME}" \ @@ -61,7 +63,7 @@ cd $TMP_DIR/$TOOLCHAIN_NAME # Merge wasi-sdk and toolchain cp -r $WASI_SDK_PATH/lib/clang usr/lib -cp $WASI_SDK_PATH/bin/* usr/bin +cp -a $WASI_SDK_PATH/bin/*ld usr/bin cp -r $WASI_SDK_PATH/share/wasi-sysroot usr/share # Build SwiftPM and install it into toolchain @@ -73,7 +75,9 @@ sed -i -e "s@\".*/include@\"../../../../share/wasi-sysroot/include@g" $TMP_DIR/$ # Copy nightly-toolchain's host environment stdlib into toolchain if [[ "$(uname)" == "Linux" ]]; then - cp -r $NIGHTLY_TOOLCHAIN/usr/lib/swift/linux $TMP_DIR/$TOOLCHAIN_NAME/usr/lib/swift + # Avoid to copy usr/lib/swift/clang because our toolchain's one is a directory + # but nightly's one is symbolic link, so fail to merge them. + rsync -a $NIGHTLY_TOOLCHAIN/usr/lib/ $TMP_DIR/$TOOLCHAIN_NAME/usr/lib/ --exclude 'swift/clang' else cp -r $NIGHTLY_TOOLCHAIN/usr/lib/swift/macosx $TMP_DIR/$TOOLCHAIN_NAME/usr/lib/swift fi