1# Copyright (c) 2022-2022 Huawei Technologies Co., Ltd. All rights reserved. 2# 3# UniProton is licensed under Mulan PSL v2. 4# You can use this software according to the terms and conditions of the Mulan PSL v2. 5# You may obtain a copy of Mulan PSL v2 at: 6# http://license.coscl.org.cn/MulanPSL2 7# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 8# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 9# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 10# See the Mulan PSL v2 for more details. 11# Create: 2022-09-21 12# Description: UniProton内核配置开关编译脚本。 13import("//build/lite/config/component/lite_component.gni") 14 15product_config_file = "${ohos_build_type}.config" 16product_config_file = rebase_path(product_config_file, "", "$product_path/kernel_configs") 17print("product_config_file:", product_config_file) 18 19MENUCONFIG_H = rebase_path("$root_out_dir/config.h") 20exec_script("//build/lite/run_shell_cmd.py", 21 [ "env" + " CONFIG_=" + " KCONFIG_CONFIG_HEADER='y=true'" + 22 " KCONFIG_CONFIG=$product_config_file" + 23 " BOARD_COMPANY=$device_company" + 24 " DEVICE_PATH=$device_path" + " srctree=" + rebase_path("./src") + 25 " genconfig" + " --header-path $MENUCONFIG_H" + 26 " --file-list kconfig_files.txt" + 27 " --env-list kconfig_env.txt" + " --config-out config.gni" ], 28 "", 29 [ product_config_file ]) 30 31import("$root_out_dir/config.gni") 32 33OSTOPDIR = "//kernel/uniproton/src" 34OSTHIRDPARTY = "//third_party" 35 36KERNEL_BASE_INCLUDE_DIRS = [ 37 "$OSTOPDIR/arch/include", 38 "$OSTOPDIR/config", 39 "$OSTOPDIR/core/ipc/include", 40 "$OSTOPDIR/core/kernel/include", 41 "$OSTOPDIR/mem/include", 42 "$OSTOPDIR/om/include", 43 "$OSTOPDIR/utility/lib/include", 44] 45 46KERNEL_BASE_SOURCES = [ 47 "$OSTOPDIR/config/prt_config.c", 48 "$OSTOPDIR/core/kernel/irq/prt_irq.c", 49 "$OSTOPDIR/core/kernel/kexc/prt_kexc.c", 50 "$OSTOPDIR/core/kernel/sys/prt_sys.c", 51 "$OSTOPDIR/core/kernel/sys/prt_sys_init.c", 52 "$OSTOPDIR/core/kernel/sys/prt_sys_time.c", 53 "$OSTOPDIR/core/kernel/task/prt_amp_task.c", 54 "$OSTOPDIR/core/kernel/task/prt_amp_task_del.c", 55 "$OSTOPDIR/core/kernel/task/prt_amp_task_init.c", 56 "$OSTOPDIR/core/kernel/task/prt_amp_task_minor.c", 57 "$OSTOPDIR/core/kernel/task/prt_task.c", 58 "$OSTOPDIR/core/kernel/task/prt_task_attrib.c", 59 "$OSTOPDIR/core/kernel/task/prt_task_del.c", 60 "$OSTOPDIR/core/kernel/task/prt_task_global.c", 61 "$OSTOPDIR/core/kernel/task/prt_task_info.c", 62 "$OSTOPDIR/core/kernel/task/prt_task_init.c", 63 "$OSTOPDIR/core/kernel/task/prt_task_minor.c", 64 "$OSTOPDIR/core/kernel/task/prt_task_priority.c", 65 "$OSTOPDIR/core/kernel/task/prt_task_sem.c", 66 "$OSTOPDIR/core/kernel/task/prt_taskself_id.c", 67 "$OSTOPDIR/core/kernel/tick/prt_tick.c", 68 "$OSTOPDIR/core/kernel/tick/prt_tick_init.c", 69 "$OSTOPDIR/core/kernel/timer/prt_timer.c", 70 "$OSTOPDIR/core/kernel/timer/prt_timer_minor.c", 71] 72 73KERNEL_SWTMR_SOURCES = [ 74 "$OSTOPDIR/core/kernel/timer/swtmr/prt_swtmr.c", 75 "$OSTOPDIR/core/kernel/timer/swtmr/prt_swtmr_init.c", 76 "$OSTOPDIR/core/kernel/timer/swtmr/prt_swtmr_minor.c", 77] 78 79KERNEL_IPC_EVENT_SOURCES = [ 80 "$OSTOPDIR/core/ipc/event/prt_event.c", 81] 82 83KERNEL_IPC_QUEUE_SOURCES = [ 84 "$OSTOPDIR/core/ipc/queue/prt_queue.c", 85 "$OSTOPDIR/core/ipc/queue/prt_queue_del.c", 86 "$OSTOPDIR/core/ipc/queue/prt_queue_init.c", 87 "$OSTOPDIR/core/ipc/queue/prt_queue_minor.c", 88] 89 90KERNEL_IPC_SEM_SOURCES = [ 91 "$OSTOPDIR/core/ipc/sem/prt_sem.c", 92 "$OSTOPDIR/core/ipc/sem/prt_sem_init.c", 93 "$OSTOPDIR/core/ipc/sem/prt_sem_minor.c", 94] 95 96KERNEL_MEM_SOURCES = [ 97 "$OSTOPDIR/mem/prt_mem.c", 98 "$OSTOPDIR/mem/fsc/prt_fscmem.c" 99] 100 101KERNEL_OM_SOURCES = [ 102 "$OSTOPDIR/om/err/prt_err.c", 103 "$OSTOPDIR/om/err/prt_err_init.c", 104 "$OSTOPDIR/om/hook/prt_hook_init.c", 105] 106 107KERNEL_OM_CPUP_SOURCES = [ 108 "$OSTOPDIR/om/cpup/prt_cpup.c", 109 "$OSTOPDIR/om/cpup/prt_cpup_minor.c", 110 "$OSTOPDIR/om/cpup/prt_cpup_thread.c", 111 "$OSTOPDIR/om/cpup/prt_cpup_thread_64.c", 112 "$OSTOPDIR/om/cpup/prt_cpup_thread_init.c", 113 "$OSTOPDIR/om/cpup/prt_cpup_warn.c", 114] 115 116KERNEL_SECURITY_SOURCES = [ 117 "$OSTOPDIR/security/rnd/prt_rnd_set.c" 118] 119 120KERNEL_UTILITY_SOURCES = [ 121 "$OSTOPDIR/utility/lib/prt_lib_math64.c", 122 "$OSTOPDIR/utility/lib/prt_lib_version.c" 123] 124 125KERNEL_FS_INCLUDE_DIRS = [ 126 "$OSTOPDIR/fs/porting", 127 "$OSTOPDIR/fs/vfs", 128 "$OSTOPDIR/fs/littlefs", 129] 130 131KERNEL_FS_SOURCES = [ 132 "$OSTOPDIR/fs/fs.c", 133 "$OSTOPDIR/fs/vfs/vfs_files.c", 134 "$OSTOPDIR/fs/vfs/vfs_fs.c", 135 "$OSTOPDIR/fs/vfs/vfs_init.c", 136 "$OSTOPDIR/fs/vfs/vfs_maps.c", 137 "$OSTOPDIR/fs/vfs/vfs_mount.c", 138 "$OSTOPDIR/fs/vfs/vfs_partition.c", 139 "$OSTOPDIR/fs/littlefs/lfs_adapter.c", 140] 141 142KERNEL_LWIP_INCLUDE_DIRS = [ 143 "$OSTOPDIR/net/lwip-2.1/include" 144] 145 146KERNEL_LWIP_SOURCES = [ 147 "$OSTOPDIR/net/lwip-2.1/src/driverif.c", 148 "$OSTOPDIR/net/lwip-2.1/src/netdb.c", 149 "$OSTOPDIR/net/lwip-2.1/src/sockets.c", 150 "$OSTOPDIR/net/lwip-2.1/src/sys_arch.c", 151 "$OSTOPDIR/net/lwip-2.1/enhancement/src/fixme.c", 152 "$OSTOPDIR/net/lwip-2.1/enhancement/src/lwip_ifaddrs.c", 153] 154 155ARCH_ARMVM7_M_SOURCES = [ 156 "$OSTOPDIR/arch/cpu/armv7-m/common/boot/prt_hw_boot.c", 157 "$OSTOPDIR/arch/cpu/armv7-m/common/exc/prt_exc.c", 158 "$OSTOPDIR/arch/cpu/armv7-m/common/hwi/prt_hwi.c", 159 "$OSTOPDIR/arch/cpu/armv7-m/common/hwi/prt_vi_dispatch.c", 160 "$OSTOPDIR/arch/cpu/armv7-m/common/tick/prt_hw_tick.c", 161 "$OSTOPDIR/arch/cpu/armv7-m/common/tick/prt_hw_tick_minor.c", 162 "$OSTOPDIR/arch/cpu/armv7-m/common/prt_port.c", 163] 164 165ARCH_ARMVM7_M_INCLUDE_DIRS = [ 166 "$OSTOPDIR/arch/cpu/armv7-m/common", 167] 168 169ARCH_CORTEX_M4_SOURCES = [ 170 "$OSTOPDIR/arch/cpu/armv7-m/cortex-m4/prt_dispatch.S", 171 "$OSTOPDIR/arch/cpu/armv7-m/cortex-m4/prt_div64.c", 172 "$OSTOPDIR/arch/cpu/armv7-m/cortex-m4/prt_hw.S", 173 "$OSTOPDIR/arch/cpu/armv7-m/cortex-m4/prt_hw_exc.S", 174 "$OSTOPDIR/arch/cpu/armv7-m/cortex-m4/prt_vector.S", 175] 176 177ARCH_CORTEX_M4_INCLUDE_DIRS = [ 178 "$OSTOPDIR/arch/cpu/armv7-m/cortex-m4", 179] 180