1# Copyright (C) 2022 Beken Corporation 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//kernel/liteos_m/liteos.gni") 15import("${beken_sdk_dir}/sdkconfig.gni") 16import("${board_adapter_dir}/hals/sdk_dir.gni") 17module_name = get_path_info(rebase_path("."), "name") 18lite_component(module_name) { 19 features = [ ":riscv" ] 20} 21 22static_library("riscv") { 23 sources = [ 24 "riscv/arch_interrupt.c", 25 "riscv/boot_handlers_base.S", 26 "riscv/boot_vectors_liteos_m.S", 27 "riscv/cache.c", 28 "riscv/initfini.c", 29 "riscv/pmp.c", 30 "riscv/reset.c", 31 "riscv/riscv.c", 32 "riscv/riscv_utility.S", 33 "riscv/stack_base.c", 34 "riscv/trap_base.c", 35 ] 36 include_dirs = [ 37 ".", 38 "riscv", 39 "${beken_sdk_dir}/middleware/driver/include/bk_private", 40 ] 41 public_configs = [ 42 ":public", 43 "${beken_sdk_dir}/components/bk_os:public", 44 ] 45} 46config("public") { 47 include_dirs = [ 48 "riscv/include", 49 "riscv/include/bk_private", 50 ] 51 ldflags = [ "-mstrict-align" ] 52} 53