eive-obsw/gomspace/libparam_client/wscript

70 lines
2.5 KiB
Python

#!/usr/bin/env python
# encoding: utf-8
# Copyright (c) 2013-2018 GomSpace A/S. All rights reserved.
import os
import gs_gcc
import gs_doc
APPNAME = 'param_client'
def options(ctx):
ctx.load('gs_gcc gs_doc')
gs_gcc.gs_recurse(ctx)
gr = ctx.add_option_group('libparam client options')
gr.add_option('--param_client-disable-cmd', action='store_true', help='Disable GOSH commands')
gr.add_option('--param-enable-atomic-access', action='store_true', help='Enable atomic read/write of 16/32/float')
def configure(ctx):
ctx.load('gs_gcc gs_doc')
ctx.env.append_unique('USE_PARAM_CLIENT', ['gscsp', 'util'])
ctx.env.append_unique('FILES_PARAM_CLIENT', ['src/*.c', 'src/rparam/*.c',
'src/pp/*.c', 'src/pp/i2c/*.c', 'src/pp/spi/*.c'])
if not ctx.options.param_client_disable_cmd:
ctx.env.append_unique('FILES_PARAM_CLIENT', ['src/rparam/cmd/*.c', 'src/pp/cmd/*.c'])
if ctx.options.param_enable_atomic_access:
ctx.env.append_unique('DEFINES_PARAM_CLIENT', ['GS_PARAM_ATOMIC_ACCESS=1'])
ctx.gs_register_handler(function='param_gen_4_0', filepath='./tools/waf_param.py')
ctx.gs_register_handler(function='param_gen_4_2', filepath='./tools/waf_param.py')
ctx.gs_register_handler(function='param_gen_4_3', filepath='./tools/waf_param.py')
ctx.gs_add_doxygen(exclude=['*/include/deprecated/param/*', '*/include/gs/param/internal/*'])
gs_gcc.gs_recurse(ctx)
def build(ctx):
gs_gcc.gs_recurse(ctx)
public_include = ctx.gs_include(name=APPNAME,
includes=['include', 'include/deprecated', 'include/deprecated/param'])
if ctx.env.GS_ARCH not in ['avr8']:
ctx.gs_objects(source=ctx.path.ant_glob(ctx.env.FILES_PARAM_CLIENT),
target=APPNAME,
defines=ctx.env.DEFINES_PARAM_CLIENT,
use=ctx.env.USE_PARAM_CLIENT + [public_include])
ctx.gs_shlib(source=ctx.path.ant_glob(ctx.env.FILES_PARAM_CLIENT),
target=APPNAME,
defines=ctx.env.DEFINES_PARAM_CLIENT,
gs_use_shlib=ctx.env.USE_PARAM_CLIENT + [public_include])
ctx.gs_python_bindings(source=ctx.path.ant_glob('src/bindings/python/pyparam.c'),
target=APPNAME,
gs_use_shlib=ctx.env.USE_PARAM_CLIENT + [APPNAME, public_include],
package='libparam')
def gs_dist(ctx):
gs_gcc.gs_recurse(ctx)
ctx.add_default_files(source_module=True)