ctx.load('waf_unit_test')
ctx.load('gnu_dirs')
+ # check for common headers
+ ctx.check(header_name='stdlib.h')
+ ctx.check(header_name='stdio.h')
+ ctx.check(header_name='math.h')
+ ctx.check(header_name='string.h')
+ ctx.check(header_name='limits.h')
+ ctx.check(header_name='getopt.h', mandatory = False)
+ ctx.check(header_name='unistd.h', mandatory = False)
+
target_platform = Options.platform
if ctx.options.target_platform:
target_platform = ctx.options.target_platform
ctx.env['DEST_OS'] = target_platform
- if 'CL.exe' not in ctx.env.CC[0]:
+ if ctx.env.CC_NAME != 'msvc':
ctx.env.CFLAGS += ['-g', '-Wall', '-Wextra']
else:
- ctx.env.CFLAGS += ['-Wall']
+ ctx.env.CFLAGS += ['/W4']
+
+ ctx.check_cc(lib='m', uselib_store='M', mandatory=False)
if target_platform not in ['win32', 'win64']:
ctx.env.CFLAGS += ['-fPIC']
if target_platform == 'darwin' and ctx.options.enable_fat:
ctx.env.CFLAGS += ['-arch', 'i386', '-arch', 'x86_64']
ctx.env.LINKFLAGS += ['-arch', 'i386', '-arch', 'x86_64']
+ MINSDKVER="10.4"
+ ctx.env.CFLAGS += [ '-mmacosx-version-min=' + MINSDKVER ]
+ ctx.env.LINKFLAGS += [ '-mmacosx-version-min=' + MINSDKVER ]
if target_platform in [ 'darwin', 'ios', 'iosimulator']:
if (ctx.options.enable_apple_audio != False):
if (ctx.options.enable_atlas != True):
ctx.options.enable_atlas = False
- # check for required headers
- ctx.check(header_name='stdlib.h')
- ctx.check(header_name='stdio.h')
- ctx.check(header_name='math.h')
- ctx.check(header_name='string.h')
- ctx.check(header_name='limits.h')
-
# check support for C99 __VA_ARGS__ macros
check_c99_varargs = '''
#include <stdio.h>
mandatory = False):
ctx.define('HAVE_C99_VARARGS_MACROS', 1)
- # double precision mode
+ # show a message about enable_double status
if (ctx.options.enable_double == True):
- ctx.define('HAVE_AUBIO_DOUBLE', 1)
+ ctx.msg('Checking for size of smpl_t', 'double')
+ ctx.msg('Checking for size of lsmp_t', 'long double')
else:
- ctx.define('HAVE_AUBIO_DOUBLE', 0)
+ ctx.msg('Checking for size of smpl_t', 'float')
+ ctx.msg('Checking for size of lsmp_t', 'double')
# optionally use complex.h
if (ctx.options.enable_complex == True):
ctx.check(header_name='complex.h')
+ else:
+ ctx.msg('Checking if complex.h is enabled', 'no')
# check for fftw3
if (ctx.options.enable_fftw3 != False or ctx.options.enable_fftw3f != False):
# use memcpy hacks
if (ctx.options.enable_memcpy == True):
ctx.define('HAVE_MEMCPY_HACKS', 1)
- else:
- ctx.define('HAVE_MEMCPY_HACKS', 0)
# write configuration header
ctx.write_config_header('src/config.h')
+ # the following defines will be passed as arguments to the compiler
+ # instead of being written to src/config.h
+
# add some defines used in examples
ctx.define('AUBIO_PREFIX', ctx.env['PREFIX'])
ctx.define('PACKAGE', APPNAME)
+ # double precision mode
+ if (ctx.options.enable_double == True):
+ ctx.define('HAVE_AUBIO_DOUBLE', 1)
+
if (ctx.options.enable_docs != False):
# check if txt2man is installed, optional
try:
ctx.excl += ' **/python.old/*'
ctx.excl += ' **/python/tests/sounds'
ctx.excl += ' **/**.asc'
+ ctx.excl += ' **/.DS_Store'
+ ctx.excl += ' **/.travis.yml'