| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| 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 |
| |
| 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. |
| } |
| } |
| |
| # 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. |
| } |
| } |
| |
| # Does not build on Windows. |
| if (!is_win) { |
| executable("cld_2_dynamic_data_tool") { |
| sources = [ |
| "src/internal/cld2_dynamic_data_extractor.h", |
| "src/internal/cld2_dynamic_data_extractor.cc", |
| "src/internal/cld2_dynamic_data_tool.cc", |
| ] |
| |
| include_dirs = [ |
| "src/internal", |
| "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. |
| } |
| } |
| } |