Skip to content

Commit e11e127

Browse files
committed
[darwin][build] Copy the libclang_rt.{ios/tvos/watchos}.a from toolchain to the build dir so that swift-clang can use them when building for ios/tvos/watchos
1 parent 815ae1f commit e11e127

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

utils/build-script-impl

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2945,6 +2945,31 @@ for host in "${ALL_HOSTS[@]}"; do
29452945
fi
29462946

29472947
call "${CMAKE_BUILD[@]}" "${build_dir}" $(cmake_config_opt ${product}) -- "${BUILD_ARGS[@]}" ${build_targets[@]}
2948+
2949+
# When we are building LLVM copy over the compiler-rt
2950+
# builtins for iOS/tvOS/watchOS to ensure that Swift's
2951+
# stdlib can use compiler-rt builtins when targetting iOS/tvOS/watchOS.
2952+
if [[ "${product}" == "llvm" ]]; then
2953+
if [[ "$(uname -s)" == "Darwin" ]] ; then
2954+
HOST_CXX_DIR=$(dirname "${HOST_CXX}")
2955+
HOST_CXX_BUILTINS_VERSION=$(ls "$HOST_CXX_DIR/../lib/clang" | awk '{print $0}')
2956+
HOST_CXX_BUILTINS_DIR="$HOST_CXX_DIR/../lib/clang/$HOST_CXX_BUILTINS_VERSION/lib/darwin"
2957+
DEST_CXX_BUILTINS_VERSION=$(ls "$llvm_build_dir/lib/clang" | awk '{print $0}')
2958+
DEST_BUILTINS_DIR="$llvm_build_dir/lib/clang/$DEST_CXX_BUILTINS_VERSION/lib/darwin"
2959+
2960+
echo "copying compiler-rt embedded builtins into the local clang build directory $DEST_BUILTINS_DIR."
2961+
2962+
if [ -f "$HOST_CXX_BUILTINS_DIR/libclang_rt.ios.a" ]; then
2963+
call cp "$HOST_CXX_BUILTINS_DIR/libclang_rt.ios.a" "$DEST_BUILTINS_DIR/libclang_rt.ios.a"
2964+
fi
2965+
if [ -f "$HOST_CXX_BUILTINS_DIR/libclang_rt.watchos.a" ]; then
2966+
call cp "$HOST_CXX_BUILTINS_DIR/libclang_rt.watchos.a" "$DEST_BUILTINS_DIR/libclang_rt.watchos.a"
2967+
fi
2968+
if [ -f "$HOST_CXX_BUILTINS_DIR/libclang_rt.tvos.a" ]; then
2969+
call cp "$HOST_CXX_BUILTINS_DIR/libclang_rt.tvos.a" "$DEST_BUILTINS_DIR/libclang_rt.tvos.a"
2970+
fi
2971+
fi
2972+
fi
29482973
fi
29492974
done
29502975
done

0 commit comments

Comments
 (0)