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