• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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