blob: f6506452ef5f6660fb261d04d4feb38d646691be [file] [log] [blame]
# 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.
}
}
}