1# Copyright (c) 2024 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("//base/notification/distributed_notification_service/notification.gni") 15import("//build/ohos.gni") 16 17group("reminder_service") { 18 deps = [ ":libreminder" ] 19} 20 21config("public_reminder_config") { 22 include_dirs = [ 23 "${services_path}/reminder/include", 24 "${core_path}/include", 25 ] 26} 27 28ohos_source_set("reminder_service_sources") { 29 sanitize = { 30 integer_overflow = true 31 ubsan = true 32 boundary_sanitize = true 33 cfi = true 34 cfi_cross_dso = true 35 debug = false 36 } 37 38 cflags = [ 39 "-fno-math-errno", 40 "-fno-unroll-loops", 41 "-fmerge-all-constants", 42 "-fno-ident", 43 "-Oz", 44 "-flto", 45 "-ffunction-sections", 46 "-fdata-sections", 47 ] 48 49 include_dirs = [ "${services_path}/reminder/include" ] 50 51 defines = [] 52 53 sources = [ 54 "src/reminder_access_token_helper.cpp", 55 "src/reminder_agent_service.cpp", 56 "src/reminder_agent_service_ability.cpp", 57 "src/reminder_bundle_manager_helper.cpp", 58 "src/reminder_config_change_observer.cpp", 59 "src/reminder_data_manager.cpp", 60 "src/reminder_data_manager_inner.cpp", 61 "src/reminder_datashare_helper.cpp", 62 "src/reminder_event_manager.cpp", 63 "src/reminder_os_account_manager_helper.cpp", 64 "src/reminder_store.cpp", 65 "src/reminder_store_strategy.cpp", 66 "src/reminder_table.cpp", 67 "src/reminder_table_old.cpp", 68 "src/reminder_timer_info.cpp", 69 ] 70 71 deps = [ 72 "${frameworks_module_ans_path}:ans_innerkits", 73 "${frameworks_module_reminder_path}:reminder_innerkits", 74 ] 75 76 if (is_double_framework) { 77 cflags += [ "-DCONFIG_DUAL_FRAMEWORK" ] 78 } 79 80 if (distributed_notification_supported) { 81 defines += [ "DISTRIBUTED_NOTIFICATION_SUPPORTED" ] 82 deps += [ "${services_path}/distributed:libans_distributed" ] 83 include_dirs += [ "${services_path}/distributed/include" ] 84 } 85 86 if (notification_smart_reminder_supported) { 87 defines += [ "NOTIFICATION_SMART_REMINDER_SUPPORTED" ] 88 } 89 90 external_deps = [ 91 "ability_base:configuration", 92 "ability_runtime:ability_manager", 93 "ability_runtime:app_manager", 94 "ability_runtime:appkit_native", 95 "ability_runtime:dataobs_manager", 96 "ability_runtime:extension_manager", 97 "ability_runtime:wantagent_innerkits", 98 "access_token:libaccesstoken_sdk", 99 "access_token:libtokenid_sdk", 100 "bundle_framework:appexecfwk_base", 101 "bundle_framework:appexecfwk_core", 102 "c_utils:utils", 103 "common_event_service:cesfwk_innerkits", 104 "config_policy:configpolicy_util", 105 "data_share:datashare_common", 106 "data_share:datashare_consumer", 107 "data_share:datashare_permission", 108 "device_manager:devicemanagersdk", 109 "ffrt:libffrt", 110 "i18n:intl_util", 111 "image_framework:image_native", 112 "init:libbegetutil", 113 "kv_store:distributeddata_inner", 114 "openssl:libcrypto_shared", 115 "os_account:os_account_innerkits", 116 "relational_store:native_rdb", 117 "resource_management:global_resmgr", 118 "time_service:time_client", 119 ] 120 external_deps += component_external_deps 121 122 if (device_usage) { 123 external_deps += [ "device_usage_statistics:usagestatsinner" ] 124 defines += [ "DEVICE_USAGE_STATISTICS_ENABLE" ] 125 } 126 127 if (hisysevent_usage) { 128 cflags += [ "-DHAS_HISYSEVENT_PART" ] 129 external_deps += [ "hisysevent:libhisysevent" ] 130 } 131 132 if (standby_enable) { 133 external_deps += [ "device_standby:standby_innerkits" ] 134 defines += [ "DEVICE_STANDBY_ENABLE" ] 135 } 136 137 if (player_framework) { 138 external_deps += [ "player_framework:media_client" ] 139 defines += [ "PLAYER_FRAMEWORK_ENABLE" ] 140 } 141 142 if (ans_hitrace_usage) { 143 external_deps += [ "hitrace:hitrace_meter" ] 144 defines += [ "HITRACE_METER_ENABLE" ] 145 } 146 147 if (ans_config_policy_enable) { 148 external_deps += [ "config_policy:configpolicy_util" ] 149 defines += [ "CONFIG_POLICY_ENABLE" ] 150 } 151 152 if (screenlock_mgr_enable) { 153 external_deps += [ "screenlock_mgr:screenlock_client" ] 154 defines += [ "SCREENLOCK_MGR_ENABLE" ] 155 } 156 157 if (distributed_notification_service_feature_summary) { 158 defines += [ "ENABLE_ANS_EXT_WRAPPER" ] 159 } 160 161 if (telephony_cust) { 162 defines += [ "ENABLE_ANS_TELEPHONY_CUST_WRAPPER" ] 163 } 164 165 if (distributed_notification_service_feature_disable_fa_model) { 166 defines += [ "ANS_DISABLE_FA_MODEL" ] 167 } 168 169 if (is_emulator) { 170 defines += [ "IS_EMULATOR" ] 171 } 172 subsystem_name = "${subsystem_name}" 173 part_name = "${component_name}" 174} 175 176ohos_shared_library("libreminder") { 177 sanitize = { 178 integer_overflow = true 179 ubsan = true 180 boundary_sanitize = true 181 cfi = true 182 cfi_cross_dso = true 183 debug = false 184 } 185 branch_protector_ret = "pac_ret" 186 187 shlib_type = "sa" 188 version_script = "libreminder.map" 189 cflags = [ 190 "-fno-math-errno", 191 "-fno-unroll-loops", 192 "-fmerge-all-constants", 193 "-fno-ident", 194 "-Oz", 195 "-flto", 196 "-ffunction-sections", 197 "-fdata-sections", 198 ] 199 sources = [] 200 201 configs = [ ":public_reminder_config" ] 202 203 defines = [] 204 205 if (is_double_framework) { 206 cflags += [ "-DCONFIG_DUAL_FRAMEWORK" ] 207 } 208 209 deps = [ "${services_path}/reminder:reminder_service_sources" ] 210 211 if (distributed_notification_supported) { 212 deps += [ "${services_path}/distributed:libans_distributed" ] 213 } 214 215 external_deps = [ 216 "ability_base:configuration", 217 "ability_runtime:ability_manager", 218 "ability_runtime:app_manager", 219 "ability_runtime:appkit_native", 220 "ability_runtime:dataobs_manager", 221 "ability_runtime:extension_manager", 222 "ability_runtime:wantagent_innerkits", 223 "access_token:libaccesstoken_sdk", 224 "access_token:libtokenid_sdk", 225 "bundle_framework:appexecfwk_base", 226 "bundle_framework:appexecfwk_core", 227 "c_utils:utils", 228 "common_event_service:cesfwk_innerkits", 229 "config_policy:configpolicy_util", 230 "data_share:datashare_common", 231 "data_share:datashare_consumer", 232 "data_share:datashare_permission", 233 "device_manager:devicemanagersdk", 234 "ffrt:libffrt", 235 "i18n:intl_util", 236 "image_framework:image_native", 237 "init:libbegetutil", 238 "kv_store:distributeddata_inner", 239 "openssl:libcrypto_shared", 240 "os_account:os_account_innerkits", 241 "relational_store:native_rdb", 242 "resource_management:global_resmgr", 243 "time_service:time_client", 244 ] 245 external_deps += component_external_deps 246 247 if (device_usage) { 248 external_deps += [ "device_usage_statistics:usagestatsinner" ] 249 } 250 251 if (hisysevent_usage) { 252 cflags += [ "-DHAS_HISYSEVENT_PART" ] 253 external_deps += [ "hisysevent:libhisysevent" ] 254 } 255 256 if (standby_enable) { 257 external_deps += [ "device_standby:standby_innerkits" ] 258 } 259 260 if (player_framework) { 261 external_deps += [ "player_framework:media_client" ] 262 } 263 264 if (ans_hitrace_usage) { 265 external_deps += [ "hitrace:hitrace_meter" ] 266 } 267 268 if (ans_config_policy_enable) { 269 external_deps += [ "config_policy:configpolicy_util" ] 270 } 271 272 if (screenlock_mgr_enable) { 273 external_deps += [ "screenlock_mgr:screenlock_client" ] 274 } 275 276 subsystem_name = "${subsystem_name}" 277 part_name = "${component_name}" 278} 279