Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / cld_2 / BUILD.gn
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4
5 import("//build/config/features.gni")
6
7 # May need to make this a build arg, keep the name for now to match gyp
8 cld2_table_size = 2
9
10 core_files = [
11   "src/internal/cld2tablesummary.h",
12   "src/internal/cldutil.cc",
13   "src/internal/cldutil.h",
14   "src/internal/cldutil_shared.cc",
15   "src/internal/cldutil_shared.h",
16   "src/internal/compact_lang_det.cc",
17   "src/internal/compact_lang_det_hint_code.cc",
18   "src/internal/compact_lang_det_hint_code.h",
19   "src/internal/compact_lang_det_impl.cc",
20   "src/internal/compact_lang_det_impl.h",
21   "src/internal/debug.h",
22   "src/internal/debug_empty.cc",
23   "src/internal/fixunicodevalue.cc",
24   "src/internal/fixunicodevalue.h",
25   "src/internal/generated_distinct_bi_0.cc",
26   "src/internal/generated_entities.cc",
27   "src/internal/generated_language.cc",
28   "src/internal/generated_language.h",
29   "src/internal/generated_ulscript.cc",
30   "src/internal/generated_ulscript.h",
31   "src/internal/getonescriptspan.cc",
32   "src/internal/getonescriptspan.h",
33   "src/internal/integral_types.h",
34   "src/internal/lang_script.cc",
35   "src/internal/lang_script.h",
36   "src/internal/langspan.h",
37   "src/internal/offsetmap.cc",
38   "src/internal/offsetmap.h",
39   "src/internal/port.h",
40   "src/internal/scoreonescriptspan.cc",
41   "src/internal/scoreonescriptspan.h",
42   "src/internal/stringpiece.h",
43   "src/internal/tote.cc",
44   "src/internal/tote.h",
45   "src/internal/utf8prop_lettermarkscriptnum.h",
46   "src/internal/utf8repl_lettermarklower.h",
47   "src/internal/utf8scannot_lettermarkspecial.h",
48   "src/internal/utf8statetable.cc",
49   "src/internal/utf8statetable.h",
50   "src/public/compact_lang_det.h",
51   "src/public/encodings.h",
52 ]
53
54 data_loader_files = [
55   "src/internal/cld2_dynamic_data.h",
56   "src/internal/cld2_dynamic_data.cc",
57   "src/internal/cld2_dynamic_data_loader.h",
58   "src/internal/cld2_dynamic_data_loader.cc",
59 ]
60
61 source_set("cld2_data") {
62   sources = [
63     "src/internal/cld2_generated_cjk_compatible.cc",
64     "src/internal/cld2_generated_deltaoctachrome.cc",
65     "src/internal/cld2_generated_distinctoctachrome.cc",
66     "src/internal/cld_generated_cjk_delta_bi_4.cc",
67     "src/internal/cld_generated_cjk_uni_prop_80.cc",
68     "src/internal/cld_generated_score_quad_octa_2.cc",
69   ]
70   if (cld2_table_size == 0) {
71     sources += [ "src/internal/cld2_generated_quadchrome_16.cc" ]
72   } else if (cld2_table_size == 2) {
73     sources += [ "src/internal/cld2_generated_quadchrome_2.cc" ]
74   }
75
76   include_dirs = [
77     "src/internal",
78     "src/public",
79   ]
80
81   configs -= [ "//build/config/compiler:chromium_code" ]
82   configs += [ "//build/config/compiler:no_chromium_code" ]
83
84   if (is_win) {
85     cflags = [ "/wd4267" ]  # size_t -> int conversion.
86   }
87 }
88
89 static_library("cld2_static") {
90   sources = core_files
91   include_dirs = [
92     "src/internal",
93     "src/public",
94   ]
95
96   deps = [ ":cld2_data" ]
97   configs -= [ "//build/config/compiler:chromium_code" ]
98   configs += [ "//build/config/compiler:no_chromium_code" ]
99
100   if (is_win) {
101     cflags = [ "/wd4267" ]  # size_t -> int conversion.
102   }
103 }
104
105 # Meta-target for convenience; dependents don't need to know if this if CLD2
106 # is in dynamic or static configuration.
107 group("cld_2") {
108   if (cld2_data_source == "static") {
109     deps = [ ":cld2_static" ]
110   } else {
111     deps = [ ":cld2_dynamic" ]
112   }
113 }
114
115 config("cld2_dynamic_mode_config") {
116   defines = [ "CLD2_DYNAMIC_MODE" ]
117 }
118
119 static_library("cld2_dynamic") {
120   sources = core_files + data_loader_files
121   all_dependent_configs = [ ":cld2_dynamic_mode_config" ]
122   include_dirs = [
123     "src/internal",
124     "src/public",
125   ]
126
127   configs -= [ "//build/config/compiler:chromium_code" ]
128   configs += [ "//build/config/compiler:no_chromium_code" ]
129
130   if (is_win) {
131     cflags = [ "/wd4267" ]  # size_t -> int conversion.
132   }
133 }
134
135 # Does not build on Windows.
136 if (!is_win) {
137   executable("cld_2_dynamic_data_tool") {
138     sources = [
139       "src/internal/cld2_dynamic_data_extractor.h",
140       "src/internal/cld2_dynamic_data_extractor.cc",
141       "src/internal/cld2_dynamic_data_tool.cc",
142     ]
143
144     include_dirs = [
145       "src/internal",
146       "src/public",
147     ]
148
149     deps = [ ":cld2_data", ":cld2_dynamic" ]
150
151     configs -= [ "//build/config/compiler:chromium_code" ]
152     configs += [ "//build/config/compiler:no_chromium_code" ]
153
154     if (is_win) {
155       cflags = [ "/wd4267" ]  # size_t -> int conversion.
156     }
157   }
158 }