• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6#     http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import("//build/ohos.gni")
15
16group("build_module") {
17  deps = [
18    ":geocoding",
19    ":phonenumber_standard",
20  ]
21}
22config("phonenumber_config") {
23  include_dirs = [ "./src" ]
24  cflags = [ "-Wno-implicit-fallthrough" ]
25  cflags_cc = [
26    "-DI18N_PHONENUMBERS_USE_ALTERNATE_FORMATS",
27    "-DI18N_PHONENUMBERS_USE_ICU_REGEXP",
28    "-Dphonenumber_shared_EXPORTS",
29    "-Wall",
30    "-fPIC",
31    "-Wno-sign-compare",
32    "-Wno-error=unused-parameter",
33    "-Wno-error=unused-const-variable",
34    "-Wno-error=unneeded-internal-declaration",
35    "-Wno-implicit-fallthrough",
36    "-Wno-deprecated-builtins",
37  ]
38}
39
40config("phonenumber_public_config") {
41  include_dirs = [
42    "./src",
43    "./src/phonenumbers",
44  ]
45}
46
47geocoding_source = [
48  "src/phonenumbers/geocoding/area_code_map.cc",
49  "src/phonenumbers/geocoding/default_map_storage.cc",
50  "src/phonenumbers/geocoding/geocoding_data.cc",
51  "src/phonenumbers/geocoding/geocoding_warpper.cc",
52  "src/phonenumbers/geocoding/mapping_file_provider.cc",
53  "src/phonenumbers/geocoding/phonenumber_offline_geocoder.cc",
54  "src/phonenumbers/phonenumber.pb.h",
55]
56
57phonenumber_source = [
58  "src/phonenumbers/phonenumber.cc",
59  "src/phonenumbers/default_logger.cc",
60  "src/phonenumbers/phonenumbermatch.cc",
61  "src/phonenumbers/phonenumbermatcher.cc",
62  "src/phonenumbers/regexp_cache.cc",
63  "src/phonenumbers/phonemetadata.pb.cc",
64  "src/phonenumbers/string_byte_sink.cc",
65  "src/phonenumbers/asyoutypeformatter.cc",
66  "src/phonenumbers/phonenumberutil.cc",
67  "src/phonenumbers/regexp_adapter_icu.cc",
68  "src/phonenumbers/phonenumber.pb.cc",
69  "src/phonenumbers/base/strings/string_piece.cc",
70  "src/phonenumbers/alternate_format.cc",
71  "src/phonenumbers/shortnumberinfo.cc",
72  "src/phonenumbers/utf/unilib.cc",
73  "src/phonenumbers/utf/unicodetext.cc",
74  "src/phonenumbers/metadata.cc",
75  "src/phonenumbers/short_metadata.cc",
76  "src/phonenumbers/regex_based_matcher.cc",
77  "src/phonenumbers/logger.cc",
78  "src/phonenumbers/stringutil.cc",
79  "src/phonenumbers/unicodestring.cc",
80  "src/phonenumbers/utf/rune.c",
81]
82
83phonenumber_deps = []
84
85phonenumber_defines = [
86  "I18N_PHONENUMBERS_USE_ALTERNATE_FORMATS",
87  "I18N_PHONENUMBERS_USE_ICU_REGEXP",
88  "HAVE_PTHREAD",
89]
90
91geocoding_defines = [
92  "I18N_PHONENUMBERS_USE_ALTERNATE_FORMATS",
93  "I18N_PHONENUMBERS_USE_ICU_REGEXP",
94  "HAVE_PTHREAD",
95]
96
97if (is_ohos) {
98  phonenumber_source += [
99    "src/phonenumbers/ohos/geocoding_data.pb.cc",
100    "src/phonenumbers/ohos/update_libphonenumber.cc",
101    "src/phonenumbers/ohos/update_metadata.cc",
102  ]
103
104  geocoding_source += [
105    "src/phonenumbers/ohos/geocoding_data.pb.cc",
106    "src/phonenumbers/ohos/update_geocoding.cc",
107    "src/phonenumbers/ohos/update_libgeocoding.cc",
108  ]
109
110  phonenumber_defines += [ "LIBPHONENUMBER_UPGRADE" ]
111
112  geocoding_defines += [ "LIBPHONENUMBER_UPGRADE" ]
113}
114
115ohos_shared_library("phonenumber_standard") {
116  branch_protector_ret = "pac_ret"
117  configs = [ ":phonenumber_config" ]
118  public_configs = [ ":phonenumber_public_config" ]
119  sources = phonenumber_source
120  deps = phonenumber_deps
121  public_external_deps = [
122    "abseil-cpp:absl_strings",
123    "abseil-cpp:absl_time",
124    "protobuf:protobuf_lite",
125  ]
126  external_deps = [
127    "bounds_checking_function:libsec_shared",
128    "icu:shared_icui18n",
129    "icu:shared_icuuc",
130  ]
131  defines = phonenumber_defines
132  innerapi_tags = [ "platformsdk_indirect" ]
133  part_name = "libphonenumber"
134  subsystem_name = "thirdparty"
135  ldflags = [ "-shared" ]
136  install_enable = true
137}
138
139ohos_shared_library("geocoding") {
140  configs = [ ":phonenumber_config" ]
141  sources = geocoding_source
142  deps = [ ":phonenumber_standard" ]
143  external_deps = [
144    "bounds_checking_function:libsec_shared",
145    "icu:shared_icuuc",
146  ]
147  defines = geocoding_defines
148  part_name = "libphonenumber"
149  relative_install_dir = "platformsdk"
150  subsystem_name = "thirdparty"
151  ldflags = [ "-shared" ]
152  install_enable = true
153}
154