No longer need to use $shared_toolchain
Change-Id: I98000c47b794e2c538655b4fd540be687bcc20e3
diff --git a/BUILD.gn b/BUILD.gn
index f0ecb31..d0f2370 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -39,394 +39,370 @@
include_dirs = [ "Source/WebKit/fuchsia" ]
}
-# The default toolchain is the non-shared toolchain.
-if (current_toolchain == default_toolchain) {
- group("webkit") {
- public_deps = [
- ":webkit_shared(//build/toolchain/fuchsia:${target_cpu}-shared)",
- ]
- public_configs = [ ":webkit_config" ]
+shared_library("webkit_shared") {
+ output_name = "libwebkit"
+
+ deps = [
+ ":WebKit",
+ ]
+ public_configs = [ ":webkit_config" ]
+}
+
+config("features") {
+ # Target configuration - what OS we are building for, what libraries we use.
+ defines = [
+ "OS_FUCHSIA=1",
+ "USE_CAIRO=1",
+ "USE_CURL=1",
+ "USE_HARFBUZZ=1",
+ "BUILDING_WITH_CMAKE", # A lie, but we are using cmakeconfig.h
+ ]
+
+ # Features of our build.
+ defines += [
+ "HAVE_ACCESSIBILITY=1",
+ "HAVE_CONFIG_H=1",
+ "HAVE_FEATURES_H=1",
+
+ #"NDEBUG",
+ ]
+
+ # Where we put cmakeconfig.h
+ include_dirs = [ "Source/config" ]
+}
+
+config("flags") {
+ cflags = [
+ "-Wall",
+ "-Wcast-align",
+ "-Wextra",
+ "-Wformat-security",
+ "-Wmissing-format-attribute",
+ "-Wno-format",
+ "-Wno-expansion-to-defined",
+ "-Wno-max-unsigned-zero",
+ "-Wno-parentheses-equality",
+ "-Wno-unused-function",
+ "-Wno-unused-label",
+ "-Wno-unused-lambda-capture",
+ "-Wno-unused-parameter",
+ "-Wno-unused-variable",
+ "-Wno-pessimizing-move",
+ "-Wno-tautological-compare",
+ "-Wpointer-arith",
+ "-Wundef",
+ "-Wwrite-strings",
+ ]
+}
+
+source_set("WebKit") {
+ sources = WebKit_sources
+
+ deps = [
+ ":JavaScriptCore",
+ ":WebCore",
+ ":wtf",
+ ]
+
+ configs += [
+ ":features",
+ ":flags",
+ ]
+ configs -= [
+ "//build/config/fuchsia:safestack",
+ "//build/config:symbol_visibility_hidden",
+ ]
+
+ defines = [ "BUILDING_WebKit" ]
+
+ include_dirs = [
+ ".",
+ "DerivedSources",
+ "DerivedSources/ForwardingHeaders",
+ "DerivedSources/ForwardingHeaders/JavaScriptCore",
+ "DerivedSources/ForwardingHeaders/WebCore",
+ "DerivedSources/ForwardingHeaders/WebKitLegacy",
+ "DerivedSources/JavaScriptCore",
+ "DerivedSources/WebCore",
+ "DerivedSources/WebKitLegacy",
+ "Source",
+ "Source/WebKit/Storage",
+ "Source/WebKit/WebCoreSupport",
+ "Source/WebKit/fuchsia",
+ "Source/WebKit/fuchsia/WebCoreSupport",
+ ]
+ cflags = [ "-includeWebKitPrefix.h" ]
+}
+
+config("WebCore_config") {
+ include_dirs = [
+ ".",
+ "DerivedSources",
+ "DerivedSources/WebCore",
+ "Source/ThirdParty/ANGLE",
+ "Source/ThirdParty/ANGLE/include/KHR",
+ "Source/WebCore/Modules/airplay",
+ "Source/WebCore/Modules/applepay",
+ "Source/WebCore/Modules/battery",
+ "Source/WebCore/Modules/encryptedmedia",
+ "Source/WebCore/Modules/fetch",
+ "Source/WebCore/Modules/geolocation",
+ "Source/WebCore/Modules/indexeddb",
+ "Source/WebCore/Modules/indexeddb/client",
+ "Source/WebCore/Modules/indexeddb/server",
+ "Source/WebCore/Modules/indexeddb/shared",
+ "Source/WebCore/Modules/indieui",
+ "Source/WebCore/Modules/mediacontrols",
+ "Source/WebCore/Modules/mediasession",
+ "Source/WebCore/Modules/mediasource",
+ "Source/WebCore/Modules/mediastream",
+ "Source/WebCore/Modules/navigatorcontentutils",
+ "Source/WebCore/Modules/notifications",
+ "Source/WebCore/Modules/plugins",
+ "Source/WebCore/Modules/proximity",
+ "Source/WebCore/Modules/quota",
+ "Source/WebCore/Modules/speech",
+ "Source/WebCore/Modules/streams",
+ "Source/WebCore/Modules/vibration",
+ "Source/WebCore/Modules/webaudio",
+ "Source/WebCore/Modules/webdatabase",
+ "Source/WebCore/Modules/websockets",
+ "Source/WebCore/accessibility",
+ "Source/WebCore/animation",
+ "Source/WebCore/bindings",
+ "Source/WebCore/bindings/generic",
+ "Source/WebCore/bindings/js",
+ "Source/WebCore/bridge",
+ "Source/WebCore/bridge/c",
+ "Source/WebCore/bridge/jsc",
+ "Source/WebCore/contentextensions",
+ "Source/WebCore/crypto",
+ "Source/WebCore/crypto/algorithms",
+ "Source/WebCore/crypto/keys",
+ "Source/WebCore/crypto/parameters",
+ "Source/WebCore/css",
+ "Source/WebCore/css/parser",
+ "Source/WebCore/cssjit",
+ "Source/WebCore/dom",
+ "Source/WebCore/dom/default",
+ "Source/WebCore/editing",
+ "Source/WebCore/fileapi",
+ "Source/WebCore/history",
+ "Source/WebCore/html",
+ "Source/WebCore/html/canvas",
+ "Source/WebCore/html/forms",
+ "Source/WebCore/html/parser",
+ "Source/WebCore/html/shadow",
+ "Source/WebCore/html/track",
+ "Source/WebCore/inspector",
+ "Source/WebCore/loader",
+ "Source/WebCore/loader/appcache",
+ "Source/WebCore/loader/archive",
+ "Source/WebCore/loader/archive/mhtml",
+ "Source/WebCore/loader/cache",
+ "Source/WebCore/loader/icon",
+ "Source/WebCore/mathml",
+ "Source/WebCore/page",
+ "Source/WebCore/page/animation",
+ "Source/WebCore/page/csp",
+ "Source/WebCore/page/scrolling",
+ "Source/WebCore/platform",
+ "Source/WebCore/platform/animation",
+ "Source/WebCore/platform/audio",
+ "Source/WebCore/platform/cairo",
+ "Source/WebCore/platform/crypto",
+ "Source/WebCore/platform/gamepad",
+ "Source/WebCore/platform/gamepad/deprecated",
+ "Source/WebCore/platform/gamepad/linux",
+ "Source/WebCore/platform/graphics",
+ "Source/WebCore/platform/graphics/cairo",
+ "Source/WebCore/platform/graphics/cpu/arm",
+ "Source/WebCore/platform/graphics/cpu/arm/filters",
+ "Source/WebCore/platform/graphics/displaylists",
+ "Source/WebCore/platform/graphics/filters",
+ "Source/WebCore/platform/graphics/freetype",
+ "Source/WebCore/platform/graphics/harfbuzz",
+ "Source/WebCore/platform/graphics/harfbuzz/ng",
+ "Source/WebCore/platform/graphics/opengl",
+ "Source/WebCore/platform/graphics/opentype",
+ "Source/WebCore/platform/graphics/transforms",
+ "Source/WebCore/platform/image-decoders",
+ "Source/WebCore/platform/image-decoders/bmp",
+ "Source/WebCore/platform/image-decoders/gif",
+ "Source/WebCore/platform/image-decoders/ico",
+ "Source/WebCore/platform/image-decoders/jpeg",
+ "Source/WebCore/platform/image-decoders/png",
+ "Source/WebCore/platform/image-decoders/webp",
+ "Source/WebCore/platform/mediastream",
+ "Source/WebCore/platform/mock",
+ "Source/WebCore/platform/mock/mediasource",
+ "Source/WebCore/platform/network",
+ "Source/WebCore/platform/network/curl",
+ "Source/WebCore/platform/sql",
+ "Source/WebCore/platform/text",
+ "Source/WebCore/platform/text/icu",
+ "Source/WebCore/plugins",
+ "Source/WebCore/rendering",
+ "Source/WebCore/rendering/line",
+ "Source/WebCore/rendering/mathml",
+ "Source/WebCore/rendering/shapes",
+ "Source/WebCore/rendering/style",
+ "Source/WebCore/rendering/svg",
+ "Source/WebCore/replay",
+ "Source/WebCore/storage",
+ "Source/WebCore/style",
+ "Source/WebCore/svg",
+ "Source/WebCore/svg/animation",
+ "Source/WebCore/svg/graphics",
+ "Source/WebCore/svg/graphics/filters",
+ "Source/WebCore/svg/properties",
+ "Source/WebCore/testing",
+ "Source/WebCore/websockets",
+ "Source/WebCore/workers",
+ "Source/WebCore/xml",
+ "Source/WebCore/xml/parser",
+ "Source/WebCore",
+ ]
+ defines = []
+}
+
+static_library("WebCore") {
+ sources = WebCore_sources + WebCoreDerivedSources_sources
+
+ public_deps = [
+ ":JavaScriptCore",
+ ":wtf",
+ "//third_party/boringssl",
+ "//third_party/cairo",
+ "//third_party/curl:libcurl",
+ "//third_party/freetype2",
+ "//third_party/harfbuzz",
+ "//third_party/icu:icui18n",
+ "//third_party/icu:icuuc",
+ "//third_party/libjpeg-turbo:libjpeg",
+ "//third_party/libpng",
+ "//third_party/libxml2",
+ "//third_party/sqlite",
+ "//third_party/zlib",
+ ]
+
+ public_configs = [ ":WebCore_config" ]
+
+ configs += [
+ ":features",
+ ":flags",
+ ]
+ configs -= [ "//build/config/fuchsia:safestack" ]
+}
+
+config("JavaScriptCore_config") {
+ include_dirs = [
+ "Source/JavaScriptCore",
+ "Source/JavaScriptCore/..",
+ "Source/JavaScriptCore/API",
+ "Source/JavaScriptCore/ForwardingHeaders",
+ "Source/JavaScriptCore/assembler",
+ "Source/JavaScriptCore/b3",
+ "Source/JavaScriptCore/b3/air",
+ "Source/JavaScriptCore/bindings",
+ "Source/JavaScriptCore/builtins",
+ "Source/JavaScriptCore/bytecode",
+ "Source/JavaScriptCore/bytecompiler",
+ "Source/JavaScriptCore/dfg",
+ "Source/JavaScriptCore/disassembler",
+ "Source/JavaScriptCore/disassembler/udis86",
+ "Source/JavaScriptCore/ftl",
+ "Source/JavaScriptCore/heap",
+ "Source/JavaScriptCore/debugger",
+ "Source/JavaScriptCore/inspector",
+ "Source/JavaScriptCore/inspector/agents",
+ "Source/JavaScriptCore/inspector/augmentable",
+ "Source/JavaScriptCore/inspector/remote",
+ "Source/JavaScriptCore/interpreter",
+ "Source/JavaScriptCore/jit",
+ "Source/JavaScriptCore/llint",
+ "Source/JavaScriptCore/parser",
+ "Source/JavaScriptCore/profiler",
+ "Source/JavaScriptCore/replay",
+ "Source/JavaScriptCore/runtime",
+ "Source/JavaScriptCore/tools",
+ "Source/JavaScriptCore/wasm",
+ "Source/JavaScriptCore/yarr",
+ "DerivedSources/JavaScriptCore",
+ "DerivedSources/JavaScriptCore/inspector",
+ "DerivedSources/ForwardingHeaders",
+ ]
+ if (is_debug) {
+ include_dirs += [ "DerivedSources/JavaScriptCore/Debug" ]
+ } else {
+ include_dirs += [ "DerivedSources/JavaScriptCore/Release" ]
}
-} else {
- shared_library("webkit_shared") {
- output_name = "libwebkit"
+}
- deps = [
- ":WebKit",
- ]
- public_configs = [ ":webkit_config" ]
- }
+static_library("JavaScriptCore") {
+ sources = JavaScriptCore_sources + JavaScriptCoreDerivedSources_sources +
+ JavaScriptCore_inspectorDerivedSources_sources
- config("features") {
- # Target configuration - what OS we are building for, what libraries we use.
- defines = [
- "OS_FUCHSIA=1",
- "USE_CAIRO=1",
- "USE_CURL=1",
- "USE_HARFBUZZ=1",
- "BUILDING_WITH_CMAKE", # A lie, but we are using cmakeconfig.h
- ]
+ public_configs = [ ":JavaScriptCore_config" ]
+ configs += [
+ ":features",
+ ":flags",
+ ]
+ configs -= [ "//build/config/fuchsia:safestack" ]
- # Features of our build.
- defines += [
- "HAVE_ACCESSIBILITY=1",
- "HAVE_CONFIG_H=1",
- "HAVE_FEATURES_H=1",
-#"NDEBUG",
- ]
+ public_deps = [
+ ":wtf",
+ ]
- # Where we put cmakeconfig.h
- include_dirs = [ "Source/config" ]
- }
+ defines = [
+ "BUILDING_JavaScriptCore",
+ "STATICALLY_LINKED_WITH_WTF",
+ ]
+}
- config("flags") {
- cflags = [
- "-Wall",
- "-Wcast-align",
- "-Wextra",
- "-Wformat-security",
- "-Wmissing-format-attribute",
- "-Wno-format",
- "-Wno-expansion-to-defined",
- "-Wno-max-unsigned-zero",
- "-Wno-parentheses-equality",
- "-Wno-unused-function",
- "-Wno-unused-label",
- "-Wno-unused-lambda-capture",
- "-Wno-unused-parameter",
- "-Wno-unused-variable",
- "-Wno-pessimizing-move",
- "-Wno-tautological-compare",
- "-Wpointer-arith",
- "-Wundef",
- "-Wwrite-strings",
- ]
- }
+config("wtf_config") {
+ include_dirs = [ "Source/WTF" ]
+}
- source_set("WebKit") {
- sources = WebKit_sources
+config("wtf_private_config") {
+ # WTF has Source/WTF/wtf/unicode/UTF8.h and Source/WTF/wtf on the include
+ # path. The ICU library, which WTF depends on, has <unicode/utf8.h> in its
+ # include path. This means on case-insensitive filesystems, #includes for
+ # <unicode/utf8.h> will match Soruce/WTF/wtf/unicode/UTF8.h, which will
+ # internally include ICU's <unicode/utf8.h>.
- deps = [
- ":JavaScriptCore",
- ":WebCore",
- ":wtf",
- ]
+ # To get around all this, we manually add ICU's include path to our
+ # include_dirs before adding the WTF headers so includes for
+ # <unicode/utf8.h> match ICU regardless of the case sensitivity of the
+ # filesystem. As it turns out, all of the includes of UTF8.h (uppercase) are
+ # written <wtf/unicode/UTF8.h> so they will unambiguously resolve to
+ # Source/WTF/wtf/unicode/UTF8.h even with this include path first.
+ include_dirs = [ "//third_party/icu/source/common" ]
- configs += [ ":features", ":flags" ]
- configs -= [
- "//build/config/fuchsia:safestack",
- "//build/config:symbol_visibility_hidden",
- ]
+ include_dirs += [
+ "Source/WTF/wtf",
+ "Source/WTF/wtf/dtoa",
+ "Source/WTF/wtf/text",
+ "Source/WTF/wtf/text/icu",
+ "Source/WTF/wtf/threads",
+ "Source/WTF/wtf/unicode",
+ ]
+}
- defines = [
- "BUILDING_WebKit",
- ]
+static_library("wtf") {
+ sources = wtf_sources
- include_dirs = [
- ".",
- "DerivedSources",
- "DerivedSources/ForwardingHeaders",
- "DerivedSources/ForwardingHeaders/JavaScriptCore",
- "DerivedSources/ForwardingHeaders/WebCore",
- "DerivedSources/ForwardingHeaders/WebKitLegacy",
- "DerivedSources/JavaScriptCore",
- "DerivedSources/WebCore",
- "DerivedSources/WebKitLegacy",
- "Source",
- "Source/WebKit/Storage",
- "Source/WebKit/WebCoreSupport",
- "Source/WebKit/fuchsia",
- "Source/WebKit/fuchsia/WebCoreSupport",
- ]
- cflags = [
- "-includeWebKitPrefix.h"
- ]
+ public_configs = [ ":wtf_config" ]
+ public_deps = [
+ "//third_party/icu:icui18n",
+ "//third_party/icu:icuuc",
+ ]
+ configs += [
+ ":features",
+ ":flags",
+ ":wtf_private_config",
+ ]
+ configs -= [ "//build/config/fuchsia:safestack" ]
- }
-
-
- config("WebCore_config") {
- include_dirs = [
- ".",
- "DerivedSources",
- "DerivedSources/WebCore",
- "Source/ThirdParty/ANGLE",
- "Source/ThirdParty/ANGLE/include/KHR",
- "Source/WebCore/Modules/airplay",
- "Source/WebCore/Modules/applepay",
- "Source/WebCore/Modules/battery",
- "Source/WebCore/Modules/encryptedmedia",
- "Source/WebCore/Modules/fetch",
- "Source/WebCore/Modules/geolocation",
- "Source/WebCore/Modules/indexeddb",
- "Source/WebCore/Modules/indexeddb/client",
- "Source/WebCore/Modules/indexeddb/server",
- "Source/WebCore/Modules/indexeddb/shared",
- "Source/WebCore/Modules/indieui",
- "Source/WebCore/Modules/mediacontrols",
- "Source/WebCore/Modules/mediasession",
- "Source/WebCore/Modules/mediasource",
- "Source/WebCore/Modules/mediastream",
- "Source/WebCore/Modules/navigatorcontentutils",
- "Source/WebCore/Modules/notifications",
- "Source/WebCore/Modules/plugins",
- "Source/WebCore/Modules/proximity",
- "Source/WebCore/Modules/quota",
- "Source/WebCore/Modules/speech",
- "Source/WebCore/Modules/streams",
- "Source/WebCore/Modules/vibration",
- "Source/WebCore/Modules/webaudio",
- "Source/WebCore/Modules/webdatabase",
- "Source/WebCore/Modules/websockets",
- "Source/WebCore/accessibility",
- "Source/WebCore/animation",
- "Source/WebCore/bindings",
- "Source/WebCore/bindings/generic",
- "Source/WebCore/bindings/js",
- "Source/WebCore/bridge",
- "Source/WebCore/bridge/c",
- "Source/WebCore/bridge/jsc",
- "Source/WebCore/contentextensions",
- "Source/WebCore/crypto",
- "Source/WebCore/crypto/algorithms",
- "Source/WebCore/crypto/keys",
- "Source/WebCore/crypto/parameters",
- "Source/WebCore/css",
- "Source/WebCore/css/parser",
- "Source/WebCore/cssjit",
- "Source/WebCore/dom",
- "Source/WebCore/dom/default",
- "Source/WebCore/editing",
- "Source/WebCore/fileapi",
- "Source/WebCore/history",
- "Source/WebCore/html",
- "Source/WebCore/html/canvas",
- "Source/WebCore/html/forms",
- "Source/WebCore/html/parser",
- "Source/WebCore/html/shadow",
- "Source/WebCore/html/track",
- "Source/WebCore/inspector",
- "Source/WebCore/loader",
- "Source/WebCore/loader/appcache",
- "Source/WebCore/loader/archive",
- "Source/WebCore/loader/archive/mhtml",
- "Source/WebCore/loader/cache",
- "Source/WebCore/loader/icon",
- "Source/WebCore/mathml",
- "Source/WebCore/page",
- "Source/WebCore/page/animation",
- "Source/WebCore/page/csp",
- "Source/WebCore/page/scrolling",
- "Source/WebCore/platform",
- "Source/WebCore/platform/animation",
- "Source/WebCore/platform/audio",
- "Source/WebCore/platform/cairo",
- "Source/WebCore/platform/crypto",
- "Source/WebCore/platform/gamepad",
- "Source/WebCore/platform/gamepad/deprecated",
- "Source/WebCore/platform/gamepad/linux",
- "Source/WebCore/platform/graphics",
- "Source/WebCore/platform/graphics/cairo",
- "Source/WebCore/platform/graphics/cpu/arm",
- "Source/WebCore/platform/graphics/cpu/arm/filters",
- "Source/WebCore/platform/graphics/displaylists",
- "Source/WebCore/platform/graphics/filters",
- "Source/WebCore/platform/graphics/freetype",
- "Source/WebCore/platform/graphics/harfbuzz",
- "Source/WebCore/platform/graphics/harfbuzz/ng",
- "Source/WebCore/platform/graphics/opengl",
- "Source/WebCore/platform/graphics/opentype",
- "Source/WebCore/platform/graphics/transforms",
- "Source/WebCore/platform/image-decoders",
- "Source/WebCore/platform/image-decoders/bmp",
- "Source/WebCore/platform/image-decoders/gif",
- "Source/WebCore/platform/image-decoders/ico",
- "Source/WebCore/platform/image-decoders/jpeg",
- "Source/WebCore/platform/image-decoders/png",
- "Source/WebCore/platform/image-decoders/webp",
- "Source/WebCore/platform/mediastream",
- "Source/WebCore/platform/mock",
- "Source/WebCore/platform/mock/mediasource",
- "Source/WebCore/platform/network",
- "Source/WebCore/platform/network/curl",
- "Source/WebCore/platform/sql",
- "Source/WebCore/platform/text",
- "Source/WebCore/platform/text/icu",
- "Source/WebCore/plugins",
- "Source/WebCore/rendering",
- "Source/WebCore/rendering/line",
- "Source/WebCore/rendering/mathml",
- "Source/WebCore/rendering/shapes",
- "Source/WebCore/rendering/style",
- "Source/WebCore/rendering/svg",
- "Source/WebCore/replay",
- "Source/WebCore/storage",
- "Source/WebCore/style",
- "Source/WebCore/svg",
- "Source/WebCore/svg/animation",
- "Source/WebCore/svg/graphics",
- "Source/WebCore/svg/graphics/filters",
- "Source/WebCore/svg/properties",
- "Source/WebCore/testing",
- "Source/WebCore/websockets",
- "Source/WebCore/workers",
- "Source/WebCore/xml",
- "Source/WebCore/xml/parser",
- "Source/WebCore",
- ]
- defines = []
- }
-
- static_library("WebCore") {
- sources = WebCore_sources + WebCoreDerivedSources_sources
-
- public_deps = [
- "//third_party/boringssl",
- "//third_party/cairo",
- "//third_party/curl:libcurl",
- "//third_party/freetype2",
- "//third_party/harfbuzz",
- "//third_party/icu:icui18n",
- "//third_party/icu:icuuc",
- "//third_party/libjpeg-turbo:libjpeg",
- "//third_party/libpng",
- "//third_party/libxml2",
- "//third_party/sqlite",
- "//third_party/zlib",
- ":JavaScriptCore",
- ":wtf",
- ]
-
- public_configs = [ ":WebCore_config" ]
-
- configs += [
- ":features",
- ":flags",
- ]
- configs -= [
- "//build/config/fuchsia:safestack",
- ]
- }
-
- config("JavaScriptCore_config") {
- include_dirs = [
- "Source/JavaScriptCore",
- "Source/JavaScriptCore/..",
- "Source/JavaScriptCore/API",
- "Source/JavaScriptCore/ForwardingHeaders",
- "Source/JavaScriptCore/assembler",
- "Source/JavaScriptCore/b3",
- "Source/JavaScriptCore/b3/air",
- "Source/JavaScriptCore/bindings",
- "Source/JavaScriptCore/builtins",
- "Source/JavaScriptCore/bytecode",
- "Source/JavaScriptCore/bytecompiler",
- "Source/JavaScriptCore/dfg",
- "Source/JavaScriptCore/disassembler",
- "Source/JavaScriptCore/disassembler/udis86",
- "Source/JavaScriptCore/ftl",
- "Source/JavaScriptCore/heap",
- "Source/JavaScriptCore/debugger",
- "Source/JavaScriptCore/inspector",
- "Source/JavaScriptCore/inspector/agents",
- "Source/JavaScriptCore/inspector/augmentable",
- "Source/JavaScriptCore/inspector/remote",
- "Source/JavaScriptCore/interpreter",
- "Source/JavaScriptCore/jit",
- "Source/JavaScriptCore/llint",
- "Source/JavaScriptCore/parser",
- "Source/JavaScriptCore/profiler",
- "Source/JavaScriptCore/replay",
- "Source/JavaScriptCore/runtime",
- "Source/JavaScriptCore/tools",
- "Source/JavaScriptCore/wasm",
- "Source/JavaScriptCore/yarr",
- "DerivedSources/JavaScriptCore",
- "DerivedSources/JavaScriptCore/inspector",
- "DerivedSources/ForwardingHeaders",
- ]
- if (is_debug) {
- include_dirs += [
- "DerivedSources/JavaScriptCore/Debug",
- ]
- } else {
- include_dirs += [
- "DerivedSources/JavaScriptCore/Release",
- ]
- }
- }
-
- static_library("JavaScriptCore") {
- sources = JavaScriptCore_sources + JavaScriptCoreDerivedSources_sources +
- JavaScriptCore_inspectorDerivedSources_sources
-
- public_configs = [ ":JavaScriptCore_config" ]
- configs += [
- ":features",
- ":flags",
- ]
- configs -= [
- "//build/config/fuchsia:safestack",
- ]
-
- public_deps = [
- ":wtf",
- ]
-
- defines = [
- "BUILDING_JavaScriptCore",
- "STATICALLY_LINKED_WITH_WTF",
- ]
- }
-
- config("wtf_config") {
- include_dirs = [
- "Source/WTF",
- ]
- }
-
- config("wtf_private_config") {
- # WTF has Source/WTF/wtf/unicode/UTF8.h and Source/WTF/wtf on the include
- # path. The ICU library, which WTF depends on, has <unicode/utf8.h> in its
- # include path. This means on case-insensitive filesystems, #includes for
- # <unicode/utf8.h> will match Soruce/WTF/wtf/unicode/UTF8.h, which will
- # internally include ICU's <unicode/utf8.h>.
-
- # To get around all this, we manually add ICU's include path to our
- # include_dirs before adding the WTF headers so includes for
- # <unicode/utf8.h> match ICU regardless of the case sensitivity of the
- # filesystem. As it turns out, all of the includes of UTF8.h (uppercase) are
- # written <wtf/unicode/UTF8.h> so they will unambiguously resolve to
- # Source/WTF/wtf/unicode/UTF8.h even with this include path first.
- include_dirs = [ "//third_party/icu/source/common"]
-
- include_dirs += [
- "Source/WTF/wtf",
- "Source/WTF/wtf/dtoa",
- "Source/WTF/wtf/text",
- "Source/WTF/wtf/text/icu",
- "Source/WTF/wtf/threads",
- "Source/WTF/wtf/unicode",
- ]
- }
-
- static_library("wtf") {
- sources = wtf_sources
-
- public_configs = [ ":wtf_config" ]
- public_deps = [
- "//third_party/icu:icui18n",
- "//third_party/icu:icuuc",
- ]
- configs += [
- ":features",
- ":flags",
- ":wtf_private_config",
- ]
- configs -= [
- "//build/config/fuchsia:safestack",
- ]
-
- defines = [ "BUILDING_WTF" ]
- }
+ defines = [ "BUILDING_WTF" ]
}