1ce968135Sopenharmony_ci# Copyright (c) 2021-2023 Huawei Device Co., Ltd.
2ce968135Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3ce968135Sopenharmony_ci# you may not use this file except in compliance with the License.
4ce968135Sopenharmony_ci# You may obtain a copy of the License at
5ce968135Sopenharmony_ci#
6ce968135Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7ce968135Sopenharmony_ci#
8ce968135Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9ce968135Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10ce968135Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11ce968135Sopenharmony_ci# See the License for the specific language governing permissions and
12ce968135Sopenharmony_ci# limitations under the License.
13ce968135Sopenharmony_ci
14ce968135Sopenharmony_ciimport("//build/ohos.gni")
15ce968135Sopenharmony_ciimport("../../../wallpaper.gni")
16ce968135Sopenharmony_ci
17ce968135Sopenharmony_ciconfig("ability_config") {
18ce968135Sopenharmony_ci  visibility = [ ":*" ]
19ce968135Sopenharmony_ci  include_dirs = [
20ce968135Sopenharmony_ci    "${wallpaper_path}/frameworks/native/include",
21ce968135Sopenharmony_ci    "${wallpaper_path}/frameworks/kits/extension/include",
22ce968135Sopenharmony_ci    "${ability_runtime_services_path}/common/include",
23ce968135Sopenharmony_ci  ]
24ce968135Sopenharmony_ci
25ce968135Sopenharmony_ci  cflags = []
26ce968135Sopenharmony_ci  if (target_cpu == "arm") {
27ce968135Sopenharmony_ci    cflags += [ "-DBINDER_IPC_32BIT" ]
28ce968135Sopenharmony_ci  }
29ce968135Sopenharmony_ci  defines = [
30ce968135Sopenharmony_ci    "APP_LOG_TAG = \"Ability\"",
31ce968135Sopenharmony_ci    "LOG_DOMAIN = 0xD002200",
32ce968135Sopenharmony_ci  ]
33ce968135Sopenharmony_ci}
34ce968135Sopenharmony_ci
35ce968135Sopenharmony_ciohos_shared_library("wallpaperextensionability") {
36ce968135Sopenharmony_ci  cflags = [
37ce968135Sopenharmony_ci    "-fdata-sections",
38ce968135Sopenharmony_ci    "-ffunction-sections",
39ce968135Sopenharmony_ci    "-fvisibility=hidden",
40ce968135Sopenharmony_ci    "-Os",
41ce968135Sopenharmony_ci  ]
42ce968135Sopenharmony_ci
43ce968135Sopenharmony_ci  include_dirs = [
44ce968135Sopenharmony_ci    "${wallpaper_path}/frameworks/native/include",
45ce968135Sopenharmony_ci    "${wallpaper_path}/frameworks/kits/extension/include",
46ce968135Sopenharmony_ci  ]
47ce968135Sopenharmony_ci
48ce968135Sopenharmony_ci  sources = [
49ce968135Sopenharmony_ci    "${wallpaper_path}/frameworks/kits/extension/src/js_wallpaper_extension_ability.cpp",
50ce968135Sopenharmony_ci    "${wallpaper_path}/frameworks/kits/extension/src/js_wallpaper_extension_context.cpp",
51ce968135Sopenharmony_ci    "${wallpaper_path}/frameworks/kits/extension/src/wallpaper_extension_ability.cpp",
52ce968135Sopenharmony_ci    "${wallpaper_path}/frameworks/kits/extension/src/wallpaper_extension_context.cpp",
53ce968135Sopenharmony_ci  ]
54ce968135Sopenharmony_ci
55ce968135Sopenharmony_ci  configs = [ ":ability_config" ]
56ce968135Sopenharmony_ci
57ce968135Sopenharmony_ci  deps = [ "${wallpaper_path}/frameworks/native:wallpapermanager" ]
58ce968135Sopenharmony_ci
59ce968135Sopenharmony_ci  external_deps = [
60ce968135Sopenharmony_ci    "ability_base:want",
61ce968135Sopenharmony_ci    "ability_runtime:ability_context_native",
62ce968135Sopenharmony_ci    "ability_runtime:ability_manager",
63ce968135Sopenharmony_ci    "ability_runtime:ability_start_options",
64ce968135Sopenharmony_ci    "ability_runtime:app_context",
65ce968135Sopenharmony_ci    "ability_runtime:extensionkit_native",
66ce968135Sopenharmony_ci    "ability_runtime:napi_common",
67ce968135Sopenharmony_ci    "ability_runtime:runtime",
68ce968135Sopenharmony_ci    "c_utils:utils",
69ce968135Sopenharmony_ci    "eventhandler:libeventhandler",
70ce968135Sopenharmony_ci    "hilog:libhilog",
71ce968135Sopenharmony_ci    "hitrace:hitrace_meter",
72ce968135Sopenharmony_ci    "ipc:ipc_napi",
73ce968135Sopenharmony_ci    "ipc:ipc_single",
74ce968135Sopenharmony_ci    "napi:ace_napi",
75ce968135Sopenharmony_ci    "player_framework:media_client",
76ce968135Sopenharmony_ci    "window_manager:libwm",
77ce968135Sopenharmony_ci  ]
78ce968135Sopenharmony_ci
79ce968135Sopenharmony_ci  sanitize = {
80ce968135Sopenharmony_ci    cfi = true
81ce968135Sopenharmony_ci    cfi_cross_dso = true
82ce968135Sopenharmony_ci    debug = false
83ce968135Sopenharmony_ci    integer_overflow = true
84ce968135Sopenharmony_ci    boundary_sanitize = true
85ce968135Sopenharmony_ci    ubsan = true
86ce968135Sopenharmony_ci  }
87ce968135Sopenharmony_ci  branch_protector_ret = "pac_ret"
88ce968135Sopenharmony_ci  subsystem_name = "theme"
89ce968135Sopenharmony_ci  part_name = "wallpaper_mgr"
90ce968135Sopenharmony_ci}
91ce968135Sopenharmony_ci
92ce968135Sopenharmony_ciohos_shared_library("wallpaper_extension_module") {
93ce968135Sopenharmony_ci  cflags = [
94ce968135Sopenharmony_ci    "-fdata-sections",
95ce968135Sopenharmony_ci    "-ffunction-sections",
96ce968135Sopenharmony_ci    "-fvisibility=hidden",
97ce968135Sopenharmony_ci    "-Os",
98ce968135Sopenharmony_ci  ]
99ce968135Sopenharmony_ci
100ce968135Sopenharmony_ci  sources = [ "${wallpaper_path}/frameworks/kits/extension/src/wallpaper_extension_module_loader.cpp" ]
101ce968135Sopenharmony_ci
102ce968135Sopenharmony_ci  configs = [ ":ability_config" ]
103ce968135Sopenharmony_ci
104ce968135Sopenharmony_ci  deps = [ ":wallpaperextensionability" ]
105ce968135Sopenharmony_ci
106ce968135Sopenharmony_ci  external_deps = [
107ce968135Sopenharmony_ci    "ability_runtime:abilitykit_native",
108ce968135Sopenharmony_ci    "ability_runtime:runtime",
109ce968135Sopenharmony_ci    "hilog:libhilog",
110ce968135Sopenharmony_ci    "napi:ace_napi",
111ce968135Sopenharmony_ci  ]
112ce968135Sopenharmony_ci  sanitize = {
113ce968135Sopenharmony_ci    cfi = true
114ce968135Sopenharmony_ci    cfi_cross_dso = true
115ce968135Sopenharmony_ci    debug = false
116ce968135Sopenharmony_ci    integer_overflow = true
117ce968135Sopenharmony_ci    boundary_sanitize = true
118ce968135Sopenharmony_ci    ubsan = true
119ce968135Sopenharmony_ci  }
120ce968135Sopenharmony_ci  branch_protector_ret = "pac_ret"
121ce968135Sopenharmony_ci  relative_install_dir = "extensionability/"
122ce968135Sopenharmony_ci  subsystem_name = "theme"
123ce968135Sopenharmony_ci  part_name = "wallpaper_mgr"
124ce968135Sopenharmony_ci}
125