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