fuchsia: Support building for Fuchsia
GN configuration changes needed to build for Fuchsia.
Change-Id: Ia00f43a809c2f73e2ff918aa6f7bfe9079cc8130
diff --git a/BUILD.gn b/BUILD.gn
index c782db0..14d986a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -82,7 +82,7 @@
"/wd4267", # Conversion from size_t on 64-bits.
"/utf-8", # ICU source files are in UTF-8.
]
- } else if (is_linux || is_android) {
+ } else if (is_linux || is_android || is_fuchsia) {
cflags += [
"-Wno-unused-function",
]
@@ -100,7 +100,7 @@
"-Wno-unused-variable",
]
}
- if (is_clang || is_linux || is_android) {
+ if (is_clang || is_linux || is_android || is_fuchsia) {
cflags += [
# ICU uses its own deprecated functions.
"-Wno-deprecated-declarations",
@@ -108,7 +108,7 @@
}
}
-component("icui18n") {
+shared_library("icui18n") {
# find source/i18n -maxdepth 1 ! -type d | egrep '\.(c|cpp|h)$' |\
# sort | sed 's/^\(.*\)$/ "\1",/'
sources = [
@@ -598,25 +598,16 @@
# ICU uses RTTI, replace the default "no rtti" config.
configs -= [
- "//build/config/compiler:no_rtti", # ICU uses RTTI.
- "//build/config/compiler:chromium_code",
+ "//build/config:no_rtti",
+ "//build/config:symbol_visibility_hidden",
]
- configs += [
- "//build/config/compiler:rtti",
- "//build/config/compiler:no_chromium_code",
- ]
+ configs += [ "//build/config:rtti" ]
configs += [ ":icu_code" ]
public_configs = [ ":icu_config" ]
-
- if (is_fuchsia) {
- # Fuchsia puts its own libicui18n.so in /system/lib where we need to put our
- # .so when doing component builds, so we need to give this a different name.
- output_name = "icui18n_cr"
- }
}
-component("icuuc") {
+shared_library("icuuc") {
# find source/common -maxdepth 1 ! -type d | egrep '\.(c|cpp|h)$' |\
# sort | sed 's/^\(.*\)$/ "\1",/'
sources = [
@@ -1022,13 +1013,10 @@
]
configs -= [
- "//build/config/compiler:no_rtti", # ICU uses RTTI.
- "//build/config/compiler:chromium_code",
+ "//build/config:no_rtti",
+ "//build/config:symbol_visibility_hidden",
]
- configs += [
- "//build/config/compiler:rtti",
- "//build/config/compiler:no_chromium_code",
- ]
+ configs += [ "//build/config:rtti" ]
configs += [ ":icu_code" ]
public_configs = [ ":icu_config" ]
@@ -1037,12 +1025,6 @@
sources += [ "source/stubdata/stubdata.cpp" ]
defines += [ "U_ICUDATAENTRY_IN_COMMON" ]
}
-
- if (is_fuchsia) {
- # Fuchsia puts its own libicuuc.so in /system/lib where we need to put our
- # .so when doing component builds, so we need to give this a different name.
- output_name = "icuuc_cr"
- }
}
if (is_android && enable_java_templates) {