• 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  "hi_cipher.ko",
41  "hifb.ko",
42  "hi_irq.ko",
43  "hi_mipi_rx.ko",
44  "hi_mipi_tx.ko",
45  "hi_osal.ko",
46  "hi_proc.ko",
47  "sys_config.ko",
48  "load3516dv300_user",
49]
50
51if (defined(ohos_lite)) {
52  build_ext_component("sdk_make") {
53    exec_path = rebase_path(".", root_build_dir)
54    outdir = rebase_path("$root_out_dir")
55    clang_dir = ""
56    if (ohos_build_compiler_dir != "") {
57      clang_dir = rebase_path("$ohos_build_compiler_dir")
58    }
59    command = "./build.sh ${ohos_root_path} ${outdir} y ${clang_dir} ${linux_kernel_version}"
60    deps = [ "//kernel/linux/build:linux_kernel" ]
61  }
62  not_needed(sdk_modules_name_list)
63} else {
64  sdk_tmp_root_path = root_out_dir
65  sdk_tmp_dir = "$sdk_tmp_root_path/sdk_linux/src_tmp"
66  sdk_tmp_mods_dir = "$sdk_tmp_dir/out/ko"
67
68  action("sdk_make") {
69    script = "build.sh"
70    outputs = []
71    foreach(module, sdk_modules_name_list) {
72      outputs += [ "$sdk_tmp_mods_dir/$module" ]
73    }
74    args = [
75      rebase_path("//"),
76      rebase_path("$sdk_tmp_root_path"),
77      "n",
78      rebase_path("$clang_base_path"),
79      linux_kernel_version,
80    ]
81    deps = [ "//kernel/linux/build:linux_kernel" ]
82  }
83
84  sdk_modules_file_list = get_target_outputs(":sdk_make")
85  kernel_modules_targets = []
86
87  foreach(km, sdk_modules_file_list) {
88    _name = get_path_info(km, "file")
89    ohos_prebuilt_shared_library(_name) {
90      deps = [ ":sdk_make" ]
91      source = km
92      module_install_dir = "modules"
93      install_images = [
94        vendor_base_dir,
95        "updater",
96      ]
97      part_name = "hisilicon_products"
98    }
99    kernel_modules_targets += [ ":$_name" ]
100  }
101
102  group("sdk_linux_modules") {
103    deps = kernel_modules_targets
104  }
105}
106
107#####################################################################
108sdk_libs_name_set = [
109  "libVoiceEngine.so",
110  "lib_hiacs.so",
111  "lib_hiae.so",
112  "lib_hiawb.so",
113  "lib_hiawb_natura.so",
114  "lib_hicalcflicker.so",
115  "lib_hidehaze.so",
116  "lib_hidrc.so",
117  "lib_hiir_auto.so",
118  "lib_hildci.so",
119  "libaaccomm.so",
120  "libaacdec.so",
121  "libaacenc.so",
122  "libaacsbrdec.so",
123  "libaacsbrenc.so",
124  "libdnvqe.so",
125  "libhdmi.so",
126  "libhi3516cv500_acodec.so",
127  "libhi3516cv500_adec.so",
128  "libhi3516cv500_aenc.so",
129  "libhi3516cv500_ai.so",
130  "libhi3516cv500_aio.so",
131  "libhi3516cv500_ao.so",
132  "libhi3516cv500_base.so",
133  "libhi3516cv500_chnl.so",
134  "libhi3516cv500_dis.so",
135  "libhi3516cv500_gdc.so",
136  "libhi3516cv500_h264e.so",
137  "libhi3516cv500_h265e.so",
138  "libhi3516cv500_isp.so",
139  "libhi3516cv500_ive.so",
140  "libhi3516cv500_jpegd.so",
141  "libhi3516cv500_jpege.so",
142  "libhi3516cv500_nnie.so",
143  "libhi3516cv500_rc.so",
144  "libhi3516cv500_rgn.so",
145  "libhi3516cv500_sys.so",
146  "libhi3516cv500_vdec.so",
147  "libhi3516cv500_vedu.so",
148  "libhi3516cv500_venc.so",
149  "libhi3516cv500_vfmw.so",
150  "libhi3516cv500_vgs.so",
151  "libhi3516cv500_vi.so",
152  "libhi3516cv500_vo.so",
153  "libhi3516cv500_vpss.so",
154  "libhi_irq.so",
155  "libhi_osal.so",
156  "libhi_sensor_i2c.so",
157  "libhifisheyecalibrate.so",
158  "libhive_AEC.so",
159  "libhive_AGC.so",
160  "libhive_ANR.so",
161  "libhive_EQ.so",
162  "libhive_HPF.so",
163  "libhive_RES.so",
164  "libhive_RES_ext.so",
165  "libhive_common.so",
166  "libhive_record.so",
167  "libhive_talkv2.so",
168  "libhive_wnr.so",
169  "libisp.so",
170  "libive.so",
171  "libmd.so",
172  "libmpi.so",
173  "libnnie.so",
174  "libsdk.so",
175  "libsecurec.so",
176  "libsns_imx335.so",
177  "libtde.so",
178  "libupvqe.so",
179]
180
181if (defined(ohos_lite)) {
182  lib_lite_abspath = rebase_path("$SDK_LINUX_LIB_LITE_PATH", ".")
183  sdk_linux_libs_targets = []
184
185  foreach(lib, sdk_libs_name_set) {
186    copy("$lib") {
187      sources = [ "$lib_lite_abspath/$lib" ]
188      outputs = [ "$root_out_dir/$lib" ]
189    }
190    sdk_linux_libs_targets += [ ":$lib" ]
191  }
192
193  group("sdk_linux_lite_libs") {
194    deps = sdk_linux_libs_targets
195  }
196} else {
197  not_needed([
198               SDK_LINUX_LIB_LITE_PATH,
199               SDK_LINUX_PATH,
200             ])
201  not_needed(sdk_libs_name_set)
202}
203