72 lines
1.4 KiB
Plaintext
72 lines
1.4 KiB
Plaintext
|
import("//build/config/linux/pkg_config.gni")
|
||
|
|
||
|
declare_args() {
|
||
|
# Tells icu to load an external data file rather than rely on the icudata
|
||
|
# being linked directly into the binary.
|
||
|
icu_use_data_file = true
|
||
|
# If true, compile icu into a standalone static library. Currently this is
|
||
|
# only useful on Chrome OS.
|
||
|
icu_disable_thin_archive = false
|
||
|
}
|
||
|
|
||
|
pkg_config("system_icui18n") {
|
||
|
packages = [ "icu-i18n" ]
|
||
|
if (is_win) {
|
||
|
extra_args = ["--full-path-libs"] # Workaround the WinSDK having an older version of ICU
|
||
|
}
|
||
|
}
|
||
|
|
||
|
pkg_config("system_icuuc") {
|
||
|
packages = [ "icu-uc" ]
|
||
|
if (is_win) {
|
||
|
extra_args = ["--full-path-libs"] # Workaround the WinSDK having an older version of ICU
|
||
|
}
|
||
|
}
|
||
|
|
||
|
group("icu") {
|
||
|
public_deps = [
|
||
|
":icui18n",
|
||
|
":icuuc",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
config("icu_config") {
|
||
|
defines = [
|
||
|
"USING_SYSTEM_ICU=1",
|
||
|
]
|
||
|
if(is_win){
|
||
|
if(!is_component_build) {
|
||
|
ldflags = ["/ignore:4099"] # needed on CI builds
|
||
|
}
|
||
|
defines += [ "UCHAR_TYPE=wchar_t" ]
|
||
|
}
|
||
|
else{
|
||
|
defines += [ "UCHAR_TYPE=uint16_t" ]
|
||
|
}
|
||
|
if (icu_use_data_file) {
|
||
|
defines += [ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE" ]
|
||
|
} else {
|
||
|
defines += [ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC" ]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
source_set("icui18n") {
|
||
|
public_configs = [
|
||
|
":icu_config",
|
||
|
":system_icui18n"
|
||
|
]
|
||
|
}
|
||
|
|
||
|
source_set("icuuc") {
|
||
|
public_configs = [
|
||
|
":icu_config",
|
||
|
":system_icuuc"
|
||
|
]
|
||
|
}
|
||
|
|
||
|
source_set("icudata") {
|
||
|
public_configs = [
|
||
|
":icu_config",
|
||
|
]
|
||
|
}
|