@@ -2431,30 +2431,36 @@ for host in "${ALL_HOSTS[@]}"; do
2431
2431
echo " copying compiler-rt embedded builtins from ${HOST_CXX_BUILTINS_DIR} into the local clang build directory ${DEST_BUILTINS_DIR} ."
2432
2432
2433
2433
for OS in ios watchos tvos; do
2434
- # Copy over the device .a
2434
+ # Copy over the device .a when necessary
2435
2435
LIB_NAME=" libclang_rt.$OS .a"
2436
2436
HOST_LIB_PATH=" $HOST_CXX_BUILTINS_DIR /$LIB_NAME "
2437
- if [[ -f " ${HOST_LIB_PATH} " ]]; then
2438
- call cp " ${HOST_LIB_PATH} " " ${DEST_BUILTINS_DIR} /${LIB_NAME} "
2439
- elif [[ " ${VERBOSE_BUILD} " ]]; then
2440
- echo " no file exists at ${HOST_LIB_PATH} "
2437
+ DEST_LIB_PATH=" ${DEST_BUILTINS_DIR} /${LIB_NAME} "
2438
+ if [[ ! -f " ${DEST_LIB_PATH} " ]]; then
2439
+ if [[ -f " ${HOST_LIB_PATH} " ]]; then
2440
+ call cp " ${HOST_LIB_PATH} " " ${DEST_LIB_PATH} "
2441
+ elif [[ " ${VERBOSE_BUILD} " ]]; then
2442
+ echo " no file exists at ${HOST_LIB_PATH} "
2443
+ fi
2441
2444
fi
2442
- # Copy over the simulator .a
2445
+ # Copy over the simulator .a when necessary
2443
2446
SIM_LIB_NAME=" libclang_rt.${OS} sim.a"
2444
2447
HOST_SIM_LIB_PATH=" $HOST_CXX_BUILTINS_DIR /$SIM_LIB_NAME "
2445
- if [[ -f " ${HOST_SIM_LIB_PATH} " ]]; then
2446
- call cp " ${HOST_SIM_LIB_PATH} " " ${DEST_BUILTINS_DIR} /${SIM_LIB_NAME} "
2447
- elif [[ -f " ${HOST_LIB_PATH} " ]]; then
2448
- # The simulator .a might not exist if the host
2449
- # Xcode is old. In that case, copy over the
2450
- # device library to the simulator location to allow
2451
- # clang to find it. The device library has the simulator
2452
- # slices in Xcode that doesn't have the simulator .a, so
2453
- # the link is still valid.
2454
- echo " copying over faux-sim library ${HOST_LIB_PATH} to ${SIM_LIB_NAME} "
2455
- call cp " ${HOST_LIB_PATH} " " ${DEST_BUILTINS_DIR} /${SIM_LIB_NAME} "
2456
- elif [[ " ${VERBOSE_BUILD} " ]]; then
2457
- echo " no file exists at ${HOST_SIM_LIB_PATH} "
2448
+ DEST_SIM_LIB_PATH=" ${DEST_BUILTINS_DIR} /${SIM_LIB_NAME} "
2449
+ if [[ ! -f " ${DEST_SIM_LIB_PATH} " ]]; then
2450
+ if [[ -f " ${HOST_SIM_LIB_PATH} " ]]; then
2451
+ call cp " ${HOST_SIM_LIB_PATH} " " ${DEST_SIM_LIB_PATH} "
2452
+ elif [[ -f " ${HOST_LIB_PATH} " ]]; then
2453
+ # The simulator .a might not exist if the host
2454
+ # Xcode is old. In that case, copy over the
2455
+ # device library to the simulator location to allow
2456
+ # clang to find it. The device library has the simulator
2457
+ # slices in Xcode that doesn't have the simulator .a, so
2458
+ # the link is still valid.
2459
+ echo " copying over faux-sim library ${HOST_LIB_PATH} to ${SIM_LIB_NAME} "
2460
+ call cp " ${HOST_LIB_PATH} " " ${DEST_SIM_LIB_PATH} "
2461
+ elif [[ " ${VERBOSE_BUILD} " ]]; then
2462
+ echo " no file exists at ${HOST_SIM_LIB_PATH} "
2463
+ fi
2458
2464
fi
2459
2465
done
2460
2466
done
0 commit comments