Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1350)

Unified Diff: third_party/cld_2/BUILD.gn

Issue 716413002: Sync cld_2.gyp with cld_2/BUILD.GN, make BUILD.gn authoritative. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Hopefully fix GYP for non-Linux builds Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/common.gypi ('k') | third_party/cld_2/cld_2.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/cld_2/BUILD.gn
diff --git a/third_party/cld_2/BUILD.gn b/third_party/cld_2/BUILD.gn
index 268eced897ad6995b50e8d542b412f1d55eaaf76..917e1d036c483bfc7635d3232221fcc10ef6186a 100644
--- a/third_party/cld_2/BUILD.gn
+++ b/third_party/cld_2/BUILD.gn
@@ -4,76 +4,43 @@
import("//build/config/features.gni")
-# May need to make this a build arg, keep the name for now to match gyp
-cld2_table_size = 2
+gypi_values = exec_script(
+ "//build/gypi_to_gn.py",
+ [ rebase_path("cld_2.gyp") ],
+ "scope",
+ [ "cld_2.gyp" ])
+
+# This variable controls which dependency is resolved by the pass-through
+# target 'cld2_platform_impl', and allows the embedder to choose which
+# kind of CLD2 support is required at build time:
+#
+# - If the value is 'static', then the cld2_platform_impl target will depend
+# upon the cld2_static target
+# - If the value is 'dynamic', then the cld2_platform_impl target will
+# depend upon the cld2_dynamic target.
+#
+# High-level targets for Chromium unit tests hard-code a dependency upon
+# cld2_static because doing so makes sense for use cases that aren't
+# affected by the loading of language detection data; however, most other
+# targets (e.g. the final executables and interactive UI tests) should be
+# linked against whatever the embedder needs.
+#
+# Maintainers:
+# This value may be reasonably tweaked on a per-platform basis.
+# Don't forget to update this file as well to match:
+# components/translate/content/browser/browser_cld_utils.cc
+# components/translate/content/renderer/renderer_cld_utils.cc
+cld2_platform_support = "static"
+
-core_files = [
- "src/internal/cld2tablesummary.h",
- "src/internal/cldutil.h",
- "src/internal/cldutil_shared.h",
- "src/internal/compact_lang_det_hint_code.h",
- "src/internal/compact_lang_det_impl.h",
- "src/internal/debug.h",
- "src/internal/fixunicodevalue.h",
- "src/internal/generated_language.h",
- "src/internal/generated_ulscript.h",
- "src/internal/getonescriptspan.h",
- "src/internal/integral_types.h",
- "src/internal/lang_script.h",
- "src/internal/langspan.h",
- "src/internal/offsetmap.h",
- "src/internal/port.h",
- "src/internal/scoreonescriptspan.h",
- "src/internal/stringpiece.h",
- "src/internal/tote.h",
- "src/internal/utf8prop_lettermarkscriptnum.h",
- "src/internal/utf8repl_lettermarklower.h",
- "src/internal/utf8scannot_lettermarkspecial.h",
- "src/internal/utf8statetable.h",
- "src/public/compact_lang_det.h",
- "src/public/encodings.h",
-]
-
-core_impl_files = [
- "src/internal/cldutil.cc",
- "src/internal/cldutil_shared.cc",
- "src/internal/compact_lang_det.cc",
- "src/internal/compact_lang_det_hint_code.cc",
- "src/internal/compact_lang_det_impl.cc",
- "src/internal/debug_empty.cc",
- "src/internal/fixunicodevalue.cc",
- "src/internal/generated_distinct_bi_0.cc",
- "src/internal/generated_entities.cc",
- "src/internal/generated_language.cc",
- "src/internal/generated_ulscript.cc",
- "src/internal/getonescriptspan.cc",
- "src/internal/lang_script.cc",
- "src/internal/offsetmap.cc",
- "src/internal/scoreonescriptspan.cc",
- "src/internal/tote.cc",
- "src/internal/utf8statetable.cc",
-]
-
-data_loader_files = [
- "src/internal/cld2_dynamic_data.h",
- "src/internal/cld2_dynamic_data.cc",
- "src/internal/cld2_dynamic_data_loader.h",
- "src/internal/cld2_dynamic_data_loader.cc",
-]
+cld2_table_size = 2
source_set("cld2_data") {
- sources = [
- "src/internal/cld2_generated_cjk_compatible.cc",
- "src/internal/cld2_generated_deltaoctachrome.cc",
- "src/internal/cld2_generated_distinctoctachrome.cc",
- "src/internal/cld_generated_cjk_delta_bi_4.cc",
- "src/internal/cld_generated_cjk_uni_prop_80.cc",
- "src/internal/cld_generated_score_quad_octa_2.cc",
- ]
+ sources = gypi_values.cld2_data_sources
if (cld2_table_size == 0) {
- sources += [ "src/internal/cld2_generated_quadchrome_16.cc" ]
+ sources += gypi_values.cld2_data_smallest_sources
} else if (cld2_table_size == 2) {
- sources += [ "src/internal/cld2_generated_quadchrome_2.cc" ]
+ sources += gypi_values.cld2_data_largest_sources
}
include_dirs = [
@@ -93,7 +60,7 @@ source_set("cld2_data") {
# CLD2. You must still declare a dependency on a specific data set, either
# cld2_dynamic or cld2_static.
source_set("cld_2") {
- sources = core_files
+ sources = gypi_values.cld2_core_sources
include_dirs = [
"src/internal",
"src/public",
@@ -109,18 +76,22 @@ source_set("cld_2") {
source_set("cld2_platform_impl") {
- # TODO: Make this something that can be overridden
- deps = [ ":cld2_static" ]
+ deps = []
+ if (cld2_platform_support == "static") {
+ deps += [ ":cld2_static" ]
+ } else if (cld2_platform_support == "dynamic") {
+ deps += [ ":cld2_dynamic" ]
+ }
}
static_library("cld2_static") {
- sources = core_files + core_impl_files
+ sources = gypi_values.cld2_core_impl_sources
include_dirs = [
"src/internal",
"src/public",
]
- deps = [ ":cld2_data" ]
+ deps = [ ":cld_2", ":cld2_data" ]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
@@ -134,7 +105,7 @@ config("cld2_dynamic_mode_config") {
}
static_library("cld2_dynamic") {
- sources = core_files + core_impl_files + data_loader_files
+ sources = gypi_values.cld2_core_sources + gypi_values.cld2_core_impl_sources + gypi_values.cld2_dynamic_data_loader_sources
include_dirs = [
"src/internal",
"src/public",
« no previous file with comments | « build/common.gypi ('k') | third_party/cld_2/cld_2.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698