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