Changeset 633400d for wscript


Ignore:
Timestamp:
Dec 5, 2018, 10:34:39 PM (5 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/cnn, feature/crepe, feature/pitchshift, feature/timestretch, fix/ffmpeg5, master
Children:
283a619a
Parents:
5b46bc3 (diff), f19db54 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into feature/pitchshift

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wscript

    r5b46bc3 r633400d  
    1515APPNAME = 'aubio'
    1616
    17 # source VERSION
    18 for l in open('VERSION').readlines(): exec (l.strip())
    19 
    20 VERSION = '.'.join ([str(x) for x in [
    21     AUBIO_MAJOR_VERSION,
    22     AUBIO_MINOR_VERSION,
    23     AUBIO_PATCH_VERSION
    24     ]]) + AUBIO_VERSION_STATUS
    25 
    26 LIB_VERSION = '.'.join ([str(x) for x in [
    27     LIBAUBIO_LT_CUR,
    28     LIBAUBIO_LT_REV,
    29     LIBAUBIO_LT_AGE]])
     17from this_version import *
     18
     19VERSION = get_aubio_version()
     20LIB_VERSION = get_libaubio_version()
    3021
    3122top = '.'
     
    4839
    4940def options(ctx):
     41    ctx.add_option('--build-type', action = 'store',
     42            default = "release",
     43            choices = ('debug', 'release'),
     44            dest = 'build_type',
     45            help = 'whether to compile with (--build-type=release)' \
     46                    ' or without (--build-type=debug)' \
     47                    ' compiler opimizations [default: release]')
    5048    add_option_enable_disable(ctx, 'fftw3f', default = False,
    5149            help_str = 'compile with fftw3f instead of ooura (recommended)',
     
    5452            help_str = 'compile with fftw3 instead of ooura',
    5553            help_disable_str = 'do not compile with fftw3')
     54    add_option_enable_disable(ctx, 'intelipp', default = False,
     55            help_str = 'use Intel IPP libraries (auto)',
     56            help_disable_str = 'do not use Intel IPP libraries')
    5657    add_option_enable_disable(ctx, 'complex', default = False,
    5758            help_str ='compile with C99 complex',
     
    8788            help_str = 'use CoreFoundation (darwin only) (auto)',
    8889            help_disable_str = 'do not use CoreFoundation framework')
    89     add_option_enable_disable(ctx, 'atlas', default = None,
    90             help_str = 'use Atlas library (auto)',
    91             help_disable_str = 'do not use Atlas library')
     90    add_option_enable_disable(ctx, 'blas', default = False,
     91            help_str = 'use BLAS acceleration library (no)',
     92            help_disable_str = 'do not use BLAS library')
     93    add_option_enable_disable(ctx, 'atlas', default = False,
     94            help_str = 'use ATLAS acceleration library (no)',
     95            help_disable_str = 'do not use ATLAS library')
     96    add_option_enable_disable(ctx, 'wavread', default = True,
     97            help_str = 'compile with source_wavread (default)',
     98            help_disable_str = 'do not compile source_wavread')
     99    add_option_enable_disable(ctx, 'wavwrite', default = True,
     100            help_str = 'compile with source_wavwrite (default)',
     101            help_disable_str = 'do not compile source_wavwrite')
    92102
    93103    add_option_enable_disable(ctx, 'docs', default = None,
     
    95105            help_disable_str = 'do not build documentation')
    96106
     107    add_option_enable_disable(ctx, 'tests', default = True,
     108            help_str = 'build tests (true)',
     109            help_disable_str = 'do not build or run tests')
     110
     111    add_option_enable_disable(ctx, 'examples', default = True,
     112            help_str = 'build examples (true)',
     113            help_disable_str = 'do not build examples')
     114
    97115    ctx.add_option('--with-target-platform', type='string',
    98             help='set target platform for cross-compilation', dest='target_platform')
     116            help='set target platform for cross-compilation',
     117            dest='target_platform')
    99118
    100119    ctx.load('compiler_c')
    101120    ctx.load('waf_unit_test')
    102121    ctx.load('gnu_dirs')
     122    ctx.load('waf_gensyms', tooldir='.')
    103123
    104124def configure(ctx):
     125    target_platform = sys.platform
     126    if ctx.options.target_platform:
     127        target_platform = ctx.options.target_platform
     128
    105129    from waflib import Options
    106     ctx.load('compiler_c')
     130
     131    if target_platform=='emscripten':
     132        ctx.load('c_emscripten')
     133    else:
     134        ctx.load('compiler_c')
     135
    107136    ctx.load('waf_unit_test')
    108137    ctx.load('gnu_dirs')
     138    ctx.load('waf_gensyms', tooldir='.')
    109139
    110140    # check for common headers
     
    118148    ctx.check(header_name='unistd.h', mandatory = False)
    119149
    120     target_platform = sys.platform
    121     if ctx.options.target_platform:
    122         target_platform = ctx.options.target_platform
    123150    ctx.env['DEST_OS'] = target_platform
    124151
     152    if ctx.options.build_type == "debug":
     153        ctx.define('DEBUG', 1)
     154    else:
     155        ctx.define('NDEBUG', 1)
     156
    125157    if ctx.env.CC_NAME != 'msvc':
    126         ctx.env.CFLAGS += ['-g', '-Wall', '-Wextra']
     158        if ctx.options.build_type == "debug":
     159            # no optimization in debug mode
     160            ctx.env.prepend_value('CFLAGS', ['-O0'])
     161        else:
     162            if target_platform == 'emscripten':
     163                # -Oz for small js file generation
     164                ctx.env.prepend_value('CFLAGS', ['-Oz'])
     165            else:
     166                # default to -O2 in release mode
     167                ctx.env.prepend_value('CFLAGS', ['-O2'])
     168        # enable debug symbols and configure warnings
     169        ctx.env.prepend_value('CFLAGS', ['-g', '-Wall', '-Wextra'])
    127170    else:
    128         ctx.env.CFLAGS += ['/W4', '/MD']
    129         ctx.env.CFLAGS += ['/D_CRT_SECURE_NO_WARNINGS']
     171        # enable debug symbols
     172        ctx.env.CFLAGS += ['/Z7']
     173        # /FS flag available in msvc >= 12 (2013)
     174        if 'MSVC_VERSION' in ctx.env and ctx.env.MSVC_VERSION >= 12:
     175            ctx.env.CFLAGS += ['/FS']
     176        ctx.env.LINKFLAGS += ['/DEBUG', '/INCREMENTAL:NO']
     177        # configure warnings
     178        ctx.env.CFLAGS += ['/W4', '/D_CRT_SECURE_NO_WARNINGS']
     179        # ignore "possible loss of data" warnings
     180        ctx.env.CFLAGS += ['/wd4305', '/wd4244', '/wd4245', '/wd4267']
     181        # ignore "unreferenced formal parameter" warnings
     182        ctx.env.CFLAGS += ['/wd4100']
     183        # set optimization level and runtime libs
     184        if (ctx.options.build_type == "release"):
     185            ctx.env.CFLAGS += ['/Ox']
     186            ctx.env.CFLAGS += ['/MD']
     187        else:
     188            assert(ctx.options.build_type == "debug")
     189            ctx.env.CFLAGS += ['/MDd']
    130190
    131191    ctx.check_cc(lib='m', uselib_store='M', mandatory=False)
     
    149209            ctx.define('HAVE_SOURCE_APPLE_AUDIO', 1)
    150210            ctx.define('HAVE_SINK_APPLE_AUDIO', 1)
     211            ctx.msg('Checking for AudioToolbox.framework', 'yes')
     212        else:
     213            ctx.msg('Checking for AudioToolbox.framework', 'no (disabled)',
     214                    color = 'YELLOW')
    151215        if (ctx.options.enable_accelerate != False):
    152216            ctx.define('HAVE_ACCELERATE', 1)
    153217            ctx.env.FRAMEWORK += ['Accelerate']
     218            ctx.msg('Checking for Accelerate framework', 'yes')
     219        else:
     220            ctx.msg('Checking for Accelerate framework', 'no (disabled)',
     221                    color = 'YELLOW')
    154222
    155223    if target_platform in [ 'ios', 'iosimulator' ]:
     
    186254
    187255    if target_platform == 'emscripten':
    188         import os.path
    189         ctx.env.CFLAGS += [ '-I' + os.path.join(os.environ['EMSCRIPTEN'], 'system', 'include') ]
    190         ctx.env.CFLAGS += ['-Oz']
     256        if ctx.options.build_type == "debug":
     257            ctx.env.cshlib_PATTERN = '%s.js'
     258            ctx.env.LINKFLAGS += ['-s','ASSERTIONS=2']
     259            ctx.env.LINKFLAGS += ['-s','SAFE_HEAP=1']
     260            ctx.env.LINKFLAGS += ['-s','ALIASING_FUNCTION_POINTERS=0']
     261            ctx.env.LINKFLAGS += ['-O0']
     262        else:
     263            ctx.env.LINKFLAGS += ['-Oz']
     264            ctx.env.cshlib_PATTERN = '%s.min.js'
     265
     266        # doesnt ship file system support in lib
     267        ctx.env.LINKFLAGS_cshlib += ['-s', 'NO_FILESYSTEM=1']
     268        # put memory file inside generated js files for easier portability
     269        ctx.env.LINKFLAGS += ['--memory-init-file', '0']
    191270        ctx.env.cprogram_PATTERN = "%s.js"
    192         if (ctx.options.enable_atlas != True):
    193             ctx.options.enable_atlas = False
     271        ctx.env.cstlib_PATTERN = '%s.a'
     272
     273        # tell emscripten functions we want to expose
     274        from python.lib.gen_external import get_c_declarations, \
     275                get_cpp_objects_from_c_declarations, \
     276                get_all_func_names_from_lib, \
     277                generate_lib_from_c_declarations
     278        # emscripten can't use double
     279        c_decls = get_c_declarations(usedouble=False)
     280        objects = list(get_cpp_objects_from_c_declarations(c_decls))
     281        # ensure that aubio structs are exported
     282        objects += ['fvec_t', 'cvec_t', 'fmat_t']
     283        lib = generate_lib_from_c_declarations(objects, c_decls)
     284        exported_funcnames = get_all_func_names_from_lib(lib)
     285        c_mangled_names = ['_' + s for s in exported_funcnames]
     286        ctx.env.LINKFLAGS_cshlib += ['-s',
     287                'EXPORTED_FUNCTIONS=%s' % c_mangled_names]
    194288
    195289    # check support for C99 __VA_ARGS__ macros
     
    219313        ctx.msg('Checking if complex.h is enabled', 'no')
    220314
     315    # check for Intel IPP
     316    if (ctx.options.enable_intelipp != False):
     317        has_ipp_headers = ctx.check(header_name=['ippcore.h', 'ippvm.h',
     318            'ipps.h'], mandatory = False)
     319        has_ipp_libs = ctx.check(lib=['ippcore', 'ippvm', 'ipps'],
     320                uselib_store='INTEL_IPP', mandatory = False)
     321        if (has_ipp_headers and has_ipp_libs):
     322            ctx.msg('Checking if Intel IPP is available', 'yes')
     323            ctx.define('HAVE_INTEL_IPP', 1)
     324            if ctx.env.CC_NAME == 'msvc':
     325                # force linking multi-threaded static IPP libraries on Windows
     326                # with msvc
     327                ctx.define('_IPP_SEQUENTIAL_STATIC', 1)
     328        else:
     329            ctx.msg('Checking if Intel IPP is available', 'no')
     330
    221331    # check for fftw3
    222332    if (ctx.options.enable_fftw3 != False or ctx.options.enable_fftw3f != False):
    223333        # one of fftwf or fftw3f
    224334        if (ctx.options.enable_fftw3f != False):
    225             ctx.check_cfg(package = 'fftw3f', atleast_version = '3.0.0',
    226                     args = '--cflags --libs',
     335            ctx.check_cfg(package = 'fftw3f',
     336                    args = '--cflags --libs fftw3f >= 3.0.0',
    227337                    mandatory = ctx.options.enable_fftw3f)
    228338            if (ctx.options.enable_double == True):
     
    233343            # enable_double
    234344            if (ctx.options.enable_double == True):
    235                 ctx.check_cfg(package = 'fftw3', atleast_version = '3.0.0',
    236                         args = '--cflags --libs', mandatory =
    237                         ctx.options.enable_fftw3)
     345                ctx.check_cfg(package = 'fftw3',
     346                        args = '--cflags --libs fftw3 >= 3.0.0.',
     347                        mandatory = ctx.options.enable_fftw3)
    238348            else:
    239                 ctx.check_cfg(package = 'fftw3f', atleast_version = '3.0.0',
    240                         args = '--cflags --libs',
     349                ctx.check_cfg(package = 'fftw3f',
     350                        args = '--cflags --libs fftw3f >= 3.0.0',
    241351                        mandatory = ctx.options.enable_fftw3)
    242352        ctx.define('HAVE_FFTW3', 1)
    243353
    244     # fftw not enabled, use vDSP or ooura
     354    # fftw not enabled, use vDSP, intelIPP or ooura
    245355    if 'HAVE_FFTW3F' in ctx.env.define_key:
    246356        ctx.msg('Checking for FFT implementation', 'fftw3f')
     
    249359    elif 'HAVE_ACCELERATE' in ctx.env.define_key:
    250360        ctx.msg('Checking for FFT implementation', 'vDSP')
     361    elif 'HAVE_INTEL_IPP' in ctx.env.define_key:
     362        ctx.msg('Checking for FFT implementation', 'Intel IPP')
    251363    else:
    252364        ctx.msg('Checking for FFT implementation', 'ooura')
     
    254366    # check for libsndfile
    255367    if (ctx.options.enable_sndfile != False):
    256         ctx.check_cfg(package = 'sndfile', atleast_version = '1.0.4',
    257                 args = '--cflags --libs',
     368        ctx.check_cfg(package = 'sndfile',
     369                args = '--cflags --libs sndfile >= 1.0.4',
    258370                mandatory = ctx.options.enable_sndfile)
    259371
    260372    # check for libsamplerate
     373    if (ctx.options.enable_double):
     374        if (ctx.options.enable_samplerate):
     375            ctx.fatal("Could not compile aubio in double precision mode' \
     376                    ' with libsamplerate")
     377        else:
     378            ctx.options.enable_samplerate = False
     379            ctx.msg('Checking if using samplerate',
     380                    'no (disabled in double precision mode)', color = 'YELLOW')
    261381    if (ctx.options.enable_samplerate != False):
    262         ctx.check_cfg(package = 'samplerate', atleast_version = '0.0.15',
    263                 args = '--cflags --libs',
     382        ctx.check_cfg(package = 'samplerate',
     383                args = '--cflags --libs samplerate >= 0.0.15',
    264384                mandatory = ctx.options.enable_samplerate)
    265385
     
    278398    # check for libav
    279399    if (ctx.options.enable_avcodec != False):
    280         ctx.check_cfg(package = 'libavcodec', atleast_version = '54.35.0',
    281                 args = '--cflags --libs', uselib_store = 'AVCODEC',
     400        ctx.check_cfg(package = 'libavcodec',
     401                args = '--cflags --libs libavcodec >= 54.35.0',
     402                uselib_store = 'AVCODEC',
    282403                mandatory = ctx.options.enable_avcodec)
    283         ctx.check_cfg(package = 'libavformat', atleast_version = '52.3.0',
    284                 args = '--cflags --libs', uselib_store = 'AVFORMAT',
     404        ctx.check_cfg(package = 'libavformat',
     405                args = '--cflags --libs libavformat >= 52.3.0',
     406                uselib_store = 'AVFORMAT',
    285407                mandatory = ctx.options.enable_avcodec)
    286         ctx.check_cfg(package = 'libavutil', atleast_version = '52.3.0',
    287                 args = '--cflags --libs', uselib_store = 'AVUTIL',
     408        ctx.check_cfg(package = 'libavutil',
     409                args = '--cflags --libs libavutil >= 52.3.0',
     410                uselib_store = 'AVUTIL',
    288411                mandatory = ctx.options.enable_avcodec)
    289         ctx.check_cfg(package = 'libavresample', atleast_version = '1.0.1',
    290                 args = '--cflags --libs', uselib_store = 'AVRESAMPLE',
    291                 mandatory = ctx.options.enable_avcodec)
    292         if all ( 'HAVE_' + i in ctx.env
    293                 for i in ['AVCODEC', 'AVFORMAT', 'AVUTIL', 'AVRESAMPLE'] ):
     412        ctx.check_cfg(package = 'libswresample',
     413                args = '--cflags --libs libswresample >= 1.2.0',
     414                uselib_store = 'SWRESAMPLE',
     415                mandatory = False)
     416        if 'HAVE_SWRESAMPLE' not in ctx.env:
     417            ctx.check_cfg(package = 'libavresample',
     418                    args = '--cflags --libs libavresample >= 1.0.1',
     419                    uselib_store = 'AVRESAMPLE',
     420                    mandatory = False)
     421
     422        msg_check = 'Checking for all libav libraries'
     423        if 'HAVE_AVCODEC' not in ctx.env:
     424            ctx.msg(msg_check, 'not found (missing avcodec)', color = 'YELLOW')
     425        elif 'HAVE_AVFORMAT' not in ctx.env:
     426            ctx.msg(msg_check, 'not found (missing avformat)', color = 'YELLOW')
     427        elif 'HAVE_AVUTIL' not in ctx.env:
     428            ctx.msg(msg_check, 'not found (missing avutil)', color = 'YELLOW')
     429        elif 'HAVE_SWRESAMPLE' not in ctx.env \
     430                and 'HAVE_AVRESAMPLE' not in ctx.env:
     431            resample_missing = 'not found (avresample or swresample required)'
     432            ctx.msg(msg_check, resample_missing, color = 'YELLOW')
     433        else:
     434            ctx.msg(msg_check, 'yes')
     435            if 'HAVE_SWRESAMPLE' in ctx.env:
     436                ctx.define('HAVE_SWRESAMPLE', 1)
     437            elif 'HAVE_AVRESAMPLE' in ctx.env:
     438                ctx.define('HAVE_AVRESAMPLE', 1)
    294439            ctx.define('HAVE_LIBAV', 1)
    295             ctx.msg('Checking for all libav libraries', 'yes')
    296         else:
    297             ctx.msg('Checking for all libav libraries', 'not found', color = 'YELLOW')
    298 
    299     ctx.define('HAVE_WAVREAD', 1)
    300     ctx.define('HAVE_WAVWRITE', 1)
    301 
    302     # use ATLAS
    303     if (ctx.options.enable_atlas != False):
    304         ctx.check(header_name = 'atlas/cblas.h', mandatory = ctx.options.enable_atlas)
    305         #ctx.check(lib = 'lapack', uselib_store = 'LAPACK', mandatory = ctx.options.enable_atlas)
    306         ctx.check(lib = 'cblas', uselib_store = 'BLAS', mandatory = ctx.options.enable_atlas)
     440
     441    if (ctx.options.enable_wavread != False):
     442        ctx.define('HAVE_WAVREAD', 1)
     443    ctx.msg('Checking if using source_wavread',
     444            ctx.options.enable_wavread and 'yes' or 'no')
     445    if (ctx.options.enable_wavwrite!= False):
     446        ctx.define('HAVE_WAVWRITE', 1)
     447    ctx.msg('Checking if using sink_wavwrite',
     448            ctx.options.enable_wavwrite and 'yes' or 'no')
     449
     450    # use BLAS/ATLAS
     451    if (ctx.options.enable_blas != False):
     452        ctx.check_cfg(package = 'blas',
     453                args = '--cflags --libs',
     454                uselib_store='BLAS', mandatory = ctx.options.enable_blas)
     455        if 'LIB_BLAS' in ctx.env:
     456            blas_header = None
     457            if ctx.env['LIBPATH_BLAS']:
     458                if 'atlas' in ctx.env['LIBPATH_BLAS'][0]:
     459                    blas_header = 'atlas/cblas.h'
     460                elif 'openblas' in ctx.env['LIBPATH_BLAS'][0]:
     461                    blas_header = 'openblas/cblas.h'
     462            else:
     463                blas_header = 'cblas.h'
     464            ctx.check(header_name = blas_header, mandatory =
     465                    ctx.options.enable_atlas)
    307466
    308467    # use memcpy hacks
     
    315474    # the following defines will be passed as arguments to the compiler
    316475    # instead of being written to src/config.h
     476    ctx.define('HAVE_CONFIG_H', 1)
    317477
    318478    # add some defines used in examples
     
    347507    bld.env['LIB_VERSION'] = LIB_VERSION
    348508
     509    # main source
     510    bld.recurse('src')
     511
    349512    # add sub directories
    350     bld.recurse('src')
    351513    if bld.env['DEST_OS'] not in ['ios', 'iosimulator', 'android']:
    352         bld.recurse('examples')
    353         bld.recurse('tests')
    354 
     514        if bld.env['DEST_OS']=='emscripten' and not bld.options.testcmd:
     515            bld.options.testcmd = 'node %s'
     516        if bld.options.enable_examples:
     517            bld.recurse('examples')
     518        if bld.options.enable_tests:
     519            bld.recurse('tests')
     520
     521    # pkg-config template
    355522    bld( source = 'aubio.pc.in' )
    356523
     524    # documentation
     525    txt2man(bld)
     526    doxygen(bld)
     527    sphinx(bld)
     528
     529    from waflib.Tools import waf_unit_test
     530    bld.add_post_fun(waf_unit_test.summary)
     531    bld.add_post_fun(waf_unit_test.set_exit_code)
     532
     533def txt2man(bld):
    357534    # build manpages from txt files using txt2man
    358535    if bld.env['TXT2MAN']:
    359536        from waflib import TaskGen
    360537        if 'MANDIR' not in bld.env:
    361             bld.env['MANDIR'] = bld.env['PREFIX'] + '/share/man'
     538            bld.env['MANDIR'] = bld.env['DATAROOTDIR'] + '/man'
     539        bld.env.VERSION = VERSION
    362540        rule_str = '${TXT2MAN} -t `basename ${TGT} | cut -f 1 -d . | tr a-z A-Z`'
    363541        rule_str += ' -r ${PACKAGE}\\ ${VERSION} -P ${PACKAGE}'
     
    374552        bld( source = bld.path.ant_glob('doc/*.txt') )
    375553
     554def doxygen(bld):
    376555    # build documentation from source files using doxygen
    377556    if bld.env['DOXYGEN']:
    378         bld( name = 'doxygen', rule = 'doxygen ${SRC} > /dev/null',
     557        bld.env.VERSION = VERSION
     558        rule = '( cat ${SRC} && echo PROJECT_NUMBER=${VERSION}; )'
     559        rule += ' | doxygen - > /dev/null'
     560        bld( name = 'doxygen', rule = rule,
    379561                source = 'doc/web.cfg',
     562                target = '../doc/web/html/index.html',
    380563                cwd = 'doc')
    381         bld.install_files( '${PREFIX}' + '/share/doc/libaubio-doc',
     564        bld.install_files( '${DATAROOTDIR}' + '/doc/libaubio-doc',
    382565                bld.path.ant_glob('doc/web/html/**'),
    383566                cwd = bld.path.find_dir ('doc/web'),
    384567                relative_trick = True)
    385568
    386     # build documentation from source files using sphinx-build
     569def sphinx(bld):
     570    # build documentation from source files using sphinx-build note: build in
     571    # ../doc/_build/html, otherwise waf wont install unsigned files
    387572    if bld.env['SPHINX']:
    388         bld( name = 'sphinx', rule = 'make html',
    389                 source = ['doc/conf.py'] + bld.path.ant_glob('doc/**.rst'),
    390                 cwd = 'doc')
    391         bld.install_files( '${PREFIX}' + '/share/doc/libaubio-doc/sphinx',
     573        bld.env.VERSION = VERSION
     574        bld( name = 'sphinx',
     575                rule = '${SPHINX} -b html -D release=${VERSION}' \
     576                        ' -D version=${VERSION} -a -q' \
     577                        ' `dirname ${SRC}` `dirname ${TGT}`',
     578                source = 'doc/conf.py',
     579                target = '../doc/_build/html/index.html')
     580        bld.install_files( '${DATAROOTDIR}' + '/doc/libaubio-doc/sphinx',
    392581                bld.path.ant_glob('doc/_build/html/**'),
    393                 cwd = bld.path.find_dir ('doc/_build/html'),
     582                cwd = bld.path.find_dir('doc/_build/html'),
    394583                relative_trick = True)
     584
     585# register the previous rules as build rules
     586from waflib.Build import BuildContext
     587
     588class build_txt2man(BuildContext):
     589    cmd = 'txt2man'
     590    fun = 'txt2man'
     591
     592class build_manpages(BuildContext):
     593    cmd = 'manpages'
     594    fun = 'txt2man'
     595
     596class build_sphinx(BuildContext):
     597    cmd = 'sphinx'
     598    fun = 'sphinx'
     599
     600class build_doxygen(BuildContext):
     601    cmd = 'doxygen'
     602    fun = 'doxygen'
    395603
    396604def shutdown(bld):
    397605    from waflib import Logs
    398606    if bld.options.target_platform in ['ios', 'iosimulator']:
    399         msg ='building for %s, contact the author for a commercial license' % bld.options.target_platform
     607        msg ='building for %s, contact the author for a commercial license' \
     608                % bld.options.target_platform
    400609        Logs.pprint('RED', msg)
    401610        msg ='   Paul Brossier <piem@aubio.org>'
     
    403612
    404613def dist(ctx):
    405     ctx.excl  = ' **/.waf-1* **/*~ **/*.pyc **/*.swp **/*.swo **/*.swn **/.lock-w* **/.git*'
     614    ctx.excl  = ' **/.waf*'
     615    ctx.excl += ' **/.git*'
     616    ctx.excl += ' **/*~ **/*.pyc **/*.swp **/*.swo **/*.swn **/.lock-w*'
    406617    ctx.excl += ' **/build/*'
    407618    ctx.excl += ' doc/_build'
     
    411622    ctx.excl += ' **/python/lib/aubio/_aubio.so'
    412623    ctx.excl += ' **.egg-info'
     624    ctx.excl += ' **/.eggs'
     625    ctx.excl += ' **/.pytest_cache'
     626    ctx.excl += ' **/.cache'
    413627    ctx.excl += ' **/**.zip **/**.tar.bz2'
     628    ctx.excl += ' **.tar.bz2'
    414629    ctx.excl += ' **/doc/full/* **/doc/web/*'
     630    ctx.excl += ' **/doc/full.cfg'
    415631    ctx.excl += ' **/python/*.db'
    416632    ctx.excl += ' **/python.old/*'
    417633    ctx.excl += ' **/python/*/*.old'
     634    ctx.excl += ' **/python/lib/aubio/*.so'
    418635    ctx.excl += ' **/python/tests/sounds'
    419636    ctx.excl += ' **/**.asc'
     
    423640    ctx.excl += ' **/.landscape.yml'
    424641    ctx.excl += ' **/.appveyor.yml'
     642    ctx.excl += ' **/.circleci/*'
     643    ctx.excl += ' **/azure-pipelines.yml'
     644    ctx.excl += ' **/.coverage*'
Note: See TracChangeset for help on using the changeset viewer.