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