import xwaf.utils.configs as config_utils


def options(ctx):
    ctx.add_option('--config', action='store', default='')


def configure(conf):
    def make_config(name, flags):
        conf.setenv(name)
        conf.load('xwaf.compiler_xcc')
        conf.env.XCC_FLAGS = flags

    for key, value in CONFIGS.iteritems():
        make_config(key, value)


def build(bld):
    if not config_utils.check_build_config(bld, CONFIGS):
        return

    bld.env.PROJECT_ROOT = '../../..'

    depends_on = ['lib_logging', 'lib_locks']

    bld.env.TARGET_ARCH = 'XCORE-200-EXPLORER'
    #bld.env.XSCOPE = bld.path.find_resource('src/config.xscope')
    bld.env.XSCOPE = 'src/config.xscope'

    prog = bld.program(depends_on=depends_on)


CONFIGS = {
    'SW': ['-O2', '-g', '-DDEBUG_PRINT_ENABLE=1', '-DUSE_HW_LOCK=0'],
    'HW': ['-O2', '-g', '-DDEBUG_PRINT_ENABLE=1', '-DUSE_HW_LOCK=1'],
}

config_utils.register_configs(CONFIGS)
