1 # Copyright (c) 2023 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("//arkcompiler/ets_frontend/es2panda/es2abc_config.gni")
15 import("//build/ohos.gni")
16 import("//foundation/arkui/ace_engine/ace_config.gni")
17 import("//foundation/arkui/ace_engine/adapter/preview/build/config.gni")
18 import("//foundation/arkui/ace_engine/build/ace_gen_obj.gni")
19 
20 es2abc_gen_abc("gen_subheader_abc") {
21   src_js = rebase_path("subheader.js")
22   dst_file = rebase_path(target_out_dir + "/subheader.abc")
23   in_puts = [ "subheader.js" ]
24   out_puts = [ target_out_dir + "/subheader.abc" ]
25   extra_args = [ "--module" ]
26 }
27 
28 gen_js_obj("subheader_abc") {
29   input =
30       get_label_info(":gen_subheader_abc", "target_out_dir") + "/subheader.abc"
31   output = target_out_dir + "/subheader_abc.o"
32   dep = ":gen_subheader_abc"
33 }
34 
35 gen_obj("subheader_abc_preview") {
36   input =
37       get_label_info(":gen_subheader_abc", "target_out_dir") + "/subheader.abc"
38   output = target_out_dir + "/subheader_abc.c"
39   snapshot_dep = [ ":gen_subheader_abc" ]
40 }
41 
42 ohos_shared_library("subheader") {
43   sources = [ "subheader.cpp" ]
44 
45   if (use_mingw_win || use_mac || use_linux) {
46     deps = [ ":gen_obj_src_subheader_abc_preview" ]
47   } else {
48     deps = [ ":subheader_abc" ]
49   }
50 
51   external_deps = [
52     "hilog:libhilog",
53     "napi:ace_napi",
54   ]
55 
56   relative_install_dir = "module/arkui/advanced"
57   subsystem_name = ace_engine_subsystem
58   part_name = ace_engine_part
59 }
60