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