diff options
-rw-r--r-- | build/common.gypi | 11 | ||||
-rw-r--r-- | third_party/cld_2/BUILD.gn | 221 | ||||
-rw-r--r-- | third_party/cld_2/cld_2.gyp | 286 |
3 files changed, 238 insertions, 280 deletions
diff --git a/build/common.gypi b/build/common.gypi index c9d34fa..7be6ee0 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -2764,18 +2764,13 @@ # chrome://translate-internals 'defines': ['CLD2_DATA_SOURCE=<(cld2_data_source)'], }], - ['cld2_data_source=="static"', { + ['cld_version==2 and cld2_data_source=="static"', { 'defines': ['CLD_DATA_FROM_STATIC'], - }, { - # CLD2 headers use this #define to control the visibility of dynamic - # mode functions. We use these functions, so we must define here for - # our #includes to work right. - 'defines': ['CLD2_DYNAMIC_MODE'], }], - ['cld2_data_source=="standalone"', { + ['cld_version==2 and cld2_data_source=="standalone"', { 'defines': ['CLD_DATA_FROM_STANDALONE'], }], - ['cld2_data_source=="component"', { + ['cld_version==2 and cld2_data_source=="component"', { 'defines': ['CLD_DATA_FROM_COMPONENT'], }], ['enable_printing==1', { diff --git a/third_party/cld_2/BUILD.gn b/third_party/cld_2/BUILD.gn index 70944665..0b170a3 100644 --- a/third_party/cld_2/BUILD.gn +++ b/third_party/cld_2/BUILD.gn @@ -4,126 +4,144 @@ import("//build/config/features.gni") -# May need to make this a build arg. +# May need to make this a build arg, keep the name for now to match gyp cld2_table_size = 2 -static_library("cld_2") { - sources = [ - "src/internal/cld2tablesummary.h", - "src/internal/cldutil.cc", - "src/internal/cldutil.h", - "src/internal/cldutil_shared.cc", - "src/internal/cldutil_shared.h", - "src/internal/compact_lang_det.cc", - "src/internal/compact_lang_det_hint_code.cc", - "src/internal/compact_lang_det_hint_code.h", - "src/internal/compact_lang_det_impl.cc", - "src/internal/compact_lang_det_impl.h", - "src/internal/debug.h", - "src/internal/debug_empty.cc", - "src/internal/fixunicodevalue.cc", - "src/internal/fixunicodevalue.h", - "src/internal/generated_distinct_bi_0.cc", - "src/internal/generated_entities.cc", - "src/internal/generated_language.cc", - "src/internal/generated_language.h", - "src/internal/generated_ulscript.cc", - "src/internal/generated_ulscript.h", - "src/internal/getonescriptspan.cc", - "src/internal/getonescriptspan.h", - "src/internal/integral_types.h", - "src/internal/lang_script.cc", - "src/internal/lang_script.h", - "src/internal/langspan.h", - "src/internal/offsetmap.cc", - "src/internal/offsetmap.h", - "src/internal/port.h", - "src/internal/scoreonescriptspan.cc", - "src/internal/scoreonescriptspan.h", - "src/internal/stringpiece.h", - "src/internal/tote.cc", - "src/internal/tote.h", - "src/internal/utf8prop_lettermarkscriptnum.h", - "src/internal/utf8repl_lettermarklower.h", - "src/internal/utf8scannot_lettermarkspecial.h", - "src/internal/utf8statetable.cc", - "src/internal/utf8statetable.h", - "src/public/compact_lang_det.h", - "src/public/encodings.h", +core_files = [ + "src/internal/cld2tablesummary.h", + "src/internal/cldutil.cc", + "src/internal/cldutil.h", + "src/internal/cldutil_shared.cc", + "src/internal/cldutil_shared.h", + "src/internal/compact_lang_det.cc", + "src/internal/compact_lang_det_hint_code.cc", + "src/internal/compact_lang_det_hint_code.h", + "src/internal/compact_lang_det_impl.cc", + "src/internal/compact_lang_det_impl.h", + "src/internal/debug.h", + "src/internal/debug_empty.cc", + "src/internal/fixunicodevalue.cc", + "src/internal/fixunicodevalue.h", + "src/internal/generated_distinct_bi_0.cc", + "src/internal/generated_entities.cc", + "src/internal/generated_language.cc", + "src/internal/generated_language.h", + "src/internal/generated_ulscript.cc", + "src/internal/generated_ulscript.h", + "src/internal/getonescriptspan.cc", + "src/internal/getonescriptspan.h", + "src/internal/integral_types.h", + "src/internal/lang_script.cc", + "src/internal/lang_script.h", + "src/internal/langspan.h", + "src/internal/offsetmap.cc", + "src/internal/offsetmap.h", + "src/internal/port.h", + "src/internal/scoreonescriptspan.cc", + "src/internal/scoreonescriptspan.h", + "src/internal/stringpiece.h", + "src/internal/tote.cc", + "src/internal/tote.h", + "src/internal/utf8prop_lettermarkscriptnum.h", + "src/internal/utf8repl_lettermarklower.h", + "src/internal/utf8scannot_lettermarkspecial.h", + "src/internal/utf8statetable.cc", + "src/internal/utf8statetable.h", + "src/public/compact_lang_det.h", + "src/public/encodings.h", +] + +data_files = [ + "src/internal/cld2_generated_cjk_compatible.cc", + "src/internal/cld2_generated_deltaoctachrome0122.cc", + "src/internal/cld2_generated_distinctoctachrome0122.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_0122_2.cc", + "src/internal/generated_distinct_bi_0.cc", +] + +if (cld2_table_size == 0) { + data_files += [ "src/internal/cld2_generated_quadchrome0122_16.cc" ] +} else if (cld2_table_size == 1) { + data_files += [ "src/internal/cld2_generated_quadchrome0122_19.cc" ] +} else if (cld2_table_size == 2) { + data_files += [ "src/internal/cld2_generated_quadchrome0122_2.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", +] + +source_set("cld2_data") { + sources = data_files + include_dirs = [ + "src/internal", + "src/public", ] + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + + if (is_win) { + cflags = [ "/wd4267" ] # size_t -> int conversion. + } +} + +static_library("cld2_static") { + sources = core_files include_dirs = [ "src/internal", "src/public", ] + deps = [ ":cld2_data" ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] if (is_win) { cflags = [ "/wd4267" ] # size_t -> int conversion. } - if (cld2_data_source != "static") { - assert(false, "Non-static mode isn't implemented, implement me") +} + +# Meta-target for convenience; dependents don't need to know if this if CLD2 +# is in dynamic or static configuration. +group("cld_2") { + if (cld2_data_source == "static") { + deps = [ ":cld2_static" ] + } else { + deps = [ ":cld2_dynamic" ] + } +} + +config("cld2_dynamic_mode_config") { + defines = [ "CLD2_DYNAMIC_MODE" ] +} + +static_library("cld2_dynamic") { + sources = core_files + data_loader_files + all_dependent_configs = [ ":cld2_dynamic_mode_config" ] + include_dirs = [ + "src/internal", + "src/public", + ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + + if (is_win) { + cflags = [ "/wd4267" ] # size_t -> int conversion. } } executable("cld_2_dynamic_data_tool") { sources = [ - "src/internal/cld2_dynamic_data.h", - "src/internal/cld2_dynamic_data.cc", "src/internal/cld2_dynamic_data_extractor.h", "src/internal/cld2_dynamic_data_extractor.cc", - "src/internal/cld2_dynamic_data_loader.h", - "src/internal/cld2_dynamic_data_loader.cc", "src/internal/cld2_dynamic_data_tool.cc", - "src/internal/cld2_generated_cjk_compatible.cc", - "src/internal/cld2_generated_deltaoctachrome0122.cc", - "src/internal/cld2_generated_distinctoctachrome0122.cc", - "src/internal/cld2tablesummary.h", - "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_0122_2.cc", - "src/internal/cldutil.cc", - "src/internal/cldutil.h", - "src/internal/cldutil_shared.cc", - "src/internal/cldutil_shared.h", - "src/internal/compact_lang_det.cc", - "src/internal/compact_lang_det_hint_code.cc", - "src/internal/compact_lang_det_hint_code.h", - "src/internal/compact_lang_det_impl.cc", - "src/internal/compact_lang_det_impl.h", - "src/internal/debug.h", - "src/internal/debug_empty.cc", - "src/internal/fixunicodevalue.cc", - "src/internal/fixunicodevalue.h", - "src/internal/generated_distinct_bi_0.cc", - "src/internal/generated_entities.cc", - "src/internal/generated_language.cc", - "src/internal/generated_language.h", - "src/internal/generated_ulscript.cc", - "src/internal/generated_ulscript.h", - "src/internal/getonescriptspan.cc", - "src/internal/getonescriptspan.h", - "src/internal/integral_types.h", - "src/internal/lang_script.cc", - "src/internal/lang_script.h", - "src/internal/langspan.h", - "src/internal/offsetmap.cc", - "src/internal/offsetmap.h", - "src/internal/port.h", - "src/internal/scoreonescriptspan.cc", - "src/internal/scoreonescriptspan.h", - "src/internal/stringpiece.h", - "src/internal/tote.cc", - "src/internal/tote.h", - "src/internal/utf8prop_lettermarkscriptnum.h", - "src/internal/utf8repl_lettermarklower.h", - "src/internal/utf8scannot_lettermarkspecial.h", - "src/internal/utf8statetable.cc", - "src/internal/utf8statetable.h", - "src/public/compact_lang_det.h", - "src/public/encodings.h", ] include_dirs = [ @@ -131,17 +149,12 @@ executable("cld_2_dynamic_data_tool") { "src/public", ] + deps = [ ":cld2_data", ":cld2_dynamic" ] + configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code" ] if (is_win) { cflags = [ "/wd4267" ] # size_t -> int conversion. } - if (cld2_table_size == 0) { - sources += [ "src/internal/cld2_generated_quadchrome0122_16.cc" ] - } else if (cld2_table_size == 1) { - sources += [ "src/internal/cld2_generated_quadchrome0122_19.cc" ] - } else if (cld2_table_size == 2) { - sources += [ "src/internal/cld2_generated_quadchrome0122_2.cc" ] - } } diff --git a/third_party/cld_2/cld_2.gyp b/third_party/cld_2/cld_2.gyp index 267531f..cde2bd3 100644 --- a/third_party/cld_2/cld_2.gyp +++ b/third_party/cld_2/cld_2.gyp @@ -15,9 +15,90 @@ # 175-language version of CLD2. { + 'target_defaults': { + 'conditions': [ + ['OS=="win"', { + 'msvs_disabled_warnings': [4267], + }], + ], + }, + 'variables': { + # These sources need to be included in both static and dynamic builds as + # well as the dynamic data tool. + 'cld2_core_sources': [ + 'src/internal/cld2tablesummary.h', + 'src/internal/cldutil.cc', + 'src/internal/cldutil.h', + 'src/internal/cldutil_shared.cc', + 'src/internal/cldutil_shared.h', + 'src/internal/compact_lang_det.cc', + 'src/internal/compact_lang_det_hint_code.cc', + 'src/internal/compact_lang_det_hint_code.h', + 'src/internal/compact_lang_det_impl.cc', + 'src/internal/compact_lang_det_impl.h', + 'src/internal/debug.h', + 'src/internal/debug_empty.cc', + 'src/internal/fixunicodevalue.cc', + 'src/internal/fixunicodevalue.h', + 'src/internal/generated_distinct_bi_0.cc', + 'src/internal/generated_entities.cc', + 'src/internal/generated_language.cc', + 'src/internal/generated_language.h', + 'src/internal/generated_ulscript.cc', + 'src/internal/generated_ulscript.h', + 'src/internal/getonescriptspan.cc', + 'src/internal/getonescriptspan.h', + 'src/internal/integral_types.h', + 'src/internal/lang_script.cc', + 'src/internal/lang_script.h', + 'src/internal/langspan.h', + 'src/internal/offsetmap.cc', + 'src/internal/offsetmap.h', + 'src/internal/port.h', + 'src/internal/scoreonescriptspan.cc', + 'src/internal/scoreonescriptspan.h', + 'src/internal/stringpiece.h', + 'src/internal/tote.cc', + 'src/internal/tote.h', + 'src/internal/utf8prop_lettermarkscriptnum.h', + 'src/internal/utf8repl_lettermarklower.h', + 'src/internal/utf8scannot_lettermarkspecial.h', + 'src/internal/utf8statetable.cc', + 'src/internal/utf8statetable.h', + 'src/public/compact_lang_det.h', + 'src/public/encodings.h', + ], + 'cld2_dynamic_data_loader_sources': [ + '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_data_sources': [ + 'src/internal/cld2_generated_cjk_compatible.cc', + 'src/internal/cld2_generated_deltaoctachrome0122.cc', + 'src/internal/cld2_generated_distinctoctachrome0122.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_0122_2.cc', + 'src/internal/generated_distinct_bi_0.cc', + ], + 'conditions': [ + ['cld2_table_size==0', { + 'cld2_data_sources+': ['src/internal/cld2_generated_quadchrome0122_16.cc'] + }], + ['cld2_table_size==1', { + 'cld2_data_sources+': ['src/internal/cld2_generated_quadchrome0122_19.cc'] + }], + ['cld2_table_size==2', { + 'cld2_data_sources+': ['src/internal/cld2_generated_quadchrome0122_2.cc'] + }], + ], + }, + 'targets': [ { - # GN version: //third_party/cld_2:cld_2_dynamic_data_tool + # GN version: //third_party/cld_2 'target_name': 'cld_2_dynamic_data_tool', 'type': 'executable', 'include_dirs': [ @@ -26,190 +107,59 @@ ], 'sources': [ # Note: sources list duplicated in GN build. - 'src/internal/cld2_dynamic_data.h', - 'src/internal/cld2_dynamic_data.cc', + '<@(cld2_core_sources)', + '<@(cld2_data_sources)', + '<@(cld2_dynamic_data_loader_sources)', 'src/internal/cld2_dynamic_data_extractor.h', 'src/internal/cld2_dynamic_data_extractor.cc', - 'src/internal/cld2_dynamic_data_loader.h', - 'src/internal/cld2_dynamic_data_loader.cc', 'src/internal/cld2_dynamic_data_tool.cc', - 'src/internal/cld2_generated_cjk_compatible.cc', - 'src/internal/cld2_generated_deltaoctachrome0122.cc', - 'src/internal/cld2_generated_distinctoctachrome0122.cc', - 'src/internal/cld2tablesummary.h', - '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_0122_2.cc', - 'src/internal/cldutil.cc', - 'src/internal/cldutil.h', - 'src/internal/cldutil_shared.cc', - 'src/internal/cldutil_shared.h', - 'src/internal/compact_lang_det.cc', - 'src/internal/compact_lang_det_hint_code.cc', - 'src/internal/compact_lang_det_hint_code.h', - 'src/internal/compact_lang_det_impl.cc', - 'src/internal/compact_lang_det_impl.h', - 'src/internal/debug.h', - 'src/internal/debug_empty.cc', - 'src/internal/fixunicodevalue.cc', - 'src/internal/fixunicodevalue.h', - 'src/internal/generated_distinct_bi_0.cc', - 'src/internal/generated_entities.cc', - 'src/internal/generated_language.cc', - 'src/internal/generated_language.h', - 'src/internal/generated_ulscript.cc', - 'src/internal/generated_ulscript.h', - 'src/internal/getonescriptspan.cc', - 'src/internal/getonescriptspan.h', - 'src/internal/integral_types.h', - 'src/internal/lang_script.cc', - 'src/internal/lang_script.h', - 'src/internal/langspan.h', - 'src/internal/offsetmap.cc', - 'src/internal/offsetmap.h', - 'src/internal/port.h', - 'src/internal/scoreonescriptspan.cc', - 'src/internal/scoreonescriptspan.h', - 'src/internal/stringpiece.h', - 'src/internal/tote.cc', - 'src/internal/tote.h', - 'src/internal/utf8prop_lettermarkscriptnum.h', - 'src/internal/utf8repl_lettermarklower.h', - 'src/internal/utf8scannot_lettermarkspecial.h', - 'src/internal/utf8statetable.cc', - 'src/internal/utf8statetable.h', - 'src/public/compact_lang_det.h', - 'src/public/encodings.h', ], + }, + + { + # GN version: //third_party/cld_2 + 'target_name': 'cld_2', + 'type': 'static_library', + 'sources': [], + 'dependencies': [], 'conditions': [ - ['OS=="win"', { - 'msvs_disabled_warnings': [4267], - }], - ['cld2_table_size==0', { - # Small table sizes - 'sources+': [ - 'src/internal/cld2_generated_quadchrome0122_16.cc', - ], - }], - ['cld2_table_size==1', { - # Medium table sizes - 'sources+': [ - 'src/internal/cld2_generated_quadchrome0122_19.cc', - ], - }], - ['cld2_table_size==2', { - # Large table sizes - 'sources+': [ - 'src/internal/cld2_generated_quadchrome0122_2.cc', - ], - }], + ['cld2_data_source=="static"', + {'dependencies': ['cld2_static']}, + {'dependencies': ['cld2_dynamic']} + ], ], }, + { # GN version: //third_party/cld_2 - 'target_name': 'cld_2', + 'target_name': 'cld2_static', 'type': 'static_library', 'include_dirs': [ 'src/internal', 'src/public', ], 'sources': [ - # Note: sources list duplicated in GN build. - 'src/internal/cld2tablesummary.h', - 'src/internal/cldutil.cc', - 'src/internal/cldutil.h', - 'src/internal/cldutil_shared.cc', - 'src/internal/cldutil_shared.h', - 'src/internal/compact_lang_det.cc', - 'src/internal/compact_lang_det_hint_code.cc', - 'src/internal/compact_lang_det_hint_code.h', - 'src/internal/compact_lang_det_impl.cc', - 'src/internal/compact_lang_det_impl.h', - 'src/internal/debug.h', - 'src/internal/debug_empty.cc', - 'src/internal/fixunicodevalue.cc', - 'src/internal/fixunicodevalue.h', - 'src/internal/generated_distinct_bi_0.cc', - 'src/internal/generated_entities.cc', - 'src/internal/generated_language.cc', - 'src/internal/generated_language.h', - 'src/internal/generated_ulscript.cc', - 'src/internal/generated_ulscript.h', - 'src/internal/getonescriptspan.cc', - 'src/internal/getonescriptspan.h', - 'src/internal/integral_types.h', - 'src/internal/lang_script.cc', - 'src/internal/lang_script.h', - 'src/internal/langspan.h', - 'src/internal/offsetmap.cc', - 'src/internal/offsetmap.h', - 'src/internal/port.h', - 'src/internal/scoreonescriptspan.cc', - 'src/internal/scoreonescriptspan.h', - 'src/internal/stringpiece.h', - 'src/internal/tote.cc', - 'src/internal/tote.h', - 'src/internal/utf8prop_lettermarkscriptnum.h', - 'src/internal/utf8repl_lettermarklower.h', - 'src/internal/utf8scannot_lettermarkspecial.h', - 'src/internal/utf8statetable.cc', - 'src/internal/utf8statetable.h', - 'src/public/compact_lang_det.h', - 'src/public/encodings.h', + '<@(cld2_core_sources)', + '<@(cld2_data_sources)', ], - 'conditions': [ - ['OS=="win"', { - 'msvs_disabled_warnings': [4267], - }], - # Dynamic or vanilla mode - ['cld2_data_source!="static"', - { - # Enable dynamic mode, which allows CLD to read its data from a file - # instead of requiring the data to be linked into the library. - # You must generate the data file and check it in using the - # cld2_dynamic_data_tool. - # build/common.gypi takes care of setting -D CLD2_MODE_DYNAMIC - 'sources+': [ - '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', - ], - }, - { - # Else it's regular mode, so link in all the data blobs directly. - 'sources+': [ - 'src/internal/cld2_generated_cjk_compatible.cc', - 'src/internal/cld2_generated_deltaoctachrome0122.cc', - 'src/internal/cld2_generated_distinctoctachrome0122.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_0122_2.cc', - 'src/internal/generated_distinct_bi_0.cc', - ], - 'conditions': [ - ['cld2_table_size==0', { - # Small table sizes - 'sources+': [ - 'src/internal/cld2_generated_quadchrome0122_16.cc', - ], - }], - ['cld2_table_size==1', { - # Medium table sizes - 'sources+': [ - 'src/internal/cld2_generated_quadchrome0122_19.cc', - ], - }], - ['cld2_table_size==2', { - # Large table sizes - 'sources+': [ - 'src/internal/cld2_generated_quadchrome0122_2.cc', - ], - }], - ], - }, - ], + }, + + { + # GN version: //third_party/cld_2 + 'target_name': 'cld2_dynamic', + 'type': 'static_library', + 'include_dirs': [ + 'src/internal', + 'src/public', + ], + 'sources': [ + '<@(cld2_core_sources)', + '<@(cld2_dynamic_data_loader_sources)', ], + 'defines': ['CLD2_DYNAMIC_MODE'], + 'all_dependent_settings': { + 'defines': ['CLD2_DYNAMIC_MODE'], + }, }, ], } |