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 
14 import("//build/ohos.gni")
15 import("../../../config.gni")
16 
17 ohos_shared_library("ohavsession") {
18   install_enable = true
19 
20   sanitize = {
21     cfi = true
22     cfi_cross_dso = true
23     cfi_vcall_icall_only = true
24     debug = false
25   }
26 
27   include_dirs = [
28     "include",
29     "../../../interfaces/inner_api/native/session/include",
30     "../../../interfaces/kits/c",
31   ]
32 
33   cflags = [
34     "-Wall",
35     "-Werror",
36   ]
37 
38   sources = [
39     "src/OHAVMetadataBuilder.cpp",
40     "src/OHAVSession.cpp",
41     "src/OHAVSessionCallbackImpl.cpp",
42   ]
43 
44   deps = [ "../session:avsession_client" ]
45 
46   external_deps = [
47     "ability_base:want",
48     "ability_base:zuri",
49     "ability_runtime:wantagent_innerkits",
50     "audio_framework:audio_client",
51     "c_utils:utils",
52     "curl:curl_shared",
53     "hilog:libhilog",
54     "image_framework:image",
55     "image_framework:image_native",
56     "input:libmmi-client",
57     "ipc:ipc_single",
58     "samgr:samgr_proxy",
59   ]
60 
61   innerapi_tags = [ "ndk" ]
62 
63   output_name = "ohavsession"
64   output_extension = "so"
65   subsystem_name = "multimedia"
66   part_name = "av_session"
67 }
68