Use icu-i18n and icu-uc to collect the names of the ICU libraries, use --libs-only-l
This commit is contained in:
@@ -111,10 +111,19 @@ setb2args() {
|
||||
# Extract names of ICU libraries from the pkg-config configuration file.
|
||||
# Note that the acual order of the libraries in the array is irrelevant.
|
||||
# They are all linked in the same way.
|
||||
local -a icu_i18n_libs
|
||||
local -a icu_uc_libs
|
||||
IFS=" " read -r -a icu_i18n_libs <<< "$(pkgconf --libs-only-l icu-i18n)"
|
||||
IFS=" " read -r -a icu_uc_libs <<< "$(pkgconf --libs-only-l icu-uc)"
|
||||
local -a icu_libs
|
||||
IFS=" " read -r -a icu_libs <<< "$(pkgconf --libs icu-i18n)"
|
||||
icu_libs=("${icu_i18n_libs[@]}" "${icu_uc_libs[@]}")
|
||||
local -a icu_libs_unique
|
||||
while IFS= read -r -d '' x
|
||||
do
|
||||
icu_libs_unique+=("$x")
|
||||
done < <(printf "%s\0" "${icu_libs[@]}" | sort -uz)
|
||||
# Remove -l prefix.
|
||||
icu_libs=("${icu_libs[@]/#-l/}")
|
||||
icu_libs=("${icu_libs_unique[@]/#-l/}")
|
||||
|
||||
b2args="address-model=${_model} \
|
||||
link=shared,static \
|
||||
@@ -130,9 +139,9 @@ setb2args() {
|
||||
--layout=tagged-1.66 \
|
||||
-sHAVE_ICU=1 \
|
||||
-sICU_PATH=${MINGW_PREFIX} \
|
||||
-sICU_ICUUC_NAME=${icu_libs[1]} \
|
||||
-sICU_ICUDT_NAME=${icu_libs[2]} \
|
||||
-sICU_ICUIN_NAME=${icu_libs[0]} \
|
||||
-sICU_ICUDT_NAME=${icu_libs[0]} \
|
||||
-sICU_ICUIN_NAME=${icu_libs[1]} \
|
||||
-sICU_ICUUC_NAME=${icu_libs[2]} \
|
||||
-sICONV_PATH=${MINGW_PREFIX} \
|
||||
-sICONV_LINK=\"-L${MINGW_PREFIX}/lib -liconv\" \
|
||||
-sNO_BZIP2 \
|
||||
|
||||
Reference in New Issue
Block a user