wscript, **/wscript_build: use ctx to match latest waf docs
authorPaul Brossier <piem@piem.org>
Mon, 9 Jul 2012 23:06:11 +0000 (16:06 -0700)
committerPaul Brossier <piem@piem.org>
Mon, 9 Jul 2012 23:06:11 +0000 (16:06 -0700)
examples/wscript_build
python/aubio/wscript_build
python/wscript_build
src/wscript_build
wscript

index ec55aca464315a3a559737282bdd0ec7062ffad3..3e046566f2916811eabd683f6ff11a2aca5be8a5 100644 (file)
@@ -1,12 +1,12 @@
 # vim:set syntax=python:
 
 # build examples
-sndfileio = bld.new_task_gen(features = 'c',
+sndfileio = ctx.new_task_gen(features = 'c',
     includes = '../src',
     source = ['sndfileio.c'],
     target = 'sndfileio')
 
-utilsio = bld.new_task_gen(name = 'utilsio', features = 'c',
+utilsio = ctx.new_task_gen(name = 'utilsio', features = 'c',
       includes = '../src',
       add_objects = 'sndfileio',
       source = ['utils.c', 'jackio.c'],
@@ -14,8 +14,8 @@ utilsio = bld.new_task_gen(name = 'utilsio', features = 'c',
       target = 'utilsio')
 
 # loop over all *.c filenames in examples to build them all
-for target_name in bld.path.ant_glob('*.c', excl = ['utils.c', 'jackio.c', 'sndfileio.c']):
-  bld.new_task_gen(features = 'c cprogram',
+for target_name in ctx.path.ant_glob('*.c', excl = ['utils.c', 'jackio.c', 'sndfileio.c']):
+  ctx.new_task_gen(features = 'c cprogram',
       add_objects = 'utilsio',
       includes = '../src',
       uselib = ['LASH', 'JACK', 'SNDFILE'],
index 9fc1ddb67cb22350588297cc91a9ffe3b0ee2102..d233dc7be76c8820f098d230f82e0d2702c0934a 100644 (file)
@@ -1,6 +1,6 @@
 # vim:set syntax=python:
 
-pyaubio = bld.new_task_gen(name = 'python-aubio', 
+pyaubio = ctx.new_task_gen(name = 'python-aubio',
   features = 'c cshlib pyext',
   source = '../../swig/aubio.i',
   add_objects = 'sndfileio',
@@ -12,6 +12,6 @@ pyaubio = bld.new_task_gen(name = 'python-aubio',
 pyaubio.install_path = '${PYTHONDIR}/${PACKAGE}'
 
 # install python files 
-bld.install_files('${PYTHONDIR}/${PACKAGE}/', bld.path.ant_glob('**/*.py'))
+ctx.install_files('${PYTHONDIR}/${PACKAGE}/', ctx.path.ant_glob('**/*.py'))
 # install swig generated python file
-bld.install_files('${PYTHONDIR}/${PACKAGE}/', '../../swig/aubiowrapper.py')
+ctx.install_files('${PYTHONDIR}/${PACKAGE}/', '../../swig/aubiowrapper.py')
index 87ac716b94ed749d6cc605ed5c2e2a983739b265..de25a99befaa8c288afd93a8d47017e34a4286f5 100644 (file)
@@ -1,6 +1,6 @@
 # vim:set syntax=python:
 
-bld.add_subdirs('aubio')
+ctx.add_subdirs('aubio')
 # install headers
 for file in ['aubiocut', 'aubiopitch']:
-  bld.install_as('${PREFIX}/bin/' + file, file, chmod = 0755)
+  ctx.install_as('${PREFIX}/bin/' + file, file, chmod = 0755)
index 5a95d7c96b560f5287eabedb3372123342a92d05..f3d06382ce62138e8a69e2a67c9a86a50c1319e8 100644 (file)
@@ -2,22 +2,22 @@
 
 uselib = ['SAMPLERATE']
 if 'HAVE_FFTW3' in conf.get_env():
-  source = bld.path.ant_glob('*.c **/*.c', excl = ['**/ooura_fft8g.c'])
+  source = ctx.path.ant_glob('*.c **/*.c', excl = ['**/ooura_fft8g.c'])
   uselib += ['FFTW3', 'FFTW3F']
 else:
-  source = bld.path.ant_glob('*.c **/*.c')
+  source = ctx.path.ant_glob('*.c **/*.c')
 
 # build libaubio
-bld.shlib(
+ctx.shlib(
     includes = ['.'],
     source = source,
     target = 'aubio',
     lib = 'm',
     uselib = uselib,
-    vnum = bld.env['LIB_VERSION'])
+    vnum = ctx.env['LIB_VERSION'])
 
 # install headers, except _priv.h ones
-bld.install_files('${PREFIX}/include/aubio/',
-       bld.path.ant_glob('**/*.h',
+ctx.install_files('${PREFIX}/include/aubio/',
+       ctx.path.ant_glob('**/*.h',
        exclude = ['_priv.h', 'config.h']),
        relative_trick=True)
diff --git a/wscript b/wscript
index 7b8724dd2b3e42e5a87e84cfa8a86dfb8aee4472..6625b5be2e7cf259fbb39c238d6518c6e62447d5 100644 (file)
--- a/wscript
+++ b/wscript
@@ -30,172 +30,169 @@ if os.path.exists('src/config.h') or os.path.exists('Makefile'):
 top = '.'
 out = 'build'
 
-def init(opt):
-  pass
-
-def options(opt):
-  opt.add_option('--enable-double', action='store_true', default=False,
+def options(ctx):
+  ctx.add_option('--enable-double', action='store_true', default=False,
       help='compile aubio in double precision mode')
-  opt.add_option('--enable-fftw', action='store_true', default=False,
+  ctx.add_option('--enable-fftw', action='store_true', default=False,
       help='compile with ooura instead of fftw')
-  opt.add_option('--enable-fftw3f', action='store_true', default=False,
+  ctx.add_option('--enable-fftw3f', action='store_true', default=False,
       help='compile with fftw3 instead of fftw3f')
-  opt.add_option('--enable-complex', action='store_true', default=False,
+  ctx.add_option('--enable-complex', action='store_true', default=False,
       help='compile with C99 complex')
-  opt.add_option('--enable-jack', action='store_true', default=False,
+  ctx.add_option('--enable-jack', action='store_true', default=False,
       help='compile with jack support')
-  opt.add_option('--enable-lash', action='store_true', default=False,
+  ctx.add_option('--enable-lash', action='store_true', default=False,
       help='compile with lash support')
-  opt.add_option('--enable-sndfile', action='store_true', default=False,
+  ctx.add_option('--enable-sndfile', action='store_true', default=False,
       help='compile with libsndfile support')
-  opt.add_option('--enable-samplerate', action='store_true', default=False,
+  ctx.add_option('--enable-samplerate', action='store_true', default=False,
       help='compile with libsamplerate support')
-  opt.add_option('--enable-swig', action='store_true', default=False,
+  ctx.add_option('--enable-swig', action='store_true', default=False,
       help='compile with swig support (obsolete)')
-  opt.add_option('--with-target-platform', type='string',
+  ctx.add_option('--with-target-platform', type='string',
       help='set target platform for cross-compilation', dest='target_platform')
-  opt.load('compiler_c')
-  opt.load('compiler_cxx')
-  opt.load('gnu_dirs')
-  opt.load('waf_unit_test')
+  ctx.load('compiler_c')
+  ctx.load('compiler_cxx')
+  ctx.load('gnu_dirs')
+  ctx.load('waf_unit_test')
 
-def configure(conf):
+def configure(ctx):
   import Options
-  conf.check_tool('compiler_c')
-  conf.check_tool('compiler_cxx')
-  conf.check_tool('gnu_dirs') # helpful for autotools transition and .pc generation
-  #conf.check_tool('misc') # needed for subst
-  conf.load('waf_unit_test')
+  ctx.check_tool('compiler_c')
+  ctx.check_tool('compiler_cxx')
+  ctx.check_tool('gnu_dirs') # helpful for autotools transition and .pc generation
+  #ctx.check_tool('misc') # needed for subst
+  ctx.load('waf_unit_test')
 
   if Options.options.target_platform:
     Options.platform = Options.options.target_platform
 
   if Options.platform == 'win32':
-    conf.env['shlib_PATTERN'] = 'lib%s.dll'
+    ctx.env['shlib_PATTERN'] = 'lib%s.dll'
 
   # check for required headers
-  conf.check(header_name='stdlib.h')
-  conf.check(header_name='stdio.h')
-  conf.check(header_name='math.h')
-  conf.check(header_name='string.h')
-  conf.check(header_name='limits.h')
+  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')
 
   # optionally use complex.h
   if (Options.options.enable_complex == True):
-    conf.check(header_name='complex.h')
+    ctx.check(header_name='complex.h')
 
   # check dependencies
   if (Options.options.enable_sndfile == True):
-    conf.check_cfg(package = 'sndfile', atleast_version = '1.0.4',
+    ctx.check_cfg(package = 'sndfile', atleast_version = '1.0.4',
       args = '--cflags --libs')
   if (Options.options.enable_samplerate == True):
-      conf.check_cfg(package = 'samplerate', atleast_version = '0.0.15',
+      ctx.check_cfg(package = 'samplerate', atleast_version = '0.0.15',
         args = '--cflags --libs')
 
   # double precision mode
   if (Options.options.enable_double == True):
-    conf.define('HAVE_AUBIO_DOUBLE', 1)
+    ctx.define('HAVE_AUBIO_DOUBLE', 1)
   else:
-    conf.define('HAVE_AUBIO_DOUBLE', 0)
+    ctx.define('HAVE_AUBIO_DOUBLE', 0)
 
   # check if pkg-config is installed, optional
   try:
-    conf.find_program('pkg-config', var='PKGCONFIG')
-  except conf.errors.ConfigurationError:
-    conf.msg('Could not find pkg-config', 'disabling fftw, jack, and lash')
-    conf.msg('Could not find fftw', 'using ooura')
+    ctx.find_program('pkg-config', var='PKGCONFIG')
+  except ctx.errors.ConfigurationError:
+    ctx.msg('Could not find pkg-config', 'disabling fftw, jack, and lash')
+    ctx.msg('Could not find fftw', 'using ooura')
 
   # optional dependancies using pkg-config
-  if conf.env['PKGCONFIG']:
+  if ctx.env['PKGCONFIG']:
 
     if (Options.options.enable_fftw == True or Options.options.enable_fftw3f == True):
       # one of fftwf or fftw3f
       if (Options.options.enable_fftw3f == True):
-        conf.check_cfg(package = 'fftw3f', atleast_version = '3.0.0',
+        ctx.check_cfg(package = 'fftw3f', atleast_version = '3.0.0',
             args = '--cflags --libs')
         if (Options.options.enable_double == True):
-          conf.msg('Warning', 'fftw3f enabled, but aubio compiled in double precision!')
+          ctx.msg('Warning', 'fftw3f enabled, but aubio compiled in double precision!')
       else:
         # fftw3f not enabled, take most sensible one according to enable_double
         if (Options.options.enable_double == True):
-          conf.check_cfg(package = 'fftw3', atleast_version = '3.0.0',
+          ctx.check_cfg(package = 'fftw3', atleast_version = '3.0.0',
               args = '--cflags --libs')
         else:
-          conf.check_cfg(package = 'fftw3f', atleast_version = '3.0.0',
+          ctx.check_cfg(package = 'fftw3f', atleast_version = '3.0.0',
               args = '--cflags --libs')
-      conf.define('HAVE_FFTW3', 1)
+      ctx.define('HAVE_FFTW3', 1)
     else:
       # fftw disabled, use ooura
-      conf.msg('Fftw disabled', 'using ooura')
+      ctx.msg('Fftw disabled', 'using ooura')
       pass
 
     if (Options.options.enable_jack == True):
-      conf.check_cfg(package = 'jack', atleast_version = '0.15.0',
+      ctx.check_cfg(package = 'jack', atleast_version = '0.15.0',
       args = '--cflags --libs')
 
     if (Options.options.enable_lash == True):
-      conf.check_cfg(package = 'lash-1.0', atleast_version = '0.5.0',
+      ctx.check_cfg(package = 'lash-1.0', atleast_version = '0.5.0',
       args = '--cflags --libs', uselib_store = 'LASH')
 
   # swig
   if (Options.options.enable_swig == True):
     try:
-      conf.find_program('swig', var='SWIG')
-    except conf.errors.ConfigurationError:
-      conf.to_log('swig was not found, not looking for (ignoring)')
+      ctx.find_program('swig', var='SWIG')
+    except ctx.errors.ConfigurationError:
+      ctx.to_log('swig was not found, not looking for (ignoring)')
 
-    if conf.env['SWIG']:
-      conf.check_tool('swig')
-      conf.check_swig_version()
+    if ctx.env['SWIG']:
+      ctx.check_tool('swig')
+      ctx.check_swig_version()
 
       # python
-      if conf.find_program('python'):
-        conf.check_tool('python')
-        conf.check_python_version((2,4,2))
-        conf.check_python_headers()
+      if ctx.find_program('python'):
+        ctx.check_tool('python')
+        ctx.check_python_version((2,4,2))
+        ctx.check_python_headers()
 
   # check support for C99 __VA_ARGS__ macros
   check_c99_varargs = '''
 #include <stdio.h>
 #define AUBIO_ERR(...) fprintf(stderr, __VA_ARGS__)
 '''
-  if conf.check_cc(fragment = check_c99_varargs,
+  if ctx.check_cc(fragment = check_c99_varargs,
       type='cstlib',
       msg = 'Checking for C99 __VA_ARGS__ macro'):
-    conf.define('HAVE_C99_VARARGS_MACROS', 1)
+    ctx.define('HAVE_C99_VARARGS_MACROS', 1)
 
   # write configuration header
-  conf.write_config_header('src/config.h')
+  ctx.write_config_header('src/config.h')
 
   # add some defines used in examples
-  conf.define('AUBIO_PREFIX', conf.env['PREFIX'])
-  conf.define('PACKAGE', APPNAME)
+  ctx.define('AUBIO_PREFIX', ctx.env['PREFIX'])
+  ctx.define('PACKAGE', APPNAME)
 
   # check if docbook-to-man is installed, optional
   try:
-    conf.find_program('docbook-to-man', var='DOCBOOKTOMAN')
-  except conf.errors.ConfigurationError:
-    conf.to_log('docbook-to-man was not found (ignoring)')
+    ctx.find_program('docbook-to-man', var='DOCBOOKTOMAN')
+  except ctx.errors.ConfigurationError:
+    ctx.to_log('docbook-to-man was not found (ignoring)')
 
-def build(bld):
-  bld.env['VERSION'] = VERSION
-  bld.env['LIB_VERSION'] = LIB_VERSION
+def build(ctx):
+  ctx.env['VERSION'] = VERSION
+  ctx.env['LIB_VERSION'] = LIB_VERSION
 
   # add sub directories
-  bld.add_subdirs('src examples')
-  if bld.env['SWIG']:
-    if bld.env['PYTHON']:
-      bld.add_subdirs('python')
+  ctx.add_subdirs('src examples')
+  if ctx.env['SWIG']:
+    if ctx.env['PYTHON']:
+      ctx.add_subdirs('python')
 
   # create the aubio.pc file for pkg-config
-  if bld.env['TARGET_PLATFORM'] == 'linux':
-    aubiopc = bld.new_task_gen('subst')
+  if ctx.env['TARGET_PLATFORM'] == 'linux':
+    aubiopc = ctx.new_task_gen('subst')
     aubiopc.source = 'aubio.pc.in'
     aubiopc.target = 'aubio.pc'
     aubiopc.install_path = '${PREFIX}/lib/pkgconfig'
 
   # build manpages from sgml files
-  if bld.env['DOCBOOKTOMAN']:
+  if ctx.env['DOCBOOKTOMAN']:
     import TaskGen
     TaskGen.declare_chain(
         name    = 'docbooktoman',
@@ -204,24 +201,24 @@ def build(bld):
         ext_out = '.1',
         reentrant = 0,
     )
-    manpages = bld.new_task_gen(name = 'docbooktoman',
-        source=bld.path.ant_glob('doc/*.sgml'))
-    bld.install_files('${MANDIR}/man1', bld.path.ant_glob('doc/*.1'))
+    manpages = ctx.new_task_gen(name = 'docbooktoman',
+        source=ctx.path.ant_glob('doc/*.sgml'))
+    ctx.install_files('${MANDIR}/man1', ctx.path.ant_glob('doc/*.1'))
 
   # install woodblock sound
-  bld.install_files('${PREFIX}/share/sounds/aubio/',
+  ctx.install_files('${PREFIX}/share/sounds/aubio/',
       'sounds/woodblock.aiff')
 
   # build and run the unit tests
-  build_tests(bld)
+  build_tests(ctx)
 
-def shutdown(bld):
+def shutdown(ctx):
   pass
 
 # loop over all *.c filenames in tests/src to build them all
 # target name is filename.c without the .c
-def build_tests(bld):
-  for target_name in bld.path.ant_glob('tests/src/**/*.c'):
+def build_tests(ctx):
+  for target_name in ctx.path.ant_glob('tests/src/**/*.c'):
     includes = ['src']
     uselib = []
     if not str(target_name).endswith('-jack.c'):
@@ -230,14 +227,14 @@ def build_tests(bld):
       extra_source = []
     else:
       # phasevoc-jack needs jack
-      if bld.env['JACK']:
+      if ctx.env['JACK']:
         includes = ['examples']
         uselib = ['JACK']
         extra_source = ['examples/jackio.c']
       else:
         continue
 
-    this_target = bld.new_task_gen(
+    this_target = ctx.new_task_gen(
         features = 'c cprogram test',
         uselib = uselib,
         source = [target_name] + extra_source,