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