1# Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved. 2# Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without modification, 5# are permitted provided that the following conditions are met: 6# 7# 1. Redistributions of source code must retain the above copyright notice, this list of 8# conditions and the following disclaimer. 9# 10# 2. Redistributions in binary form must reproduce the above copyright notice, this list 11# of conditions and the following disclaimer in the documentation and/or other materials 12# provided with the distribution. 13# 14# 3. Neither the name of the copyright holder nor the names of its contributors may be used 15# to endorse or promote products derived from this software without specific prior written 16# permission. 17# 18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 22# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 23# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 24# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 25# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 26# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 27# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 28# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 30import("//drivers/hdf_core/adapter/khdf/liteos_m/hdf.gni") 31import("//kernel/liteos_m/liteos.gni") 32 33hdf_driver("bsp_config") { 34 asmflags = board_asmflags 35 sources = [ 36 "driver/cfiflash/cfiflash.c", 37 "driver/cfiflash/cfiflash_fs_hal.c", 38 "driver/cfiflash/hdf_cfi.c", 39 "driver/plic.c", 40 "driver/uart.c", 41 "driver/video/fb.c", 42 "driver/video/fb_init.c", 43 "driver/video/fb_mem.c", 44 "driver/video/key_cache.c", 45 "driver/virtgpu.c", 46 "driver/virtinput.c", 47 "driver/virtmmio.c", 48 "driver/virtnet.c", 49 "fs/ff_gen_drv.c", 50 "los_start.S", 51 "main.c", 52 "riscv_hal.c", 53 ] 54 if (!defined(LOSCFG_TEST)) { 55 # kernel's testsuites not enabled, use ower's 56 sources += [ "test/test_demo.c" ] 57 } 58 include_dirs = [ 59 "driver/cfiflash", 60 "driver/video", 61 "hardware", 62 "hardware/adapter", 63 "$LITEOSTHIRDPARTY/FreeBSD/sys/dev/evdev", 64 "$HDF_FRAMEWORKS_PATH/include/utils", 65 "$HDF_FRAMEWORKS_PATH/model/input/driver", 66 "$HDF_PERIPHERAL_PATH/base", 67 "$HDF_PERIPHERAL_PATH/display/interfaces/include", 68 "$HDF_PERIPHERAL_PATH/input/interfaces/include", 69 "//drivers/hdf_core/adapter/khdf/liteos_m/osal/include", 70 "//third_party/bounds_checking_function/include", 71 ] 72 73 deps = [ 74 "hardware", 75 "libc", 76 "ui", 77 ] 78} 79 80config("public") { 81 include_dirs = [ 82 ".", 83 "include", 84 "include/asm", 85 "driver", 86 "fs", 87 "ui", 88 ] 89 90 ldflags = [ 91 "-Wl,-mcmodel=medany", 92 "-Wl,-melf32lriscv", 93 "-nostartfiles", 94 "-Wl,-T" + rebase_path("liteos.ld"), 95 "-nostdlib", 96 ] 97 98 # config force_link_libs from vendor/ohemu/qemu_riscv32_mini_system_demo/config.json 99 ldflags += [ "-L./libs" ] 100 ldflags += [ "-Wl,--whole-archive" ] 101 foreach(force_link_lib, force_link_libs) { 102 ldflags += [ "-l${force_link_lib}" ] 103 } 104 ldflags += [ "-Wl,--no-whole-archive" ] 105 106 libs = [ 107 "nosys", 108 "gcc", 109 "stdc++", 110 "ui", 111 ] 112 113 if (defined(LOSCFG_LIBC_NEWLIB)) { 114 ldflags -= [ "-nostdlib" ] 115 116 libs -= [ "nosys" ] 117 libs += [ 118 "c", 119 "m", 120 ] 121 122 cflags_c = [ 123 "-U__INT32_TYPE__", 124 "-D__INT32_TYPE__=int", 125 "-DLWIP_NO_CTYPE_H=1", 126 ] 127 } 128} 129