Upgrade to waf 1.6.7 and autowaf r52.
authorDavid Robillard <d@drobilla.net>
Thu, 29 Sep 2011 19:17:54 +0000 (19:17 +0000)
committerDavid Robillard <d@drobilla.net>
Thu, 29 Sep 2011 19:17:54 +0000 (19:17 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@10162 d708f5d6-7413-0410-9779-e7cbd77b26cf

42 files changed:
autowaf.py [deleted file]
export/wscript
gtk2_ardour/arcall
gtk2_ardour/ardbg
gtk2_ardour/ardev
gtk2_ardour/ardev_common.sh.in
gtk2_ardour/arldd
gtk2_ardour/arval
gtk2_ardour/wscript
libs/appleutility/wscript
libs/ardour/wscript
libs/audiographer/autowaf.py [deleted file]
libs/audiographer/wscript
libs/clearlooks-newer/wscript
libs/evoral/wscript
libs/gnomecanvas/wscript
libs/gtkmm2ext/wscript
libs/midi++2/wscript
libs/panners/1in2out/wscript
libs/panners/2in2out/wscript
libs/panners/vbap/wscript
libs/panners/wscript
libs/pbd/wscript
libs/qm-dsp/wscript
libs/rubberband/wscript
libs/surfaces/control_protocol/wscript
libs/surfaces/frontier/wscript
libs/surfaces/generic_midi/wscript
libs/surfaces/mackie/wscript
libs/surfaces/osc/wscript
libs/surfaces/powermate/wscript
libs/surfaces/tranzport/wscript
libs/surfaces/wiimote/wscript
libs/surfaces/wscript
libs/taglib/wscript
libs/timecode/wscript
libs/vamp-plugins/wscript
libs/vamp-sdk/wscript
templates/wscript
tools/sanity_check/wscript
waf
wscript

diff --git a/autowaf.py b/autowaf.py
deleted file mode 100644 (file)
index c9ac680..0000000
+++ /dev/null
@@ -1,480 +0,0 @@
-#!/usr/bin/env python
-# Waf utilities for easily building standard unixey packages/libraries
-# Licensed under the GNU GPL v2 or later, see COPYING file for details.
-# Copyright (C) 2008 David Robillard
-# Copyright (C) 2008 Nedko Arnaudov
-
-import Configure
-import Options
-import Utils
-import misc
-import os
-import subprocess
-import sys
-import glob
-
-from TaskGen import feature, before, after
-
-global g_is_child
-g_is_child = False
-
-# Only run autowaf hooks once (even if sub projects call several times)
-global g_step
-g_step = 0
-
-# Compute dependencies globally
-#import preproc
-#preproc.go_absolute = True
-
-@feature('cc', 'cxx')
-@after('apply_lib_vars')
-@before('apply_obj_vars_cc', 'apply_obj_vars_cxx')
-def include_config_h(self):
-       self.env.append_value('INC_PATHS', self.bld.srcnode)
-
-def set_options(opt):
-       "Add standard autowaf options if they havn't been added yet"
-       global g_step
-       if g_step > 0:
-               return
-       opt.tool_options('compiler_cc')
-       opt.tool_options('compiler_cxx')
-       opt.add_option('--debug', action='store_true', default=True, dest='debug',
-                       help="Build debuggable binaries [Default: True]")
-       opt.add_option('--optimize', action='store_false', default=True, dest='debug',
-                       help="Build optimized binaries [Default: False]")
-       opt.add_option('--strict', action='store_true', default=False, dest='strict',
-                       help="Use strict compiler flags and show all warnings [Default: False]")
-       opt.add_option('--docs', action='store_true', default=False, dest='docs',
-                       help="Build documentation - requires doxygen [Default: False]")
-       opt.add_option('--bundle', action='store_true', default=False,
-                       help="Build a self-contained bundle [Default: False]")
-       opt.add_option('--bindir', type='string',
-                       help="Executable programs [Default: PREFIX/bin]")
-       opt.add_option('--libdir', type='string',
-                       help="Libraries [Default: PREFIX/lib]")
-       opt.add_option('--includedir', type='string',
-                       help="Header files [Default: PREFIX/include]")
-       opt.add_option('--datadir', type='string',
-                       help="Shared data [Default: PREFIX/share]")
-       opt.add_option('--configdir', type='string',
-                       help="Configuration data [Default: PREFIX/etc]")
-       opt.add_option('--mandir', type='string',
-                       help="Manual pages [Default: DATADIR/man]")
-       opt.add_option('--htmldir', type='string',
-                       help="HTML documentation [Default: DATADIR/doc/PACKAGE]")
-       opt.add_option('--lv2-user', action='store_true', default=False, dest='lv2_user',
-                       help="Install LV2 bundles to user-local location [Default: False]")
-       if sys.platform == "darwin":
-               opt.add_option('--lv2dir', type='string',
-                               help="LV2 bundles [Default: /Library/Audio/Plug-Ins/LV2]")
-       else:
-               opt.add_option('--lv2dir', type='string',
-                               help="LV2 bundles [Default: LIBDIR/lv2]")
-       g_step = 1
-
-def check_header(conf, name, define='', mandatory=False):
-       "Check for a header iff it hasn't been checked for yet"
-       if type(conf.env['AUTOWAF_HEADERS']) != dict:
-               conf.env['AUTOWAF_HEADERS'] = {}
-
-       checked = conf.env['AUTOWAF_HEADERS']
-       if not name in checked:
-               checked[name] = True
-               includes = '' # search default system include paths
-               if sys.platform == "darwin":
-                       includes = '/opt/local/include'
-               if define != '':
-                       conf.check(header_name=name, includes=includes, define_name=define, mandatory=mandatory)
-               else:
-                       conf.check(header_name=name, includes=includes, mandatory=mandatory)
-
-def nameify(name):
-       return name.replace('/', '_').replace('++', 'PP').replace('-', '_').replace('.', '_')
-
-def check_pkg(conf, name, **args):
-       if not 'mandatory' in args:
-               args['mandatory'] = True
-       "Check for a package iff it hasn't been checked for yet"
-       var_name = 'HAVE_' + nameify(args['uselib_store'])
-       check = not var_name in conf.env
-       if not check and 'atleast_version' in args:
-               # Re-check if version is newer than previous check
-               checked_version = conf.env['VERSION_' + name]
-               if checked_version and checked_version < args['atleast_version']:
-                       check = True;
-       if check:
-               conf.check_cfg(package=name, args="--cflags --libs", **args)
-               found = bool(conf.env[var_name])
-               if found:
-                       conf.define(var_name, int(found))
-                       if 'atleast_version' in args:
-                               conf.env['VERSION_' + name] = args['atleast_version']
-               else:
-                       conf.undefine(var_name)
-                       if args['mandatory'] == True:
-                               conf.fatal("Required package " + name + " not found")
-
-def configure(conf):
-       global g_step
-       if g_step > 1:
-               return
-       def append_cxx_flags(vals):
-               conf.env.append_value('CCFLAGS', vals.split())
-               conf.env.append_value('CXXFLAGS', vals.split())
-       display_header('Global Configuration')
-       conf.check_tool('misc')
-       conf.check_tool('compiler_cc')
-       conf.check_tool('compiler_cxx')
-       conf.env['DOCS'] = Options.options.docs
-       conf.env['DEBUG'] = Options.options.debug
-       conf.env['STRICT'] = Options.options.strict
-       conf.env['PREFIX'] = os.path.abspath(os.path.expanduser(os.path.normpath(conf.env['PREFIX'])))
-       if Options.options.bundle:
-               conf.env['BUNDLE'] = True
-               conf.define('BUNDLE', 1)
-               conf.env['BINDIR'] = conf.env['PREFIX']
-               conf.env['INCLUDEDIR'] = os.path.join(conf.env['PREFIX'], 'Headers')
-               conf.env['LIBDIR'] = os.path.join(conf.env['PREFIX'], 'Libraries')
-               conf.env['DATADIR'] = os.path.join(conf.env['PREFIX'], 'Resources')
-               conf.env['HTMLDIR'] = os.path.join(conf.env['PREFIX'], 'Resources/Documentation')
-               conf.env['MANDIR'] = os.path.join(conf.env['PREFIX'], 'Resources/Man')
-               conf.env['LV2DIR'] = os.path.join(conf.env['PREFIX'], 'PlugIns')
-       else:
-               conf.env['BUNDLE'] = False
-               if Options.options.bindir:
-                       conf.env['BINDIR'] = Options.options.bindir
-               else:
-                       conf.env['BINDIR'] = os.path.join(conf.env['PREFIX'], 'bin')
-               if Options.options.includedir:
-                       conf.env['INCLUDEDIR'] = Options.options.includedir
-               else:
-                       conf.env['INCLUDEDIR'] = os.path.join(conf.env['PREFIX'], 'include')
-               if Options.options.libdir:
-                       conf.env['LIBDIR'] = Options.options.libdir
-               else:
-                       conf.env['LIBDIR'] = os.path.join(conf.env['PREFIX'], 'lib')
-               if Options.options.datadir:
-                       conf.env['DATADIR'] = Options.options.datadir
-               else:
-                       conf.env['DATADIR'] = os.path.join(conf.env['PREFIX'], 'share')
-               if Options.options.configdir:
-                       conf.env['CONFIGDIR'] = Options.options.configdir
-               else:
-                       conf.env['CONFIGDIR'] = os.path.join(conf.env['PREFIX'], 'etc')
-               if Options.options.htmldir:
-                       conf.env['HTMLDIR'] = Options.options.htmldir
-               else:
-                       conf.env['HTMLDIR'] = os.path.join(conf.env['DATADIR'], 'doc', Utils.g_module.APPNAME)
-               if Options.options.mandir:
-                       conf.env['MANDIR'] = Options.options.mandir
-               else:
-                       conf.env['MANDIR'] = os.path.join(conf.env['DATADIR'], 'man')
-               if Options.options.lv2dir:
-                       conf.env['LV2DIR'] = Options.options.lv2dir
-               else:
-                       if Options.options.lv2_user:
-                               if sys.platform == "darwin":
-                                       conf.env['LV2DIR'] = os.path.join(os.getenv('HOME'), 'Library/Audio/Plug-Ins/LV2')
-                               else:
-                                       conf.env['LV2DIR'] = os.path.join(os.getenv('HOME'), '.lv2')
-                       else:
-                               if sys.platform == "darwin":
-                                       conf.env['LV2DIR'] = '/Library/Audio/Plug-Ins/LV2'
-                               else:
-                                       conf.env['LV2DIR'] = os.path.join(conf.env['LIBDIR'], 'lv2')
-               
-       conf.env['BINDIRNAME'] = os.path.basename(conf.env['BINDIR'])
-       conf.env['LIBDIRNAME'] = os.path.basename(conf.env['LIBDIR'])
-       conf.env['DATADIRNAME'] = os.path.basename(conf.env['DATADIR'])
-       conf.env['CONFIGDIRNAME'] = os.path.basename(conf.env['CONFIGDIR'])
-       conf.env['LV2DIRNAME'] = os.path.basename(conf.env['LV2DIR'])
-
-       if Options.options.docs:
-               doxygen = conf.find_program('doxygen')
-               if not doxygen:
-                       conf.fatal("Doxygen is required to build documentation, configure without --docs")
-
-               dot = conf.find_program('dot')
-               if not dot:
-                       conf.fatal("Graphviz (dot) is required to build documentation, configure without --docs")
-               
-       if Options.options.debug:
-               conf.env['CCFLAGS'] = [ '-O0', '-g' ]
-               conf.env['CXXFLAGS'] = [ '-O0',  '-g' ]
-       else:
-               append_cxx_flags('-DNDEBUG')
-
-       if Options.options.strict:
-               conf.env.append_value('CCFLAGS', [ '-std=c99', '-pedantic' ])
-               conf.env.append_value('CXXFLAGS', [ '-ansi', '-Woverloaded-virtual', '-Wnon-virtual-dtor'])
-               append_cxx_flags('-Wall -Wextra -Wno-unused-parameter')
-
-       append_cxx_flags('-fPIC -DPIC -fshow-column')
-
-       display_msg(conf, "Install prefix", conf.env['PREFIX'])
-       display_msg(conf, "Debuggable build", str(conf.env['DEBUG']))
-       display_msg(conf, "Strict compiler flags", str(conf.env['STRICT']))
-       display_msg(conf, "Build documentation", str(conf.env['DOCS']))
-       print()
-
-       g_step = 2
-       
-def set_local_lib(conf, name, has_objects):
-       conf.define('HAVE_' + nameify(name.upper()), 1)
-       if has_objects:
-               if type(conf.env['AUTOWAF_LOCAL_LIBS']) != dict:
-                       conf.env['AUTOWAF_LOCAL_LIBS'] = {}
-               conf.env['AUTOWAF_LOCAL_LIBS'][name.lower()] = True
-       else:
-               if type(conf.env['AUTOWAF_LOCAL_HEADERS']) != dict:
-                       conf.env['AUTOWAF_LOCAL_HEADERS'] = {}
-               conf.env['AUTOWAF_LOCAL_HEADERS'][name.lower()] = True
-
-def use_lib(bld, obj, libs):
-       abssrcdir = os.path.abspath('.')
-       libs_list = libs.split()
-       for l in libs_list:
-               in_headers = l.lower() in bld.env['AUTOWAF_LOCAL_HEADERS']
-               in_libs    = l.lower() in bld.env['AUTOWAF_LOCAL_LIBS']
-               if in_libs:
-                       if hasattr(obj, 'uselib_local'):
-                               obj.uselib_local += ' lib' + l.lower() + ' '
-                       else:
-                               obj.uselib_local = 'lib' + l.lower() + ' '
-               
-               if in_headers or in_libs:
-                       inc_flag = '-iquote ' + os.path.join(abssrcdir, l.lower())
-                       for f in ['CCFLAGS', 'CXXFLAGS']:
-                               if not inc_flag in bld.env[f]:
-                                       bld.env.append_value(f, inc_flag)
-               else:
-                       if hasattr(obj, 'uselib'):
-                               obj.uselib += ' ' + l
-                       else:
-                               obj.uselib = l
-
-
-def display_header(title):
-       Utils.pprint('BOLD', title)
-
-def display_msg(conf, msg, status = None, color = None):
-       color = 'CYAN'
-       if type(status) == bool and status or status == "True":
-               color = 'GREEN'
-       elif type(status) == bool and not status or status == "False":
-               color = 'YELLOW'
-       Utils.pprint('BOLD', "%s :" % msg.ljust(conf.line_just), sep='')
-       Utils.pprint(color, status)
-
-def link_flags(env, lib):
-       return ' '.join(map(lambda x: env['LIB_ST'] % x, env['LIB_' + lib]))
-
-def compile_flags(env, lib):
-       return ' '.join(map(lambda x: env['CPPPATH_ST'] % x, env['CPPPATH_' + lib]))
-
-def set_recursive():
-       global g_is_child
-       g_is_child = True
-
-def is_child():
-       global g_is_child
-       return g_is_child
-
-# Pkg-config file
-def build_pc(bld, name, version, libs):
-       '''Build a pkg-config file for a library.
-       name    -- uppercase variable name     (e.g. 'SOMENAME')
-       version -- version string              (e.g. '1.2.3')
-       libs    -- string/list of dependencies (e.g. 'LIBFOO GLIB')
-       '''
-
-       obj              = bld.new_task_gen('subst')
-       obj.source       = name.lower() + '.pc.in'
-       obj.target       = name.lower() + '.pc'
-       obj.install_path = '${PREFIX}/${LIBDIRNAME}/pkgconfig'
-       pkg_prefix       = bld.env['PREFIX'] 
-       if pkg_prefix[-1] == '/':
-               pkg_prefix = pkg_prefix[:-1]
-       obj.dict = {
-               'prefix'           : pkg_prefix,
-               'exec_prefix'      : '${prefix}',
-               'libdir'           : '${prefix}/' + bld.env['LIBDIRNAME'],
-               'includedir'       : '${prefix}/include',
-               name + '_VERSION'  : version,
-       }
-       if type(libs) != list:
-               libs = libs.split()
-       for i in libs:
-               obj.dict[i + '_LIBS']   = link_flags(bld.env, i)
-               obj.dict[i + '_CFLAGS'] = compile_flags(bld.env, i)
-
-# Doxygen API documentation
-def build_dox(bld, name, version, srcdir, blddir):
-       if not bld.env['DOCS']:
-               return
-       obj = bld.new_task_gen('subst')
-       obj.source = 'doc/reference.doxygen.in'
-       obj.target = 'doc/reference.doxygen'
-       if is_child():
-               src_dir = os.path.join(srcdir, name.lower())
-               doc_dir = os.path.join(blddir, 'default', name.lower(), 'doc')
-       else:
-               src_dir = srcdir
-               doc_dir = os.path.join(blddir, 'default', 'doc')
-       obj.dict = {
-               name + '_VERSION' : version,
-               name + '_SRCDIR'  : os.path.abspath(src_dir),
-               name + '_DOC_DIR' : os.path.abspath(doc_dir)
-       }
-       obj.install_path = ''
-       out1 = bld.new_task_gen('command-output')
-       out1.dependencies = [obj]
-       out1.stdout = '/doc/doxygen.out'
-       out1.stdin = '/doc/reference.doxygen' # whatever..
-       out1.command = 'doxygen'
-       out1.argv = [os.path.abspath(doc_dir) + '/reference.doxygen']
-       out1.command_is_external = True
-
-# Version code file generation
-def build_version_files(header_path, source_path, domain, major, minor, micro):
-       header_path = os.path.abspath(header_path)
-       source_path = os.path.abspath(source_path)
-       text  = "int " + domain + "_major_version = " + str(major) + ";\n"
-       text += "int " + domain + "_minor_version = " + str(minor) + ";\n"
-       text += "int " + domain + "_micro_version = " + str(micro) + ";\n"
-       try:
-               o = open(source_path, 'w')
-               o.write(text)
-               o.close()
-       except IOError:
-               print("Could not open %s for writing\n", source_path)
-               sys.exit(-1)
-
-       text  = "#ifndef __" + domain + "_version_h__\n"
-       text += "#define __" + domain + "_version_h__\n"
-       text += "extern const char* " + domain + "_revision;\n"
-       text += "extern int " + domain + "_major_version;\n"
-       text += "extern int " + domain + "_minor_version;\n"
-       text += "extern int " + domain + "_micro_version;\n"
-       text += "#endif /* __" + domain + "_version_h__ */\n"
-       try:
-               o = open(header_path, 'w')
-               o.write(text)
-               o.close()
-       except IOError:
-               print("Could not open %s for writing\n", header_path)
-               sys.exit(-1)
-               
-       return None
-
-def run_tests(ctx, appname, tests):
-       orig_dir = os.path.abspath(os.curdir)
-       failures = 0
-       base = '..'
-
-       top_level = os.path.abspath(ctx.curdir) != os.path.abspath(os.curdir)
-       if top_level:
-               os.chdir('./build/default/' + appname)
-               base = '../..'
-       else:
-               os.chdir('./build/default')
-
-       lcov = True
-       lcov_log = open('lcov.log', 'w')
-       try:
-               # Clear coverage data
-               subprocess.call('lcov -d ./src -z'.split(),
-                               stdout=lcov_log, stderr=lcov_log)
-       except:
-               lcov = False
-               print("Failed to run lcov, no coverage report will be generated")
-
-
-       # Run all tests
-       for i in tests:
-               print()
-               Utils.pprint('BOLD', 'Running %s test %s' % (appname, i))
-               if subprocess.call(i) == 0:
-                       Utils.pprint('GREEN', 'Passed %s %s' % (appname, i))
-               else:
-                       failures += 1
-                       Utils.pprint('RED', 'Failed %s %s' % (appname, i))
-
-       if lcov:
-               # Generate coverage data
-               coverage_lcov = open('coverage.lcov', 'w')
-               subprocess.call(('lcov -c -d ./src -d ./test -b ' + base).split(),
-                               stdout=coverage_lcov, stderr=lcov_log)
-               coverage_lcov.close()
-               
-               # Strip out unwanted stuff
-               coverage_stripped_lcov = open('coverage-stripped.lcov', 'w')
-               subprocess.call('lcov --remove coverage.lcov *boost* c++*'.split(),
-                               stdout=coverage_stripped_lcov, stderr=lcov_log)
-               coverage_stripped_lcov.close()
-       
-               # Generate HTML coverage output
-               if not os.path.isdir('./coverage'):
-                       os.makedirs('./coverage')
-               subprocess.call('genhtml -o coverage coverage-stripped.lcov'.split(),
-                               stdout=lcov_log, stderr=lcov_log)
-       
-       lcov_log.close()
-
-       print()
-       Utils.pprint('BOLD', 'Summary:', sep=''),
-       if failures == 0:
-               Utils.pprint('GREEN', 'All ' + appname + ' tests passed')
-       else:
-               Utils.pprint('RED', str(failures) + ' ' + appname + ' test(s) failed')
-
-       Utils.pprint('BOLD', 'Coverage:', sep='')
-       print(os.path.abspath('coverage/index.html'))
-
-       os.chdir(orig_dir)
-
-def shutdown():
-       # This isn't really correct (for packaging), but people asking is annoying
-       if Options.commands['install']:
-               try: os.popen("/sbin/ldconfig")
-               except: pass
-
-def build_i18n(bld,srcdir,dir,name,sources):
-       pwd = os.getcwd()
-       os.chdir(os.path.join (srcdir, dir))
-
-       pot_file = '%s.pot' % name
-
-       args = [ 'xgettext',
-                '--keyword=_',
-                '--keyword=N_',
-                '--from-code=UTF-8',
-                '-o', pot_file,
-                '--copyright-holder="Paul Davis"' ]
-       args += sources
-       print 'Updating ', pot_file
-       os.spawnvp (os.P_WAIT, 'xgettext', args)
-       
-       po_files = glob.glob ('po/*.po')
-       languages = [ po.replace ('.po', '') for po in po_files ]
-       
-       for po_file in po_files:
-               args = [ 'msgmerge',
-                        '--update',
-                        po_file,
-                        pot_file ]
-               print 'Updating ', po_file
-               os.spawnvp (os.P_WAIT, 'msgmerge', args)
-               
-       for po_file in po_files:
-               mo_file = po_file.replace ('.po', '.mo')
-               args = [ 'msgfmt',
-                        '-c',
-                        '-f',
-                        '-o',
-                        mo_file,
-                        po_file ]
-               print 'Generating ', po_file
-               os.spawnvp (os.P_WAIT, 'msgfmt', args)
-       os.chdir (pwd)
index 2ab87c4cd97348a2d28ee595f556ca60620f4113..2dce68a01bdcb197b8cff48e3b760962f488d71a 100644 (file)
@@ -1,19 +1,18 @@
 #!/usr/bin/python
 
 import os
-import glob
 
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 def configure(conf):
     pass
 
 def build(bld):
-    presets = glob.glob (os.path.join(bld.get_curdir(), '*.preset'))
-    formats = glob.glob (os.path.join(bld.get_curdir(), '*.format'))
+    presets = bld.path.ant_glob ('*.preset')
+    formats = bld.path.ant_glob ('*.format')
     bld.install_files (os.path.join(bld.env['DATADIR'], 'ardour3', 'export'),
                       presets + formats)
 
-def set_options(opt):
+def options(opt):
     pass
index 6e5d31784b03dc6f207ad10bdea133dace3decd5..703bc741fd0e909c2facbaec7cacab51083e0590 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-. `dirname "$0"`/../build/default/gtk2_ardour/ardev_common_waf.sh
+. `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
 LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
 export ARDOUR_RUNNING_UNDER_VALGRIND=TRUE
 exec valgrind  --error-limit=no --num-callers=50 --tool=callgrind $TOP/$EXECUTABLE --novst "$@"
index 5e19b2bde80e67d87b0992c5b82d85c32f682e47..f0c092cab259b699c65e647dcb8eb46f8ca38b7a 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-. `dirname "$0"`/../build/default/gtk2_ardour/ardev_common_waf.sh
+. `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
 LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
 export ARDOUR_INSIDE_GDB=1
 exec gdb --args $TOP/$EXECUTABLE $@
index 8f0af37d158567d51f11c70e32dd3bf57ea666e1..aee9a481023d257cf0baca0582fd7d8259fb3139 100755 (executable)
@@ -1,4 +1,4 @@
 #!/bin/sh
-. `dirname "$0"`/../build/default/gtk2_ardour/ardev_common_waf.sh
+. `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
 LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
 exec $TOP/$EXECUTABLE "$@"
index 0931bef5833aa34a0f1a6237291ef3366f68dbc6..dc5926aae962bb82eefa75eaebd887c395289b56 100644 (file)
@@ -4,10 +4,10 @@ TOP=`dirname "$0"`/..
 
 libs=$TOP/@LIBS@
 
-export ARDOUR_PATH=$TOP/gtk2_ardour/icons:$TOP/gtk2_ardour/pixmaps:$TOP/build/default/gtk2_ardour:$TOP/gtk2_ardour:.
+export ARDOUR_PATH=$TOP/gtk2_ardour/icons:$TOP/gtk2_ardour/pixmaps:$TOP/build/gtk2_ardour:$TOP/gtk2_ardour:.
 export ARDOUR_SURFACES_PATH=$libs/surfaces/osc:$libs/surfaces/generic_midi:$libs/surfaces/tranzport:$libs/surfaces/powermate:$libs/surfaces/mackie
 export ARDOUR_PANNER_PATH=$libs/panners/2in2out:$libs/panners/1in2out:$libs/panners/vbap
-export ARDOUR_DATA_PATH=$TOP/gtk2_ardour:build/default/gtk2_ardour:.
+export ARDOUR_DATA_PATH=$TOP/gtk2_ardour:build/gtk2_ardour:.
 
 if test -d $HOME/gtk/inst ; then
     export GTK_PATH=~/.ardour3:$libs/clearlooks-newer
index 3d0457d26679f87b875fa634a72298a9af247048..43899e9ab622b49fcb1c4d052c2eb2dd070367cb 100755 (executable)
@@ -1,4 +1,4 @@
 #!/bin/sh
-. `dirname "$0"`/../build/default/gtk2_ardour/ardev_common_waf.sh
+. `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
 LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
 exec ldd $TOP/$EXECUTABLE
index cdd709dbb596c5b8c93d2f52ec966d86c69256d3..e563d7800c664b13cf4a7d6229e0966b4e7be51c 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-. `dirname "$0"`/../build/default/gtk2_ardour/ardev_common_waf.sh
+. `dirname "$0"`/../build/gtk2_ardour/ardev_common_waf.sh
 LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
 export ARDOUR_RUNNING_UNDER_VALGRIND=TRUE
 exec valgrind  --error-limit=no --num-callers=50 --tool=memcheck $TOP/$EXECUTABLE --novst "$@"
index 8f1468c6007b89d85dcae8adfbf5b5816780a5df..12af400800fb5e71886d2ae90f0540092cc8bb44 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
+import waflib.Logs as Logs, waflib.Utils as Utils
 import os
-import glob
 import Options
 import sys
 import TaskGen
@@ -18,8 +18,8 @@ APPNAME = 'gtk2_ardour'
 VERSION = GTK2_ARDOUR_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 path_prefix = 'gtk2_ardour/'
 
@@ -233,10 +233,11 @@ gtk2_ardour_sources = [
         'window_proxy.cc'
 ]
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
+    conf.load('misc')
     autowaf.build_version_files(
         path_prefix + 'version.h',
         path_prefix + 'version.cc',
@@ -261,13 +262,11 @@ def configure(conf):
                       uselib_store='GNOMECANVASMM', atleast_version='2.16')
     autowaf.check_pkg(conf, 'ogg', uselib_store='OGG', atleast_version='1.1.2')
 
-    conf.check_tool('misc') # subst tool
-
-    conf.write_config_header('gtk2ardour-config.h')
+    conf.write_config_header('gtk2ardour-config.h', remove=False)
 
     # Boost headers
-    autowaf.check_header(conf, 'boost/shared_ptr.hpp')
-    autowaf.check_header(conf, 'boost/weak_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
 
 # Add a waf `feature' to allow compilation of things using winegcc
 from TaskGen import feature
@@ -305,12 +304,13 @@ def _doPyp(infileName):
             outStr += _doPyp(incName)
         else:
             outStr += line
+
     # done
     return outStr
     
 def include_processor(task):
-    infileName = task.inputs[0].srcpath(task.env)
-    outfileName = task.outputs[0].bldpath(task.env)
+    infileName = task.inputs[0].srcpath()
+    outfileName = os.path.join(out, task.outputs[0].bldpath())
     fdOut = file (outfileName, "w")
     fdOut.write (_doPyp(infileName))
     fdOut.close ()
@@ -338,9 +338,9 @@ def build(bld):
     # GTK front-end; if we're using VST we build this as a shared library,
     # otherwise it's a normal executabale
     if bld.env['VST_SUPPORT']:
-        obj = bld.new_task_gen(features = 'cxx cc cshlib')
+        obj = bld(features = 'cxx c cxxshlib')
     else:
-        obj = bld.new_task_gen(features = 'cxx cc cprogram')
+        obj = bld(features = 'cxx c cxxprogram')
 
     obj.includes     = ['.']
     obj.source       = gtk2_ardour_sources
@@ -355,15 +355,15 @@ def build(bld):
     obj.uselib       = 'UUID FLAC GLIBMM GTHREAD GTK OGG ALSA CURL DL'
     obj.uselib       += ' GTKMM GNOMECANVASMM '
     obj.uselib       += ' AUDIOUNITS OSX GTKOSX '
-    obj.uselib_local = '''libpbd libmidipp libtaglib libardour libardour_cp
+    obj.use          = '''libpbd libmidipp libtaglib libardour libardour_cp
                           libgtkmm2ext libtaglib libgnomecanvas-2'''
     if sys.platform == 'darwin':
-        obj.uselib_local + ' libappleutility'
+        obj.use += ' libappleutility'
     obj.defines     = [
         'PACKAGE="gtk2_ardour"',
         'VERSIONSTRING="' + bld.env['VERSION'] + '"',
         'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
-        'CONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"',
+        'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
         'MODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"',
         'LOCALEDIR="' + os.path.join(os.path.normpath(bld.env['DATADIR']),
                                      'locale') + '"',
@@ -397,12 +397,12 @@ def build(bld):
     if bld.env['COREAUDIO']:
         TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
         obj.source += [ 'cocoacarbon.mm', 'au_pluginui.mm' ]
-        obj.uselib_local += ' libappleutility '
+        obj.use += ' libappleutility '
 
     if bld.env['VST_SUPPORT']:
         # If we require VST support we build a stub main() and the FST library
         # here using winegcc, and link it to the GTK front-end library
-        obj = bld.new_task_gen (features = 'cxx cc cprogram wine')
+        obj = bld(features = 'cxx c cxxprogram wine')
         obj.source = '''
                 ../libs/fst/fst.c
                 ../libs/fst/fstinfofile.c
@@ -415,7 +415,7 @@ def build(bld):
         obj.linkflags += ['-mwindows', '-Wl,--export-dynamic', '-lpthread']
         obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX']
         obj.uselib = 'ALSA'
-        obj.uselib_local = ['libpbd','libmidipp','libtaglib','libardour',
+        obj.use = ['libpbd','libmidipp','libtaglib','libardour',
                             'libardour_cp','libgtkmm2ext','libtaglib',
                             'gtk2_ardour']
 
@@ -423,24 +423,30 @@ def build(bld):
 
     wrapper_subst_dict = {
             'INSTALL_PREFIX' : bld.env['PREFIX'],
-            'LIBDIR'         : os.path.normpath(bld.env['LIBDIRNAME']),
-            'LIBS'           : 'build/default/libs',
+            'LIBDIR'         : os.path.normpath(bld.env['LIBDIR']),
+            'LIBS'           : 'build/libs',
             'VERSION'        : '3.0',
-            'EXECUTABLE'     : 'build/default/gtk2_ardour/ardour-3.0'
+            'EXECUTABLE'     : 'build/gtk2_ardour/ardour-3.0'
     }
 
-    obj              = bld.new_task_gen('subst')
+    def set_subst_dict(obj, dict):
+        for i in dict:
+            setattr(obj, i, dict[i])
+
+    obj              = bld(features = 'subst', rule= 'chmod 0755 ${TGT}')
     obj.source       = 'ardev_common.sh.in'
     obj.target       = 'ardev_common_waf.sh'
-    obj.chmod        = 0755
+    obj.chmod        = Utils.O755
     obj.dict         = wrapper_subst_dict
+    set_subst_dict(obj, wrapper_subst_dict)
 
-    obj              = bld.new_task_gen('subst')
+    obj              = bld(features = 'subst')
     obj.source       = 'ardour.sh.in'
     obj.target       = 'ardour3'
-    obj.chmod        = 0755
+    obj.chmod        = Utils.O755
     obj.dict         = wrapper_subst_dict
     obj.install_path = bld.env['BINDIR']
+    set_subst_dict(obj, wrapper_subst_dict)
 
     # Font configuration
 
@@ -507,49 +513,47 @@ def build(bld):
         'gtk2_ardour/ardour3_ui_light.rc.in', 'ARDOUR_LIGHT')
     light_rc_subst_dict['COLPREFIX'] = 'ARDOUR_LIGHT'
 
-    obj              = bld.new_task_gen('subst')
+    obj              = bld(features = 'subst')
     obj.source       = [ 'ardour3_ui_dark.rc.in' ]
     obj.target       = 'ardour3_ui_dark.rc.pre'
-    obj.dict         = dark_rc_subst_dict
     obj.install_path = None
+    set_subst_dict(obj, dark_rc_subst_dict)
 
-    obj              = bld.new_task_gen('subst')
+    obj              = bld(features = 'subst')
     obj.source       = [ 'ardour3_ui_light.rc.in' ]
     obj.target       = 'ardour3_ui_light.rc.pre'
-    obj.dict         = light_rc_subst_dict
     obj.install_path = None
+    set_subst_dict(obj, light_rc_subst_dict)
 
-    obj              = bld.new_task_gen('subst')
+    obj              = bld(features = 'subst')
     obj.source       = [ 'ardour3_styles.rc.in' ]
     obj.target       = 'ardour3_dark_styles.rc'
-    obj.dict         = dark_rc_subst_dict
     obj.install_path = None
+    set_subst_dict(obj, dark_rc_subst_dict)
 
-    obj              = bld.new_task_gen('subst')
+    obj              = bld(features = 'subst')
     obj.source       = [ 'ardour3_styles.rc.in' ]
     obj.target       = 'ardour3_light_styles.rc'
-    obj.dict         = light_rc_subst_dict
     obj.install_path = None
+    set_subst_dict(obj, light_rc_subst_dict)
 
-    obj              = bld.new_task_gen('subst')
+    obj              = bld(features = 'subst')
     obj.source       = [ 'ardour3_fonts.rc.in' ]
     obj.target       = 'ardour3_dark_fonts.rc'
-    obj.dict         = dark_rc_subst_dict
     obj.install_path = None
+    set_subst_dict(obj, dark_rc_subst_dict)
 
-    obj              = bld.new_task_gen('subst')
+    obj              = bld(features = 'subst')
     obj.source       = [ 'ardour3_fonts.rc.in' ]
     obj.target       = 'ardour3_light_fonts.rc'
-    obj.dict         = light_rc_subst_dict
     obj.install_path = None
+    set_subst_dict(obj, light_rc_subst_dict)
 
-    obj              = bld.new_task_gen('copy')
+    obj              = bld(rule = 'cp ${SRC} ${TGT}')
     obj.source       = [ 'ardour3_widget_list.rc' ]
     obj.target       = 'ardour3_widgets.rc'
     obj.install_path = None
 
-    bld.use_the_magic()
-
     bld (
         rule   = include_processor,
         source = 'ardour3_ui_dark.rc.pre',
@@ -568,14 +572,14 @@ def build(bld):
         menus_argv = [ '-E', '-P', '-DGTKOSX' ]
     else:
         menus_argv = [ '-E', '-P' ]
-    obj = bld.new_task_gen('command-output')
+    obj = bld(features = 'command-output')
     obj.command = 'cpp'
     obj.command_is_external = True
     obj.no_inputs = True
     obj.argv = menus_argv
     obj.stdin = 'ardour.menus.in'
     obj.stdout = 'ardour.menus'
-    bld.install_files(os.path.join(bld.env['CONFIGDIR'], 'ardour3'),
+    bld.install_files(os.path.join(bld.env['SYSCONFDIR'], 'ardour3'),
                       'ardour.menus')
 
     # Keybindings
@@ -584,15 +588,15 @@ def build(bld):
     # 'SAE-us-nokeypad', 'ergonomic-us'
 
     for b in [ 'mnemonic-us' ] :
-        obj = bld.new_task_gen (
+        obj = bld(
             target = b + '.bindings',
             source = b + '.bindings.in',
             rule = '../tools/fmt-bindings --winkey="%s" --accelmap <${SRC} >${TGT}' % bld.env['WINDOWS_KEY']
             )
-        obj.install_path = os.path.join(bld.env['CONFIGDIR'], 'ardour3')
+        obj.install_path = os.path.join(bld.env['SYSCONFDIR'], 'ardour3')
 
     # not modified at present
-    bld.install_files(os.path.join(bld.env['CONFIGDIR'], 'ardour3'),
+    bld.install_files(os.path.join(bld.env['SYSCONFDIR'], 'ardour3'),
                       'step_editing.bindings')
 
     # Icons/Images
@@ -601,16 +605,16 @@ def build(bld):
     bld.install_files('${DATADIR}/ardour3', 'splash.png')
 
     # Default UI configuration
-    bld.install_files('${CONFIGDIR}/ardour3', 'ardour3_ui_default.conf')
+    bld.install_files('${SYSCONFDIR}/ardour3', 'ardour3_ui_default.conf')
     # Generic widget style mappings
-    bld.install_files('${CONFIGDIR}/ardour3', 'ardour3_widgets.rc')
+    bld.install_files('${SYSCONFDIR}/ardour3', 'ardour3_widgets.rc')
     
     # Default export stuff
-    bld.install_files('${CONFIGDIR}/ardour3/export', 'export/*.format')
+    bld.install_files('${SYSCONFDIR}/ardour3/export', 'export/*.format')
 
     # i18n
     if bld.env['ENABLE_NLS']:
-        mo_files = glob.glob (os.path.join (bld.get_curdir(), 'po/*.mo'))
+        mo_files = bld.path.ant_glob ('po/*.mo')
         for mo in mo_files:
             lang = os.path.basename (mo).replace ('.mo', '')
             bld.install_as (os.path.join(bld.env['PREFIX'], 'share', 'locale',
index 50e7e0200f9e207fc213772b79a8d88197824f5b..e9968f80e80c4cf4c38015b52020e7bad293b21f 100644 (file)
@@ -1,4 +1,5 @@
-import autowaf
+#!/usr/bin/env python
+from waflib.extras import autowaf as autowaf
 import os
 
 libappleutility_sources = [
@@ -20,17 +21,17 @@ libappleutility_sources = [
         'CAXException.cpp'
 ]
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    obj                = bld.new_task_gen('cxx', 'shlib')
+    obj                = bld(features = 'cxx cxxshlib')
     obj.uselib         = 'AUDIOUNITS OSX'
     obj.source         = libappleutility_sources
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes       = ['.']
     obj.name           = 'libappleutility'
     obj.target         = 'appleutility'
index 1b71f58298744c2782fe926966d6aae97d140935..45ef1a5ff87f407f27cf5287a1adc7587a828176 100644 (file)
@@ -1,7 +1,6 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
-import glob
 import Options
 import re
 import subprocess
@@ -26,8 +25,8 @@ APPNAME = 'libardour'
 VERSION = LIBARDOUR_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 path_prefix = 'libs/ardour/'
 
@@ -233,7 +232,7 @@ def ogg_supported():
     out = cmd.communicate()[0].decode('utf-8');
     return re.search ('unknown format', out) == None
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -292,7 +291,7 @@ def configure(conf):
 
     conf.check_cc(fragment = '''
 #include <jack/jack.h>
-void callback(int code, const char* reason, void* arg) { return; }
+void callback(jack_status_t code, const char* reason, void* arg) { return; }
 int main(int argc, char **argv) {
     jack_client_t* c;
     jack_on_info_shutdown(c, callback, (void*) 0);
@@ -341,27 +340,27 @@ int main(int argc, char **argv) {
     if conf.env['HAVE_LILV'] or conf.env['HAVE_SLV2']:
         conf.define ('LV2_SUPPORT', 1)
 
-    conf.write_config_header('libardour-config.h')
+    conf.write_config_header('libardour-config.h', remove=False)
 
     # Boost headers
-    autowaf.check_header(conf, 'boost/shared_ptr.hpp')
-    autowaf.check_header(conf, 'boost/weak_ptr.hpp')
-    autowaf.check_header(conf, 'boost/scoped_ptr.hpp')
-    autowaf.check_header(conf, 'boost/ptr_container/ptr_list.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/scoped_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/ptr_container/ptr_list.hpp')
 
 
 def build(bld):
     # Library
-    obj              = bld.new_task_gen('cxx', 'shlib')
+    obj              = bld(features = 'c cxx cshlib cxxshlib')
     obj.source       = libardour_sources
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.', '../surfaces/control_protocol', '..']
     obj.name         = 'libardour'
     obj.target       = 'ardour'
     obj.uselib       = ['GLIBMM','GTHREAD','AUBIO','SIGCPP','XML','UUID',
                         'JACK','SNDFILE','SAMPLERATE','LRDF','AUDIOUNIT',
                         'OSX','BOOST','CURL','DL']
-    obj.uselib_local = ['libpbd','libmidipp','libevoral','libvamphost',
+    obj.use          = ['libpbd','libmidipp','libevoral','libvamphost',
                         'libvampplugin','libtaglib','librubberband',
                         'libaudiographer']
     obj.vnum         = LIBARDOUR_LIB_VERSION
@@ -369,7 +368,7 @@ def build(bld):
     obj.defines      = [
         'PACKAGE="libardour3"',
         'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
-        'CONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"',
+        'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
         'MODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"',
         'LOCALEDIR="' + os.path.join(
             os.path.normpath(bld.env['DATADIR']), 'locale') + '"',
@@ -405,7 +404,7 @@ def build(bld):
 
     if bld.env['COREAUDIO']:
         obj.source += [ 'coreaudiosource.cc', 'caimportable.cc' ]
-        obj.uselib_local += ['libappleutility']
+        obj.use    += ['libappleutility']
         obj.source += [ 'audio_unit.cc' ]
 
     if bld.env['FPU_OPTIMIZATION']:
@@ -417,7 +416,7 @@ def build(bld):
 
     # i18n
     if bld.env['ENABLE_NLS']:
-        mo_files = glob.glob(os.path.join(bld.get_curdir(), 'po/*.mo'))
+        mo_files = bld.path.ant_glob('po/*.mo')
         for mo in mo_files:
             lang = os.path.basename(mo).replace('.mo', '')
             bld.install_as(os.path.join(bld.env['PREFIX'], 'share', 'locale',
@@ -426,7 +425,7 @@ def build(bld):
 
     if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
         # Unit tests
-        testobj              = bld.new_task_gen('cxx', 'program')
+        testobj              = bld(features = 'cxx cxxprogram')
         testobj.source       = '''
                 test/bbt_test.cpp
                 test/interpolation_test.cpp
@@ -438,14 +437,14 @@ def build(bld):
         testobj.includes     = obj.includes + ['test', '../pbd']
         testobj.uselib       = ['CPPUNIT','SIGCPP','JACK','GLIBMM','GTHREAD',
                                 'SAMPLERATE','XML','LRDF','COREAUDIO']
-        testobj.uselib_local = ['libpbd','libmidipp','libardour']
+        testobj.use          = ['libpbd','libmidipp','libardour']
         testobj.name         = 'libardour-tests'
         testobj.target       = 'run-tests'
         testobj.install_path = ''
         testobj.defines      = [
             'PACKAGE="libardour3test"',
             'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
-            'CONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"',
+            'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
             'MODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"',
             'LOCALEDIR="' + os.path.join(
                 os.path.normpath(bld.env['DATADIR']), 'locale') + '"',
diff --git a/libs/audiographer/autowaf.py b/libs/audiographer/autowaf.py
deleted file mode 100644 (file)
index cee80a5..0000000
+++ /dev/null
@@ -1,439 +0,0 @@
-#!/usr/bin/env python
-# Waf utilities for easily building standard unixey packages/libraries
-# Licensed under the GNU GPL v2 or later, see COPYING file for details.
-# Copyright (C) 2008 David Robillard
-# Copyright (C) 2008 Nedko Arnaudov
-
-import Configure
-import Options
-import Utils
-import misc
-import os
-import subprocess
-import sys
-from TaskGen import feature, before, after
-
-global g_is_child
-g_is_child = False
-
-# Only run autowaf hooks once (even if sub projects call several times)
-global g_step
-g_step = 0
-
-# Compute dependencies globally
-#import preproc
-#preproc.go_absolute = True
-
-@feature('cc', 'cxx')
-@after('apply_lib_vars')
-@before('apply_obj_vars_cc', 'apply_obj_vars_cxx')
-def include_config_h(self):
-       self.env.append_value('INC_PATHS', self.bld.srcnode)
-
-def set_options(opt):
-       "Add standard autowaf options if they havn't been added yet"
-       global g_step
-       if g_step > 0:
-               return
-       opt.tool_options('compiler_cc')
-       opt.tool_options('compiler_cxx')
-       opt.add_option('--debug', action='store_true', default=False, dest='debug',
-                       help="Build debuggable binaries [Default: False]")
-       opt.add_option('--strict', action='store_true', default=False, dest='strict',
-                       help="Use strict compiler flags and show all warnings [Default: False]")
-       opt.add_option('--docs', action='store_true', default=False, dest='docs',
-                       help="Build documentation - requires doxygen [Default: False]")
-       opt.add_option('--bundle', action='store_true', default=False,
-                       help="Build a self-contained bundle [Default: False]")
-       opt.add_option('--bindir', type='string',
-                       help="Executable programs [Default: PREFIX/bin]")
-       opt.add_option('--libdir', type='string',
-                       help="Libraries [Default: PREFIX/lib]")
-       opt.add_option('--includedir', type='string',
-                       help="Header files [Default: PREFIX/include]")
-       opt.add_option('--datadir', type='string',
-                       help="Shared data [Default: PREFIX/share]")
-       opt.add_option('--configdir', type='string',
-                       help="Configuration data [Default: PREFIX/etc]")
-       opt.add_option('--mandir', type='string',
-                       help="Manual pages [Default: DATADIR/man]")
-       opt.add_option('--htmldir', type='string',
-                       help="HTML documentation [Default: DATADIR/doc/PACKAGE]")
-       opt.add_option('--lv2-user', action='store_true', default=False, dest='lv2_user',
-                       help="Install LV2 bundles to user-local location [Default: False]")
-       if sys.platform == "darwin":
-               opt.add_option('--lv2dir', type='string',
-                               help="LV2 bundles [Default: /Library/Audio/Plug-Ins/LV2]")
-       else:
-               opt.add_option('--lv2dir', type='string',
-                               help="LV2 bundles [Default: LIBDIR/lv2]")
-       g_step = 1
-
-def check_header(conf, name, define='', mandatory=False):
-       "Check for a header iff it hasn't been checked for yet"
-       if type(conf.env['AUTOWAF_HEADERS']) != dict:
-               conf.env['AUTOWAF_HEADERS'] = {}
-
-       checked = conf.env['AUTOWAF_HEADERS']
-       if not name in checked:
-               checked[name] = True
-               includes = '' # search default system include paths
-               if sys.platform == "darwin":
-                       includes = '/opt/local/include'
-               if define != '':
-                       conf.check(header_name=name, includes=includes, define_name=define, mandatory=mandatory)
-               else:
-                       conf.check(header_name=name, includes=includes, mandatory=mandatory)
-
-def nameify(name):
-       return name.replace('/', '_').replace('++', 'PP').replace('-', '_').replace('.', '_')
-
-def check_pkg(conf, name, **args):
-       if not 'mandatory' in args:
-               args['mandatory'] = True
-       "Check for a package iff it hasn't been checked for yet"
-       var_name = 'HAVE_' + nameify(args['uselib_store'])
-       check = not var_name in conf.env
-       if not check and 'atleast_version' in args:
-               # Re-check if version is newer than previous check
-               checked_version = conf.env['VERSION_' + name]
-               if checked_version and checked_version < args['atleast_version']:
-                       check = True;
-       if check:
-               conf.check_cfg(package=name, args="--cflags --libs", **args)
-               found = bool(conf.env[var_name])
-               if found:
-                       conf.define(var_name, int(found))
-                       if 'atleast_version' in args:
-                               conf.env['VERSION_' + name] = args['atleast_version']
-               else:
-                       conf.undefine(var_name)
-                       if args['mandatory'] == True:
-                               conf.fatal("Required package " + name + " not found")
-
-def configure(conf):
-       global g_step
-       if g_step > 1:
-               return
-       def append_cxx_flags(vals):
-               conf.env.append_value('CCFLAGS', vals.split())
-               conf.env.append_value('CXXFLAGS', vals.split())
-       conf.line_just = 43
-       display_header('Global Configuration')
-       conf.check_tool('misc')
-       conf.check_tool('compiler_cc')
-       conf.check_tool('compiler_cxx')
-       conf.env['DOCS'] = Options.options.docs
-       conf.env['DEBUG'] = Options.options.debug
-       conf.env['STRICT'] = Options.options.strict
-       conf.env['PREFIX'] = os.path.abspath(os.path.expanduser(os.path.normpath(conf.env['PREFIX'])))
-       if Options.options.bundle:
-               conf.env['BUNDLE'] = True
-               conf.define('BUNDLE', 1)
-               conf.env['BINDIR'] = conf.env['PREFIX']
-               conf.env['INCLUDEDIR'] = os.path.join(conf.env['PREFIX'], 'Headers')
-               conf.env['LIBDIR'] = os.path.join(conf.env['PREFIX'], 'Libraries')
-               conf.env['DATADIR'] = os.path.join(conf.env['PREFIX'], 'Resources')
-               conf.env['HTMLDIR'] = os.path.join(conf.env['PREFIX'], 'Resources/Documentation')
-               conf.env['MANDIR'] = os.path.join(conf.env['PREFIX'], 'Resources/Man')
-               conf.env['LV2DIR'] = os.path.join(conf.env['PREFIX'], 'PlugIns')
-       else:
-               conf.env['BUNDLE'] = False
-               if Options.options.bindir:
-                       conf.env['BINDIR'] = Options.options.bindir
-               else:
-                       conf.env['BINDIR'] = os.path.join(conf.env['PREFIX'], 'bin')
-               if Options.options.includedir:
-                       conf.env['INCLUDEDIR'] = Options.options.includedir
-               else:
-                       conf.env['INCLUDEDIR'] = os.path.join(conf.env['PREFIX'], 'include')
-               if Options.options.libdir:
-                       conf.env['LIBDIR'] = Options.options.libdir
-               else:
-                       conf.env['LIBDIR'] = os.path.join(conf.env['PREFIX'], 'lib')
-               if Options.options.datadir:
-                       conf.env['DATADIR'] = Options.options.datadir
-               else:
-                       conf.env['DATADIR'] = os.path.join(conf.env['PREFIX'], 'share')
-               if Options.options.configdir:
-                       conf.env['CONFIGDIR'] = Options.options.configdir
-               else:
-                       conf.env['CONFIGDIR'] = os.path.join(conf.env['PREFIX'], 'etc')
-               if Options.options.htmldir:
-                       conf.env['HTMLDIR'] = Options.options.htmldir
-               else:
-                       conf.env['HTMLDIR'] = os.path.join(conf.env['DATADIR'], 'doc', Utils.g_module.APPNAME)
-               if Options.options.mandir:
-                       conf.env['MANDIR'] = Options.options.mandir
-               else:
-                       conf.env['MANDIR'] = os.path.join(conf.env['DATADIR'], 'man')
-               if Options.options.lv2dir:
-                       conf.env['LV2DIR'] = Options.options.lv2dir
-               else:
-                       if Options.options.lv2_user:
-                               if sys.platform == "darwin":
-                                       conf.env['LV2DIR'] = os.path.join(os.getenv('HOME'), 'Library/Audio/Plug-Ins/LV2')
-                               else:
-                                       conf.env['LV2DIR'] = os.path.join(os.getenv('HOME'), '.lv2')
-                       else:
-                               if sys.platform == "darwin":
-                                       conf.env['LV2DIR'] = '/Library/Audio/Plug-Ins/LV2'
-                               else:
-                                       conf.env['LV2DIR'] = os.path.join(conf.env['LIBDIR'], 'lv2')
-               
-       conf.env['BINDIRNAME'] = os.path.basename(conf.env['BINDIR'])
-       conf.env['LIBDIRNAME'] = os.path.basename(conf.env['LIBDIR'])
-       conf.env['DATADIRNAME'] = os.path.basename(conf.env['DATADIR'])
-       conf.env['CONFIGDIRNAME'] = os.path.basename(conf.env['CONFIGDIR'])
-       conf.env['LV2DIRNAME'] = os.path.basename(conf.env['LV2DIR'])
-
-       if Options.options.docs:
-               doxygen = conf.find_program('doxygen')
-               if not doxygen:
-                       conf.fatal("Doxygen is required to build documentation, configure without --docs")
-
-               dot = conf.find_program('dot')
-               if not dot:
-                       conf.fatal("Graphviz (dot) is required to build documentation, configure without --docs")
-               
-       if Options.options.debug:
-               conf.env['CCFLAGS'] = [ '-O0', '-g' ]
-               conf.env['CXXFLAGS'] = [ '-O0',  '-g' ]
-       else:
-               append_cxx_flags('-DNDEBUG')
-
-       if Options.options.strict:
-               conf.env.append_value('CCFLAGS', [ '-std=c99', '-pedantic' ])
-               conf.env.append_value('CXXFLAGS', [ '-ansi', '-Woverloaded-virtual', '-Wnon-virtual-dtor'])
-               append_cxx_flags('-Wall -Wextra -Wno-unused-parameter')
-
-       append_cxx_flags('-fPIC -DPIC -fshow-column')
-
-       display_msg(conf, "Install prefix", conf.env['PREFIX'])
-       display_msg(conf, "Debuggable build", str(conf.env['DEBUG']))
-       display_msg(conf, "Strict compiler flags", str(conf.env['STRICT']))
-       display_msg(conf, "Build documentation", str(conf.env['DOCS']))
-       print
-
-       g_step = 2
-       
-def set_local_lib(conf, name, has_objects):
-       conf.define('HAVE_' + nameify(name.upper()), 1)
-       if has_objects:
-               if type(conf.env['AUTOWAF_LOCAL_LIBS']) != dict:
-                       conf.env['AUTOWAF_LOCAL_LIBS'] = {}
-               conf.env['AUTOWAF_LOCAL_LIBS'][name.lower()] = True
-       else:
-               if type(conf.env['AUTOWAF_LOCAL_HEADERS']) != dict:
-                       conf.env['AUTOWAF_LOCAL_HEADERS'] = {}
-               conf.env['AUTOWAF_LOCAL_HEADERS'][name.lower()] = True
-
-def use_lib(bld, obj, libs):
-       abssrcdir = os.path.abspath('.')
-       libs_list = libs.split()
-       for l in libs_list:
-               in_headers = l.lower() in bld.env['AUTOWAF_LOCAL_HEADERS']
-               in_libs    = l.lower() in bld.env['AUTOWAF_LOCAL_LIBS']
-               if in_libs:
-                       if hasattr(obj, 'uselib_local'):
-                               obj.uselib_local += ' lib' + l.lower() + ' '
-                       else:
-                               obj.uselib_local = 'lib' + l.lower() + ' '
-               
-               if in_headers or in_libs:
-                       inc_flag = '-iquote ' + os.path.join(abssrcdir, l.lower())
-                       for f in ['CCFLAGS', 'CXXFLAGS']:
-                               if not inc_flag in bld.env[f]:
-                                       bld.env.append_value(f, inc_flag)
-               else:
-                       if hasattr(obj, 'uselib'):
-                               obj.uselib += ' ' + l
-                       else:
-                               obj.uselib = l
-
-
-def display_header(title):
-       Utils.pprint('BOLD', title)
-
-def display_msg(conf, msg, status = None, color = None):
-       color = 'CYAN'
-       if type(status) == bool and status or status == "True":
-               color = 'GREEN'
-       elif type(status) == bool and not status or status == "False":
-               color = 'YELLOW'
-       Utils.pprint('BOLD', "%s :" % msg.ljust(conf.line_just), sep='')
-       Utils.pprint(color, status)
-
-def link_flags(env, lib):
-       return ' '.join(map(lambda x: env['LIB_ST'] % x, env['LIB_' + lib]))
-
-def compile_flags(env, lib):
-       return ' '.join(map(lambda x: env['CPPPATH_ST'] % x, env['CPPPATH_' + lib]))
-
-def set_recursive():
-       global g_is_child
-       g_is_child = True
-
-def is_child():
-       global g_is_child
-       return g_is_child
-
-# Pkg-config file
-def build_pc(bld, name, version, libs):
-       '''Build a pkg-config file for a library.
-       name    -- uppercase variable name     (e.g. 'SOMENAME')
-       version -- version string              (e.g. '1.2.3')
-       libs    -- string/list of dependencies (e.g. 'LIBFOO GLIB')
-       '''
-
-       obj              = bld.new_task_gen('subst')
-       obj.source       = name.lower() + '.pc.in'
-       obj.target       = name.lower() + '.pc'
-       obj.install_path = '${PREFIX}/${LIBDIRNAME}/pkgconfig'
-       pkg_prefix       = bld.env['PREFIX'] 
-       if pkg_prefix[-1] == '/':
-               pkg_prefix = pkg_prefix[:-1]
-       obj.dict = {
-               'prefix'           : pkg_prefix,
-               'exec_prefix'      : '${prefix}',
-               'libdir'           : '${prefix}/' + bld.env['LIBDIRNAME'],
-               'includedir'       : '${prefix}/include',
-               name + '_VERSION'  : version,
-       }
-       if type(libs) != list:
-               libs = libs.split()
-       for i in libs:
-               obj.dict[i + '_LIBS']   = link_flags(bld.env, i)
-               obj.dict[i + '_CFLAGS'] = compile_flags(bld.env, i)
-
-# Doxygen API documentation
-def build_dox(bld, name, version, srcdir, blddir):
-       if not bld.env['DOCS']:
-               return
-       obj = bld.new_task_gen('subst')
-       obj.source = 'doc/reference.doxygen.in'
-       obj.target = 'doc/reference.doxygen'
-       if is_child():
-               src_dir = os.path.join(srcdir, name.lower())
-               doc_dir = os.path.join(blddir, 'default', name.lower(), 'doc')
-       else:
-               src_dir = srcdir
-               doc_dir = os.path.join(blddir, 'default', 'doc')
-       obj.dict = {
-               name + '_VERSION' : version,
-               name + '_SRCDIR'  : os.path.abspath(src_dir),
-               name + '_DOC_DIR' : os.path.abspath(doc_dir)
-       }
-       obj.install_path = ''
-       out1 = bld.new_task_gen('command-output')
-       out1.dependencies = [obj]
-       out1.stdout = '/doc/doxygen.out'
-       out1.stdin = '/doc/reference.doxygen' # whatever..
-       out1.command = 'doxygen'
-       out1.argv = [os.path.abspath(doc_dir) + '/reference.doxygen']
-       out1.command_is_external = True
-
-# Version code file generation
-def build_version_files(header_path, source_path, domain, major, minor, micro):
-       header_path = os.path.abspath(header_path)
-       source_path = os.path.abspath(source_path)
-       text  = "int " + domain + "_major_version = " + str(major) + ";\n"
-       text += "int " + domain + "_minor_version = " + str(minor) + ";\n"
-       text += "int " + domain + "_micro_version = " + str(micro) + ";\n"
-       try:
-               o = file(source_path, 'w')
-               o.write(text)
-               o.close()
-       except IOError:
-               print "Could not open", source_path, " for writing\n"
-               sys.exit(-1)
-
-       text  = "#ifndef __" + domain + "_version_h__\n"
-       text += "#define __" + domain + "_version_h__\n"
-       text += "extern const char* " + domain + "_revision;\n"
-       text += "extern int " + domain + "_major_version;\n"
-       text += "extern int " + domain + "_minor_version;\n"
-       text += "extern int " + domain + "_micro_version;\n"
-       text += "#endif /* __" + domain + "_version_h__ */\n"
-       try:
-               o = file(header_path, 'w')
-               o.write(text)
-               o.close()
-       except IOError:
-               print "Could not open", header_path, " for writing\n"
-               sys.exit(-1)
-               
-       return None
-
-def run_tests(ctx, appname, tests):
-       orig_dir = os.path.abspath(os.curdir)
-       failures = 0
-       base = '..'
-
-       top_level = os.path.abspath(ctx.curdir) != os.path.abspath(os.curdir)
-       if top_level:
-               os.chdir('./build/default/' + appname)
-               base = '../..'
-       else:
-               os.chdir('./build/default')
-
-       lcov = True
-       lcov_log = open('lcov.log', 'w')
-       try:
-               # Clear coverage data
-               subprocess.call('lcov -d ./src -z'.split(),
-                               stdout=lcov_log, stderr=lcov_log)
-       except:
-               lcov = False
-               print "Failed to run lcov, no coverage report will be generated"
-
-
-       # Run all tests
-       for i in tests:
-               print
-               Utils.pprint('BOLD', 'Running %s test %s' % (appname, i))
-               if subprocess.call(i) == 0:
-                       Utils.pprint('GREEN', 'Passed %s %s' % (appname, i))
-               else:
-                       failures += 1
-                       Utils.pprint('RED', 'Failed %s %s' % (appname, i))
-
-       if lcov:
-               # Generate coverage data
-               coverage_lcov = open('coverage.lcov', 'w')
-               subprocess.call(('lcov -c -d ./src -d ./test -b ' + base).split(),
-                               stdout=coverage_lcov, stderr=lcov_log)
-               coverage_lcov.close()
-               
-               # Strip out unwanted stuff
-               coverage_stripped_lcov = open('coverage-stripped.lcov', 'w')
-               subprocess.call('lcov --remove coverage.lcov *boost* c++*'.split(),
-                               stdout=coverage_stripped_lcov, stderr=lcov_log)
-               coverage_stripped_lcov.close()
-       
-               # Generate HTML coverage output
-               if not os.path.isdir('./coverage'):
-                       os.makedirs('./coverage')
-               subprocess.call('genhtml -o coverage coverage-stripped.lcov'.split(),
-                               stdout=lcov_log, stderr=lcov_log)
-       
-       lcov_log.close()
-
-       print
-       Utils.pprint('BOLD', 'Summary:', sep=''),
-       if failures == 0:
-               Utils.pprint('GREEN', 'All ' + appname + ' tests passed')
-       else:
-               Utils.pprint('RED', str(failures) + ' ' + appname + ' test(s) failed')
-
-       Utils.pprint('BOLD', 'Coverage:', sep='')
-       print os.path.abspath('coverage/index.html')
-
-       os.chdir(orig_dir)
-
-def shutdown():
-       # This isn't really correct (for packaging), but people asking is annoying
-       if Options.commands['install']:
-               try: os.popen("/sbin/ldconfig")
-               except: pass
-
index 31103b3095192afeb1a6fe20d7806000e609084a..1c651e834aab14da354888659a377b88bc9677b9 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Version of this package (even if built as a child)
@@ -19,10 +19,10 @@ APPNAME = 'audiographer'
 VERSION = AUDIOGRAPHER_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -39,8 +39,8 @@ def configure(conf):
     autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18', mandatory=False)
 
     # Boost headers
-    autowaf.check_header(conf, 'boost/shared_ptr.hpp')
-    autowaf.check_header(conf, 'boost/format.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/format.hpp')
 
 def build(bld):
 
@@ -53,7 +53,7 @@ def build(bld):
     #bld.env['BUILD_TESTS'] = True
     bld.env['HAVE_ALL_GTHREAD'] = bld.env['HAVE_GLIB'] and bld.env['HAVE_GLIBMM'] and bld.env['HAVE_GTHREAD']
 
-    audiographer = bld.new_task_gen('cxx', 'shlib')
+    audiographer = bld(features = 'cxx cxxshlib')
     audiographer.source = '''
             private/gdither/gdither.cc
             src/general/sample_format_converter.cc
@@ -69,17 +69,17 @@ def build(bld):
 
     audiographer.name           = 'libaudiographer'
     audiographer.target         = 'audiographer'
-    audiographer.export_incdirs = ['.', './src']
+    audiographer.export_includes = ['.', './src']
     audiographer.includes       = ['.', './src']
     audiographer.uselib         = 'GLIB GLIBMM GTHREAD SAMPLERATE SNDFILE'
-    audiographer.uselib_local   = 'libpbd'
+    audiographer.use            = 'libpbd'
     audiographer.vnum           = AUDIOGRAPHER_LIB_VERSION
     audiographer.install_path   = os.path.join(bld.env['LIBDIR'], 'ardour3')
 
 
     if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
         # Unit tests
-        obj              = bld.new_task_gen('cxx', 'program')
+        obj              = bld(features = 'cxx cxxprogram')
         obj.source       = '''
                 tests/test_runner.cc
                 tests/type_utils_test.cc
@@ -109,7 +109,7 @@ def build(bld):
                     tests/general/sr_converter_test.cc
             '''
 
-        obj.uselib_local = 'libaudiographer'
+        obj.use          = 'libaudiographer'
         obj.uselib       = 'CPPUNIT GLIBMM'
         obj.target       = 'run-tests'
         obj.install_path = ''
index b3ba10c5e2309f29d1585c65b01c977775b0b45d..d446275d492b678398396e06fb81c4b01f123d8c 100644 (file)
@@ -1,14 +1,14 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 import sys
 
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 path_prefix = 'libs/clearlooks-newer'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -16,7 +16,7 @@ def configure(conf):
     conf.check_tool('compiler_cc')
 
 def build(bld):
-    obj = bld.new_task_gen('cc', 'shlib')
+    obj = bld(features = 'c cshlib')
     obj.source = '''
     animation.c
     cairo-support.c
@@ -40,7 +40,7 @@ def build(bld):
     if sys.platform == 'darwin':
         # Bit of a hack: make a symlink to the .dylib that meets GTK's criteria for finding it (namely that the library must be a *.so
         # and that it must reside in a directory called `engines')
-        obj = bld.new_task_gen(target = 'engines', rule = 'mkdir -p ${TGT} && rm -f ${TGT}/libclearlooks.so && ln -s ../libclearlooks.dylib ${TGT}/libclearlooks.so')
+        obj = bld(target = 'engines', rule = 'mkdir -p ${TGT} && rm -f ${TGT}/libclearlooks.so && ln -s ../libclearlooks.dylib ${TGT}/libclearlooks.so')
 
 
 def shutdown():
index e1b729c826a505cca87092b8c5351cb3f5f0b2c4..24a5f4dd1fc120e16fc3d1062f18eb20826a71d9 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import Options
 import os
 
@@ -19,10 +19,10 @@ APPNAME = 'evoral'
 VERSION = EVORAL_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
     opt.add_option('--test', action='store_true', default=False, dest='build_tests',
                     help="Build unit tests")
@@ -38,8 +38,8 @@ def configure(conf):
     autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.14.0')
 
     # Boost headers
-    autowaf.check_header(conf, 'boost/shared_ptr.hpp')
-    autowaf.check_header(conf, 'boost/weak_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
 
     conf.env['BUILD_TESTS'] = Options.options.build_tests
 
@@ -54,7 +54,7 @@ def build(bld):
     # Pkgconfig file
     #autowaf.build_pc(bld, 'EVORAL', EVORAL_VERSION, 'GLIBMM GTHREAD')
 
-    libsmf = bld.new_task_gen('cc', 'shlib')
+    libsmf = bld(features = 'c cshlib')
     libsmf.source = '''
             src/libsmf/smf.c
             src/libsmf/smf_decode.c
@@ -62,7 +62,7 @@ def build(bld):
             src/libsmf/smf_save.c
             src/libsmf/smf_tempo.c
     '''
-    libsmf.export_incdirs = ['./src/libsmf']
+    libsmf.export_includes = ['./src/libsmf']
     libsmf.defines      = 'SMF_VERSION="1.2"'
     libsmf.includes     = ['./src']
     libsmf.name         = 'libsmf'
@@ -85,50 +85,50 @@ def build(bld):
     '''
 
     # Library
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source         = lib_source
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes       = ['.', './src']
     obj.name           = 'libevoral'
     obj.target         = 'evoral'
     obj.uselib         = 'GLIBMM GTHREAD SMF'
-    obj.uselib_local   = 'libsmf libpbd'
+    obj.use            = 'libsmf libpbd'
     obj.vnum           = EVORAL_LIB_VERSION
     obj.install_path   = os.path.join(bld.env['LIBDIR'], 'ardour3')
     obj.defines = ['PACKAGE="libevoral"' ]
 
     if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
         # Static library (for unit test code coverage)
-        obj = bld.new_task_gen('cxx', 'staticlib')
+        obj = bld(features = 'cxx cstlib')
         obj.source       = lib_source
         obj.source         = lib_source
-        obj.export_incdirs = ['.']
+        obj.export_includes = ['.']
         obj.includes       = ['.', './src']
         obj.name           = 'libevoral_static'
         obj.target         = 'evoral_static'
         obj.uselib         = 'GLIBMM GTHREAD SMF'
-        obj.uselib_local   = 'libsmf libpbd'
+        obj.use            = 'libsmf libpbd'
         obj.vnum           = EVORAL_LIB_VERSION
         obj.install_path   = ''
-        obj.ccflags        = [ '-fprofile-arcs',  '-ftest-coverage' ]
+        obj.cflags         = [ '-fprofile-arcs',  '-ftest-coverage' ]
         obj.cxxflags       = [ '-fprofile-arcs',  '-ftest-coverage' ]
         obj.defines        = ['PACKAGE="libevoral"' ]
 
         # Unit tests
-        obj              = bld.new_task_gen('cxx', 'program')
+        obj              = bld(features = 'cxx cxxprogram')
         obj.source       = '''
                 test/SequenceTest.cpp
                 test/SMFTest.cpp
                 test/testrunner.cpp
         '''
         obj.includes     = ['.', './src']
-        obj.uselib_local = 'libevoral_static'
+        obj.use          = 'libevoral_static'
         obj.uselib       = 'CPPUNIT SNDFILE'
         obj.libs         = 'gcov'
         obj.target       = 'run-tests'
         obj.name         = 'libevoral-tests'
         obj.install_path = ''
-        obj.ccflags      = [ '-fprofile-arcs',  '-ftest-coverage' ]
+        obj.cflags       = [ '-fprofile-arcs',  '-ftest-coverage' ]
         obj.cxxflags     = [ '-fprofile-arcs',  '-ftest-coverage' ]
 
 def shutdown():
index e3085065dca7d02364e74e1e1c9ed77e5e07ed7e..64ade4a18999b762e456fe892a677d37b8de65cc 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Version of this package (even if built as a child)
@@ -19,8 +19,8 @@ APPNAME = 'libgnomecanvas'
 VERSION = LIBGNOMECANVAS_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 path_prefix = 'libs/gnomecanvas/'
 
@@ -41,7 +41,7 @@ libgnomecanvas_sources = [
         'libgnomecanvas/libgnomecanvastypes.c'
         ]
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -52,9 +52,9 @@ def configure(conf):
 
 def build(bld):
     # Library
-    obj              = bld.new_task_gen('cc', 'shlib')
+    obj              = bld(features = 'c cshlib')
     obj.source       = libgnomecanvas_sources
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.']
     obj.name         = 'libgnomecanvas-2'
     obj.target       = 'gnomecanvas-2'
index fa5dea50e076993f2a2587eb114245b318ce105a..3103ebd9b8926146102e08f1fd1ead008c1dc9ac 100644 (file)
@@ -1,7 +1,6 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
-import glob
 
 # Version of this package (even if built as a child)
 MAJOR = '0'
@@ -60,12 +59,12 @@ gtkmm2ext_sources = [
 ]
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 path_prefix = 'libs/gtkmm2ext/'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -78,20 +77,20 @@ def configure(conf):
 
 
 def build(bld):
-    obj = bld.new_task_gen(features = 'cc cxx cshlib')
+    obj = bld(features = 'c cxx cxxshlib cshlib')
     obj.source = gtkmm2ext_sources
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.']
     obj.name         = 'libgtkmm2ext'
     obj.target       = 'gtkmm2ext'
     obj.uselib       = 'GTKMM GTK GTKOSX OSX GDK'
-    obj.uselib_local = 'libpbd'
+    obj.use          = 'libpbd'
     obj.vnum         = GTKMM2EXT_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
     obj.cxxflags     = [
                     '-DPACKAGE="libgtkmm2ext"',
                     '-DLOCALEDIR="' + os.path.join(
-                            os.path.normpath(bld.env['DATADIRNAME']), 'locale') + '"']
+                            os.path.normpath(bld.env['DATADIR']), 'locale') + '"']
     if bld.env['GTKOSX']:
         obj.source += ['gtkapplication_quartz.mm']
     else:
@@ -99,7 +98,7 @@ def build(bld):
 
     # i18n
     if bld.env['ENABLE_NLS']:
-        mo_files = glob.glob (os.path.join (bld.get_curdir(), 'po/*.mo'))
+        mo_files = bld.path.ant_glob ('po/*.mo')
         for mo in mo_files:
             lang = os.path.basename (mo).replace ('.mo', '')
             bld.install_as (os.path.join(bld.env['PREFIX'], 'share', 'locale',
index f236d0a8cdbefc206ca1ab10b197d1ed91f9df9c..e4dbf1eab69c3304be5eab9fdec40a784d5148af 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 import sys
 
@@ -20,12 +20,12 @@ APPNAME = 'libmidipp'
 VERSION = LIBMIDIPP_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 path_prefix = 'libs/midi++2/'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -38,12 +38,12 @@ def configure(conf):
     autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0')
 
     # Boost headers
-    autowaf.check_header(conf, 'boost/shared_ptr.hpp')
-    autowaf.check_header(conf, 'boost/weak_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
 
 def build(bld):
     # Library
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             midi.cc
             channel.cc
@@ -57,12 +57,12 @@ def build(bld):
     '''
     # everybody loves JACK
     obj.cxxflags = [ '-DWITH_JACK_MIDI' ]
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.', '../surfaces/control_protocol']
     obj.name         = 'libmidipp'
     obj.target       = 'midipp'
     obj.uselib       = 'GLIBMM SIGCPP XML JACK OSX'
-    obj.uselib_local = 'libpbd libevoral libtimecode'
+    obj.use          = 'libpbd libevoral libtimecode'
     obj.vnum         = LIBMIDIPP_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
 
index 2238124dc75e651314e6bc6195bde1cc209bab17..70c34d0779d46775fd1fba3258bf6cd039b0bbc8 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -9,24 +9,24 @@ import os
 LIBARDOUR_PAN1IN2OUT_LIB_VERSION = '1.0.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = [ 'panner_1in2out.cc' ]
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.cxxflags     = '-DPACKAGE="libardour_pan1in2out"'
     obj.includes     = ['.']
     obj.name         = 'libardour_pan1in2out'
     obj.target       = 'pan1in2out'
-    obj.uselib_local = 'libardour libardour_cp libpbd'
+    obj.use          = 'libardour libardour_cp libpbd'
     obj.vnum         = LIBARDOUR_PAN1IN2OUT_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners')
 
index 2891dfd6f78f89171450582a0999f94960f680fc..8288ef28f7a72392838cdf1477409a604cbd3a12 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -9,24 +9,24 @@ import os
 LIBARDOUR_PAN2IN2OUT_LIB_VERSION = '1.0.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = [ 'panner_2in2out.cc' ]
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.cxxflags     = '-DPACKAGE="libardour_pan2in2out"'
     obj.includes     = ['.']
     obj.name         = 'libardour_pan2in2out'
     obj.target       = 'pan2in2out'
-    obj.uselib_local = 'libardour libardour_cp libpbd'
+    obj.use          = 'libardour libardour_cp libpbd'
     obj.vnum         = LIBARDOUR_PAN2IN2OUT_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners')
 
index bd311272b520483cf1cfa68cedafd74bd10b0f65..c6ba94261f61ae613a02c09af07c691e89d3f486 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -9,24 +9,24 @@ import os
 LIBARDOUR_PANVBAP_LIB_VERSION = '1.0.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = [ 'vbap_speakers.cc', 'vbap.cc'  ]
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.cxxflags     = '-DPACKAGE="libardour_panvbap"'
     obj.includes     = ['.']
     obj.name         = 'libardour_panvbap'
     obj.target       = 'panvbap'
-    obj.uselib_local = 'libardour libardour_cp libpbd'
+    obj.use          = 'libardour libardour_cp libpbd'
     obj.vnum         = LIBARDOUR_PANVBAP_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners')
 
index 3c1a01373216528b17b2a14cf3aed36491119b43..76f14e6fa1c1dd4565e76a9f950ce0ef7fe4e575 100644 (file)
@@ -1,14 +1,14 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 panners = [ '2in2out', '1in2out', 'vbap' ]
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def sub_config_and_use(conf, name, has_objects = True):
index 66b63c999e03c68a6532315398b2be09dd2ca42f..c2be9849a9ebe1439bcef4559cb920c9c77a5bdd 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 import sys
 import TaskGen
@@ -21,12 +21,12 @@ APPNAME = 'libpbd'
 VERSION = LIBPBD_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 path_prefix = 'libs/pbd/'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -42,19 +42,19 @@ def configure(conf):
     conf.check(function_name='getmntent', header_name='mntent.h', define_name='HAVE_GETMNTENT')
     conf.check(header_name='execinfo.h', define_name='HAVE_EXECINFO')
     conf.check(header_name='unistd.h', define_name='HAVE_UNISTD')
-    if conf.check_cc(function_name='posix_memalign', header_name='stdlib.h', ccflags='-D_XOPEN_SOURCE=600') == False:
+    if conf.check_cc(function_name='posix_memalign', header_name='stdlib.h', cflags='-D_XOPEN_SOURCE=600') == False:
         conf.define ('NO_POSIX_MEMALIGN',1)
 
-    conf.write_config_header('libpbd-config.h')
+    conf.write_config_header('libpbd-config.h', remove=False)
 
     # Boost headers
-    autowaf.check_header(conf, 'boost/shared_ptr.hpp')
-    autowaf.check_header(conf, 'boost/weak_ptr.hpp')
-    # autowaf.check_header(conf, 'boost/uuid/uuid.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
+    autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
+    # autowaf.check_header(conf, 'cxx', 'boost/uuid/uuid.hpp')
 
 def build(bld):
     # Library
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             basename.cc
             base_ui.cc
@@ -111,7 +111,7 @@ def build(bld):
     if bld.env['DEBUG_RT_ALLOC']:
         obj.source += 'debug_rt_alloc.c'
 
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.']
     obj.name         = 'libpbd'
     obj.target       = 'pbd'
@@ -129,7 +129,7 @@ def build(bld):
 
     if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']:
         # Unit tests
-        testobj              = bld.new_task_gen('cxx', 'program')
+        testobj              = bld(features = 'cxx cxxprogram')
         testobj.source       = '''
                 test/testrunner.cc
                 test/xpath.cc
@@ -139,7 +139,7 @@ def build(bld):
         testobj.target       = 'run-tests'
         testobj.includes     = obj.includes + ['test', '../pbd']
         testobj.uselib       = 'CPPUNIT XML SNDFILE'
-        testobj.uselib_local = 'libpbd'
+        testobj.use          = 'libpbd'
 
 
 def shutdown():
index a77822abacf672217e333f5ee3dfb599552750eb..db759c69db4d3ce07318112376e3949a6840f2fb 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Version of this package (even if built as a child)
@@ -16,10 +16,10 @@ APPNAME = 'qm-dsp'
 VERSION = QM_DSP_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -28,7 +28,7 @@ def configure(conf):
 
 def build(bld):
     # Host Library
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             dsp/onsets/DetectionFunction.cpp
             dsp/onsets/PeakPicking.cpp
@@ -47,7 +47,7 @@ def build(bld):
             maths/MathUtilities.cpp
             base/Pitch.cpp
     '''
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.']
     obj.name         = 'libqmdsp'
     obj.target       = 'qmdsp'
index 011a858aca9b272a435391e77b415cab2659a2ee..15fb9b2ade5fb0ce70b8b0dbea124019e93a4c22 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
-import autowaf
-import glob
+from waflib.extras import autowaf as autowaf
 import os
+import glob
 
 # Version of this package (even if built as a child)
 LIBRUBBERBAND_VERSION = '0.0.0'
@@ -17,10 +17,10 @@ APPNAME = 'librubberband'
 VERSION = LIBRUBBERBAND_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -29,18 +29,18 @@ def configure(conf):
 
 def build(bld):
     # Library
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     prefix = 'libs/rubberband/'
     sources = glob.glob(prefix + 'src/*.cpp')
     obj.source = [ ]
     for i in sources:
         obj.source += [ i.replace(prefix, '') ]
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.', 'rubberband']
     obj.name         = 'librubberband'
     obj.target       = 'rubberband'
     obj.uselib       = 'FFTW3 FFTW3F SAMPLERATE SNDFILE'
-    obj.uselib_local = 'libvamphost'
+    obj.use          = 'libvamphost'
     obj.vnum         = LIBRUBBERBAND_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
     obj.cxxflags     = '-DPACKAGE="librubberband"'
index a4afd68539751bb79e5de94af24b62bb2cea66d7..8c083ba9eccf61ccdaad4600ace26b8042bb64f1 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -10,27 +10,27 @@ APPNAME = 'libardour_cp'
 LIBARDOUR_CP_LIB_VERSION = '4.1.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             basic_ui.cc
             control_protocol.cc
     '''
-    obj.export_incdirs = ['.', './control_protocol' ]
+    obj.export_includes = ['.', './control_protocol' ]
     obj.cxxflags     = '-DPACKAGE="ardour_cp"'
     obj.includes     = ['.', './control_protocol']
     obj.name         = 'libardour_cp'
     obj.target       = 'ardourcp'
-    obj.uselib_local = 'libardour libtimecode'
+    obj.use          = 'libardour libtimecode'
     obj.vnum         = LIBARDOUR_CP_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
 
index cd388b8bff8a5b3d45688415fcd4f05938fdf525..c23b3cf3c957f252e5e1b07106db70e16330ceb5 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Version of this package (even if built as a child)
@@ -16,10 +16,10 @@ APPNAME = 'libsurfaces'
 VERSION = LIBSURFACES_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -27,18 +27,18 @@ def configure(conf):
 
 def build(bld):
     # Generic MIDI
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             generic_midi_control_protocol.cc
             interface.cc
             midicontrollable.cc
     '''
-    obj.export_incdirs = ['./generic_midi']
+    obj.export_includes = ['./generic_midi']
     obj.cxxflags     = '-DPACKAGE="ardour_genericmidi"'
     obj.includes     = ['.', './generic_midi']
     obj.name         = 'libgeneric_midi'
     obj.target       = 'generic_midi'
-    obj.uselib_local = 'libardour libsurfaces'
+    obj.use          = 'libardour libsurfaces'
     obj.vnum         = LIBSURFACES_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
 
index 9111df59826a3e8d75760fbce909fc6484c984b9..6daf413b6644f261876ce6fbe992a7ad34495e83 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -9,17 +9,17 @@ import os
 LIBARDOUR_GENERIC_MIDI_LIB_VERSION = '4.1.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             generic_midi_control_protocol.cc
             gmcp_gui.cc
@@ -29,13 +29,13 @@ def build(bld):
             midifunction.cc
             midiaction.cc
     '''
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.cxxflags     = '-DPACKAGE="ardour_genericmidi"'
     obj.includes     = ['.', './generic_midi']
     obj.name         = 'libardour_generic_midi'
     obj.target       = 'ardour_generic_midi'
     obj.uselib       = 'GTKMM GTK GDK'
-    obj.uselib_local = 'libardour libardour_cp libgtkmm2ext libpbd'
+    obj.use          = 'libardour libardour_cp libgtkmm2ext libpbd'
     obj.vnum         = LIBARDOUR_GENERIC_MIDI_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
 
index f091acb148a7d6058e7df081968606afc9dbc7bf..ba8b8e5b4b5b1ba551faaff731f91b41cd356f1b 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -9,17 +9,17 @@ import os
 LIBARDOUR_MCP_LIB_VERSION = '4.1.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             bcf_surface.cc
             bcf_surface_generated.cc
@@ -41,13 +41,13 @@ def build(bld):
             surface_port.cc
             types.cc
     '''
-    obj.export_incdirs = ['./mackie']
+    obj.export_includes = ['./mackie']
     obj.cxxflags     = '-DPACKAGE="ardour_mackie"'
     obj.includes     = ['.', './mackie']
     obj.name         = 'libardour_mcp'
     obj.target       = 'ardour_mcp'
     obj.uselib       = 'GTKMM'
-    obj.uselib_local = 'libardour libardour_cp libgtkmm2ext'
+    obj.use          = 'libardour libardour_cp libgtkmm2ext'
     obj.vnum         = LIBARDOUR_MCP_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
 
index 4d62bda7bc812f38587ea2defed903ded48dd409..1ab9bf42a73877f2e9e2ea1374c749e4934e5e36 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -9,10 +9,10 @@ import os
 LIBARDOUR_OSC_LIB_VERSION = '4.1.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -20,20 +20,20 @@ def configure(conf):
     autowaf.check_pkg(conf, 'liblo', uselib_store='LO', linkflags='-llo')
 
 def build(bld):
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             osc.cc
             osc_controllable.cc
             osc_route_observer.cc
             interface.cc
     '''
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.cxxflags     = '-DPACKAGE="ardour_cp"'
     obj.includes     = ['.', './osc']
     obj.name         = 'libardour_osc'
     obj.target       = 'ardour_osc'
     obj.uselib       = ' LO '
-    obj.uselib_local = 'libardour libardour_cp libpbd'
+    obj.use          = 'libardour libardour_cp libpbd'
     obj.vnum         = LIBARDOUR_OSC_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
 
index 6f263fc9a0416d152e08e2adaa7ae6c7e6b715c4..fb97607169978ae44e1c1fe63c9390966be6084b 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -9,27 +9,27 @@ import os
 LIBARDOUR_POWERMATE_LIB_VERSION = '4.1.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             interface.cc
             powermate.cc
     '''
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.cxxflags     = '-DPACKAGE="ardour_powermate"'
     obj.includes     = ['.' ]
     obj.name         = 'libpowermate'
     obj.target       = 'powermate'
-    obj.uselib_local = 'libardour libardour_cp'
+    obj.use          = 'libardour libardour_cp'
     obj.vnum         = LIBARDOUR_POWERMATE_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
 
index 7a7d5d2a05deb1e3e7c29a66f7e5c6ed7b93e7a3..311a9a204506a21ef8afb7b4fdcc003159a7c07d 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -9,17 +9,17 @@ import os
 LIBARDOUR_TRANZPORT_LIB_VERSION = '4.1.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             button_events.cc
             buttons.cc
@@ -38,12 +38,12 @@ def build(bld):
             wheel.cc
             wheel_modes.cc
     '''
-    obj.export_incdirs = ['./tranzport']
+    obj.export_includes = ['./tranzport']
     obj.cxxflags     = '-DPACKAGE="ardour_tranzport"'
     obj.includes     = ['.', './tranzport']
     obj.name         = 'libardour_tranzport'
     obj.target       = 'ardour_tranzport'
-    obj.uselib_local = 'libardour libardour_cp'
+    obj.use          = 'libardour libardour_cp'
     obj.vnum         = LIBARDOUR_TRANZPORT_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
 
index 3c4650ca9bc799790d9a478426cb3f467f105a6d..3fbea7e248f111bd5bcbafe70a937fec57a9e5ed 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -9,27 +9,27 @@ import os
 LIBARDOUR_WIIMOTE_LIB_VERSION = '4.1.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             wiimote.cc
             interface.cc
     '''
-    obj.export_incdirs = ['./wiimote']
+    obj.export_includes = ['./wiimote']
     obj.cxxflags     = '-DPACKAGE="ardour_wiimote"'
     obj.includes     = ['.', './wiimote']
     obj.name         = 'libwiimote'
     obj.target       = 'wiimote'
-    obj.uselib_local = 'libardour libardour_cp'
+    obj.use          = 'libardour libardour_cp'
     obj.vnum         = LIBARDOUR_WIIMOTE_LIB_VERSION
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces')
 
index 1b9d5c70919490c1944a048f17a8e6febbacc8a9..9f5c4749e7e85700a67921d189dca44ddd30b656 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import Options
 
 # Version of this package (even if built as a child)
@@ -16,8 +16,8 @@ APPNAME = 'libsurfaces'
 VERSION = LIBSURFACES_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 children = [
         'control_protocol',
@@ -30,7 +30,7 @@ children = [
         'wiimote'
 ]
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def sub_config_and_use(conf, name, has_objects = True):
@@ -44,7 +44,11 @@ def configure(conf):
     for i in children:
         sub_config_and_use(conf, i)
 
-    conf.check_cc (lib='libusb', header_name='libusb.h', function_name='usb_interrupt_write', define_name='BUILD_TRANZPORT')
+    autowaf.check_pkg(conf, 'libusb-1.0', uselib_store='USB', mandatory=False)
+    if conf.env['HAVE_USB']:
+        conf.define('BUILD_TRANZPORT', 1)
+
+    #conf.check_cc (lib='libusb', header_name='libusb.h', function_name='usb_interrupt_write', define_name='BUILD_TRANZPORT')
     conf.check_cc (header_name='linux/input.h', define_name='BUILD_POWERMATE')
     conf.check_cc (lib='lo', header_name='lo/lo.h', function_name='lo_server_new', define_name='BUILD_OSC')
 
index b7276d01c527256ba103baa485250f6377a47269..986f8302abb0ae8351682236ca505345bafeb8f8 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import glob
 import os
 
@@ -17,12 +17,10 @@ APPNAME = 'libtaglib'
 VERSION = LIBTAGLIB_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-path_prefix = 'libs/taglib/'
-
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -31,25 +29,23 @@ def configure(conf):
 
 def build(bld):
     # Library
-    obj = bld.new_task_gen('cxx', 'shlib')
-    sources = glob.glob(path_prefix + 'taglib/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/flac/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/mpc/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/mpeg/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/mpeg/id3v1/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/mpeg/id3v2/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/mpeg/id3v2/frames/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/ogg/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/ogg/vorbis/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/ogg/speex/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/ogg/flac/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/trueaudio/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/wavpack/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/ape/*.cpp')
-    sources += glob.glob(path_prefix + 'taglib/toolkit/*.cpp')
-    obj.source = []
-    for i in sources:
-        obj.source += [ i.replace(path_prefix, '') ]
+    obj = bld(features = 'cxx cxxshlib')
+    sources = bld.path.ant_glob('taglib/*.cpp')
+    sources += bld.path.ant_glob('taglib/flac/*.cpp')
+    sources += bld.path.ant_glob('taglib/mpc/*.cpp')
+    sources += bld.path.ant_glob('taglib/mpeg/*.cpp')
+    sources += bld.path.ant_glob('taglib/mpeg/id3v1/*.cpp')
+    sources += bld.path.ant_glob('taglib/mpeg/id3v2/*.cpp')
+    sources += bld.path.ant_glob('taglib/mpeg/id3v2/frames/*.cpp')
+    sources += bld.path.ant_glob('taglib/ogg/*.cpp')
+    sources += bld.path.ant_glob('taglib/ogg/vorbis/*.cpp')
+    sources += bld.path.ant_glob('taglib/ogg/speex/*.cpp')
+    sources += bld.path.ant_glob('taglib/ogg/flac/*.cpp')
+    sources += bld.path.ant_glob('taglib/trueaudio/*.cpp')
+    sources += bld.path.ant_glob('taglib/wavpack/*.cpp')
+    sources += bld.path.ant_glob('taglib/ape/*.cpp')
+    sources += bld.path.ant_glob('taglib/toolkit/*.cpp')
+    obj.source = sources
 
     include_dirs = '''
             taglib
@@ -67,7 +63,7 @@ def build(bld):
             taglib/ogg/speex
             taglib/ogg/flac
     '''.split()
-    obj.export_incdirs = ['.', 'taglib', 'taglib/toolkit']
+    obj.export_includes = ['.', 'taglib', 'taglib/toolkit']
     obj.includes     = include_dirs
     obj.name         = 'libtaglib'
     obj.target       = 'taglib'
index be84a4b940b420ff3852a10b267f5927f31ac11c..f919649e2526b3e6e46714cdd0ff63a86a2e89b9 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import Options
 import os
 
@@ -19,10 +19,10 @@ APPNAME = 'timecode'
 VERSION = TIMECODE_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -32,9 +32,9 @@ def configure(conf):
 
 def build(bld):
     # Library
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source         = [ 'src/time.cc', 'src/bbt_time.cc' ]
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes       = ['.', './src']
     obj.name           = 'libtimecode'
     obj.target         = 'timecode'
index 4fde44ea3421c932ed45319a1170c201d6403973..4ec6c198b3cf9fa7fecc2ae0ca99014f6acd349e 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Version of this package (even if built as a child)
@@ -16,10 +16,10 @@ APPNAME = 'libardourvampplugins'
 VERSION = LIBARDOURVAMPPLUGINS_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -27,11 +27,11 @@ def configure(conf):
     conf.check_tool('compiler_cxx')
     autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True)
     autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO', mandatory=False)
-    conf.write_config_header('libvampplugins-config.h')
+    conf.write_config_header('libvampplugins-config.h', remove=False)
 
 def build(bld):
     # Library
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             plugins.cpp
             AmplitudeFollower.cpp
@@ -40,12 +40,12 @@ def build(bld):
             SpectralCentroid.cpp
             ZeroCrossing.cpp
     '''
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.']
     obj.name         = 'libardourvampplugins'
     obj.target       = 'ardourvampplugins'
     obj.uselib       = 'FFTW3F'
-    obj.uselib_local = 'libvampplugin libqmdsp'
+    obj.use          = 'libvampplugin libqmdsp'
     if bld.env['HAVE_AUBIO']:
         obj.source += ' Onset.cpp '
         obj.uselib += ' AUBIO '
index 7ea25d71b2d46b618d6a0d2e98fb7695e23eb06e..aabac61ea1201a344c9f639ab4b959ad7a520628 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Version of this package (even if built as a child)
@@ -16,10 +16,10 @@ APPNAME = 'libvamp'
 VERSION = LIBVAMP_VERSION
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -31,7 +31,7 @@ def configure(conf):
 
 def build(bld):
     # Host Library
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             src/vamp-hostsdk/PluginHostAdapter.cpp
             src/vamp-hostsdk/PluginBufferingAdapter.cpp
@@ -41,7 +41,7 @@ def build(bld):
             src/vamp-hostsdk/PluginWrapper.cpp
             src/vamp-hostsdk/RealTime.cpp
     '''
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.']
     obj.name         = 'libvamphost'
     obj.target       = 'vamphost'
@@ -50,12 +50,12 @@ def build(bld):
     obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
 
     # Plugin Library
-    obj = bld.new_task_gen('cxx', 'shlib')
+    obj = bld(features = 'cxx cxxshlib')
     obj.source = '''
             src/vamp-sdk/PluginAdapter.cpp
             src/vamp-sdk/RealTime.cpp
     '''
-    obj.export_incdirs = ['.']
+    obj.export_includes = ['.']
     obj.includes     = ['.']
     obj.name         = 'libvampplugin'
     obj.target       = 'vampplugin'
index 62ed37e5a2df8f452a50c6f6323e9c57b31ff9f9..4e1bb0fd6b7bddc240d7b58dc434597c59d2af17 100644 (file)
@@ -1,10 +1,9 @@
 #!/usr/bin/python
 
 import os
-import glob
 
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 def configure(conf):
     pass
@@ -19,14 +18,13 @@ def build(bld):
         subst_dict['%JACK_INPUT%'] = 'alsa_pcm:playback_'
         subst_dict['%JACK_OUTPUT%'] = 'alsa_pcm:capture_'
 
-    templates = glob.glob(os.path.join(bld.get_curdir(), '*.template.in'))
+    templates = bld.path.ant_glob('*.template.in')
     for t in templates:
-        b = os.path.basename(t)
-        obj = bld.new_task_gen('subst')
-        obj.source = [ b ]
-        obj.target = [ b.replace('.in', '') ]
+        obj = bld(features = 'subst')
+        obj.source = [ t ]
+        obj.target = [ os.path.basename(t.srcpath()).replace('.in', '') ]
         obj.dict = subst_dict
         obj.install_path = os.path.join(bld.env['DATADIR'], 'ardour3', 'templates')
 
-def set_options(opt):
+def options(opt):
     pass
index 1ada9e4725ad2937795f7f266af0f7ae9e62931d..fdfd7cfc2c8872f7bad0f184725938dc70475b37 100644 (file)
@@ -1,13 +1,13 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import Options
 import os
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
+def options(opt):
     autowaf.set_options(opt)
 
 def configure(conf):
@@ -15,7 +15,7 @@ def configure(conf):
     conf.check_tool('compiler_cxx')
 
 def build(bld):
-    obj = bld.new_task_gen(features = 'cxx cprogram')
+    obj = bld(features = 'cxx cxxprogram')
     obj.includes = [ '.' ]
     obj.source = [ 'main.cpp', 'systemtest.cpp' ]
     obj.target = 'sanityCheck'
diff --git a/waf b/waf
index ce1e4b3061eb6b15fbe73a37d365242a1deed2de..c71880baa01c1c8fcc9285f95ca508f886e094c7 100755 (executable)
Binary files a/waf and b/waf differ
diff --git a/wscript b/wscript
index 7e3a68d2bebab1261f9b9d184c8ded3da0807735..0b4fd562825088da76af8c552f2dcf192ae8fbd8 100644 (file)
--- a/wscript
+++ b/wscript
@@ -1,20 +1,19 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import Options
 import os
 import re
 import string
 import subprocess
 import sys
-import glob
 
 # Variables for 'waf dist'
 VERSION = '3.0alpha10'
 APPNAME = 'Ardour'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
 children = [
         'libs/pbd',
@@ -139,22 +138,22 @@ def set_compiler_flags (conf,opt):
         if config[config_arch] == 'apple':
             # The [.] matches to the dot after the major version, "." would match any character
             if re.search ("darwin[0-7][.]", config[config_kernel]) != None:
-                conf.define ('build_target', 'panther')
+                conf.env['build_target'] = 'panther'
             elif re.search ("darwin8[.]", config[config_kernel]) != None:
-                conf.define ('build_target', 'tiger')
+                conf.env['build_target'] = 'tiger'
             else:
-                conf.define ('build_target', 'leopard')
+                conf.env['build_target'] = 'leopard'
         else:
             if re.search ("x86_64", config[config_cpu]) != None:
-                conf.define ('build_target', 'x86_64')
+                conf.env['build_target'] = 'x86_64'
             elif re.search("i[0-5]86", config[config_cpu]) != None:
-                conf.define ('build_target', 'i386')
+                conf.env['build_target'] = 'i386'
             elif re.search("powerpc", config[config_cpu]) != None:
-                conf.define ('build_target', 'powerpc')
+                conf.env['build_target'] = 'powerpc'
             else:
-                conf.define ('build_target', 'i686')
+                conf.env['build_target'] = 'i686'
     else:
-        conf.define ('build_target', opt.dist_target)
+        conf.env['build_target'] = opt.dist_target
 
     if config[config_cpu] == 'powerpc' and conf.env['build_target'] != 'none':
         #
@@ -246,7 +245,7 @@ def set_compiler_flags (conf,opt):
         print("\nIt is theoretically possible to build a 32 bit host on a 64 bit system.")
         print("However, this is tricky and not recommended for beginners.")
         sys.exit (-1)
-               
+
     if opt.lxvst:
         if conf.env['build_target'] == 'x86_64':
             print("\n\n********************************************************")
@@ -264,7 +263,7 @@ def set_compiler_flags (conf,opt):
         conf.define ('IS_OSX', 1)
         # force tiger or later, to avoid issues on PPC which defaults
         # back to 10.1 if we don't tell it otherwise.
-        conf.env.append_value('CCFLAGS', "-DMAC_OS_X_VERSION_MIN_REQUIRED=1040")
+        conf.env.append_value('CFLAGS', "-DMAC_OS_X_VERSION_MIN_REQUIRED=1040")
 
     else:
         conf.define ('IS_OSX', 0)
@@ -294,11 +293,11 @@ def set_compiler_flags (conf,opt):
             ]
 
     if opt.debug:
-        conf.env.append_value('CCFLAGS', debug_flags)
+        conf.env.append_value('CFLAGS', debug_flags)
         conf.env.append_value('CXXFLAGS', debug_flags)
         conf.env.append_value('LINKFLAGS', debug_flags)
     else:
-        conf.env.append_value('CCFLAGS', optimization_flags)
+        conf.env.append_value('CFLAGS', optimization_flags)
         conf.env.append_value('CXXFLAGS', optimization_flags)
         conf.env.append_value('LINKFLAGS', optimization_flags)
 
@@ -306,12 +305,12 @@ def set_compiler_flags (conf,opt):
         conf.env.append_value('CXXFLAGS', "-D_GLIBCXX_DEBUG")
 
     if conf.env['DEBUG_RT_ALLOC']:
-        conf.env.append_value('CCFLAGS', '-DDEBUG_RT_ALLOC')
+        conf.env.append_value('CFLAGS', '-DDEBUG_RT_ALLOC')
         conf.env.append_value('CXXFLAGS', '-DDEBUG_RT_ALLOC')
         conf.env.append_value('LINKFLAGS', '-ldl')
 
     if opt.universal:
-        conf.env.append_value('CCFLAGS', "-arch i386 -arch ppc")
+        conf.env.append_value('CFLAGS', "-arch i386 -arch ppc")
         conf.env.append_value('CXXFLAGS', "-arch i386 -arch ppc")
         conf.env.append_value('LINKFLAGS', "-arch i386 -arch ppc")
 
@@ -319,21 +318,21 @@ def set_compiler_flags (conf,opt):
     # warnings flags
     #
 
-    conf.env.append_value('CCFLAGS', "-Wall")
+    conf.env.append_value('CFLAGS', "-Wall")
     conf.env.append_value('CXXFLAGS', [ '-Wall', '-Woverloaded-virtual'])
 
     if opt.extra_warn:
         flags = [ '-Wextra' ]
-        conf.env.append_value('CCFLAGS', flags )
-        conf.env.append_value('CXXFLAGS', flags )
+        conf.env.append_value('CFLAGS', flags)
+        conf.env.append_value('CXXFLAGS', flags)
 
 
     #
     # more boilerplate
     #
 
-    conf.env.append_value('CCFLAGS', '-D_LARGEFILE64_SOURCE')
-    conf.env.append_value('CCFLAGS', '-D_FILE_OFFSET_BITS=64')
+    conf.env.append_value('CFLAGS', '-D_LARGEFILE64_SOURCE')
+    conf.env.append_value('CFLAGS', '-D_FILE_OFFSET_BITS=64')
     conf.env.append_value('CXXFLAGS', '-D_LARGEFILE64_SOURCE')
     conf.env.append_value('CXXFLAGS', '-D_FILE_OFFSET_BITS=64')
 
@@ -342,13 +341,15 @@ def set_compiler_flags (conf,opt):
 
     if opt.nls:
         conf.env.append_value('CXXFLAGS', '-DENABLE_NLS')
-        conf.env.append_value('CCFLAGS', '-DENABLE_NLS')
+        conf.env.append_value('CFLAGS', '-DENABLE_NLS')
 
 #----------------------------------------------------------------
 
 # Waf stages
 
-def set_options(opt):
+def options(opt):
+    opt.load('compiler_c')
+    opt.load('compiler_cxx')
     autowaf.set_options(opt)
     opt.add_option('--program-name', type='string', action='store', default='Ardour', dest='program_name',
                     help='The user-visible name of the program being built')
@@ -410,6 +411,8 @@ def sub_config_and_use(conf, name, has_objects = True):
     autowaf.set_local_lib(conf, name, has_objects)
 
 def configure(conf):
+    conf.load('compiler_c')
+    conf.load('compiler_cxx')
     if not Options.options.noconfirm:
         print ('\n\nThis is an alpha version of Ardour 3.0.\n\n' +
                'You are respectfully requested NOT to ask for assistance with build issues\n' +
@@ -446,20 +449,20 @@ def configure(conf):
         #       on Darwin to add all applicable flags at once
         #
         conf.env.append_value('CXXFLAGS_OSX', '-DMAC_OS_X_VERSION_MIN_REQUIRED=1040')
-        conf.env.append_value('CCFLAGS_OSX', '-DMAC_OS_X_VERSION_MIN_REQUIRED=1040')
+        conf.env.append_value('CFLAGS_OSX', '-DMAC_OS_X_VERSION_MIN_REQUIRED=1040')
         conf.env.append_value('CXXFLAGS_OSX', '-mmacosx-version-min=10.4')
-        conf.env.append_value('CCFLAGS_OSX', '-mmacosx-version-min=10.4')
+        conf.env.append_value('CFLAGS_OSX', '-mmacosx-version-min=10.4')
 
         #conf.env.append_value('CXXFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk")
-        #conf.env.append_value('CCFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk")
+        #conf.env.append_value('CFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk")
         #conf.env.append_value('LINKFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk")
 
         #conf.env.append_value('LINKFLAGS_OSX', "-sysroot /Developer/SDKs/MacOSX10.4u.sdk")
 
         conf.env.append_value('CXXFLAGS_OSX', "-msse")
-        conf.env.append_value('CCFLAGS_OSX', "-msse")
+        conf.env.append_value('CFLAGS_OSX', "-msse")
         conf.env.append_value('CXXFLAGS_OSX', "-msse2")
-        conf.env.append_value('CCFLAGS_OSX', "-msse2")
+        conf.env.append_value('CFLAGS_OSX', "-msse2")
         #
         #       TODO: The previous sse flags NEED to be based
         #       off processor type.  Need to add in a check
@@ -486,14 +489,14 @@ def configure(conf):
     if Options.options.boost_include != '':
         conf.env.append_value('CPPPATH', Options.options.boost_include)
 
-    autowaf.check_header(conf, 'boost/signals2.hpp', mandatory = True)
+    autowaf.check_header(conf, 'cxx', 'boost/signals2.hpp', mandatory = True)
 
     if Options.options.boost_sp_debug:
         conf.env.append_value('CXXFLAGS', '-DBOOST_SP_ENABLE_DEBUG_HOOKS')
 
-    autowaf.check_header(conf, 'jack/session.h', define="JACK_SESSION", mandatory = False)
+    autowaf.check_header(conf, 'cxx', 'jack/session.h', define="JACK_SESSION", mandatory = False)
 
-    conf.check_cc(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
+    conf.check_cxx(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
                   execute = "1",
                   mandatory = True,
                   msg = 'Checking for boost library >= 1.39',
@@ -512,43 +515,47 @@ def configure(conf):
         sub_config_and_use(conf, i)
 
     # Fix utterly braindead FLAC include path to not smash assert.h
-    conf.env['CPPPATH_FLAC'] = []
+    conf.env['INCLUDES_FLAC'] = []
 
     conf.check_cc(function_name='dlopen', header_name='dlfcn.h', linkflags='-ldl', uselib_store='DL')
     conf.check_cc(function_name='curl_global_init', header_name='curl/curl.h', linkflags='-lcurl', uselib_store='CURL')
 
     # Tell everyone that this is a waf build
 
-    conf.env.append_value('CCFLAGS', '-DWAF_BUILD')
+    conf.env.append_value('CFLAGS', '-DWAF_BUILD')
     conf.env.append_value('CXXFLAGS', '-DWAF_BUILD')
 
-    # Set up waf environment
+    # Set up waf environment and C defines
     opts = Options.options
     if opts.debug:
         opts.phone_home = False;   # debug builds should not call home
     if opts.phone_home:
         conf.env['PHONE_HOME'] = opts.phone_home
     if opts.fpu_optimization:
-        conf.define('FPU_OPTIMIZATION', 1)
+        conf.env['FPU_OPTIMIZATION'] = True
     if opts.freesound:
         conf.define('FREESOUND',1)
+        conf.env['FREESOUND'] = True
     if opts.nls:
-        conf.define ('ENABLE_NLS', 1)
+        conf.define('ENABLE_NLS', 1)
+        conf.env['ENABLE_NLS'] = True
     if opts.build_tests:
         conf.env['BUILD_TESTS'] = opts.build_tests
     if opts.tranzport:
-        conf.define('TRANZPORT', 1)
+        conf.env['TRANZPORT'] = 1
     if opts.vst:
         conf.define('VST_SUPPORT', 1)
+        conf.env['VST_SUPPORT'] = True
         conf.env.append_value('CPPPATH', Options.options.wine_include)
-        autowaf.check_header(conf, 'windows.h', mandatory = True)
+        autowaf.check_header(conf, 'cxx', 'windows.h', mandatory = True)
     if opts.lxvst:
         conf.define('LXVST_SUPPORT', 1)
         conf.env['LXVST_SUPPORT'] = True
     if bool(conf.env['JACK_SESSION']):
         conf.define ('HAVE_JACK_SESSION', 1)
     if opts.wiimote:
-        conf.define('WIIMOTE',1)
+        conf.define('WIIMOTE', 1)
+        conf.env['WIIMOTE'] = True
     conf.define('WINDOWS_KEY', opts.windows_key)
     conf.env['PROGRAM_NAME'] = opts.program_name
     if opts.rt_alloc_debug:
@@ -601,7 +608,7 @@ const char* const ardour_config_info = "\\n\\
     write_config_text('Wiimote support',       opts.wiimote)
     write_config_text('Windows key',           opts.windows_key)
 
-    write_config_text('C compiler flags',      conf.env['CCFLAGS'])
+    write_config_text('C compiler flags',      conf.env['CFLAGS'])
     write_config_text('C++ compiler flags',    conf.env['CXXFLAGS'])
 
     config_text.write ('";\n}\n')
@@ -644,11 +651,11 @@ def build(bld):
                 'JACK_INPUT' : 'auditioner'
                 }
 
-    obj              = bld.new_task_gen('subst')
+    obj              = bld(features = 'subst')
     obj.source       = 'ardour.rc.in'
     obj.target       = 'ardour_system.rc'
     obj.dict         = rc_subst_dict
-    obj.install_path = '${CONFIGDIR}/ardour3'
+    obj.install_path = '${SYSCONF}/ardour3'
 
 def i18n(bld):
     bld.recurse (i18n_children)