70 lines
2.5 KiB
Python
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)
|