diff options
Diffstat (limited to 'bsps/shared/wscript')
-rw-r--r-- | bsps/shared/wscript | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/bsps/shared/wscript b/bsps/shared/wscript new file mode 100644 index 0000000000..13695b6d49 --- /dev/null +++ b/bsps/shared/wscript @@ -0,0 +1,137 @@ +from imp import new_module +from os.path import basename + + +def build(ctx): + source = [] + + # Nothing below this will work on the host. + if ctx.variant == "host": + return + + # version.c + source_version = ["rtems-version.c"] + ctx.bsp.source( + source_version, + alias="version", + features="src_include src_include_rtems src_include_score", + cflags=[ + "-DRTEMS_VERSION=\"%s\"" % ctx.env.RTEMS_VERSION + ] + ) + + source += [ + "cache/nocache.c", + "dev/display/disp_hcms29xx.c", + "dev/display/font_hcms29xx.c", + "dev/flash/am29lv160.c", + "dev/getentropy/getentropy-cpucounter.c", + "dev/i2c/i2c-2b-eeprom.c", + "dev/i2c/i2c-ds1621.c", + "dev/i2c/i2c-sc620.c", + "dev/i2c/spi-flash-m25p40.c", + "dev/i2c/spi-fram-fm25l256.c", + "dev/i2c/spi-memdrv.c", + "dev/i2c/spi-sd-card.c", + "dev/ide/ata.c", + "dev/ide/ata_util.c", + "dev/ide/ide_controller.c", + "dev/rtc/ds1375.c", + "dev/rtc/icm7170.c", + "dev/rtc/icm7170_reg.c", + "dev/rtc/icm7170_reg2.c", + "dev/rtc/icm7170_reg4.c", + "dev/rtc/icm7170_reg8.c", + "dev/rtc/m48t08.c", + "dev/rtc/m48t08_reg.c", + "dev/rtc/m48t08_reg2.c", + "dev/rtc/m48t08_reg4.c", + "dev/rtc/m48t08_reg8.c", + "dev/rtc/mc146818a.c", + "dev/rtc/mc146818a_ioreg.c", + "dev/rtc/rtcprobe.c", + "dev/serial/legacy-console-control.c", + "dev/serial/legacy-console-select.c", + "dev/serial/legacy-console.c", + "dev/serial/mc68681.c", + "dev/serial/mc68681_baud.c", + "dev/serial/mc68681_reg.c", + "dev/serial/mc68681_reg2.c", + "dev/serial/mc68681_reg4.c", + "dev/serial/mc68681_reg8.c", + "dev/serial/ns16550-context.c", + "dev/serial/ns16550.c", + "dev/serial/serprobe.c", + "dev/serial/z85c30.c", + "dev/serial/z85c30_reg.c", + "irq/irq-default-handler.c", + "irq/irq-generic.c", + "irq/irq-info.c", + "irq/irq-legacy.c", + "irq/irq-lock.c", + "irq/irq-server.c", + "irq/irq-shell.c", + "net/cs8900.c", + "net/dec21140.c", + "net/elnk.c", + "net/greth2.c", + "net/i82586.c", + "net/if_dc.c", + "net/if_fxp.c", + "net/open_eth.c", + "net/smc91111.c", + "net/sonic.c", + "start/bootcard.c", + "start/bspreset-empty.c", + "start/bspfatal-default.c", + "start/sbrk.c" + ] + + ctx.bsp.source( + source, + features = "src_include src_include_rtems src_include_networking src_include_score src_include_bsp_common src_include_bsp src_include_bsp_arch", +# includes = ["%s/bsps/%s/%s/include/" % (ctx.srcnode.abspath(), ctx.env.RTEMS_ARCH, ctx.env.RTEMS_BSP)] + ) + + + + + + +""" + # Open the correct sub-wscript and execute build() as waf does not support + # loading arbitrary wscripts. + path = "%s/c/" % ctx.srcnode.abspath() + with open("%s/wscript_%s" % (path, ctx.env.RTEMS_ARCH), "r") as fp: + module = new_module("RTEMS_MODULE") + exec(compile(fp.read(), "%swscript_%s" % (path, ctx.env.RTEMS_ARCH), "exec"), module.__dict__) + module.build(ctx) + + ctx( + target = "rtemsbsp", + use = [ + "auto_libbsp_objects" + ], + includes = ["%s/include/libchip" % ctx.srcnode.abspath()], + features = "c cstlib", + install_path = ctx.env.LIBDIR + ) + + # First file is always installed as "linkcmds" + # XXX: This needs to be removed eventually by fixing the filenames. + if ctx.env.LINKCMDS: + ctx.copy_or_subst( + ctx.env.LINKCMDS[0], + "linkcmds", + "linkcmds_linkcmds" + ) + + for file in ctx.env.LINKCMDS[1:]: + base = basename(file) + ctx.copy_or_subst( + file, + base, + "linkcmds_base" + ) + +""" |