15c735df2Sopenharmony_ci# Copyright (C) 2024 Huawei Device Co., Ltd. 25c735df2Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 35c735df2Sopenharmony_ci# you may not use this file except in compliance with the License. 45c735df2Sopenharmony_ci# You may obtain a copy of the License at 55c735df2Sopenharmony_ci# 65c735df2Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 75c735df2Sopenharmony_ci# 85c735df2Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 95c735df2Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 105c735df2Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 115c735df2Sopenharmony_ci# See the License for the specific language governing permissions and 125c735df2Sopenharmony_ci# limitations under the License. 135c735df2Sopenharmony_ci 145c735df2Sopenharmony_ciimport("//base/location/config.gni") 155c735df2Sopenharmony_ciimport("//build/ohos.gni") 165c735df2Sopenharmony_ci 175c735df2Sopenharmony_ciconfig("geofence_sdk_config") { 185c735df2Sopenharmony_ci visibility = [ ":*" ] 195c735df2Sopenharmony_ci include_dirs = [ 205c735df2Sopenharmony_ci "$LOCATION_ROOT_DIR/interfaces/inner_api/include", 215c735df2Sopenharmony_ci "$LOCATION_ROOT_DIR/frameworks/native/notification/include", 225c735df2Sopenharmony_ci "$LOCATION_ROOT_DIR/frameworks/js/napi/include", 235c735df2Sopenharmony_ci ] 245c735df2Sopenharmony_ci} 255c735df2Sopenharmony_ci 265c735df2Sopenharmony_cilocal_base_sources = [ 275c735df2Sopenharmony_ci "$LOCATION_NATIVE_DIR/geofence_sdk/source/geofence_request.cpp", 285c735df2Sopenharmony_ci "$LOCATION_NATIVE_DIR/geofence_sdk/source/geofence_sdk.cpp", 295c735df2Sopenharmony_ci] 305c735df2Sopenharmony_ci 315c735df2Sopenharmony_ciohos_shared_library("geofence_sdk") { 325c735df2Sopenharmony_ci install_enable = true 335c735df2Sopenharmony_ci 345c735df2Sopenharmony_ci public_configs = [ ":geofence_sdk_config" ] 355c735df2Sopenharmony_ci 365c735df2Sopenharmony_ci sanitize = { 375c735df2Sopenharmony_ci cfi = true 385c735df2Sopenharmony_ci cfi_cross_dso = true 395c735df2Sopenharmony_ci debug = false 405c735df2Sopenharmony_ci } 415c735df2Sopenharmony_ci branch_protector_ret = "pac_ret" 425c735df2Sopenharmony_ci 435c735df2Sopenharmony_ci sources = local_base_sources 445c735df2Sopenharmony_ci 455c735df2Sopenharmony_ci deps = [ 465c735df2Sopenharmony_ci "$LOCATION_COMMON_DIR:lbsservice_common", 475c735df2Sopenharmony_ci "$LOCATION_ROOT_DIR/frameworks/base_module:lbsbase_module", 485c735df2Sopenharmony_ci ] 495c735df2Sopenharmony_ci 505c735df2Sopenharmony_ci public_external_deps = [ 515c735df2Sopenharmony_ci "hilog:libhilog", 525c735df2Sopenharmony_ci "init:libbegetutil", 535c735df2Sopenharmony_ci "ipc:ipc_single", 545c735df2Sopenharmony_ci "samgr:samgr_proxy", 555c735df2Sopenharmony_ci ] 565c735df2Sopenharmony_ci 575c735df2Sopenharmony_ci defines = [] 585c735df2Sopenharmony_ci 595c735df2Sopenharmony_ci if (notification_distributed_notification_service_enable) { 605c735df2Sopenharmony_ci public_external_deps += [ "distributed_notification_service:ans_innerkits" ] 615c735df2Sopenharmony_ci defines += [ "NOTIFICATION_ENABLE" ] 625c735df2Sopenharmony_ci } 635c735df2Sopenharmony_ci 645c735df2Sopenharmony_ci if (is_emulator) { 655c735df2Sopenharmony_ci defines += [ "EMULATOR_ENABLED" ] 665c735df2Sopenharmony_ci } 675c735df2Sopenharmony_ci 685c735df2Sopenharmony_ci cflags_cc = [ 695c735df2Sopenharmony_ci "-std=c++17", 705c735df2Sopenharmony_ci "-fno-rtti", 715c735df2Sopenharmony_ci "-ffunction-sections", 725c735df2Sopenharmony_ci "-fdata-sections", 735c735df2Sopenharmony_ci "-Os", 745c735df2Sopenharmony_ci ] 755c735df2Sopenharmony_ci 765c735df2Sopenharmony_ci ldflags = [ 775c735df2Sopenharmony_ci "-fPIC", 785c735df2Sopenharmony_ci "-Wl,-E", 795c735df2Sopenharmony_ci "-Wl,--as-needed", 805c735df2Sopenharmony_ci "-Wl,--gc-sections", 815c735df2Sopenharmony_ci ] 825c735df2Sopenharmony_ci 835c735df2Sopenharmony_ci # Used to control the export of dynamic library symbols. 845c735df2Sopenharmony_ci version_script = "libgeofence_sdk_version_script.txt" 855c735df2Sopenharmony_ci 865c735df2Sopenharmony_ci innerapi_tags = [ "platformsdk" ] 875c735df2Sopenharmony_ci part_name = "location" 885c735df2Sopenharmony_ci subsystem_name = "location" 895c735df2Sopenharmony_ci} 905c735df2Sopenharmony_ci 915c735df2Sopenharmony_ciohos_static_library("geofence_sdk_static") { 925c735df2Sopenharmony_ci public_configs = [ ":geofence_sdk_config" ] 935c735df2Sopenharmony_ci 945c735df2Sopenharmony_ci sanitize = { 955c735df2Sopenharmony_ci cfi = true 965c735df2Sopenharmony_ci cfi_cross_dso = true 975c735df2Sopenharmony_ci debug = false 985c735df2Sopenharmony_ci } 995c735df2Sopenharmony_ci branch_protector_ret = "pac_ret" 1005c735df2Sopenharmony_ci 1015c735df2Sopenharmony_ci sources = local_base_sources 1025c735df2Sopenharmony_ci 1035c735df2Sopenharmony_ci deps = [ 1045c735df2Sopenharmony_ci "$LOCATION_COMMON_DIR:lbsservice_common", 1055c735df2Sopenharmony_ci "$LOCATION_ROOT_DIR/frameworks/base_module:lbsbase_module", 1065c735df2Sopenharmony_ci ] 1075c735df2Sopenharmony_ci 1085c735df2Sopenharmony_ci public_external_deps = [ 1095c735df2Sopenharmony_ci "hilog:libhilog", 1105c735df2Sopenharmony_ci "init:libbegetutil", 1115c735df2Sopenharmony_ci "ipc:ipc_single", 1125c735df2Sopenharmony_ci "samgr:samgr_proxy", 1135c735df2Sopenharmony_ci ] 1145c735df2Sopenharmony_ci 1155c735df2Sopenharmony_ci defines = [] 1165c735df2Sopenharmony_ci 1175c735df2Sopenharmony_ci if (notification_distributed_notification_service_enable) { 1185c735df2Sopenharmony_ci public_external_deps += [ "distributed_notification_service:ans_innerkits" ] 1195c735df2Sopenharmony_ci defines += [ "NOTIFICATION_ENABLE" ] 1205c735df2Sopenharmony_ci } 1215c735df2Sopenharmony_ci 1225c735df2Sopenharmony_ci if (is_emulator) { 1235c735df2Sopenharmony_ci defines += [ "EMULATOR_ENABLED" ] 1245c735df2Sopenharmony_ci } 1255c735df2Sopenharmony_ci 1265c735df2Sopenharmony_ci cflags_cc = [ 1275c735df2Sopenharmony_ci "-std=c++17", 1285c735df2Sopenharmony_ci "-fno-rtti", 1295c735df2Sopenharmony_ci ] 1305c735df2Sopenharmony_ci 1315c735df2Sopenharmony_ci ldflags = [ 1325c735df2Sopenharmony_ci "-fPIC", 1335c735df2Sopenharmony_ci "-Wl,-E", 1345c735df2Sopenharmony_ci ] 1355c735df2Sopenharmony_ci 1365c735df2Sopenharmony_ci part_name = "location" 1375c735df2Sopenharmony_ci subsystem_name = "location" 1385c735df2Sopenharmony_ci} 139