11767c5feSopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd.
21767c5feSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
31767c5feSopenharmony_ci# you may not use this file except in compliance with the License.
41767c5feSopenharmony_ci# You may obtain a copy of the License at
51767c5feSopenharmony_ci#
61767c5feSopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
71767c5feSopenharmony_ci#
81767c5feSopenharmony_ci# Unless required by applicable law or agreed to in writing, software
91767c5feSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
101767c5feSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
111767c5feSopenharmony_ci# See the License for the specific language governing permissions and
121767c5feSopenharmony_ci# limitations under the License.
131767c5feSopenharmony_ci
141767c5feSopenharmony_ciimport("//build/ohos.gni")
151767c5feSopenharmony_ci
161767c5feSopenharmony_cigroup("build_module") {
171767c5feSopenharmony_ci  deps = [
181767c5feSopenharmony_ci    ":geocoding",
191767c5feSopenharmony_ci    ":phonenumber_standard",
201767c5feSopenharmony_ci  ]
211767c5feSopenharmony_ci}
221767c5feSopenharmony_ciconfig("phonenumber_config") {
231767c5feSopenharmony_ci  include_dirs = [
241767c5feSopenharmony_ci    "//third_party/abseil-cpp/abseil-cpp",
251767c5feSopenharmony_ci    "//third_party/bounds_checking_function/include",
261767c5feSopenharmony_ci    "//third_party/icu/icu4c/source/common",
271767c5feSopenharmony_ci    "//third_party/icu/icu4c/source/i18n",
281767c5feSopenharmony_ci    "//third_party/icu/icu4c/source",
291767c5feSopenharmony_ci    "//third_party/libphonenumber/cpp/src",
301767c5feSopenharmony_ci    "//third_party/protobuf/src",
311767c5feSopenharmony_ci    "//third_party/protobuf/src/google",
321767c5feSopenharmony_ci    "//third_party/protobuf/src/google/protobuf",
331767c5feSopenharmony_ci  ]
341767c5feSopenharmony_ci  cflags = [ "-Wno-implicit-fallthrough" ]
351767c5feSopenharmony_ci  cflags_cc = [
361767c5feSopenharmony_ci    "-DI18N_PHONENUMBERS_USE_ALTERNATE_FORMATS",
371767c5feSopenharmony_ci    "-DI18N_PHONENUMBERS_USE_ICU_REGEXP",
381767c5feSopenharmony_ci    "-Dphonenumber_shared_EXPORTS",
391767c5feSopenharmony_ci    "-Wall",
401767c5feSopenharmony_ci    "-fPIC",
411767c5feSopenharmony_ci    "-Wno-sign-compare",
421767c5feSopenharmony_ci    "-Wno-error=unused-parameter",
431767c5feSopenharmony_ci    "-Wno-error=unused-const-variable",
441767c5feSopenharmony_ci    "-Wno-error=unneeded-internal-declaration",
451767c5feSopenharmony_ci    "-Wno-implicit-fallthrough",
461767c5feSopenharmony_ci    "-Wno-deprecated-builtins",
471767c5feSopenharmony_ci  ]
481767c5feSopenharmony_ci}
491767c5feSopenharmony_ci
501767c5feSopenharmony_ciconfig("phonenumber_public_config") {
511767c5feSopenharmony_ci  include_dirs = [
521767c5feSopenharmony_ci    "//third_party/libphonenumber/cpp/src",
531767c5feSopenharmony_ci    "//third_party/libphonenumber/cpp/src/phonenumbers",
541767c5feSopenharmony_ci  ]
551767c5feSopenharmony_ci}
561767c5feSopenharmony_ci
571767c5feSopenharmony_ciphonenumber_source = [
581767c5feSopenharmony_ci  "src/phonenumbers/phonenumber.cc",
591767c5feSopenharmony_ci  "src/phonenumbers/default_logger.cc",
601767c5feSopenharmony_ci  "src/phonenumbers/phonenumbermatch.cc",
611767c5feSopenharmony_ci  "src/phonenumbers/phonenumbermatcher.cc",
621767c5feSopenharmony_ci  "src/phonenumbers/regexp_cache.cc",
631767c5feSopenharmony_ci  "src/phonenumbers/phonemetadata.pb.cc",
641767c5feSopenharmony_ci  "src/phonenumbers/string_byte_sink.cc",
651767c5feSopenharmony_ci  "src/phonenumbers/asyoutypeformatter.cc",
661767c5feSopenharmony_ci  "src/phonenumbers/phonenumberutil.cc",
671767c5feSopenharmony_ci  "src/phonenumbers/regexp_adapter_icu.cc",
681767c5feSopenharmony_ci  "src/phonenumbers/phonenumber.pb.cc",
691767c5feSopenharmony_ci  "src/phonenumbers/base/strings/string_piece.cc",
701767c5feSopenharmony_ci  "src/phonenumbers/alternate_format.cc",
711767c5feSopenharmony_ci  "src/phonenumbers/shortnumberinfo.cc",
721767c5feSopenharmony_ci  "src/phonenumbers/utf/unilib.cc",
731767c5feSopenharmony_ci  "src/phonenumbers/utf/unicodetext.cc",
741767c5feSopenharmony_ci  "src/phonenumbers/metadata.cc",
751767c5feSopenharmony_ci  "src/phonenumbers/short_metadata.cc",
761767c5feSopenharmony_ci  "src/phonenumbers/regex_based_matcher.cc",
771767c5feSopenharmony_ci  "src/phonenumbers/logger.cc",
781767c5feSopenharmony_ci  "src/phonenumbers/stringutil.cc",
791767c5feSopenharmony_ci  "src/phonenumbers/unicodestring.cc",
801767c5feSopenharmony_ci  "src/phonenumbers/utf/rune.c",
811767c5feSopenharmony_ci]
821767c5feSopenharmony_ci
831767c5feSopenharmony_ciphonenumber_deps = [
841767c5feSopenharmony_ci  "//third_party/abseil-cpp:absl_base",
851767c5feSopenharmony_ci  "//third_party/abseil-cpp:absl_strings",
861767c5feSopenharmony_ci  "//third_party/bounds_checking_function:libsec_shared",
871767c5feSopenharmony_ci  "//third_party/icu/icu4c:shared_icui18n",
881767c5feSopenharmony_ci  "//third_party/icu/icu4c:shared_icuuc",
891767c5feSopenharmony_ci]
901767c5feSopenharmony_ci
911767c5feSopenharmony_ciphonenumber_defines = [
921767c5feSopenharmony_ci  "I18N_PHONENUMBERS_USE_ALTERNATE_FORMATS",
931767c5feSopenharmony_ci  "I18N_PHONENUMBERS_USE_ICU_REGEXP",
941767c5feSopenharmony_ci  "HAVE_PTHREAD",
951767c5feSopenharmony_ci]
961767c5feSopenharmony_ci
971767c5feSopenharmony_cigeocoding_defines = [
981767c5feSopenharmony_ci  "I18N_PHONENUMBERS_USE_ALTERNATE_FORMATS",
991767c5feSopenharmony_ci  "I18N_PHONENUMBERS_USE_ICU_REGEXP",
1001767c5feSopenharmony_ci  "HAVE_PTHREAD",
1011767c5feSopenharmony_ci]
1021767c5feSopenharmony_ci
1031767c5feSopenharmony_ciif (is_ohos) {
1041767c5feSopenharmony_ci  phonenumber_source += [
1051767c5feSopenharmony_ci    "src/phonenumbers/ohos/geocoding_data.pb.cc",
1061767c5feSopenharmony_ci    "src/phonenumbers/ohos/update_geocoding.cc",
1071767c5feSopenharmony_ci    "src/phonenumbers/ohos/update_libphonenumber.cc",
1081767c5feSopenharmony_ci    "src/phonenumbers/ohos/update_metadata.cc",
1091767c5feSopenharmony_ci  ]
1101767c5feSopenharmony_ci
1111767c5feSopenharmony_ci  phonenumber_deps += [ ":version_txt" ]
1121767c5feSopenharmony_ci
1131767c5feSopenharmony_ci  phonenumber_defines += [ "LIBPHONENUMBER_UPGRADE" ]
1141767c5feSopenharmony_ci
1151767c5feSopenharmony_ci  geocoding_defines += [ "LIBPHONENUMBER_UPGRADE" ]
1161767c5feSopenharmony_ci
1171767c5feSopenharmony_ci  ohos_prebuilt_etc("version_txt") {
1181767c5feSopenharmony_ci    source = "./src/phonenumbers/ohos/etc/version.txt"
1191767c5feSopenharmony_ci    module_install_dir = "etc/LIBPHONENUMBER/generic/"
1201767c5feSopenharmony_ci    part_name = "libphonenumber"
1211767c5feSopenharmony_ci    subsystem_name = "thirdparty"
1221767c5feSopenharmony_ci  }
1231767c5feSopenharmony_ci}
1241767c5feSopenharmony_ci
1251767c5feSopenharmony_ciohos_shared_library("phonenumber_standard") {
1261767c5feSopenharmony_ci  branch_protector_ret = "pac_ret"
1271767c5feSopenharmony_ci  configs = [ ":phonenumber_config" ]
1281767c5feSopenharmony_ci  public_configs = [ ":phonenumber_public_config" ]
1291767c5feSopenharmony_ci  sources = phonenumber_source
1301767c5feSopenharmony_ci  deps = phonenumber_deps
1311767c5feSopenharmony_ci  public_external_deps = [ "protobuf:protobuf_lite" ]
1321767c5feSopenharmony_ci  defines = phonenumber_defines
1331767c5feSopenharmony_ci  innerapi_tags = [ "platformsdk_indirect" ]
1341767c5feSopenharmony_ci  part_name = "libphonenumber"
1351767c5feSopenharmony_ci  subsystem_name = "thirdparty"
1361767c5feSopenharmony_ci  ldflags = [ "-shared" ]
1371767c5feSopenharmony_ci  install_enable = true
1381767c5feSopenharmony_ci}
1391767c5feSopenharmony_ci
1401767c5feSopenharmony_ciohos_shared_library("geocoding") {
1411767c5feSopenharmony_ci  configs = [ ":phonenumber_config" ]
1421767c5feSopenharmony_ci  sources = [
1431767c5feSopenharmony_ci    "src/phonenumbers/geocoding/area_code_map.cc",
1441767c5feSopenharmony_ci    "src/phonenumbers/geocoding/default_map_storage.cc",
1451767c5feSopenharmony_ci    "src/phonenumbers/geocoding/geocoding_data.cc",
1461767c5feSopenharmony_ci    "src/phonenumbers/geocoding/geocoding_warpper.cc",
1471767c5feSopenharmony_ci    "src/phonenumbers/geocoding/mapping_file_provider.cc",
1481767c5feSopenharmony_ci    "src/phonenumbers/geocoding/phonenumber_offline_geocoder.cc",
1491767c5feSopenharmony_ci    "src/phonenumbers/phonenumber.pb.h",
1501767c5feSopenharmony_ci  ]
1511767c5feSopenharmony_ci  deps = [
1521767c5feSopenharmony_ci    "//third_party/bounds_checking_function:libsec_shared",
1531767c5feSopenharmony_ci    "//third_party/icu/icu4c:shared_icuuc",
1541767c5feSopenharmony_ci    "//third_party/libphonenumber/cpp:phonenumber_standard",
1551767c5feSopenharmony_ci  ]
1561767c5feSopenharmony_ci  defines = geocoding_defines
1571767c5feSopenharmony_ci  part_name = "libphonenumber"
1581767c5feSopenharmony_ci  relative_install_dir = "platformsdk"
1591767c5feSopenharmony_ci  subsystem_name = "thirdparty"
1601767c5feSopenharmony_ci  ldflags = [ "-shared" ]
1611767c5feSopenharmony_ci  install_enable = true
1621767c5feSopenharmony_ci}
163