waf: boards: change toolchain to a board class attribute
This commit is contained in:
parent
f8727f7362
commit
a8aae048c2
@ -17,6 +17,9 @@ class BoardMeta(type):
|
|||||||
if cls.abstract:
|
if cls.abstract:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if not hasattr(cls, 'toolchain'):
|
||||||
|
cls.toolchain = 'native'
|
||||||
|
|
||||||
board_name = getattr(cls, 'name', name)
|
board_name = getattr(cls, 'name', name)
|
||||||
if board_name in _board_classes:
|
if board_name in _board_classes:
|
||||||
raise Exception('board named %s already exists' % board_name)
|
raise Exception('board named %s already exists' % board_name)
|
||||||
@ -26,6 +29,7 @@ class Board:
|
|||||||
abstract = True
|
abstract = True
|
||||||
|
|
||||||
def configure(self, cfg):
|
def configure(self, cfg):
|
||||||
|
cfg.env.TOOLCHAIN = self.toolchain
|
||||||
cfg.load('toolchain')
|
cfg.load('toolchain')
|
||||||
cfg.load('compiler_cxx compiler_c')
|
cfg.load('compiler_cxx compiler_c')
|
||||||
|
|
||||||
@ -198,107 +202,119 @@ class minlure(linux):
|
|||||||
|
|
||||||
|
|
||||||
class erleboard(linux):
|
class erleboard(linux):
|
||||||
|
toolchain = 'arm-linux-gnueabihf'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(erleboard, self).configure_env(cfg, env)
|
super(erleboard, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-linux-gnueabihf'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_ERLEBOARD',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_ERLEBOARD',
|
||||||
)
|
)
|
||||||
|
|
||||||
class navio(linux):
|
class navio(linux):
|
||||||
|
toolchain = 'arm-linux-gnueabihf'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(navio, self).configure_env(cfg, env)
|
super(navio, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-linux-gnueabihf'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_NAVIO',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_NAVIO',
|
||||||
)
|
)
|
||||||
|
|
||||||
class navio2(linux):
|
class navio2(linux):
|
||||||
|
toolchain = 'arm-linux-gnueabihf'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(navio2, self).configure_env(cfg, env)
|
super(navio2, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-linux-gnueabihf'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_NAVIO2',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_NAVIO2',
|
||||||
)
|
)
|
||||||
|
|
||||||
class zynq(linux):
|
class zynq(linux):
|
||||||
|
toolchain = 'arm-xilinx-linux-gnueabi'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(zynq, self).configure_env(cfg, env)
|
super(zynq, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-xilinx-linux-gnueabi'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_ZYNQ',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_ZYNQ',
|
||||||
)
|
)
|
||||||
|
|
||||||
class bbbmini(linux):
|
class bbbmini(linux):
|
||||||
|
toolchain = 'arm-linux-gnueabihf'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(bbbmini, self).configure_env(cfg, env)
|
super(bbbmini, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-linux-gnueabihf'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_BBBMINI',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_BBBMINI',
|
||||||
)
|
)
|
||||||
|
|
||||||
class pxf(linux):
|
class pxf(linux):
|
||||||
|
toolchain = 'arm-linux-gnueabihf'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(pxf, self).configure_env(cfg, env)
|
super(pxf, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-linux-gnueabihf'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_PXF',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_PXF',
|
||||||
)
|
)
|
||||||
|
|
||||||
class bebop(linux):
|
class bebop(linux):
|
||||||
|
toolchain = 'arm-linux-gnueabihf'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(bebop, self).configure_env(cfg, env)
|
super(bebop, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-linux-gnueabihf'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_BEBOP',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_BEBOP',
|
||||||
)
|
)
|
||||||
env.STATIC_LINKING = True
|
env.STATIC_LINKING = True
|
||||||
|
|
||||||
class raspilot(linux):
|
class raspilot(linux):
|
||||||
|
toolchain = 'arm-linux-gnueabihf'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(raspilot, self).configure_env(cfg, env)
|
super(raspilot, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-linux-gnueabihf'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_RASPILOT',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_RASPILOT',
|
||||||
)
|
)
|
||||||
|
|
||||||
class erlebrain2(linux):
|
class erlebrain2(linux):
|
||||||
|
toolchain = 'arm-linux-gnueabihf'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(erlebrain2, self).configure_env(cfg, env)
|
super(erlebrain2, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-linux-gnueabihf'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_ERLEBRAIN2',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_ERLEBRAIN2',
|
||||||
)
|
)
|
||||||
|
|
||||||
class bhat(linux):
|
class bhat(linux):
|
||||||
|
toolchain = 'arm-linux-gnueabihf'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(bhat, self).configure_env(cfg, env)
|
super(bhat, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-linux-gnueabihf'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_BH',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_BH',
|
||||||
)
|
)
|
||||||
|
|
||||||
class pxfmini(linux):
|
class pxfmini(linux):
|
||||||
|
toolchain = 'arm-linux-gnueabihf'
|
||||||
|
|
||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(pxfmini, self).configure_env(cfg, env)
|
super(pxfmini, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-linux-gnueabihf'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_PXFMINI',
|
CONFIG_HAL_BOARD_SUBTYPE = 'HAL_BOARD_SUBTYPE_LINUX_PXFMINI',
|
||||||
)
|
)
|
||||||
|
|
||||||
class px4(Board):
|
class px4(Board):
|
||||||
abstract = True
|
abstract = True
|
||||||
|
toolchain = 'arm-none-eabi'
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.version = None
|
self.version = None
|
||||||
@ -314,7 +330,6 @@ class px4(Board):
|
|||||||
def configure_env(self, cfg, env):
|
def configure_env(self, cfg, env):
|
||||||
super(px4, self).configure_env(cfg, env)
|
super(px4, self).configure_env(cfg, env)
|
||||||
|
|
||||||
env.TOOLCHAIN = 'arm-none-eabi'
|
|
||||||
env.DEFINES.update(
|
env.DEFINES.update(
|
||||||
CONFIG_HAL_BOARD = 'HAL_BOARD_PX4',
|
CONFIG_HAL_BOARD = 'HAL_BOARD_PX4',
|
||||||
HAVE_STD_NULLPTR_T = 0,
|
HAVE_STD_NULLPTR_T = 0,
|
||||||
|
Loading…
Reference in New Issue
Block a user