summaryrefslogtreecommitdiffstats
path: root/bsp_drivers.py
diff options
context:
space:
mode:
authorVijay Kumar Banerjee <vijay@rtems.org>2021-02-18 19:31:10 -0700
committerVijay Kumar Banerjee <vijay@rtems.org>2021-03-02 14:32:11 -0700
commitd1517076487ea677799764efcb4313760b68c05e (patch)
tree55fd6d0645f9a2ac277275852e7411d8f703f9b8 /bsp_drivers.py
parentAdd support for building bsp specific net drivers (diff)
downloadrtems-net-legacy-d1517076487ea677799764efcb4313760b68c05e.tar.bz2
bsps: Add support to build from shared bsp folder for specific BSPs
Diffstat (limited to 'bsp_drivers.py')
-rw-r--r--bsp_drivers.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/bsp_drivers.py b/bsp_drivers.py
index 910dcde..9d6631d 100644
--- a/bsp_drivers.py
+++ b/bsp_drivers.py
@@ -33,16 +33,28 @@ import waflib.ConfigSet
def bsp_files(bld):
source_files = {}
include_dirs = {}
- bsp_archs = {}
include_files = []
+ special_case_dirs = {'atsamv': './bsps/arm/atsam',
+ 'lm32_evr': './bsps/lm32',
+ 'lpc24xx_ea': './bsps/arm/shared/'}
+ special_case_sources = {'leon2': ['./bsps/shared/grlib/net/network_interface_add.c',
+ './bsps/shared/grlib/net/greth.c'],
+ 'leon3': ['./bsps/shared/grlib/net/network_interface_add.c',
+ './bsps/shared/grlib/net/greth.c'],
+ 'griscv':['./bsps/shared/grlib/net/network_interface_add.c',
+ './bsps/shared/grlib/net/greth.c']}
+
bsp_list = bld.env.RTEMS_ARCH_BSP_LIST
for bl in bsp_list:
bsp = bl.split('-')[-1]
arch = bl.split('-')[0]
- bsp_archs[bsp] = bl
- for root, dirs, files in os.walk(os.path.join('./bsps', arch, bsp)):
+ if bsp not in special_case_dirs:
+ source_dir = os.walk(os.path.join('./bsps', arch, bsp))
+ else:
+ source_dir = os.walk(special_case_dirs[bsp])
+ for root, dirs, files in source_dir:
include_dirs[bsp] = []
source_files[bsp] = []
for name in files:
@@ -51,4 +63,6 @@ def bsp_files(bld):
if name[-2:] == '.h':
if root not in include_dirs[bsp]:
include_dirs[bsp].append(root)
- return (include_dirs, source_files, bsp_archs)
+ if bsp in special_case_sources:
+ source_files[bsp].extend(special_case_sources[bsp])
+ return (include_dirs, source_files)