File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -2945,6 +2945,31 @@ for host in "${ALL_HOSTS[@]}"; do
2945
2945
fi
2946
2946
2947
2947
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
2948
2973
fi
2949
2974
done
2950
2975
done
You can’t perform that action at this time.
0 commit comments