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 "//drivers/hdf_core/interfaces/inner_api/osal/shared", 71 "//third_party/bounds_checking_function/include", 72 ] 73 74 deps = [ 75 "hardware", 76 "libc", 77 "ui", 78 ] 79} 80 81config("public") { 82 include_dirs = [ 83 ".", 84 "include", 85 "include/asm", 86 "driver", 87 "fs", 88 "ui", 89 ] 90 91 ldflags = [ 92 "-Wl,-mcmodel=medany", 93 "-Wl,-melf32lriscv", 94 "-nostartfiles", 95 "-Wl,-T" + rebase_path("liteos.ld"), 96 "-nostdlib", 97 ] 98 99 # config force_link_libs from vendor/ohemu/qemu_riscv32_mini_system_demo/config.json 100 ldflags += [ "-L./libs" ] 101 ldflags += [ "-Wl,--whole-archive" ] 102 foreach(force_link_lib, force_link_libs) { 103 ldflags += [ "-l${force_link_lib}" ] 104 } 105 ldflags += [ "-Wl,--no-whole-archive" ] 106 107 libs = [ 108 "nosys", 109 "gcc", 110 "stdc++", 111 "ui", 112 ] 113 114 if (defined(LOSCFG_LIBC_NEWLIB)) { 115 ldflags -= [ "-nostdlib" ] 116 117 libs -= [ "nosys" ] 118 libs += [ 119 "c", 120 "m", 121 ] 122 123 cflags_c = [ 124 "-U__INT32_TYPE__", 125 "-D__INT32_TYPE__=int", 126 "-DLWIP_NO_CTYPE_H=1", 127 ] 128 } 129} 130