APPNAME = 'aubio'
-# source VERSION
-for l in open('VERSION').readlines(): exec (l.strip())
+from this_version import *
-VERSION = '.'.join ([str(x) for x in [
- AUBIO_MAJOR_VERSION,
- AUBIO_MINOR_VERSION,
- AUBIO_PATCH_VERSION
- ]]) + AUBIO_VERSION_STATUS
-
-LIB_VERSION = '.'.join ([str(x) for x in [
- LIBAUBIO_LT_CUR,
- LIBAUBIO_LT_REV,
- LIBAUBIO_LT_AGE]])
+VERSION = get_aubio_version()
+LIB_VERSION = get_libaubio_version()
top = '.'
out = 'build'
target_platform = ctx.options.target_platform
ctx.env['DEST_OS'] = target_platform
+ version_dict = get_version_info();
+ ctx.define('AUBIO_VERSION',VERSION)
+ ctx.define('AUBIO_MAJOR_VERSION', version_dict['AUBIO_MAJOR_VERSION'])
+ ctx.define('AUBIO_MINOR_VERSION', version_dict['AUBIO_MINOR_VERSION'])
+ ctx.define('AUBIO_PATCH_VERSION', version_dict['AUBIO_PATCH_VERSION'])
+ ctx.define('AUBIO_VERSION_STATUS', version_dict['AUBIO_VERSION_STATUS'])
+
if ctx.options.build_type == "debug":
ctx.define('DEBUG', 1)
else:
ctx.check_cfg(package = 'libavutil', atleast_version = '52.3.0',
args = '--cflags --libs', uselib_store = 'AVUTIL',
mandatory = ctx.options.enable_avcodec)
- ctx.check_cfg(package = 'libavresample', atleast_version = '1.0.1',
- args = '--cflags --libs', uselib_store = 'AVRESAMPLE',
- mandatory = ctx.options.enable_avcodec)
- if all ( 'HAVE_' + i in ctx.env
- for i in ['AVCODEC', 'AVFORMAT', 'AVUTIL', 'AVRESAMPLE'] ):
- ctx.define('HAVE_LIBAV', 1)
- ctx.msg('Checking for all libav libraries', 'yes')
+ ctx.check_cfg(package = 'libswresample', atleast_version = '2.3.0',
+ args = '--cflags --libs', uselib_store = 'SWRESAMPLE',
+ mandatory = False)
+ if 'HAVE_SWRESAMPLE' not in ctx.env:
+ ctx.check_cfg(package = 'libavresample', atleast_version = '1.0.1',
+ args = '--cflags --libs', uselib_store = 'AVRESAMPLE',
+ mandatory = False)
+
+ msg_check = 'Checking for all libav libraries'
+ if 'HAVE_AVCODEC' not in ctx.env:
+ ctx.msg(msg_check, 'not found (missing avcodec)', color = 'YELLOW')
+ elif 'HAVE_AVFORMAT' not in ctx.env:
+ ctx.msg(msg_check, 'not found (missing avformat)', color = 'YELLOW')
+ elif 'HAVE_AVUTIL' not in ctx.env:
+ ctx.msg(msg_check, 'not found (missing avutil)', color = 'YELLOW')
+ elif 'HAVE_SWRESAMPLE' not in ctx.env and 'HAVE_AVRESAMPLE' not in ctx.env:
+ resample_missing = 'not found (avresample or swresample required)'
+ ctx.msg(msg_check, resample_missing, color = 'YELLOW')
else:
- ctx.msg('Checking for all libav libraries', 'not found', color = 'YELLOW')
+ ctx.msg(msg_check, 'yes')
+ if 'HAVE_SWRESAMPLE' in ctx.env:
+ ctx.define('HAVE_SWRESAMPLE', 1)
+ elif 'HAVE_AVRESAMPLE' in ctx.env:
+ ctx.define('HAVE_AVRESAMPLE', 1)
+ ctx.define('HAVE_LIBAV', 1)
if (ctx.options.enable_wavread != False):
ctx.define('HAVE_WAVREAD', 1)
from waflib import TaskGen
if 'MANDIR' not in bld.env:
bld.env['MANDIR'] = bld.env['DATAROOTDIR'] + '/man'
- bld.env.VERSION = VERSION
+ bld.env.VERSION = str(VERSION)
rule_str = '${TXT2MAN} -t `basename ${TGT} | cut -f 1 -d . | tr a-z A-Z`'
rule_str += ' -r ${PACKAGE}\\ ${VERSION} -P ${PACKAGE}'
rule_str += ' -v ${PACKAGE}\\ User\\\'s\\ manual'
# build documentation from source files using sphinx-build
# note: build in ../doc/_build/html, otherwise waf wont install unsigned files
if bld.env['SPHINX']:
- bld.env.VERSION = VERSION
+ bld.env.VERSION = str(VERSION)
bld( name = 'sphinx',
rule = '${SPHINX} -b html -D release=${VERSION} -D version=${VERSION} -a -q `dirname ${SRC}` `dirname ${TGT}`',
source = 'doc/conf.py',