• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2021 Hisilicon (Shanghai) Technologies Co., Ltd. All rights reserved.
2
3if (defined(ohos_lite)) {
4  import("//build/lite/config/component/lite_component.gni")
5} else {
6  import("//build/config/clang/clang.gni")
7  import("//build/ohos.gni")
8}
9import("//build/ohos/kernel/kernel.gni")
10
11SDK_LINUX_PATH = "//device/soc/hisilicon/hi3516dv300/sdk_linux"
12SDK_LINUX_LIB_LITE_PATH = "$SDK_LINUX_PATH/out/lib"
13
14group("hispark_taurus_sdk") {
15  if (defined(ohos_lite)) {
16    deps = [
17      ":sdk_linux_lite_libs",
18      ":sdk_make",
19      "//kernel/linux/build:linux_kernel",
20    ]
21  } else {
22    deps = [
23      ":sdk_linux_modules",
24      ":sdk_make",
25      "out/lib:sdk_linux_mpp_group",
26      "//kernel/linux/build:linux_kernel",
27    ]
28  }
29}
30
31#####################################################################
32sdk_modules_name_list = [
33  "hi3516cv500_base.ko",
34  "hi3516cv500_hdmi.ko",
35  "hi3516cv500_ir.ko",
36  "hi3516cv500_sys.ko",
37  "hi3516cv500_tde.ko",
38  "hi3516cv500_vo_dev.ko",
39  "hi3516cv500_wdt.ko",
40  "hifb.ko",
41  "hi_irq.ko",
42  "hi_mipi_rx.ko",
43  "hi_mipi_tx.ko",
44  "hi_osal.ko",
45  "hi_proc.ko",
46  "sys_config.ko",
47  "load3516dv300_user",
48]
49
50if (defined(ohos_lite)) {
51  build_ext_component("sdk_make") {
52    exec_path = rebase_path(".", root_build_dir)
53    outdir = rebase_path("$root_out_dir")
54    clang_dir = ""
55    if (ohos_build_compiler_dir != "") {
56      clang_dir = rebase_path("$ohos_build_compiler_dir")
57    }
58    command = "./build.sh ${ohos_root_path} ${outdir} y ${clang_dir} ${linux_kernel_version}"
59    deps = [ "//kernel/linux/build:linux_kernel" ]
60  }
61  not_needed(sdk_modules_name_list)
62} else {
63  sdk_tmp_root_path = root_out_dir
64  sdk_tmp_dir = "$sdk_tmp_root_path/sdk_linux/src_tmp"
65  sdk_tmp_mods_dir = "$sdk_tmp_dir/out/ko"
66
67  action("sdk_make") {
68    script = "build.sh"
69    outputs = []
70    foreach(module, sdk_modules_name_list) {
71      outputs += [ "$sdk_tmp_mods_dir/$module" ]
72    }
73    args = [
74      rebase_path("//"),
75      rebase_path("$sdk_tmp_root_path"),
76      "n",
77      rebase_path("$clang_base_path"),
78      linux_kernel_version,
79    ]
80    deps = [ "//kernel/linux/build:linux_kernel" ]
81  }
82
83  sdk_modules_file_list = get_target_outputs(":sdk_make")
84  kernel_modules_targets = []
85
86  foreach(km, sdk_modules_file_list) {
87    _name = get_path_info(km, "file")
88    ohos_prebuilt_shared_library(_name) {
89      deps = [ ":sdk_make" ]
90      source = km
91      module_install_dir = "modules"
92      install_images = [
93        vendor_base_dir,
94        "updater",
95      ]
96      part_name = "hisilicon_products"
97    }
98    kernel_modules_targets += [ ":$_name" ]
99  }
100
101  group("sdk_linux_modules") {
102    deps = kernel_modules_targets
103  }
104}
105
106#####################################################################
107sdk_libs_name_set = [
108  "libVoiceEngine.so",
109  "lib_hiacs.so",
110  "lib_hiae.so",
111  "lib_hiawb.so",
112  "lib_hiawb_natura.so",
113  "lib_hicalcflicker.so",
114  "lib_hidehaze.so",
115  "lib_hidrc.so",
116  "lib_hiir_auto.so",
117  "lib_hildci.so",
118  "libaaccomm.so",
119  "libaacdec.so",
120  "libaacenc.so",
121  "libaacsbrdec.so",
122  "libaacsbrenc.so",
123  "libdnvqe.so",
124  "libhdmi.so",
125  "libhi3516cv500_acodec.so",
126  "libhi3516cv500_adec.so",
127  "libhi3516cv500_aenc.so",
128  "libhi3516cv500_ai.so",
129  "libhi3516cv500_aio.so",
130  "libhi3516cv500_ao.so",
131  "libhi3516cv500_base.so",
132  "libhi3516cv500_chnl.so",
133  "libhi3516cv500_dis.so",
134  "libhi3516cv500_gdc.so",
135  "libhi3516cv500_h264e.so",
136  "libhi3516cv500_h265e.so",
137  "libhi3516cv500_isp.so",
138  "libhi3516cv500_ive.so",
139  "libhi3516cv500_jpegd.so",
140  "libhi3516cv500_jpege.so",
141  "libhi3516cv500_nnie.so",
142  "libhi3516cv500_rc.so",
143  "libhi3516cv500_rgn.so",
144  "libhi3516cv500_sys.so",
145  "libhi3516cv500_vdec.so",
146  "libhi3516cv500_vedu.so",
147  "libhi3516cv500_venc.so",
148  "libhi3516cv500_vfmw.so",
149  "libhi3516cv500_vgs.so",
150  "libhi3516cv500_vi.so",
151  "libhi3516cv500_vo.so",
152  "libhi3516cv500_vpss.so",
153  "libhi_irq.so",
154  "libhi_osal.so",
155  "libhi_sensor_i2c.so",
156  "libhifisheyecalibrate.so",
157  "libhive_AEC.so",
158  "libhive_AGC.so",
159  "libhive_ANR.so",
160  "libhive_EQ.so",
161  "libhive_HPF.so",
162  "libhive_RES.so",
163  "libhive_RES_ext.so",
164  "libhive_common.so",
165  "libhive_record.so",
166  "libhive_talkv2.so",
167  "libhive_wnr.so",
168  "libisp.so",
169  "libive.so",
170  "libmd.so",
171  "libmpi.so",
172  "libnnie.so",
173  "libsdk.so",
174  "libsecurec.so",
175  "libsns_imx335.so",
176  "libtde.so",
177  "libupvqe.so",
178]
179
180if (defined(ohos_lite)) {
181  lib_lite_abspath = rebase_path("$SDK_LINUX_LIB_LITE_PATH", ".")
182  sdk_linux_libs_targets = []
183
184  foreach(lib, sdk_libs_name_set) {
185    copy("$lib") {
186      sources = [ "$lib_lite_abspath/$lib" ]
187      outputs = [ "$root_out_dir/$lib" ]
188    }
189    sdk_linux_libs_targets += [ ":$lib" ]
190  }
191
192  group("sdk_linux_lite_libs") {
193    deps = sdk_linux_libs_targets
194  }
195} else {
196  not_needed([
197               SDK_LINUX_LIB_LITE_PATH,
198               SDK_LINUX_PATH,
199             ])
200  not_needed(sdk_libs_name_set)
201}
202