@@ -2658,47 +2658,62 @@ for host in "${ALL_HOSTS[@]}"; do
2658
2658
ICU_TMPLIBDIR=" ${SWIFT_BUILD_PATH} /lib/swift/${SWIFT_HOST_VARIANT} /${SWIFT_HOST_VARIANT_ARCH} "
2659
2659
if [[ " ${RECONFIGURE} " || ! -f " ${LIBICU_BUILD_DIR} " /config.status ]]; then
2660
2660
echo " Reconfiguring libicu"
2661
- if [[ " $LIBICU_BUILD_TYPE " == " Release" ]] ; then
2662
- icu_build_variant_arg=" --enable-release"
2663
- elif [[ " $LIBICU_BUILD_TYPE " == " RelWithDebInfo" ]]; then
2664
- icu_build_variant_arg=" --enable-release"
2661
+ if [[ " $LIBICU_BUILD_TYPE " != " Release" ]] ; then
2662
+ libicu_enable_debug=" --enable-debug"
2665
2663
else
2666
- icu_build_variant_arg= " --enable-debug "
2664
+ libicu_enable_debug= " "
2667
2665
fi
2668
2666
call mkdir -p " ${LIBICU_BUILD_DIR} "
2667
+
2668
+ if [ $( true_false " ${BUILD_SWIFT_STATIC_STDLIB} " ) == " TRUE" ]; then
2669
+ libicu_enable_static=" --enable-static"
2670
+ else
2671
+ libicu_enable_static=" "
2672
+ fi
2673
+
2669
2674
with_pushd " ${LIBICU_BUILD_DIR} " \
2670
- call " ${LIBICU_SOURCE_DIR} " /source/configure \
2675
+ call env CXXFLAGS=-fPIC " ${LIBICU_SOURCE_DIR} " /icu4c/ source/runConfigureICU Linux \
2671
2676
${icu_build_variant_arg} --prefix=${ICU_TMPINSTALL} \
2677
+ ${libicu_enable_debug} \
2678
+ --enable-renaming --with-library-suffix=swift \
2672
2679
--libdir=${ICU_TMPLIBDIR} \
2673
2680
--enable-shared --enable-static \
2674
2681
--enable-strict --disable-icuio \
2675
2682
--disable-plugins --disable-dyload --disable-extras \
2676
- --disable-samples --with-data-packaging=auto
2683
+ --disable-samples --disable-layoutex -- with-data-packaging=auto
2677
2684
else
2678
2685
echo " Skipping reconfiguration of libicu"
2679
2686
fi
2680
2687
with_pushd " ${LIBICU_BUILD_DIR} " \
2681
- call make install
2688
+ call make -j ${BUILD_JOBS} install
2682
2689
ICU_LIBDIR=" $( build_directory ${host} swift) /lib/swift/${SWIFT_HOST_VARIANT} /${SWIFT_HOST_VARIANT_ARCH} "
2683
2690
ICU_LIBDIR_STATIC=" $( build_directory ${host} swift) /lib/swift_static/${SWIFT_HOST_VARIANT} "
2684
2691
ICU_LIBDIR_STATIC_ARCH=" $( build_directory ${host} swift) /lib/swift_static/${SWIFT_HOST_VARIANT} /${SWIFT_HOST_VARIANT_ARCH} "
2685
- mkdir -p " ${ICU_LIBDIR_STATIC_ARCH} "
2686
- # Copy the static libs into the swift_static directory
2687
- for l in uc i18n data
2688
- do
2689
- lib=" ${ICU_LIBDIR} /libicu${l} .a"
2690
- cp " ${lib} " " ${ICU_LIBDIR_STATIC} "
2691
- cp " ${lib} " " ${ICU_LIBDIR_STATIC_ARCH} "
2692
- done
2692
+ # Add in the ICU renaming config into uconfig.h
2693
+ sed -e " /^#define __UCONFIG_H__/ r ${LIBICU_BUILD_DIR} /uconfig.h.prepend" -i ${ICU_TMPINSTALL} /include/unicode/uconfig.h
2694
+
2695
+ if [ $( true_false " ${BUILD_SWIFT_STATIC_STDLIB} " ) == " TRUE" ]; then
2696
+ # Copy the static libs into the swift_static directory
2697
+ mkdir -p " ${ICU_LIBDIR_STATIC_ARCH} "
2698
+ for l in uc i18n data
2699
+ do
2700
+ lib=" ${ICU_LIBDIR} /libicu${l} swift.a"
2701
+ cp " ${lib} " " ${ICU_LIBDIR_STATIC} "
2702
+ cp " ${lib} " " ${ICU_LIBDIR_STATIC_ARCH} "
2703
+ done
2704
+ fi
2693
2705
2694
2706
# Set the PKG_CONFIG_PATH so that core-foundation can find the libraries and
2695
2707
# header files
2696
- export PKG_CONFIG_PATH=" ${ICU_TMPLIBDIR} /pkgconfig:${PKG_CONFIG_PATH} "
2708
+ export PKG_CONFIG_PATH=" ${LIBICU_BUILD_DIR} /config:${PKG_CONFIG_PATH} "
2709
+ export LD_LIBRARY_PATH=" ${LD_LIBRARY_PATH} " :" ${LIBICU_BUILD_DIR} /lib"
2697
2710
swift_cmake_options=(
2698
2711
" ${swift_cmake_options[@]} "
2699
2712
-DSWIFT_${SWIFT_HOST_VARIANT_SDK} _${SWIFT_HOST_VARIANT_ARCH} _ICU_UC_INCLUDE:STRING=" ${ICU_TMPINSTALL} /include"
2700
2713
-DSWIFT_${SWIFT_HOST_VARIANT_SDK} _${SWIFT_HOST_VARIANT_ARCH} _ICU_I18N_INCLUDE:STRING=" ${ICU_TMPINSTALL} /include"
2701
2714
-DSWIFT_${SWIFT_HOST_VARIANT_SDK} _${SWIFT_HOST_VARIANT_ARCH} _ICU_STATICLIB:BOOL=TRUE
2715
+ -DICU_UC_LIBDIR:PATH=" ${LIBICU_BUILD_DIR} /lib"
2716
+ -DICU_I18N_LIBDIR:PATH=" ${LIBICU_BUILD_DIR} /lib"
2702
2717
)
2703
2718
# libicu builds itself and doesn't use cmake
2704
2719
continue
@@ -3169,7 +3184,7 @@ for host in "${ALL_HOSTS[@]}"; do
3169
3184
LIBICU_BUILD_DIR=$( build_directory ${host} ${product} )
3170
3185
echo " --- Running tests for ${product} ---"
3171
3186
with_pushd " ${LIBICU_BUILD_DIR} /test" \
3172
- call make
3187
+ call make -j ${BUILD_JOBS}
3173
3188
echo " --- Finished tests for ${product} ---"
3174
3189
continue
3175
3190
;;
@@ -3411,21 +3426,34 @@ for host in "${ALL_HOSTS[@]}"; do
3411
3426
exit 1
3412
3427
fi
3413
3428
echo " --- Installing ${product} ---"
3414
- LIBICU_BUILD_DIR=$( build_directory ${host} ${product} )
3429
+ ICU_BUILD_DIR=$( build_directory ${host} ${product} )
3430
+ ICU_INSTALL_DIR=" $( get_host_install_destdir ${host} ) $( get_host_install_prefix ${host} ) "
3415
3431
ICU_LIBDIR=" $( build_directory ${host} swift) /lib/swift/${SWIFT_HOST_VARIANT} /${SWIFT_HOST_VARIANT_ARCH} "
3416
- LIBICU_DEST_DIR=" $( get_host_install_destdir ${host} ) $( get_host_install_prefix ${host} ) lib/swift/${SWIFT_HOST_VARIANT} "
3417
- LIBICU_DEST_DIR_STATIC=" $( get_host_install_destdir ${host} ) $( get_host_install_prefix ${host} ) lib/swift_static/${SWIFT_HOST_VARIANT} "
3432
+ LIBICU_DEST_DIR=" ${ICU_INSTALL_DIR} lib/swift/${SWIFT_HOST_VARIANT} "
3418
3433
mkdir -p ${LIBICU_DEST_DIR}
3419
- mkdir -p ${LIBICU_DEST_DIR_STATIC}
3434
+
3420
3435
for l in uc i18n data
3421
3436
do
3422
- lib=${ICU_LIBDIR} /libicu${l}
3437
+ lib=${ICU_LIBDIR} /libicu${l} swift
3423
3438
echo " ${lib} => ${LIBICU_DEST_DIR} "
3424
3439
cp -d ${lib} .so ${lib} .so.* ${LIBICU_DEST_DIR}
3425
- cp -d ${lib} .so ${lib} .so.* ${LIBICU_DEST_DIR}
3426
- cp -d ${lib} .a ${LIBICU_DEST_DIR_STATIC}
3427
- cp -d ${lib} .a ${LIBICU_DEST_DIR_STATIC}
3428
3440
done
3441
+
3442
+ if [ $( true_false " ${BUILD_SWIFT_STATIC_STDLIB} " ) == " TRUE" ]; then
3443
+ LIBICU_DEST_DIR_STATIC=" ${ICU_INSTALL_DIR} lib/swift_static/${SWIFT_HOST_VARIANT} "
3444
+ mkdir -p ${LIBICU_DEST_DIR_STATIC}
3445
+ for l in uc i18n data
3446
+ do
3447
+ lib=${ICU_LIBDIR} /libicu${l} swift
3448
+ echo " ${lib} => ${LIBICU_DEST_DIR_STATIC} "
3449
+ cp -d ${lib} .a ${LIBICU_DEST_DIR_STATIC}
3450
+ done
3451
+ fi
3452
+
3453
+ ICU_TMP_INSTALL_DIR=" ${ICU_BUILD_DIR} /tmp_install"
3454
+ mkdir -p " ${ICU_INSTALL_DIR} include"
3455
+ cp -a " ${ICU_TMP_INSTALL_DIR} /include/unicode" " ${ICU_INSTALL_DIR} include"
3456
+
3429
3457
continue
3430
3458
;;
3431
3459
playgroundsupport)
0 commit comments