Changeset 6213467 in serd


Ignore:
Timestamp:
Sep 25, 2017, 1:51:56 AM (8 weeks ago)
Author:
David Robillard <d@…>
Branches:
master, serd1
Children:
e96b318
Parents:
e3ed0f0
git-author:
David Robillard <d@…> (09/25/17 01:14:40)
git-committer:
David Robillard <d@…> (09/25/17 01:51:56)
Message:

Clean up wscript

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wscript

    re3ed0f0 r6213467  
    2222    opt.load('compiler_c')
    2323    autowaf.set_options(opt, test=True)
    24     opt.add_option('--no-utils', action='store_true', dest='no_utils',
    25                    help='Do not build command line utilities')
    26     opt.add_option('--stack-check', action='store_true', dest='stack_check',
    27                    help='Include runtime stack sanity checks')
    28     opt.add_option('--static', action='store_true', dest='static',
    29                    help='Build static library')
    30     opt.add_option('--no-shared', action='store_true', dest='no_shared',
    31                    help='Do not build shared library')
    32     opt.add_option('--static-progs', action='store_true', dest='static_progs',
    33                    help='Build programs as static binaries')
    34     opt.add_option('--largefile', action='store_true', dest='largefile',
    35                    help='Build with large file support on 32-bit systems')
    36     opt.add_option('--no-posix', action='store_true', dest='no_posix',
    37                    help='Do not use posix_memalign, posix_fadvise, and fileno, even if present')
     24    flags = {'no-utils':     'Do not build command line utilities',
     25             'stack-check':  'Include runtime stack sanity checks',
     26             'static':       'Build static library',
     27             'no-shared':    'Do not build shared library',
     28             'static-progs': 'Build programs as static binaries',
     29             'largefile':    'Build with large file support on 32-bit systems',
     30             'no-posix':     'Do not use POSIX functions, even if present'}
     31    for name, desc in flags.iteritems():
     32        opt.add_option('--' + name, action='store_true',
     33                       dest=name.replace('-', '_'), help=desc)
    3834
    3935def configure(conf):
     
    4339    autowaf.set_c99_mode(conf)
    4440
    45     conf.env.BUILD_UTILS  = not Options.options.no_utils
    46     conf.env.BUILD_SHARED = not Options.options.no_shared
    47     conf.env.STATIC_PROGS = Options.options.static_progs
    48     conf.env.BUILD_STATIC = (Options.options.static or
    49                              Options.options.static_progs)
     41    conf.env.update({
     42        'BUILD_UTILS':  not Options.options.no_utils,
     43        'BUILD_SHARED': not Options.options.no_shared,
     44        'STATIC_PROGS': Options.options.static_progs,
     45        'BUILD_STATIC': Options.options.static or Options.options.static_progs})
    5046
    5147    if not conf.env.BUILD_SHARED and not conf.env.BUILD_STATIC:
     
    5955
    6056    if not Options.options.no_posix:
    61         conf.check(function_name = 'posix_memalign',
    62                    header_name   = 'stdlib.h',
    63                    define_name   = 'HAVE_POSIX_MEMALIGN',
    64                    defines       = ['_POSIX_C_SOURCE=200809L'],
    65                    mandatory     = False)
    66 
    67         conf.check(function_name = 'posix_fadvise',
    68                    header_name   = 'fcntl.h',
    69                    define_name   = 'HAVE_POSIX_FADVISE',
    70                    defines       = ['_POSIX_C_SOURCE=200809L'],
    71                    mandatory     = False)
    72 
    73         conf.check(function_name = 'fileno',
    74                    header_name   = 'stdio.h',
    75                    define_name   = 'HAVE_FILENO',
    76                    defines       = ['_POSIX_C_SOURCE=200809L'],
    77                    mandatory     = False)
     57        for name, header in {'posix_memalign': 'stdlib.h',
     58                             'posix_fadvise':  'fcntl.h',
     59                             'fileno':         'stdio.h'}.iteritems():
     60            conf.check(function_name = name,
     61                       header_name   = header,
     62                       define_name   = 'HAVE_' + name.upper(),
     63                       defines       = ['_POSIX_C_SOURCE=200809L'],
     64                       mandatory     = False)
    7865
    7966    autowaf.define(conf, 'SERD_VERSION', SERD_VERSION)
     
    8774    print('')
    8875
    89 lib_source = [
    90     'src/byte_source.c',
    91     'src/env.c',
    92     'src/node.c',
    93     'src/reader.c',
    94     'src/string.c',
    95     'src/uri.c',
    96     'src/writer.c',
    97 ]
     76lib_source = ['src/byte_source.c',
     77              'src/env.c',
     78              'src/node.c',
     79              'src/reader.c',
     80              'src/string.c',
     81              'src/uri.c',
     82              'src/writer.c']
    9883
    9984def build(bld):
     
    10691                     {'SERD_MAJOR_VERSION' : SERD_MAJOR_VERSION})
    10792
    108     libflags = ['-fvisibility=hidden']
    109     libs     = ['m']
    110     defines  = []
     93    defines = []
     94    lib_args = {'export_includes': ['.'],
     95                'includes':        ['.', './src'],
     96                'cflags':          ['-fvisibility=hidden'],
     97                'lib':             ['m'],
     98                'vnum':            SERD_VERSION,
     99                'install_path':    '${LIBDIR}'}
    111100    if bld.env.MSVC_COMPILER:
    112         libflags = []
    113         libs     = []
    114         defines  = ['snprintf=_snprintf']
     101        lib_args['cflags'] = []
     102        lib_args['lib']    = []
     103        defines            = ['snprintf=_snprintf']
    115104
    116105    # Shared Library
    117106    if bld.env.BUILD_SHARED:
    118107        bld(features        = 'c cshlib',
    119             export_includes = ['.'],
    120108            source          = lib_source,
    121             includes        = ['.', './src'],
    122             lib             = libs,
    123109            name            = 'libserd',
    124110            target          = 'serd-%s' % SERD_MAJOR_VERSION,
    125             vnum            = SERD_VERSION,
    126             install_path    = '${LIBDIR}',
    127111            defines         = defines + ['SERD_SHARED', 'SERD_INTERNAL'],
    128             cflags          = libflags)
     112            **lib_args)
    129113
    130114    # Static library
    131115    if bld.env.BUILD_STATIC:
    132116        bld(features        = 'c cstlib',
    133             export_includes = ['.'],
    134117            source          = lib_source,
    135             includes        = ['.', './src'],
    136             lib             = libs,
    137118            name            = 'libserd_static',
    138119            target          = 'serd-%s' % SERD_MAJOR_VERSION,
    139             vnum            = SERD_VERSION,
    140             install_path    = '${LIBDIR}',
    141             defines         = defines + ['SERD_INTERNAL'])
     120            defines         = defines + ['SERD_INTERNAL'],
     121            **lib_args)
    142122
    143123    if bld.env.BUILD_TESTS:
    144         test_cflags     = [''] if bld.env.NO_COVERAGE else ['--coverage']
    145         test_linkflags  = [''] if bld.env.NO_COVERAGE else ['--coverage']
     124        test_args = {'includes':     ['.', './src'],
     125                     'cflags':       [''] if bld.env.NO_COVERAGE else ['--coverage'],
     126                     'linkflags':    [''] if bld.env.NO_COVERAGE else ['--coverage'],
     127                     'lib':          lib_args['lib'],
     128                     'install_path': ''}
    146129
    147130        # Profiled static library for test coverage
    148131        bld(features     = 'c cstlib',
    149132            source       = lib_source,
    150             includes     = ['.', './src'],
    151             lib          = libs,
    152133            name         = 'libserd_profiled',
    153134            target       = 'serd_profiled',
    154             install_path = '',
    155135            defines      = defines + ['SERD_INTERNAL'],
    156             cflags       = test_cflags,
    157             linkflags    = test_linkflags)
     136            **test_args)
    158137
    159138        # Test programs
     
    162141            bld(features     = 'c cprogram',
    163142                source       = prog[1],
    164                 includes     = ['.', './src'],
    165143                use          = 'libserd_profiled',
    166                 lib          = libs,
    167144                target       = prog[0],
    168                 install_path = '',
    169145                defines      = defines,
    170                 cflags       = test_cflags,
    171                 linkflags    = test_linkflags)
     146                **test_args)
    172147
    173148    # Utilities
     
    178153                  includes     = ['.', './src'],
    179154                  use          = 'libserd',
    180                   lib          = libs,
     155                  lib          = lib_args['lib'],
    181156                  install_path = '${BINDIR}')
    182157        if not bld.env.BUILD_SHARED or bld.env.STATIC_PROGS:
Note: See TracChangeset for help on using the changeset viewer.