Changeset 3d05616 in serd


Ignore:
Timestamp:
Sep 24, 2017, 10:20:25 AM (8 weeks ago)
Author:
David Robillard <d@…>
Branches:
master, serd1
Children:
7fd30c1
Parents:
a5824db
git-author:
David Robillard <d@…> (09/24/17 10:02:43)
git-committer:
David Robillard <d@…> (09/24/17 10:20:25)
Message:

Clean up wscript

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wscript

    ra5824db r3d05616  
    22import glob
    33import os
    4 import shutil
    5 import subprocess
    64import waflib.Logs as Logs
    75import waflib.Options as Options
     
    144142
    145143    if bld.env.BUILD_TESTS:
    146         test_libs       = libs
    147         test_cflags     = ['']
    148         test_linkflags  = ['']
    149         if not bld.env.NO_COVERAGE:
    150             test_cflags    += ['--coverage']
    151             test_linkflags += ['--coverage']
     144        test_cflags     = [''] if bld.env.NO_COVERAGE else ['--coverage']
     145        test_linkflags  = [''] if bld.env.NO_COVERAGE else ['--coverage']
    152146
    153147        # Profiled static library for test coverage
     
    155149            source       = lib_source,
    156150            includes     = ['.', './src'],
    157             lib          = test_libs,
     151            lib          = libs,
    158152            name         = 'libserd_profiled',
    159153            target       = 'serd_profiled',
     
    163157            linkflags    = test_linkflags)
    164158
    165         # Static profiled serdi for tests
    166         bld(features     = 'c cprogram',
    167             source       = 'src/serdi.c',
    168             includes     = ['.', './src'],
    169             use          = 'libserd_profiled',
    170             lib          = test_libs,
    171             target       = 'serdi_static',
    172             install_path = '',
    173             defines      = defines,
    174             cflags       = test_cflags,
    175             linkflags    = test_linkflags)
    176 
    177         # Unit test program
    178         bld(features     = 'c cprogram',
    179             source       = 'tests/serd_test.c',
    180             includes     = ['.', './src'],
    181             use          = 'libserd_profiled',
    182             lib          = test_libs,
    183             target       = 'serd_test',
    184             install_path = '',
    185             defines      = defines,
    186             cflags       = test_cflags,
    187             linkflags    = test_linkflags)
     159        # Test programs
     160        for prog in [('serdi_static', 'src/serdi.c'),
     161                     ('serd_test', 'tests/serd_test.c')]:
     162            bld(features     = 'c cprogram',
     163                source       = prog[1],
     164                includes     = ['.', './src'],
     165                use          = 'libserd_profiled',
     166                lib          = libs,
     167                target       = prog[0],
     168                install_path = '',
     169                defines      = defines,
     170                cflags       = test_cflags,
     171                linkflags    = test_linkflags)
    188172
    189173    # Utilities
     
    213197
    214198def lint(ctx):
     199    import subprocess
    215200    subprocess.call('cpplint.py --filter=+whitespace/comments,-whitespace/tab,-whitespace/braces,-whitespace/labels,-build/header_guard,-readability/casting,-readability/todo,-build/include src/* serd/*', shell=True)
    216201    subprocess.call('clang-tidy -checks="*,-misc-unused-parameters,-readability-else-after-return,-llvm-header-guard,-google-readability-todo,-clang-analyzer-alpha.*" -extra-arg="-std=c99" -extra-arg="-I." -extra-arg="-Ibuild" ./serd/*.h ./src/*.c ./src/*.h', shell=True)
    217202
    218203def amalgamate(ctx):
     204    import shutil
    219205    shutil.copy('serd/serd.h', 'build/serd.h')
    220     amalgamation = open('build/serd.c', 'w')
    221 
    222     serd_internal_h = open('src/serd_internal.h')
    223     for l in serd_internal_h:
    224         if l == '#include "serd/serd.h"\n':
    225             amalgamation.write('#include "serd.h"\n')
    226         else:
    227             amalgamation.write(l)
    228     serd_internal_h.close()
    229 
    230     for f in lib_source:
    231         fd = open(f)
    232         amalgamation.write('\n/**\n   @file %s\n*/' % f)
    233         header = True
    234         for l in fd:
    235             if header:
    236                 if l == '*/\n':
    237                     header = False
    238             else:
    239                 if l != '#include "serd_internal.h"\n':
    240                     amalgamation.write(l)
    241         fd.close()
    242     amalgamation.close()
     206    with open('build/serd.c', 'w') as amalgamation:
     207        with open('src/serd_internal.h') as serd_internal_h:
     208            for l in serd_internal_h:
     209                amalgamation.write(l.replace('serd/serd.h', 'serd.h'))
     210
     211        for f in lib_source:
     212            with open(f) as fd:
     213                amalgamation.write('\n/**\n   @file %s\n*/' % f)
     214                header = True
     215                for l in fd:
     216                    if header:
     217                        if l == '*/\n':
     218                            header = False
     219                    else:
     220                        if l != '#include "serd_internal.h"\n':
     221                            amalgamation.write(l)
    243222
    244223    for i in ['c', 'h']:
     
    256235
    257236def file_equals(patha, pathb, subst_from='', subst_to=''):
    258     fa = open(patha, 'rU')
    259     fb = open(pathb, 'rU')
    260     for line in fa:
    261         if line.replace(subst_from, subst_to) != fb.readline().replace(subst_from, subst_to):
    262             return False
    263     fa.close()
    264     fb.close()
     237    with open(patha, 'rU') as fa:
     238        with open(pathb, 'rU') as fb:
     239            for linea in fa:
     240                lineb = fb.readline()
     241                if (linea.replace(subst_from, subst_to) !=
     242                    lineb.replace(subst_from, subst_to)):
     243                    return False
    265244    return True
    266245
     
    481460    with open('earl.ttl', 'w') as report:
    482461        report.write('@prefix earl: <http://www.w3.org/ns/earl#> .\n'
    483                      '@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .\n'
    484462                     '@prefix dc: <http://purl.org/dc/elements/1.1/> .\n')
    485463
Note: See TracChangeset for help on using the changeset viewer.