From 4769db412dffcee699116a63fc714f88513fa0c6 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 22 Apr 2011 22:15:21 +0000 Subject: Fix Python whitespace (follow PEP8 guidelines, reformatted by Python Reindent) git-svn-id: svn://localhost/ardour2/branches/3.0@9409 d708f5d6-7413-0410-9779-e7cbd77b26cf --- export/wscript | 2 +- gtk2_ardour/wscript | 505 +++++++------- libs/appleutility/wscript | 28 +- libs/ardour/wscript | 328 +++++----- libs/audiographer/wscript | 169 +++-- libs/clearlooks-newer/wscript | 1 - libs/evoral/wscript | 193 +++--- libs/gnomecanvas/wscript | 33 +- libs/gtkmm2ext/wscript | 53 +- libs/midi++2/wscript | 71 +- libs/panners/1in2out/wscript | 27 +- libs/panners/2in2out/wscript | 27 +- libs/panners/vbap/wscript | 27 +- libs/panners/wscript | 18 +- libs/pbd/wscript | 221 ++++--- libs/qm-dsp/wscript | 61 +- libs/rubberband/wscript | 41 +- libs/surfaces/control_protocol/wscript | 33 +- libs/surfaces/frontier/wscript | 37 +- libs/surfaces/generic_midi/wscript | 45 +- libs/surfaces/mackie/wscript | 65 +- libs/surfaces/osc/wscript | 41 +- libs/surfaces/powermate/wscript | 33 +- libs/surfaces/tranzport/wscript | 61 +- libs/surfaces/wiimote/wscript | 33 +- libs/surfaces/wscript | 67 +- libs/taglib/wscript | 93 ++- libs/timecode/wscript | 27 +- libs/vamp-plugins/wscript | 57 +- libs/vamp-sdk/wscript | 77 ++- templates/wscript | 2 +- tools/sanity_check/wscript | 1 - wscript | 1127 ++++++++++++++++---------------- 33 files changed, 1788 insertions(+), 1816 deletions(-) diff --git a/export/wscript b/export/wscript index 2b81276b0c..2ab87c4cd9 100644 --- a/export/wscript +++ b/export/wscript @@ -12,7 +12,7 @@ def configure(conf): def build(bld): presets = glob.glob (os.path.join(bld.get_curdir(), '*.preset')) formats = glob.glob (os.path.join(bld.get_curdir(), '*.format')) - bld.install_files (os.path.join(bld.env['DATADIR'], 'ardour3', 'export'), + bld.install_files (os.path.join(bld.env['DATADIR'], 'ardour3', 'export'), presets + formats) def set_options(opt): diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript index b124a7f0bc..bde630e325 100644 --- a/gtk2_ardour/wscript +++ b/gtk2_ardour/wscript @@ -230,274 +230,273 @@ gtk2_ardour_sources = [ ] def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.build_version_files(path_prefix+'version.h', path_prefix+'version.cc', - 'gtk2_ardour', MAJOR, MINOR, MICRO) - autowaf.configure(conf) - conf.check_tool('compiler_cxx') - - if re.search ("linux", sys.platform) != None: - autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA') - # - # TODO: Insert a sanity check for on OS X - # to ensure that CoreAudio is present.... - # Really shouldn't these checks be in AutoWaf? - # - autowaf.check_pkg(conf, 'flac', uselib_store='FLAC', atleast_version='1.2.1') - autowaf.check_pkg(conf, 'gthread', uselib_store='GTHREAD', atleast_version='2.10.1') - autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.18') - autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.18') - autowaf.check_pkg(conf, 'libgnomecanvasmm-2.6', 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') - - # Boost headers - autowaf.check_header(conf, 'boost/shared_ptr.hpp') - autowaf.check_header(conf, 'boost/weak_ptr.hpp') + autowaf.build_version_files(path_prefix+'version.h', path_prefix+'version.cc', + 'gtk2_ardour', MAJOR, MINOR, MICRO) + autowaf.configure(conf) + conf.check_tool('compiler_cxx') + + if re.search ("linux", sys.platform) != None: + autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA') + # + # TODO: Insert a sanity check for on OS X + # to ensure that CoreAudio is present.... + # Really shouldn't these checks be in AutoWaf? + # + autowaf.check_pkg(conf, 'flac', uselib_store='FLAC', atleast_version='1.2.1') + autowaf.check_pkg(conf, 'gthread', uselib_store='GTHREAD', atleast_version='2.10.1') + autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.18') + autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.18') + autowaf.check_pkg(conf, 'libgnomecanvasmm-2.6', 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') + + # Boost headers + autowaf.check_header(conf, 'boost/shared_ptr.hpp') + autowaf.check_header(conf, 'boost/weak_ptr.hpp') # Add a waf `feature' to allow compilation of things using winegcc from TaskGen import feature @feature("wine") def set_winegcc(self): - self.env.LINK_CXX = self.env.LINK_CC = 'wineg++' - self.env.CC = 'winegcc' + self.env.LINK_CXX = self.env.LINK_CC = 'wineg++' + self.env.CC = 'winegcc' def build_color_scheme(path, prefix): - f = open (path, 'r') - color_scheme = '' - for line in f: - if re.search ('^#@color', line): - line.strip() # remove newline - words = line.split() - if len(color_scheme): - color_scheme += ';' - color_scheme += prefix - color_scheme += '_' - color_scheme += words[1] - color_scheme += ':' - color_scheme += words[2] - f.close() - return color_scheme - + f = open (path, 'r') + color_scheme = '' + for line in f: + if re.search ('^#@color', line): + line.strip() # remove newline + words = line.split() + if len(color_scheme): + color_scheme += ';' + color_scheme += prefix + color_scheme += '_' + color_scheme += words[1] + color_scheme += ':' + color_scheme += words[2] + f.close() + return color_scheme + 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') - else: - obj = bld.new_task_gen(features = 'cxx cc cprogram') - - obj.includes = ['.'] - obj.source = gtk2_ardour_sources - obj.name = 'gtk2_ardour' - if bld.env['VST_SUPPORT']: - obj.target = 'gtk2_ardour' - obj.includes += ['../libs/fst'] - else: - obj.target = 'ardour-3.0' - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') - 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 - libgtkmm2ext libtaglib libgnomecanvas-2''' - if sys.platform == 'darwin': - obj.uselib_local + ' libappleutility' - obj.cflags = ['-DPACKAGE="gtk2_ardour"'] - obj.cxxflags = ['-DPACKAGE="gtk2_ardour"'] - obj.cxxflags += ['-DVERSIONSTRING="' + bld.env['VERSION'] + '"'] - obj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"'] - obj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"'] - obj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"'] - obj.cxxflags += ['-DLOCALEDIR="' + os.path.join( - os.path.normpath(bld.env['DATADIR']), 'locale') + '"'] - obj.cxxflags += ['-DPROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"'] - obj.cxxflags += ['-I../libs'] - - if bld.env['HAVE_SLV2']: - obj.source += [ 'lv2_plugin_ui.cc' ] - obj.uselib += ' SLV2 ' - - if bld.env['FREESOUND']: - obj.source += [ 'sfdb_freesound_mootcher.cc' ] - - if bld.env['VST_SUPPORT']: - obj.source += [ 'vst_pluginui.cc' ] - obj.cxxflags += [ '-DVST_SUPPORT' ] - - if bld.env['PHONE_HOME']: - obj.cxxflags += [ '-DPHONE_HOME' ] - - 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 ' - else: - obj.source += [ 'x11.cc' ] - - 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.source = ''' - ../libs/fst/fst.c - ../libs/fst/fstinfofile.c - ../libs/fst/vsti.c - ../libs/fst/vstwin.c - ../vst/winmain.c - ''' - obj.includes = '../libs/fst' - obj.target = 'ardour-3.0-vst' - obj.linkflags = ['-mwindows', '-Wl,--export-dynamic', '-lpthread'] - obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX'] - obj.uselib = 'ALSA' - obj.uselib_local = '''libpbd libmidipp libtaglib libardour libardour_cp libgtkmm2ext libtaglib gtk2_ardour''' - - # Wrappers - - wrapper_subst_dict = { - 'INSTALL_PREFIX' : bld.env['PREFIX'], - 'LIBDIR' : os.path.normpath(bld.env['LIBDIRNAME']), - 'LIBS' : 'build/default/libs', - 'VERSION' : '3.0', - 'EXECUTABLE' : 'build/default/gtk2_ardour/ardour-3.0' + # 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') + else: + obj = bld.new_task_gen(features = 'cxx cc cprogram') + + obj.includes = ['.'] + obj.source = gtk2_ardour_sources + obj.name = 'gtk2_ardour' + if bld.env['VST_SUPPORT']: + obj.target = 'gtk2_ardour' + obj.includes += ['../libs/fst'] + else: + obj.target = 'ardour-3.0' + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + 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 + libgtkmm2ext libtaglib libgnomecanvas-2''' + if sys.platform == 'darwin': + obj.uselib_local + ' libappleutility' + obj.cflags = ['-DPACKAGE="gtk2_ardour"'] + obj.cxxflags = ['-DPACKAGE="gtk2_ardour"'] + obj.cxxflags += ['-DVERSIONSTRING="' + bld.env['VERSION'] + '"'] + obj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"'] + obj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"'] + obj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"'] + obj.cxxflags += ['-DLOCALEDIR="' + os.path.join( + os.path.normpath(bld.env['DATADIR']), 'locale') + '"'] + obj.cxxflags += ['-DPROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"'] + obj.cxxflags += ['-I../libs'] + + if bld.env['HAVE_SLV2']: + obj.source += [ 'lv2_plugin_ui.cc' ] + obj.uselib += ' SLV2 ' + + if bld.env['FREESOUND']: + obj.source += [ 'sfdb_freesound_mootcher.cc' ] + + if bld.env['VST_SUPPORT']: + obj.source += [ 'vst_pluginui.cc' ] + obj.cxxflags += [ '-DVST_SUPPORT' ] + + if bld.env['PHONE_HOME']: + obj.cxxflags += [ '-DPHONE_HOME' ] + + 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 ' + else: + obj.source += [ 'x11.cc' ] + + 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.source = ''' + ../libs/fst/fst.c + ../libs/fst/fstinfofile.c + ../libs/fst/vsti.c + ../libs/fst/vstwin.c + ../vst/winmain.c + ''' + obj.includes = '../libs/fst' + obj.target = 'ardour-3.0-vst' + obj.linkflags = ['-mwindows', '-Wl,--export-dynamic', '-lpthread'] + obj.defines = ['_POSIX_SOURCE', 'USE_WS_PREFIX'] + obj.uselib = 'ALSA' + obj.uselib_local = '''libpbd libmidipp libtaglib libardour libardour_cp libgtkmm2ext libtaglib gtk2_ardour''' + + # Wrappers + + wrapper_subst_dict = { + 'INSTALL_PREFIX' : bld.env['PREFIX'], + 'LIBDIR' : os.path.normpath(bld.env['LIBDIRNAME']), + 'LIBS' : 'build/default/libs', + 'VERSION' : '3.0', + 'EXECUTABLE' : 'build/default/gtk2_ardour/ardour-3.0' + } + + obj = bld.new_task_gen('subst') + obj.source = 'ardev_common.sh.in' + obj.target = 'ardev_common_waf.sh' + obj.chmod = 0755 + obj.dict = wrapper_subst_dict + + obj = bld.new_task_gen('subst') + obj.source = 'ardour.sh.in' + obj.target = 'ardour3' + obj.chmod = 0755 + obj.dict = wrapper_subst_dict + obj.install_path = bld.env['BINDIR'] + + # Font configuration + + dark_rc_subst_dict = {} + light_rc_subst_dict = {} + font_sizes = {} + base_font = "" + + # Set up font sizes + if bld.env['IS_OSX']: # OS X fonts + basefont = "Lucida Grande" + font_sizes = { + 'TINY' : '7', + 'SMALLER' : '9', + 'SMALL' : '10', + 'NORMAL' : '11', + 'BIG' : '12', + 'BIGGER' : '14', + 'LARGE' : '18', + 'LARGER' : '28', + 'HUGER' : '36', + 'MASSIVE' : '60' + } + else: # Linux/X11 fonts + basefont = '' # unspecified - use system defaults + font_sizes = { + 'TINY' : '6', + 'SMALLER' : '8', + 'SMALL' : '9', + 'NORMAL' : '10', + 'BIG' : '14', + 'BIGGER' : '16', + 'LARGE' : '18', + 'LARGER' : '24', + 'HUGER' : '34', + 'MASSIVE' : '60' } - obj = bld.new_task_gen('subst') - obj.source = 'ardev_common.sh.in' - obj.target = 'ardev_common_waf.sh' - obj.chmod = 0755 - obj.dict = wrapper_subst_dict - - obj = bld.new_task_gen('subst') - obj.source = 'ardour.sh.in' - obj.target = 'ardour3' - obj.chmod = 0755 - obj.dict = wrapper_subst_dict - obj.install_path = bld.env['BINDIR'] - - # Font configuration - - dark_rc_subst_dict = {} - light_rc_subst_dict = {} - font_sizes = {} - base_font = "" - - # Set up font sizes - if bld.env['IS_OSX']: # OS X fonts - basefont = "Lucida Grande" - font_sizes = { - 'TINY' : '7', - 'SMALLER' : '9', - 'SMALL' : '10', - 'NORMAL' : '11', - 'BIG' : '12', - 'BIGGER' : '14', - 'LARGE' : '18', - 'LARGER' : '28', - 'HUGER' : '36', - 'MASSIVE' : '60' - } - else: # Linux/X11 fonts - basefont = '' # unspecified - use system defaults - font_sizes = { - 'TINY' : '6', - 'SMALLER' : '8', - 'SMALL' : '9', - 'NORMAL' : '10', - 'BIG' : '14', - 'BIGGER' : '16', - 'LARGE' : '18', - 'LARGER' : '24', - 'HUGER' : '34', - 'MASSIVE' : '60' - } - - # Set up font substitution dictionary - for style in ['', 'BOLD', 'ITALIC']: - for sizename,points in iter(font_sizes.items()): - if (len (style)): - key = "_".join (['FONT',style,sizename]) - fontstyle = " ".join ([basefont,style.lower(),points]) - else: - key = "_".join (['FONT',sizename]) - fontstyle = " ".join ([basefont,points]) - - dark_rc_subst_dict[key] = fontstyle - light_rc_subst_dict[key] = fontstyle - - # RC files - dark_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme ('gtk2_ardour/ardour3_ui_dark.rc.in', 'ARDOUR_DARK') - dark_rc_subst_dict['COLPREFIX'] = 'ARDOUR_DARK' - light_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme ('gtk2_ardour/ardour3_ui_light.rc.in', 'ARDOUR_LIGHT') - light_rc_subst_dict['COLPREFIX'] = 'ARDOUR_LIGHT' - - obj = bld.new_task_gen('subst') - obj.source = 'ardour3_ui_dark.rc.in' - obj.target = 'ardour3_ui_dark.rc' - obj.dict = dark_rc_subst_dict + # Set up font substitution dictionary + for style in ['', 'BOLD', 'ITALIC']: + for sizename,points in iter(font_sizes.items()): + if (len (style)): + key = "_".join (['FONT',style,sizename]) + fontstyle = " ".join ([basefont,style.lower(),points]) + else: + key = "_".join (['FONT',sizename]) + fontstyle = " ".join ([basefont,points]) + + dark_rc_subst_dict[key] = fontstyle + light_rc_subst_dict[key] = fontstyle + + # RC files + dark_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme ('gtk2_ardour/ardour3_ui_dark.rc.in', 'ARDOUR_DARK') + dark_rc_subst_dict['COLPREFIX'] = 'ARDOUR_DARK' + light_rc_subst_dict['COLOR_SCHEME'] = build_color_scheme ('gtk2_ardour/ardour3_ui_light.rc.in', 'ARDOUR_LIGHT') + light_rc_subst_dict['COLPREFIX'] = 'ARDOUR_LIGHT' + + obj = bld.new_task_gen('subst') + obj.source = 'ardour3_ui_dark.rc.in' + obj.target = 'ardour3_ui_dark.rc' + obj.dict = dark_rc_subst_dict + obj.install_path = os.path.join(bld.env['CONFIGDIR'], 'ardour3') + + obj = bld.new_task_gen('subst') + obj.source = 'ardour3_ui_light.rc.in' + obj.target = 'ardour3_ui_light.rc' + obj.dict = light_rc_subst_dict + obj.install_path = os.path.join(bld.env['CONFIGDIR'], 'ardour3') + + # Menus + menus_argv = [] + if bld.env['GTKOSX']: + menus_argv = [ '-E', '-P', '-DGTKOSX' ] + else: + menus_argv = [ '-E', '-P' ] + obj = bld.new_task_gen('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'), 'ardour.menus') + + # Keybindings + + # 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad', 'SAE-us-nokeypad', 'ergonomic-us' + + for b in [ 'mnemonic-us' ] : + obj = bld.new_task_gen ( + 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 = bld.new_task_gen('subst') - obj.source = 'ardour3_ui_light.rc.in' - obj.target = 'ardour3_ui_light.rc' - obj.dict = light_rc_subst_dict - obj.install_path = os.path.join(bld.env['CONFIGDIR'], 'ardour3') + # not modified at present + bld.install_files(os.path.join(bld.env['CONFIGDIR'], 'ardour3'), 'step_editing.bindings') - # Menus - menus_argv = [] - if bld.env['GTKOSX']: - menus_argv = [ '-E', '-P', '-DGTKOSX' ] - else: - menus_argv = [ '-E', '-P' ] - obj = bld.new_task_gen('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'), 'ardour.menus') - - # Keybindings - - # 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad', 'SAE-us-nokeypad', 'ergonomic-us' - - for b in [ 'mnemonic-us' ] : - obj = bld.new_task_gen ( - 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') - - # not modified at present - bld.install_files(os.path.join(bld.env['CONFIGDIR'], 'ardour3'), 'step_editing.bindings') - - # Icons/Images - bld.install_files('${DATADIR}/ardour3/icons', 'icons/*.png') - bld.install_files('${DATADIR}/ardour3/pixmaps', 'pixmaps/*.xpm') - bld.install_files('${DATADIR}/ardour3', 'splash.png') - - # Default UI configuration - bld.install_files('${CONFIGDIR}/ardour3', 'ardour3_ui_default.conf') - - # Default export stuff - bld.install_files('${CONFIGDIR}/ardour3/export', 'export/*.format') - - # i18n - if bld.env['ENABLE_NLS']: - mo_files = glob.glob (os.path.join (bld.get_curdir(), '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', lang, 'LC_MESSAGES', APPNAME + '.mo'), mo) + # Icons/Images + bld.install_files('${DATADIR}/ardour3/icons', 'icons/*.png') + bld.install_files('${DATADIR}/ardour3/pixmaps', 'pixmaps/*.xpm') + bld.install_files('${DATADIR}/ardour3', 'splash.png') -def i18n(bld): - autowaf.build_i18n (bld, srcdir, 'gtk2_ardour', APPNAME, gtk2_ardour_sources) + # Default UI configuration + bld.install_files('${CONFIGDIR}/ardour3', 'ardour3_ui_default.conf') + # Default export stuff + bld.install_files('${CONFIGDIR}/ardour3/export', 'export/*.format') + + # i18n + if bld.env['ENABLE_NLS']: + mo_files = glob.glob (os.path.join (bld.get_curdir(), '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', lang, 'LC_MESSAGES', APPNAME + '.mo'), mo) + +def i18n(bld): + autowaf.build_i18n (bld, srcdir, 'gtk2_ardour', APPNAME, gtk2_ardour_sources) diff --git a/libs/appleutility/wscript b/libs/appleutility/wscript index 2d164a025a..50e7e0200f 100644 --- a/libs/appleutility/wscript +++ b/libs/appleutility/wscript @@ -21,24 +21,24 @@ libappleutility_sources = [ ] def set_options(opt): - autowaf.set_options(opt) - + autowaf.set_options(opt) + def configure(conf): - autowaf.configure(conf) - + autowaf.configure(conf) + def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.uselib = 'AUDIOUNITS OSX' - obj.source = libappleutility_sources - obj.export_incdirs = ['.'] - obj.includes = ['.'] - obj.name = 'libappleutility' - obj.target = 'appleutility' - obj.install_path = os.path.join(bld.env['LIBDIR'], 'appleutility') + obj = bld.new_task_gen('cxx', 'shlib') + obj.uselib = 'AUDIOUNITS OSX' + obj.source = libappleutility_sources + obj.export_incdirs = ['.'] + obj.includes = ['.'] + obj.name = 'libappleutility' + obj.target = 'appleutility' + obj.install_path = os.path.join(bld.env['LIBDIR'], 'appleutility') def shutdown(): - autowaf.shutdown() + autowaf.shutdown() def i18n(bld): - pass + pass diff --git a/libs/ardour/wscript b/libs/ardour/wscript index 10aae55915..f2729d4594 100644 --- a/libs/ardour/wscript +++ b/libs/ardour/wscript @@ -215,182 +215,182 @@ libardour_sources = [ ] def flac_supported(): - cmd = subprocess.Popen ("sndfile-info testfile.flac", - stdout = subprocess.PIPE, - stderr = subprocess.STDOUT, shell = True) - out = cmd.communicate()[0].decode('utf-8'); - return re.search ('unknown format', out) == None + cmd = subprocess.Popen ("sndfile-info testfile.flac", + stdout = subprocess.PIPE, + stderr = subprocess.STDOUT, shell = True) + out = cmd.communicate()[0].decode('utf-8'); + return re.search ('unknown format', out) == None def ogg_supported(): - cmd = subprocess.Popen ("sndfile-info testfile.ogg", - stdout = subprocess.PIPE, - stderr = subprocess.STDOUT, shell = True) - out = cmd.communicate()[0].decode('utf-8'); - return re.search ('unknown format', out) == None + cmd = subprocess.Popen ("sndfile-info testfile.ogg", + stdout = subprocess.PIPE, + stderr = subprocess.STDOUT, shell = True) + out = cmd.communicate()[0].decode('utf-8'); + return re.search ('unknown format', out) == None def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.build_version_files(path_prefix+'ardour/version.h', path_prefix+'version.cc', - 'libardour3', MAJOR, MINOR, MICRO) - autowaf.configure(conf) - conf.check_tool('compiler_cxx gas') - autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO', atleast_version='0.3.2') - autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.118.2') - autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML') - autowaf.check_pkg(conf, 'lrdf', uselib_store='LRDF', atleast_version='0.4.0') - autowaf.check_pkg(conf, 'samplerate', uselib_store='SAMPLERATE', atleast_version='0.1.0') - autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0') - autowaf.check_pkg(conf, 'slv2', uselib_store='SLV2', atleast_version='0.6.4', mandatory=False) - autowaf.check_pkg(conf, 'slv2', uselib_store='NEW_SLV2', atleast_version='0.7.0', mandatory=False) - autowaf.check_pkg(conf, 'suil', uselib_store='SUIL', atleast_version='0.1.0', mandatory=False) - autowaf.check_pkg(conf, 'rasqal', uselib_store='RASQAL', atleast_version='0.9.14', mandatory=False) - autowaf.check_pkg(conf, 'soundtouch-1.0', uselib_store='SOUNDTOUCH', mandatory=False) - autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False) - autowaf.check_pkg(conf, 'ogg', uselib_store='OGG', atleast_version='1.1.2') - autowaf.check_pkg(conf, 'flac', uselib_store='FLAC', atleast_version='1.2.1') - autowaf.check_pkg(conf, 'libcurl', uselib_store='CURL', atleast_version='7.0.0') - - # we don't try to detect this, since its part of our source tree - - conf.define('HAVE_RUBBERBAND', 1) # controls whether we think we have it - conf.define('USE_RUBBERBAND', 1) # controls whether we actually use it - - conf.define('CURRENT_SESSION_FILE_VERSION', CURRENT_SESSION_FILE_VERSION) - - conf.check(header_name='sys/vfs.h', define_name='HAVE_SYS_VFS_H') - conf.check(header_name='wordexp.h', define_name='HAVE_WORDEXP') - - conf.check(header_name='jack/session.h', uselib = [ 'JACK' ], define_name='HAVE_JACK_SESSION') - - conf.check(header_name='unistd.h', define_name='HAVE_UNISTD') - - conf.check_cc(fragment = "#include \nvoid callback (int code, const char* reason, void* arg) { return; }\nint main(int argc, char **argv) { jack_client_t* c; jack_on_info_shutdown (c, callback, (void*) 0); return 0; }\n", - uselib= [ 'JACK' ], - msg = 'Checking for jack_on_info_shutdown', - define_name = 'HAVE_JACK_ON_INFO_SHUTDOWN', - okmsg = 'present') - - missing_jack_message = 'missing - a version of JACK that supports jack_port_set_latency_range() is required to compile Ardour3\nCurrently this means using JACK version 0.120.1 from http://www.jackaudio.org/download\n' - - conf.check_cc(fragment = "#include \nint main(int argc, char **argv) { jack_port_t* p; jack_latency_range_t r; jack_port_set_latency_range (p, JackCaptureLatency, &r); return 0; }\n", - uselib = [ 'JACK' ], - msg = 'Checking for new JACK latency API', - okmsg = 'present', - mandatory = True, - errmsg = missing_jack_message) - - conf.check_cc(fragment = '#include \nint main(int argc, char **argv) { jack_port_type_get_buffer_size ((jack_client_t*)0, ""); }\n', - uselib = [ 'JACK' ], - msg = 'Checking for new jack_port_type_get_buffer_size', - okmsg = 'present', - mandatory = True, - errmsg = missing_jack_message) - - if flac_supported(): - conf.define ('HAVE_FLAC', 1) - if ogg_supported(): - conf.define ('HAVE_OGG', 1) - - conf.write_config_header('libardour-config.h') - - # 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.build_version_files(path_prefix+'ardour/version.h', path_prefix+'version.cc', + 'libardour3', MAJOR, MINOR, MICRO) + autowaf.configure(conf) + conf.check_tool('compiler_cxx gas') + autowaf.check_pkg(conf, 'aubio', uselib_store='AUBIO', atleast_version='0.3.2') + autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.118.2') + autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML') + autowaf.check_pkg(conf, 'lrdf', uselib_store='LRDF', atleast_version='0.4.0') + autowaf.check_pkg(conf, 'samplerate', uselib_store='SAMPLERATE', atleast_version='0.1.0') + autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0') + autowaf.check_pkg(conf, 'slv2', uselib_store='SLV2', atleast_version='0.6.4', mandatory=False) + autowaf.check_pkg(conf, 'slv2', uselib_store='NEW_SLV2', atleast_version='0.7.0', mandatory=False) + autowaf.check_pkg(conf, 'suil', uselib_store='SUIL', atleast_version='0.1.0', mandatory=False) + autowaf.check_pkg(conf, 'rasqal', uselib_store='RASQAL', atleast_version='0.9.14', mandatory=False) + autowaf.check_pkg(conf, 'soundtouch-1.0', uselib_store='SOUNDTOUCH', mandatory=False) + autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False) + autowaf.check_pkg(conf, 'ogg', uselib_store='OGG', atleast_version='1.1.2') + autowaf.check_pkg(conf, 'flac', uselib_store='FLAC', atleast_version='1.2.1') + autowaf.check_pkg(conf, 'libcurl', uselib_store='CURL', atleast_version='7.0.0') + + # we don't try to detect this, since its part of our source tree + + conf.define('HAVE_RUBBERBAND', 1) # controls whether we think we have it + conf.define('USE_RUBBERBAND', 1) # controls whether we actually use it + + conf.define('CURRENT_SESSION_FILE_VERSION', CURRENT_SESSION_FILE_VERSION) + + conf.check(header_name='sys/vfs.h', define_name='HAVE_SYS_VFS_H') + conf.check(header_name='wordexp.h', define_name='HAVE_WORDEXP') + + conf.check(header_name='jack/session.h', uselib = [ 'JACK' ], define_name='HAVE_JACK_SESSION') + + conf.check(header_name='unistd.h', define_name='HAVE_UNISTD') + + conf.check_cc(fragment = "#include \nvoid callback (int code, const char* reason, void* arg) { return; }\nint main(int argc, char **argv) { jack_client_t* c; jack_on_info_shutdown (c, callback, (void*) 0); return 0; }\n", + uselib= [ 'JACK' ], + msg = 'Checking for jack_on_info_shutdown', + define_name = 'HAVE_JACK_ON_INFO_SHUTDOWN', + okmsg = 'present') + + missing_jack_message = 'missing - a version of JACK that supports jack_port_set_latency_range() is required to compile Ardour3\nCurrently this means using JACK version 0.120.1 from http://www.jackaudio.org/download\n' + + conf.check_cc(fragment = "#include \nint main(int argc, char **argv) { jack_port_t* p; jack_latency_range_t r; jack_port_set_latency_range (p, JackCaptureLatency, &r); return 0; }\n", + uselib = [ 'JACK' ], + msg = 'Checking for new JACK latency API', + okmsg = 'present', + mandatory = True, + errmsg = missing_jack_message) + + conf.check_cc(fragment = '#include \nint main(int argc, char **argv) { jack_port_type_get_buffer_size ((jack_client_t*)0, ""); }\n', + uselib = [ 'JACK' ], + msg = 'Checking for new jack_port_type_get_buffer_size', + okmsg = 'present', + mandatory = True, + errmsg = missing_jack_message) + + if flac_supported(): + conf.define ('HAVE_FLAC', 1) + if ogg_supported(): + conf.define ('HAVE_OGG', 1) + + conf.write_config_header('libardour-config.h') + + # 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') def build(bld): - # Library - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = libardour_sources - obj.export_incdirs = ['.'] - 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 libvampplugin libtaglib librubberband libaudiographer' - obj.vnum = LIBARDOUR_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') - obj.cxxflags = ['-DPACKAGE="libardour3"'] - obj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"'] - obj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"'] - obj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"'] - obj.cxxflags += ['-DLOCALEDIR="' + os.path.join( - os.path.normpath(bld.env['DATADIR']), 'locale') + '"'] - obj.cxxflags += ['-DVAMP_DIR="' + os.path.join( - os.path.normpath(bld.env['LIBDIR']), 'ardour3', 'vamp') + '"'] - obj.cxxflags += ['-DPROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"'] - - #obj.source += ' st_stretch.cc st_pitch.cc ' - #obj.uselib += ' SOUNDTOUCH ' - #obj.add_objects = 'default/libs/surfaces/control_protocol/smpte_1.o' - - if bld.env['HAVE_SLV2']: - obj.source += [ 'lv2_plugin.cc', 'lv2_event_buffer.cc', 'uri_map.cc', 'rdff.c' ] - obj.uselib += ' SLV2 ' + ' RASQAL ' - if bld.env['HAVE_SUIL']: - obj.uselib += ' SUIL ' - - if bld.env['VST_SUPPORT']: - obj.source += [ 'vst_plugin.cc', 'session_vst.cc' ] - obj.includes += [ '../fst' ] - obj.cxxflags += [ '-DVST_SUPPORT' ] - - if bld.env['COREAUDIO']: - obj.source += [ 'coreaudiosource.cc', 'caimportable.cc' ] - obj.uselib_local += ' libappleutility' - obj.source += [ 'audio_unit.cc' ] + # Library + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = libardour_sources + obj.export_incdirs = ['.'] + 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 libvampplugin libtaglib librubberband libaudiographer' + obj.vnum = LIBARDOUR_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + obj.cxxflags = ['-DPACKAGE="libardour3"'] + obj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"'] + obj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"'] + obj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"'] + obj.cxxflags += ['-DLOCALEDIR="' + os.path.join( + os.path.normpath(bld.env['DATADIR']), 'locale') + '"'] + obj.cxxflags += ['-DVAMP_DIR="' + os.path.join( + os.path.normpath(bld.env['LIBDIR']), 'ardour3', 'vamp') + '"'] + obj.cxxflags += ['-DPROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"'] + + #obj.source += ' st_stretch.cc st_pitch.cc ' + #obj.uselib += ' SOUNDTOUCH ' + #obj.add_objects = 'default/libs/surfaces/control_protocol/smpte_1.o' + + if bld.env['HAVE_SLV2']: + obj.source += [ 'lv2_plugin.cc', 'lv2_event_buffer.cc', 'uri_map.cc', 'rdff.c' ] + obj.uselib += ' SLV2 ' + ' RASQAL ' + if bld.env['HAVE_SUIL']: + obj.uselib += ' SUIL ' + + if bld.env['VST_SUPPORT']: + obj.source += [ 'vst_plugin.cc', 'session_vst.cc' ] + obj.includes += [ '../fst' ] + obj.cxxflags += [ '-DVST_SUPPORT' ] + + if bld.env['COREAUDIO']: + obj.source += [ 'coreaudiosource.cc', 'caimportable.cc' ] + obj.uselib_local += ' libappleutility' + obj.source += [ 'audio_unit.cc' ] + + if bld.env['FPU_OPTIMIZATION']: + if bld.env['build_target'] == 'i386' or bld.env['build_target'] == 'i686': + obj.source += [ 'sse_functions_xmm.cc', 'sse_functions.s' ] + elif bld.env['build_target'] == 'x86_64': + obj.source += [ 'sse_functions_xmm.cc', 'sse_functions_64bit.s' ] + + # i18n + if bld.env['ENABLE_NLS']: + mo_files = glob.glob (os.path.join (bld.get_curdir(), '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', lang, 'LC_MESSAGES', APPNAME + '.mo'), mo) + if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']: + # Unit tests + testobj = bld.new_task_gen('cxx', 'program') + testobj.source = ''' + test/bbt_test.cpp + test/interpolation_test.cpp + test/midi_clock_slave_test.cpp + test/resampled_source.cc + test/mantis_3356.cc + test/testrunner.cpp + '''.split() + testobj.includes = obj.includes + ['test', '../pbd'] + testobj.uselib = 'CPPUNIT SIGCPP JACK GLIBMM GTHREAD SAMPLERATE XML LRDF COREAUDIO' + testobj.uselib_local = 'libpbd libmidipp libardour' + testobj.name = 'libardour-tests' + testobj.target = 'run-tests' + testobj.install_path = '' + testobj.cxxflags = ['-DPACKAGE="libardour3test"'] + testobj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"'] + testobj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"'] + testobj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"'] + testobj.cxxflags += ['-DLOCALEDIR="' + os.path.join( + os.path.normpath(bld.env['DATADIR']), 'locale') + '"'] + testobj.cxxflags += ['-DVAMP_DIR="' + os.path.join( + os.path.normpath(bld.env['LIBDIR']), 'ardour3', 'vamp') + '"'] if bld.env['FPU_OPTIMIZATION']: - if bld.env['build_target'] == 'i386' or bld.env['build_target'] == 'i686': - obj.source += [ 'sse_functions_xmm.cc', 'sse_functions.s' ] - elif bld.env['build_target'] == 'x86_64': - obj.source += [ 'sse_functions_xmm.cc', 'sse_functions_64bit.s' ] - - # i18n - if bld.env['ENABLE_NLS']: - mo_files = glob.glob (os.path.join (bld.get_curdir(), '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', lang, 'LC_MESSAGES', APPNAME + '.mo'), mo) - - if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']: - # Unit tests - testobj = bld.new_task_gen('cxx', 'program') - testobj.source = ''' - test/bbt_test.cpp - test/interpolation_test.cpp - test/midi_clock_slave_test.cpp - test/resampled_source.cc - test/mantis_3356.cc - test/testrunner.cpp - '''.split() - testobj.includes = obj.includes + ['test', '../pbd'] - testobj.uselib = 'CPPUNIT SIGCPP JACK GLIBMM GTHREAD SAMPLERATE XML LRDF COREAUDIO' - testobj.uselib_local = 'libpbd libmidipp libardour' - testobj.name = 'libardour-tests' - testobj.target = 'run-tests' - testobj.install_path = '' - testobj.cxxflags = ['-DPACKAGE="libardour3test"'] - testobj.cxxflags += ['-DDATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"'] - testobj.cxxflags += ['-DCONFIG_DIR="' + os.path.normpath(bld.env['CONFIGDIR']) + '"'] - testobj.cxxflags += ['-DMODULE_DIR="' + os.path.normpath(bld.env['LIBDIR']) + '"'] - testobj.cxxflags += ['-DLOCALEDIR="' + os.path.join( - os.path.normpath(bld.env['DATADIR']), 'locale') + '"'] - testobj.cxxflags += ['-DVAMP_DIR="' + os.path.join( - os.path.normpath(bld.env['LIBDIR']), 'ardour3', 'vamp') + '"'] - if bld.env['FPU_OPTIMIZATION']: - testobj.source += [ 'sse_functions_xmm.cc' ] - if bld.env['build_target'] == 'i386' or bld.env['build_target'] == 'i686': - testobj.source += [ 'sse_functions.s' ] - elif bld.env['build_target'] == 'x86_64': - testobj.source += [ 'sse_functions_64bit.s' ] + testobj.source += [ 'sse_functions_xmm.cc' ] + if bld.env['build_target'] == 'i386' or bld.env['build_target'] == 'i686': + testobj.source += [ 'sse_functions.s' ] + elif bld.env['build_target'] == 'x86_64': + testobj.source += [ 'sse_functions_64bit.s' ] def shutdown(): - autowaf.shutdown() + autowaf.shutdown() def i18n(bld): - autowaf.build_i18n (bld, '..', 'libs/ardour', APPNAME, libardour_sources) + autowaf.build_i18n (bld, '..', 'libs/ardour', APPNAME, libardour_sources) diff --git a/libs/audiographer/wscript b/libs/audiographer/wscript index 856f8be119..31103b3095 100644 --- a/libs/audiographer/wscript +++ b/libs/audiographer/wscript @@ -23,97 +23,96 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) - - conf.check_tool('compiler_cxx') - - autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False) - autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0', mandatory=False) - autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2', mandatory=False) - autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0', mandatory=False) - autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.14.0', mandatory=False) - autowaf.check_pkg(conf, 'samplerate', uselib_store='SAMPLERATE', atleast_version='0.1.7', mandatory=False) - 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.configure(conf) + + conf.check_tool('compiler_cxx') + + autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False) + autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0', mandatory=False) + autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2', mandatory=False) + autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0', mandatory=False) + autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.14.0', mandatory=False) + autowaf.check_pkg(conf, 'samplerate', uselib_store='SAMPLERATE', atleast_version='0.1.7', mandatory=False) + 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') def build(bld): - # Headers - #bld.install_files('${INCLUDEDIR}/audiographer', 'audiographer/*.h') - #bld.install_files('${INCLUDEDIR}/audiographer/general', 'audiographer/general/*.h') - #bld.install_files('${INCLUDEDIR}/audiographer/sndfile', 'audiographer/sndfile/*.h') - #bld.install_files('${INCLUDEDIR}/audiographer/utils', 'audiographer/utils/*.h') - - #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.source = ''' - private/gdither/gdither.cc - src/general/sample_format_converter.cc - src/routines.cc - src/debug_utils.cc - src/general/broadcast_info.cc + # Headers + #bld.install_files('${INCLUDEDIR}/audiographer', 'audiographer/*.h') + #bld.install_files('${INCLUDEDIR}/audiographer/general', 'audiographer/general/*.h') + #bld.install_files('${INCLUDEDIR}/audiographer/sndfile', 'audiographer/sndfile/*.h') + #bld.install_files('${INCLUDEDIR}/audiographer/utils', 'audiographer/utils/*.h') + + #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.source = ''' + private/gdither/gdither.cc + src/general/sample_format_converter.cc + src/routines.cc + src/debug_utils.cc + src/general/broadcast_info.cc + ''' + + if bld.env['HAVE_SAMPLERATE']: + audiographer.source += ''' + src/general/sr_converter.cc ''' - + + audiographer.name = 'libaudiographer' + audiographer.target = 'audiographer' + audiographer.export_incdirs = ['.', './src'] + audiographer.includes = ['.', './src'] + audiographer.uselib = 'GLIB GLIBMM GTHREAD SAMPLERATE SNDFILE' + audiographer.uselib_local = '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.source = ''' + tests/test_runner.cc + tests/type_utils_test.cc + tests/utils/identity_vertex_test.cc + tests/general/interleaver_test.cc + tests/general/deinterleaver_test.cc + tests/general/interleaver_deinterleaver_test.cc + tests/general/chunker_test.cc + tests/general/sample_format_converter_test.cc + tests/general/peak_reader_test.cc + tests/general/normalizer_test.cc + tests/general/silence_trimmer_test.cc + ''' + + if bld.env['HAVE_ALL_GTHREAD']: + obj.source += ''' + tests/general/threader_test.cc + ''' + + if bld.env['HAVE_SNDFILE']: + obj.source += ''' + tests/sndfile/tmp_file_test.cc + ''' + if bld.env['HAVE_SAMPLERATE']: - audiographer.source += ''' - src/general/sr_converter.cc - ''' - - audiographer.name = 'libaudiographer' - audiographer.target = 'audiographer' - audiographer.export_incdirs = ['.', './src'] - audiographer.includes = ['.', './src'] - audiographer.uselib = 'GLIB GLIBMM GTHREAD SAMPLERATE SNDFILE' - audiographer.uselib_local = '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.source = ''' - tests/test_runner.cc - tests/type_utils_test.cc - tests/utils/identity_vertex_test.cc - tests/general/interleaver_test.cc - tests/general/deinterleaver_test.cc - tests/general/interleaver_deinterleaver_test.cc - tests/general/chunker_test.cc - tests/general/sample_format_converter_test.cc - tests/general/peak_reader_test.cc - tests/general/normalizer_test.cc - tests/general/silence_trimmer_test.cc - ''' - - if bld.env['HAVE_ALL_GTHREAD']: - obj.source += ''' - tests/general/threader_test.cc - ''' - - if bld.env['HAVE_SNDFILE']: - obj.source += ''' - tests/sndfile/tmp_file_test.cc - ''' - - if bld.env['HAVE_SAMPLERATE']: - obj.source += ''' - tests/general/sr_converter_test.cc - ''' - - obj.uselib_local = 'libaudiographer' - obj.uselib = 'CPPUNIT GLIBMM' - obj.target = 'run-tests' - obj.install_path = '' + obj.source += ''' + tests/general/sr_converter_test.cc + ''' -def shutdown(): - autowaf.shutdown() + obj.uselib_local = 'libaudiographer' + obj.uselib = 'CPPUNIT GLIBMM' + obj.target = 'run-tests' + obj.install_path = '' +def shutdown(): + autowaf.shutdown() diff --git a/libs/clearlooks-newer/wscript b/libs/clearlooks-newer/wscript index b33d216032..b3ba10c5e2 100644 --- a/libs/clearlooks-newer/wscript +++ b/libs/clearlooks-newer/wscript @@ -45,4 +45,3 @@ def build(bld): def shutdown(): autowaf.shutdown() - diff --git a/libs/evoral/wscript b/libs/evoral/wscript index a0c99029a5..6042db22cd 100644 --- a/libs/evoral/wscript +++ b/libs/evoral/wscript @@ -23,112 +23,111 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) - opt.add_option('--test', action='store_true', default=False, dest='build_tests', - help="Build unit tests") + autowaf.set_options(opt) + opt.add_option('--test', action='store_true', default=False, dest='build_tests', + help="Build unit tests") def configure(conf): - autowaf.configure(conf) - #autowaf.display_header('Evoral Configuration') - - conf.check_tool('compiler_cxx') - autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False) - autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2') - autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0') - 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') - - conf.env['BUILD_TESTS'] = Options.options.build_tests - - #autowaf.display_msg(conf, "Unit tests", str(conf.env['BUILD_TESTS'])) - #print + autowaf.configure(conf) + #autowaf.display_header('Evoral Configuration') -def build(bld): - # Headers - #bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.h') - #bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.hpp') - - # Pkgconfig file - #autowaf.build_pc(bld, 'EVORAL', EVORAL_VERSION, 'GLIBMM GTHREAD') - - libsmf = bld.new_task_gen('cc', 'shlib') - libsmf.source = ''' - src/libsmf/smf.c - src/libsmf/smf_decode.c - src/libsmf/smf_load.c - src/libsmf/smf_save.c - src/libsmf/smf_tempo.c - ''' - libsmf.export_incdirs = ['./src/libsmf'] - libsmf.defines = 'SMF_VERSION="1.2"' - libsmf.includes = ['./src'] - libsmf.name = 'libsmf' - libsmf.target = 'smf' - libsmf.uselib = 'GLIB' - libsmf.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') - - lib_source = ''' - src/Control.cpp - src/ControlList.cpp - src/ControlSet.cpp - src/Curve.cpp - src/Event.cpp - src/midi_util.cpp - src/MIDIEvent.cpp - src/Note.cpp - src/SMF.cpp - src/Sequence.cpp - src/debug.cpp - ''' + conf.check_tool('compiler_cxx') + autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False) + autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2') + autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0') + 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') + + conf.env['BUILD_TESTS'] = Options.options.build_tests - # Library - obj = bld.new_task_gen('cxx', 'shlib') + #autowaf.display_msg(conf, "Unit tests", str(conf.env['BUILD_TESTS'])) + #print + +def build(bld): + # Headers + #bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.h') + #bld.install_files('${INCLUDEDIR}/evoral', 'evoral/*.hpp') + + # Pkgconfig file + #autowaf.build_pc(bld, 'EVORAL', EVORAL_VERSION, 'GLIBMM GTHREAD') + + libsmf = bld.new_task_gen('cc', 'shlib') + libsmf.source = ''' + src/libsmf/smf.c + src/libsmf/smf_decode.c + src/libsmf/smf_load.c + src/libsmf/smf_save.c + src/libsmf/smf_tempo.c + ''' + libsmf.export_incdirs = ['./src/libsmf'] + libsmf.defines = 'SMF_VERSION="1.2"' + libsmf.includes = ['./src'] + libsmf.name = 'libsmf' + libsmf.target = 'smf' + libsmf.uselib = 'GLIB' + libsmf.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + + lib_source = ''' + src/Control.cpp + src/ControlList.cpp + src/ControlSet.cpp + src/Curve.cpp + src/Event.cpp + src/midi_util.cpp + src/MIDIEvent.cpp + src/Note.cpp + src/SMF.cpp + src/Sequence.cpp + src/debug.cpp + ''' + + # Library + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = lib_source + obj.export_incdirs = ['.'] + obj.includes = ['.', './src'] + obj.name = 'libevoral' + obj.target = 'evoral' + obj.uselib = 'GLIBMM GTHREAD SMF' + obj.uselib_local = 'libsmf libpbd' + obj.vnum = EVORAL_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + + 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.source = lib_source obj.source = lib_source obj.export_incdirs = ['.'] obj.includes = ['.', './src'] - obj.name = 'libevoral' - obj.target = 'evoral' + obj.name = 'libevoral_static' + obj.target = 'evoral_static' obj.uselib = 'GLIBMM GTHREAD SMF' obj.uselib_local = 'libsmf libpbd' obj.vnum = EVORAL_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') - - 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.source = lib_source - obj.source = lib_source - obj.export_incdirs = ['.'] - obj.includes = ['.', './src'] - obj.name = 'libevoral_static' - obj.target = 'evoral_static' - obj.uselib = 'GLIBMM GTHREAD SMF' - obj.uselib_local = 'libsmf libpbd' - obj.vnum = EVORAL_LIB_VERSION - obj.install_path = '' - obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ] - obj.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ] - - # Unit tests - obj = bld.new_task_gen('cxx', 'program') - obj.source = ''' - test/SequenceTest.cpp - test/SMFTest.cpp - test/testrunner.cpp - ''' - obj.includes = ['.', './src'] - obj.uselib_local = '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.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ] + obj.install_path = '' + obj.ccflags = [ '-fprofile-arcs', '-ftest-coverage' ] + obj.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ] + + # Unit tests + obj = bld.new_task_gen('cxx', 'program') + obj.source = ''' + test/SequenceTest.cpp + test/SMFTest.cpp + test/testrunner.cpp + ''' + obj.includes = ['.', './src'] + obj.uselib_local = '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.cxxflags = [ '-fprofile-arcs', '-ftest-coverage' ] def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/gnomecanvas/wscript b/libs/gnomecanvas/wscript index 96dbce8630..e3085065dc 100644 --- a/libs/gnomecanvas/wscript +++ b/libs/gnomecanvas/wscript @@ -42,26 +42,25 @@ libgnomecanvas_sources = [ ] def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) - conf.check_tool('compiler_cc') - autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.18') - autowaf.check_pkg(conf, 'libart-2.0', uselib_store='LIBART', atleast_version='2.3') + autowaf.configure(conf) + conf.check_tool('compiler_cc') + autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.18') + autowaf.check_pkg(conf, 'libart-2.0', uselib_store='LIBART', atleast_version='2.3') def build(bld): - # Library - obj = bld.new_task_gen('cc', 'shlib') - obj.source = libgnomecanvas_sources - obj.export_incdirs = ['.'] - obj.includes = ['.'] - obj.name = 'libgnomecanvas-2' - obj.target = 'gnomecanvas-2' - obj.uselib = 'GLIB GTK LIBART' - obj.vnum = LIBGNOMECANVAS_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + # Library + obj = bld.new_task_gen('cc', 'shlib') + obj.source = libgnomecanvas_sources + obj.export_incdirs = ['.'] + obj.includes = ['.'] + obj.name = 'libgnomecanvas-2' + obj.target = 'gnomecanvas-2' + obj.uselib = 'GLIB GTK LIBART' + obj.vnum = LIBGNOMECANVAS_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/gtkmm2ext/wscript b/libs/gtkmm2ext/wscript index c310683677..37e4d32e3c 100644 --- a/libs/gtkmm2ext/wscript +++ b/libs/gtkmm2ext/wscript @@ -64,37 +64,36 @@ blddir = 'build' path_prefix = 'libs/gtkmm2ext/' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.build_version_files(path_prefix+'gtkmm2ext/version.h', path_prefix+'version.cc', - 'libgtkmm2ext', MAJOR, MINOR, MICRO) - autowaf.configure(conf) - conf.check_tool('compiler_cxx') - autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.8') - autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.12.1') + autowaf.build_version_files(path_prefix+'gtkmm2ext/version.h', path_prefix+'version.cc', + 'libgtkmm2ext', MAJOR, MINOR, MICRO) + autowaf.configure(conf) + conf.check_tool('compiler_cxx') + autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GTKMM', atleast_version='2.8') + autowaf.check_pkg(conf, 'gtk+-2.0', uselib_store='GTK', atleast_version='2.12.1') def build(bld): - obj = bld.new_task_gen(features = 'cc cxx cshlib') - obj.source = gtkmm2ext_sources - obj.export_incdirs = ['.'] - obj.includes = ['.'] - obj.name = 'libgtkmm2ext' - obj.target = 'gtkmm2ext' - obj.uselib = 'GTKMM GTK GTKOSX OSX GDK' - obj.uselib_local = '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') + '"'] - if bld.env['GTKOSX']: - obj.source += ['gtkapplication_quartz.mm'] - else: - obj.source += ['gtkapplication_x11.c'] + obj = bld.new_task_gen(features = 'cc cxx cshlib') + obj.source = gtkmm2ext_sources + obj.export_incdirs = ['.'] + obj.includes = ['.'] + obj.name = 'libgtkmm2ext' + obj.target = 'gtkmm2ext' + obj.uselib = 'GTKMM GTK GTKOSX OSX GDK' + obj.uselib_local = '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') + '"'] + if bld.env['GTKOSX']: + obj.source += ['gtkapplication_quartz.mm'] + else: + obj.source += ['gtkapplication_x11.c'] def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/midi++2/wscript b/libs/midi++2/wscript index 14da1afccb..f236d0a8cd 100644 --- a/libs/midi++2/wscript +++ b/libs/midi++2/wscript @@ -26,46 +26,45 @@ blddir = 'build' path_prefix = 'libs/midi++2/' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.build_version_files(path_prefix+'midi++/version.h', path_prefix+'version.cc', - 'midipp', MAJOR, MINOR, MICRO) - autowaf.configure(conf) - conf.check_tool('compiler_cxx') - autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.118.2') - autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML') - autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0') + autowaf.build_version_files(path_prefix+'midi++/version.h', path_prefix+'version.cc', + 'midipp', MAJOR, MINOR, MICRO) + autowaf.configure(conf) + conf.check_tool('compiler_cxx') + autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.118.2') + autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML') + 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') + # Boost headers + autowaf.check_header(conf, 'boost/shared_ptr.hpp') + autowaf.check_header(conf, 'boost/weak_ptr.hpp') def build(bld): - # Library - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - midi.cc - channel.cc - manager.cc - parser.cc - port.cc - midnam_patch.cc - mmc.cc - mtc.cc - version.cc - ''' - # everybody loves JACK - obj.cxxflags = [ '-DWITH_JACK_MIDI' ] - obj.export_incdirs = ['.'] - 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.vnum = LIBMIDIPP_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + # Library + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + midi.cc + channel.cc + manager.cc + parser.cc + port.cc + midnam_patch.cc + mmc.cc + mtc.cc + version.cc + ''' + # everybody loves JACK + obj.cxxflags = [ '-DWITH_JACK_MIDI' ] + obj.export_incdirs = ['.'] + 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.vnum = LIBMIDIPP_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/panners/1in2out/wscript b/libs/panners/1in2out/wscript index 14af0d6781..2238124dc7 100644 --- a/libs/panners/1in2out/wscript +++ b/libs/panners/1in2out/wscript @@ -13,23 +13,22 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = [ 'panner_1in2out.cc' ] - obj.export_incdirs = ['.'] - obj.cxxflags = '-DPACKAGE="libardour_pan1in2out"' - obj.includes = ['.'] - obj.name = 'libardour_pan1in2out' - obj.target = 'pan1in2out' - obj.uselib_local = 'libardour libardour_cp libpbd' - obj.vnum = LIBARDOUR_PAN1IN2OUT_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners') + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = [ 'panner_1in2out.cc' ] + obj.export_incdirs = ['.'] + obj.cxxflags = '-DPACKAGE="libardour_pan1in2out"' + obj.includes = ['.'] + obj.name = 'libardour_pan1in2out' + obj.target = 'pan1in2out' + obj.uselib_local = 'libardour libardour_cp libpbd' + obj.vnum = LIBARDOUR_PAN1IN2OUT_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/panners/2in2out/wscript b/libs/panners/2in2out/wscript index 060796c045..2891dfd6f7 100644 --- a/libs/panners/2in2out/wscript +++ b/libs/panners/2in2out/wscript @@ -13,23 +13,22 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = [ 'panner_2in2out.cc' ] - obj.export_incdirs = ['.'] - obj.cxxflags = '-DPACKAGE="libardour_pan2in2out"' - obj.includes = ['.'] - obj.name = 'libardour_pan2in2out' - obj.target = 'pan2in2out' - obj.uselib_local = 'libardour libardour_cp libpbd' - obj.vnum = LIBARDOUR_PAN2IN2OUT_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners') + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = [ 'panner_2in2out.cc' ] + obj.export_incdirs = ['.'] + obj.cxxflags = '-DPACKAGE="libardour_pan2in2out"' + obj.includes = ['.'] + obj.name = 'libardour_pan2in2out' + obj.target = 'pan2in2out' + obj.uselib_local = 'libardour libardour_cp libpbd' + obj.vnum = LIBARDOUR_PAN2IN2OUT_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/panners/vbap/wscript b/libs/panners/vbap/wscript index 47fbcbb8b1..bd311272b5 100644 --- a/libs/panners/vbap/wscript +++ b/libs/panners/vbap/wscript @@ -13,23 +13,22 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = [ 'vbap_speakers.cc', 'vbap.cc' ] - obj.export_incdirs = ['.'] - obj.cxxflags = '-DPACKAGE="libardour_panvbap"' - obj.includes = ['.'] - obj.name = 'libardour_panvbap' - obj.target = 'panvbap' - obj.uselib_local = 'libardour libardour_cp libpbd' - obj.vnum = LIBARDOUR_PANVBAP_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners') + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = [ 'vbap_speakers.cc', 'vbap.cc' ] + obj.export_incdirs = ['.'] + obj.cxxflags = '-DPACKAGE="libardour_panvbap"' + obj.includes = ['.'] + obj.name = 'libardour_panvbap' + obj.target = 'panvbap' + obj.uselib_local = 'libardour libardour_cp libpbd' + obj.vnum = LIBARDOUR_PANVBAP_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'panners') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/panners/wscript b/libs/panners/wscript index 02e741b8e0..3c1a013732 100644 --- a/libs/panners/wscript +++ b/libs/panners/wscript @@ -9,19 +9,19 @@ blddir = 'build' panners = [ '2in2out', '1in2out', 'vbap' ] def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def sub_config_and_use(conf, name, has_objects = True): - conf.sub_config(name) - autowaf.set_local_lib(conf, name, has_objects) + conf.sub_config(name) + autowaf.set_local_lib(conf, name, has_objects) def configure(conf): - autowaf.set_recursive() - autowaf.configure(conf) + autowaf.set_recursive() + autowaf.configure(conf) - for i in panners: - sub_config_and_use(conf, i) + for i in panners: + sub_config_and_use(conf, i) def build(bld): - for i in panners: - bld.add_subdirs(i) + for i in panners: + bld.add_subdirs(i) diff --git a/libs/pbd/wscript b/libs/pbd/wscript index 9a35a22e1e..66b63c999e 100644 --- a/libs/pbd/wscript +++ b/libs/pbd/wscript @@ -27,121 +27,120 @@ blddir = 'build' path_prefix = 'libs/pbd/' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.build_version_files(path_prefix+'pbd/version.h', path_prefix+'version.cc', - 'libpbd', MAJOR, MINOR, MICRO) - autowaf.configure(conf) - conf.check_tool('compiler_cxx') - autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML') - autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0') - if sys.platform != 'darwin': - autowaf.check_pkg(conf, 'uuid', uselib_store='UUID') - - 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: - conf.define ('NO_POSIX_MEMALIGN',1) - - conf.write_config_header('libpbd-config.h') - - # 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.build_version_files(path_prefix+'pbd/version.h', path_prefix+'version.cc', + 'libpbd', MAJOR, MINOR, MICRO) + autowaf.configure(conf) + conf.check_tool('compiler_cxx') + autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML') + autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0') + if sys.platform != 'darwin': + autowaf.check_pkg(conf, 'uuid', uselib_store='UUID') + + 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: + conf.define ('NO_POSIX_MEMALIGN',1) + + conf.write_config_header('libpbd-config.h') + + # 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') def build(bld): - # Library - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - basename.cc - base_ui.cc - boost_debug.cc - cartesian.cc - command.cc - convert.cc - controllable.cc - controllable_descriptor.cc - clear_dir.cc - crossthread.cc - cpus.cc - debug.cc - enumwriter.cc - event_loop.cc - dmalloc.cc - enums.cc - epa.cc - error.cc - filesystem.cc - filesystem_paths.cc - file_manager.cc - file_utils.cc - fpu.cc - id.cc - locale_guard.cc - malign.cc - mountpoint.cc - openuri.cc - pathscanner.cc - pool.cc - property_list.cc - pthread_utils.cc - receiver.cc - search_path.cc - semutils.cc - shortpath.cc - signals.cc - sndfile_manager.cc - stacktrace.cc - stateful_diff_command.cc - stateful.cc - strreplace.cc - strsplit.cc - textreceiver.cc - transmitter.cc - undo.cc - uuid.cc - version.cc - whitespace.cc - xml++.cc - ''' - - if bld.env['DEBUG_RT_ALLOC']: - obj.source += 'debug_rt_alloc.c' - - obj.export_incdirs = ['.'] - obj.includes = ['.'] - obj.name = 'libpbd' - obj.target = 'pbd' - obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE' - if sys.platform == 'darwin': - TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc'] - obj.source += 'cocoa_open_uri.mm' - obj.uselib += ' OSX' - obj.vnum = LIBPBD_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') - obj.cxxflags = ['-DPACKAGE="libpbd"'] - - if bld.env['build_target'] == 'x86_64': - obj.cxxflags += [ '-DUSE_X86_64_ASM' ] - - if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']: - # Unit tests - testobj = bld.new_task_gen('cxx', 'program') - testobj.source = ''' - test/testrunner.cc - test/xpath.cc - test/scalar_properties.cc - test/signals_test.cc - '''.split() - testobj.target = 'run-tests' - testobj.includes = obj.includes + ['test', '../pbd'] - testobj.uselib = 'CPPUNIT XML SNDFILE' - testobj.uselib_local = 'libpbd' + # Library + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + basename.cc + base_ui.cc + boost_debug.cc + cartesian.cc + command.cc + convert.cc + controllable.cc + controllable_descriptor.cc + clear_dir.cc + crossthread.cc + cpus.cc + debug.cc + enumwriter.cc + event_loop.cc + dmalloc.cc + enums.cc + epa.cc + error.cc + filesystem.cc + filesystem_paths.cc + file_manager.cc + file_utils.cc + fpu.cc + id.cc + locale_guard.cc + malign.cc + mountpoint.cc + openuri.cc + pathscanner.cc + pool.cc + property_list.cc + pthread_utils.cc + receiver.cc + search_path.cc + semutils.cc + shortpath.cc + signals.cc + sndfile_manager.cc + stacktrace.cc + stateful_diff_command.cc + stateful.cc + strreplace.cc + strsplit.cc + textreceiver.cc + transmitter.cc + undo.cc + uuid.cc + version.cc + whitespace.cc + xml++.cc + ''' + + if bld.env['DEBUG_RT_ALLOC']: + obj.source += 'debug_rt_alloc.c' + + obj.export_incdirs = ['.'] + obj.includes = ['.'] + obj.name = 'libpbd' + obj.target = 'pbd' + obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE' + if sys.platform == 'darwin': + TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc'] + obj.source += 'cocoa_open_uri.mm' + obj.uselib += ' OSX' + obj.vnum = LIBPBD_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + obj.cxxflags = ['-DPACKAGE="libpbd"'] + + if bld.env['build_target'] == 'x86_64': + obj.cxxflags += [ '-DUSE_X86_64_ASM' ] + + if bld.env['BUILD_TESTS'] and bld.env['HAVE_CPPUNIT']: + # Unit tests + testobj = bld.new_task_gen('cxx', 'program') + testobj.source = ''' + test/testrunner.cc + test/xpath.cc + test/scalar_properties.cc + test/signals_test.cc + '''.split() + testobj.target = 'run-tests' + testobj.includes = obj.includes + ['test', '../pbd'] + testobj.uselib = 'CPPUNIT XML SNDFILE' + testobj.uselib_local = 'libpbd' def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/qm-dsp/wscript b/libs/qm-dsp/wscript index 232f010235..a77822abac 100644 --- a/libs/qm-dsp/wscript +++ b/libs/qm-dsp/wscript @@ -20,40 +20,39 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) - conf.check_tool('compiler_cxx') + autowaf.configure(conf) + conf.check_tool('compiler_cxx') def build(bld): - # Host Library - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - dsp/onsets/DetectionFunction.cpp - dsp/onsets/PeakPicking.cpp - dsp/phasevocoder/PhaseVocoder.cpp - dsp/rateconversion/Decimator.cpp - dsp/rhythm/BeatSpectrum.cpp - dsp/signalconditioning/DFProcess.cpp - dsp/signalconditioning/Filter.cpp - dsp/signalconditioning/FiltFilt.cpp - dsp/signalconditioning/Framer.cpp - dsp/transforms/FFT.cpp - dsp/wavelet/Wavelet.cpp - maths/Correlation.cpp - maths/CosineDistance.cpp - maths/KLDivergence.cpp - maths/MathUtilities.cpp - base/Pitch.cpp - ''' - obj.export_incdirs = ['.'] - obj.includes = ['.'] - obj.name = 'libqmdsp' - obj.target = 'qmdsp' - obj.vnum = QM_DSP_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + # Host Library + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + dsp/onsets/DetectionFunction.cpp + dsp/onsets/PeakPicking.cpp + dsp/phasevocoder/PhaseVocoder.cpp + dsp/rateconversion/Decimator.cpp + dsp/rhythm/BeatSpectrum.cpp + dsp/signalconditioning/DFProcess.cpp + dsp/signalconditioning/Filter.cpp + dsp/signalconditioning/FiltFilt.cpp + dsp/signalconditioning/Framer.cpp + dsp/transforms/FFT.cpp + dsp/wavelet/Wavelet.cpp + maths/Correlation.cpp + maths/CosineDistance.cpp + maths/KLDivergence.cpp + maths/MathUtilities.cpp + base/Pitch.cpp + ''' + obj.export_incdirs = ['.'] + obj.includes = ['.'] + obj.name = 'libqmdsp' + obj.target = 'qmdsp' + obj.vnum = QM_DSP_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/rubberband/wscript b/libs/rubberband/wscript index 60dc57dcfd..011a858aca 100644 --- a/libs/rubberband/wscript +++ b/libs/rubberband/wscript @@ -21,30 +21,29 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) - conf.check_tool('compiler_cxx') + autowaf.configure(conf) + conf.check_tool('compiler_cxx') def build(bld): - # Library - obj = bld.new_task_gen('cxx', 'shlib') - prefix = 'libs/rubberband/' - sources = glob.glob(prefix + 'src/*.cpp') - obj.source = [ ] - for i in sources: - obj.source += [ i.replace(prefix, '') ] - obj.export_incdirs = ['.'] - obj.includes = ['.', 'rubberband'] - obj.name = 'librubberband' - obj.target = 'rubberband' - obj.uselib = 'FFTW3 FFTW3F SAMPLERATE SNDFILE' - obj.uselib_local = 'libvamphost' - obj.vnum = LIBRUBBERBAND_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') - obj.cxxflags = '-DPACKAGE="librubberband"' + # Library + obj = bld.new_task_gen('cxx', 'shlib') + prefix = 'libs/rubberband/' + sources = glob.glob(prefix + 'src/*.cpp') + obj.source = [ ] + for i in sources: + obj.source += [ i.replace(prefix, '') ] + obj.export_incdirs = ['.'] + obj.includes = ['.', 'rubberband'] + obj.name = 'librubberband' + obj.target = 'rubberband' + obj.uselib = 'FFTW3 FFTW3F SAMPLERATE SNDFILE' + obj.uselib_local = 'libvamphost' + obj.vnum = LIBRUBBERBAND_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + obj.cxxflags = '-DPACKAGE="librubberband"' def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/surfaces/control_protocol/wscript b/libs/surfaces/control_protocol/wscript index 6dc2e55447..a4afd68539 100644 --- a/libs/surfaces/control_protocol/wscript +++ b/libs/surfaces/control_protocol/wscript @@ -14,26 +14,25 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - basic_ui.cc - control_protocol.cc - ''' - obj.export_incdirs = ['.', './control_protocol' ] - obj.cxxflags = '-DPACKAGE="ardour_cp"' - obj.includes = ['.', './control_protocol'] - obj.name = 'libardour_cp' - obj.target = 'ardourcp' - obj.uselib_local = 'libardour libtimecode' - obj.vnum = LIBARDOUR_CP_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + basic_ui.cc + control_protocol.cc + ''' + obj.export_incdirs = ['.', './control_protocol' ] + obj.cxxflags = '-DPACKAGE="ardour_cp"' + obj.includes = ['.', './control_protocol'] + obj.name = 'libardour_cp' + obj.target = 'ardourcp' + obj.uselib_local = 'libardour libtimecode' + obj.vnum = LIBARDOUR_CP_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/surfaces/frontier/wscript b/libs/surfaces/frontier/wscript index 6c383aa072..cd388b8bff 100644 --- a/libs/surfaces/frontier/wscript +++ b/libs/surfaces/frontier/wscript @@ -20,28 +20,27 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) def build(bld): - # Generic MIDI - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - generic_midi_control_protocol.cc - interface.cc - midicontrollable.cc - ''' - obj.export_incdirs = ['./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.vnum = LIBSURFACES_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') + # Generic MIDI + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + generic_midi_control_protocol.cc + interface.cc + midicontrollable.cc + ''' + obj.export_incdirs = ['./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.vnum = LIBSURFACES_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/surfaces/generic_midi/wscript b/libs/surfaces/generic_midi/wscript index 4cc97edb52..9111df5982 100644 --- a/libs/surfaces/generic_midi/wscript +++ b/libs/surfaces/generic_midi/wscript @@ -13,32 +13,31 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - generic_midi_control_protocol.cc - gmcp_gui.cc - interface.cc - midiinvokable.cc - midicontrollable.cc - midifunction.cc - midiaction.cc - ''' - obj.export_incdirs = ['.'] - 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.vnum = LIBARDOUR_GENERIC_MIDI_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + generic_midi_control_protocol.cc + gmcp_gui.cc + interface.cc + midiinvokable.cc + midicontrollable.cc + midifunction.cc + midiaction.cc + ''' + obj.export_incdirs = ['.'] + 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.vnum = LIBARDOUR_GENERIC_MIDI_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/surfaces/mackie/wscript b/libs/surfaces/mackie/wscript index 3935b22546..437865ec9c 100644 --- a/libs/surfaces/mackie/wscript +++ b/libs/surfaces/mackie/wscript @@ -13,42 +13,41 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - bcf_surface.cc - bcf_surface_generated.cc - controls.cc - dummy_port.cc - interface.cc - mackie_button_handler.cc - mackie_control_protocol.cc - mackie_control_protocol_poll.cc - mackie_jog_wheel.cc - mackie_midi_builder.cc - mackie_port.cc - mackie_surface.cc - mackie_surface_generated.cc - midi_byte_array.cc - route_signal.cc - surface.cc - surface_port.cc - types.cc - ''' - obj.export_incdirs = ['./mackie'] - obj.cxxflags = '-DPACKAGE="ardour_mackie"' - obj.includes = ['.', './mackie'] - obj.name = 'libardour_mcp' - obj.target = 'ardour_mcp' - obj.uselib_local = 'libardour libardour_cp' - obj.vnum = LIBARDOUR_MCP_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + bcf_surface.cc + bcf_surface_generated.cc + controls.cc + dummy_port.cc + interface.cc + mackie_button_handler.cc + mackie_control_protocol.cc + mackie_control_protocol_poll.cc + mackie_jog_wheel.cc + mackie_midi_builder.cc + mackie_port.cc + mackie_surface.cc + mackie_surface_generated.cc + midi_byte_array.cc + route_signal.cc + surface.cc + surface_port.cc + types.cc + ''' + obj.export_incdirs = ['./mackie'] + obj.cxxflags = '-DPACKAGE="ardour_mackie"' + obj.includes = ['.', './mackie'] + obj.name = 'libardour_mcp' + obj.target = 'ardour_mcp' + obj.uselib_local = 'libardour libardour_cp' + obj.vnum = LIBARDOUR_MCP_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/surfaces/osc/wscript b/libs/surfaces/osc/wscript index a49020e528..4d62bda7bc 100644 --- a/libs/surfaces/osc/wscript +++ b/libs/surfaces/osc/wscript @@ -13,30 +13,29 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) - autowaf.check_pkg(conf, 'liblo', uselib_store='LO', linkflags='-llo') + autowaf.configure(conf) + autowaf.check_pkg(conf, 'liblo', uselib_store='LO', linkflags='-llo') def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - osc.cc - osc_controllable.cc - osc_route_observer.cc - interface.cc - ''' - obj.export_incdirs = ['.'] - 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.vnum = LIBARDOUR_OSC_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + osc.cc + osc_controllable.cc + osc_route_observer.cc + interface.cc + ''' + obj.export_incdirs = ['.'] + 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.vnum = LIBARDOUR_OSC_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/surfaces/powermate/wscript b/libs/surfaces/powermate/wscript index 5f670737bf..6f263fc9a0 100644 --- a/libs/surfaces/powermate/wscript +++ b/libs/surfaces/powermate/wscript @@ -13,26 +13,25 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - interface.cc - powermate.cc - ''' - obj.export_incdirs = ['.'] - obj.cxxflags = '-DPACKAGE="ardour_powermate"' - obj.includes = ['.' ] - obj.name = 'libpowermate' - obj.target = 'powermate' - obj.uselib_local = 'libardour libardour_cp' - obj.vnum = LIBARDOUR_POWERMATE_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + interface.cc + powermate.cc + ''' + obj.export_incdirs = ['.'] + obj.cxxflags = '-DPACKAGE="ardour_powermate"' + obj.includes = ['.' ] + obj.name = 'libpowermate' + obj.target = 'powermate' + obj.uselib_local = 'libardour libardour_cp' + obj.vnum = LIBARDOUR_POWERMATE_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/surfaces/tranzport/wscript b/libs/surfaces/tranzport/wscript index f2c4ccc0fc..7a7d5d2a05 100644 --- a/libs/surfaces/tranzport/wscript +++ b/libs/surfaces/tranzport/wscript @@ -13,40 +13,39 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - button_events.cc - buttons.cc - general.cc - init.cc - interface.cc - io.cc - io_usb.cc - lcd.cc - lights.cc - mode.cc - panner.cc - screen.cc - show.cc - state.cc - wheel.cc - wheel_modes.cc - ''' - obj.export_incdirs = ['./tranzport'] - obj.cxxflags = '-DPACKAGE="ardour_tranzport"' - obj.includes = ['.', './tranzport'] - obj.name = 'libardour_tranzport' - obj.target = 'ardour_tranzport' - obj.uselib_local = 'libardour libardour_cp' - obj.vnum = LIBARDOUR_TRANZPORT_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + button_events.cc + buttons.cc + general.cc + init.cc + interface.cc + io.cc + io_usb.cc + lcd.cc + lights.cc + mode.cc + panner.cc + screen.cc + show.cc + state.cc + wheel.cc + wheel_modes.cc + ''' + obj.export_incdirs = ['./tranzport'] + obj.cxxflags = '-DPACKAGE="ardour_tranzport"' + obj.includes = ['.', './tranzport'] + obj.name = 'libardour_tranzport' + obj.target = 'ardour_tranzport' + obj.uselib_local = 'libardour libardour_cp' + obj.vnum = LIBARDOUR_TRANZPORT_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/surfaces/wiimote/wscript b/libs/surfaces/wiimote/wscript index 8923df7015..3c4650ca9b 100644 --- a/libs/surfaces/wiimote/wscript +++ b/libs/surfaces/wiimote/wscript @@ -13,26 +13,25 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) def build(bld): - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - wiimote.cc - interface.cc - ''' - obj.export_incdirs = ['./wiimote'] - obj.cxxflags = '-DPACKAGE="ardour_wiimote"' - obj.includes = ['.', './wiimote'] - obj.name = 'libwiimote' - obj.target = 'wiimote' - obj.uselib_local = 'libardour libardour_cp' - obj.vnum = LIBARDOUR_WIIMOTE_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + wiimote.cc + interface.cc + ''' + obj.export_incdirs = ['./wiimote'] + obj.cxxflags = '-DPACKAGE="ardour_wiimote"' + obj.includes = ['.', './wiimote'] + obj.name = 'libwiimote' + obj.target = 'wiimote' + obj.uselib_local = 'libardour libardour_cp' + obj.vnum = LIBARDOUR_WIIMOTE_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'surfaces') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/surfaces/wscript b/libs/surfaces/wscript index 9bac418696..1b9d5c7091 100644 --- a/libs/surfaces/wscript +++ b/libs/surfaces/wscript @@ -31,47 +31,46 @@ children = [ ] def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def sub_config_and_use(conf, name, has_objects = True): - conf.sub_config(name) - autowaf.set_local_lib(conf, name, has_objects) + conf.sub_config(name) + autowaf.set_local_lib(conf, name, has_objects) def configure(conf): - autowaf.set_recursive() - autowaf.configure(conf) + autowaf.set_recursive() + autowaf.configure(conf) - for i in children: - sub_config_and_use(conf, i) + 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') - 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') - - if Options.options.wiimote: - conf.check_cc (header_name='cwiid.h',define_name='HAVE_CWIID_H') - if not conf.env['HAVE_CWIID_H']: - print('WIIMOTE configured but you are missing libcwiid!') - sys.exit(1) - conf.check_cc (header_name='bluetooth/bluetooth.h',define_name='HAVE_BLUETOOTH_H') - if not conf.env['HAVE_BLUETOOTH_H']: - print('WIIMOTE configured but you are missing the libbluetooth headers needed to compile wiimote support!') - sys.exit(1) - conf.define ('BUILD_WIIMOTE', 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') + + if Options.options.wiimote: + conf.check_cc (header_name='cwiid.h',define_name='HAVE_CWIID_H') + if not conf.env['HAVE_CWIID_H']: + print('WIIMOTE configured but you are missing libcwiid!') + sys.exit(1) + conf.check_cc (header_name='bluetooth/bluetooth.h',define_name='HAVE_BLUETOOTH_H') + if not conf.env['HAVE_BLUETOOTH_H']: + print('WIIMOTE configured but you are missing the libbluetooth headers needed to compile wiimote support!') + sys.exit(1) + conf.define ('BUILD_WIIMOTE', 1) def build(bld): - bld.add_subdirs('control_protocol') - bld.add_subdirs('generic_midi') - bld.add_subdirs('mackie') - if bld.env['BUILD_OSC']: - bld.add_subdirs('osc') - if bld.env['BUILD_POWERMATE']: - bld.add_subdirs('powermate') - if bld.env['BUILD_WIIMOTE']: - bld.add_subdirs('wiimote') - if bld.env['BUILD_TRANZPORT']: - bld.add_subdirs('tranzport') + bld.add_subdirs('control_protocol') + bld.add_subdirs('generic_midi') + bld.add_subdirs('mackie') + if bld.env['BUILD_OSC']: + bld.add_subdirs('osc') + if bld.env['BUILD_POWERMATE']: + bld.add_subdirs('powermate') + if bld.env['BUILD_WIIMOTE']: + bld.add_subdirs('wiimote') + if bld.env['BUILD_TRANZPORT']: + bld.add_subdirs('tranzport') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/taglib/wscript b/libs/taglib/wscript index 0732dc24ff..b7276d01c5 100644 --- a/libs/taglib/wscript +++ b/libs/taglib/wscript @@ -23,57 +23,56 @@ blddir = 'build' path_prefix = 'libs/taglib/' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) - conf.check_tool('compiler_cxx') + autowaf.configure(conf) + conf.check_tool('compiler_cxx') 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, '') ] + # 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, '') ] - include_dirs = ''' - taglib - taglib/toolkit - taglib/flac - taglib/ape - taglib/mpc - taglib/mpeg - taglib/mpeg/id3v1 - taglib/mpeg/id3v2 - taglib/wavpack - taglib/trueaudio - taglib/ogg - taglib/ogg/vorbis - taglib/ogg/speex - taglib/ogg/flac - '''.split() - obj.export_incdirs = ['.', 'taglib', 'taglib/toolkit'] - obj.includes = include_dirs - obj.name = 'libtaglib' - obj.target = 'taglib' - obj.vnum = LIBTAGLIB_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + include_dirs = ''' + taglib + taglib/toolkit + taglib/flac + taglib/ape + taglib/mpc + taglib/mpeg + taglib/mpeg/id3v1 + taglib/mpeg/id3v2 + taglib/wavpack + taglib/trueaudio + taglib/ogg + taglib/ogg/vorbis + taglib/ogg/speex + taglib/ogg/flac + '''.split() + obj.export_incdirs = ['.', 'taglib', 'taglib/toolkit'] + obj.includes = include_dirs + obj.name = 'libtaglib' + obj.target = 'taglib' + obj.vnum = LIBTAGLIB_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/timecode/wscript b/libs/timecode/wscript index 4e5b12fc6e..be84a4b940 100644 --- a/libs/timecode/wscript +++ b/libs/timecode/wscript @@ -23,24 +23,23 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) + autowaf.configure(conf) - conf.check_tool('compiler_cxx') + conf.check_tool('compiler_cxx') def build(bld): - # Library - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = [ 'src/time.cc', 'src/bbt_time.cc' ] - obj.export_incdirs = ['.'] - obj.includes = ['.', './src'] - obj.name = 'libtimecode' - obj.target = 'timecode' - obj.vnum = TIMECODE_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + # Library + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = [ 'src/time.cc', 'src/bbt_time.cc' ] + obj.export_incdirs = ['.'] + obj.includes = ['.', './src'] + obj.name = 'libtimecode' + obj.target = 'timecode' + obj.vnum = TIMECODE_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/vamp-plugins/wscript b/libs/vamp-plugins/wscript index 99de270579..4fde44ea34 100644 --- a/libs/vamp-plugins/wscript +++ b/libs/vamp-plugins/wscript @@ -20,38 +20,37 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.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') + autowaf.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') def build(bld): - # Library - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - plugins.cpp - AmplitudeFollower.cpp - OnsetDetect.cpp - PercussionOnsetDetector.cpp - SpectralCentroid.cpp - ZeroCrossing.cpp - ''' - obj.export_incdirs = ['.'] - obj.includes = ['.'] - obj.name = 'libardourvampplugins' - obj.target = 'ardourvampplugins' - obj.uselib = 'FFTW3F' - obj.uselib_local = 'libvampplugin libqmdsp' - if bld.env['HAVE_AUBIO']: - obj.source += ' Onset.cpp ' - obj.uselib += ' AUBIO ' - obj.vnum = LIBARDOURVAMPPLUGINS_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'vamp') + # Library + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + plugins.cpp + AmplitudeFollower.cpp + OnsetDetect.cpp + PercussionOnsetDetector.cpp + SpectralCentroid.cpp + ZeroCrossing.cpp + ''' + obj.export_incdirs = ['.'] + obj.includes = ['.'] + obj.name = 'libardourvampplugins' + obj.target = 'ardourvampplugins' + obj.uselib = 'FFTW3F' + obj.uselib_local = 'libvampplugin libqmdsp' + if bld.env['HAVE_AUBIO']: + obj.source += ' Onset.cpp ' + obj.uselib += ' AUBIO ' + obj.vnum = LIBARDOURVAMPPLUGINS_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3', 'vamp') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/libs/vamp-sdk/wscript b/libs/vamp-sdk/wscript index d35e37b47e..7ea25d71b2 100644 --- a/libs/vamp-sdk/wscript +++ b/libs/vamp-sdk/wscript @@ -20,49 +20,48 @@ srcdir = '.' blddir = 'build' def set_options(opt): - autowaf.set_options(opt) + autowaf.set_options(opt) def configure(conf): - autowaf.configure(conf) - conf.check_tool('compiler_cxx') - autowaf.check_pkg(conf, 'fftw3', uselib_store='FFTW3', mandatory=True) - autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True) - conf.env.append_value('CXXFLAGS', '-DHAVE_FFTW3') + autowaf.configure(conf) + conf.check_tool('compiler_cxx') + autowaf.check_pkg(conf, 'fftw3', uselib_store='FFTW3', mandatory=True) + autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', mandatory=True) + conf.env.append_value('CXXFLAGS', '-DHAVE_FFTW3') def build(bld): - # Host Library - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - src/vamp-hostsdk/PluginHostAdapter.cpp - src/vamp-hostsdk/PluginBufferingAdapter.cpp - src/vamp-hostsdk/PluginChannelAdapter.cpp - src/vamp-hostsdk/PluginInputDomainAdapter.cpp - src/vamp-hostsdk/PluginLoader.cpp - src/vamp-hostsdk/PluginWrapper.cpp - src/vamp-hostsdk/RealTime.cpp - ''' - obj.export_incdirs = ['.'] - obj.includes = ['.'] - obj.name = 'libvamphost' - obj.target = 'vamphost' - obj.uselib = 'FFTW3 FFTW3F' - obj.vnum = LIBVAMP_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + # Host Library + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + src/vamp-hostsdk/PluginHostAdapter.cpp + src/vamp-hostsdk/PluginBufferingAdapter.cpp + src/vamp-hostsdk/PluginChannelAdapter.cpp + src/vamp-hostsdk/PluginInputDomainAdapter.cpp + src/vamp-hostsdk/PluginLoader.cpp + src/vamp-hostsdk/PluginWrapper.cpp + src/vamp-hostsdk/RealTime.cpp + ''' + obj.export_incdirs = ['.'] + obj.includes = ['.'] + obj.name = 'libvamphost' + obj.target = 'vamphost' + obj.uselib = 'FFTW3 FFTW3F' + obj.vnum = LIBVAMP_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') - # Plugin Library - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - src/vamp-sdk/PluginAdapter.cpp - src/vamp-sdk/RealTime.cpp - ''' - obj.export_incdirs = ['.'] - obj.includes = ['.'] - obj.name = 'libvampplugin' - obj.target = 'vampplugin' - obj.uselib = 'FFTW3 FFTW3F' - obj.vnum = LIBVAMP_LIB_VERSION - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + # Plugin Library + obj = bld.new_task_gen('cxx', 'shlib') + obj.source = ''' + src/vamp-sdk/PluginAdapter.cpp + src/vamp-sdk/RealTime.cpp + ''' + obj.export_incdirs = ['.'] + obj.includes = ['.'] + obj.name = 'libvampplugin' + obj.target = 'vampplugin' + obj.uselib = 'FFTW3 FFTW3F' + obj.vnum = LIBVAMP_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') def shutdown(): - autowaf.shutdown() - + autowaf.shutdown() diff --git a/templates/wscript b/templates/wscript index c6312c8411..62ed37e5a2 100644 --- a/templates/wscript +++ b/templates/wscript @@ -10,7 +10,7 @@ def configure(conf): pass def build(bld): - + subst_dict = {} if bld.env['COREAUDIO']: subst_dict['%JACK_INPUT%'] = 'coreaudio:Built-in Audio:in' diff --git a/tools/sanity_check/wscript b/tools/sanity_check/wscript index 51fa810af4..1ada9e4725 100644 --- a/tools/sanity_check/wscript +++ b/tools/sanity_check/wscript @@ -21,4 +21,3 @@ def build(bld): obj.target = 'sanityCheck' obj.name = 'sanityCheck' obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') - diff --git a/wscript b/wscript index 98ea4ad6ee..a41a9358f0 100644 --- a/wscript +++ b/wscript @@ -49,603 +49,602 @@ i18n_children = [ # Version stuff def fetch_svn_revision (path): - cmd = "LANG= svn info " + path + " | awk '/^Revision:/ { print $2}'" - return subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines() + cmd = "LANG= svn info " + path + " | awk '/^Revision:/ { print $2}'" + return subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines() def fetch_gcc_version (): - cmd = "LANG= gcc --version" - output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines() - o = output[0].decode('utf-8') - version = o.split(' ')[2].split('.') - return version + cmd = "LANG= gcc --version" + output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines() + o = output[0].decode('utf-8') + version = o.split(' ')[2].split('.') + return version def fetch_git_revision (path): - cmd = "LANG= git log --abbrev HEAD^..HEAD " + path - output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines() - o = output[0].decode('utf-8') - rev = o.replace ("commit", "git")[0:10] - for line in output: - try: - if "git-svn-id" in line: - line = line.split('@')[1].split(' ') - rev = line[0] - except: - pass - return rev + cmd = "LANG= git log --abbrev HEAD^..HEAD " + path + output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines() + o = output[0].decode('utf-8') + rev = o.replace ("commit", "git")[0:10] + for line in output: + try: + if "git-svn-id" in line: + line = line.split('@')[1].split(' ') + rev = line[0] + except: + pass + return rev def fetch_bzr_revision (path): - cmd = subprocess.Popen("LANG= bzr log -l 1 " + path, stdout=subprocess.PIPE, shell=True) - out = cmd.communicate()[0] - svn = re.search('^svn revno: [0-9]*', out, re.MULTILINE) - str = svn.group(0) - chars = 'svnreio: ' - return string.lstrip(str, chars) + cmd = subprocess.Popen("LANG= bzr log -l 1 " + path, stdout=subprocess.PIPE, shell=True) + out = cmd.communicate()[0] + svn = re.search('^svn revno: [0-9]*', out, re.MULTILINE) + str = svn.group(0) + chars = 'svnreio: ' + return string.lstrip(str, chars) def create_stored_revision(): - rev = "" - if os.path.exists('.svn'): - rev = fetch_svn_revision('.'); - elif os.path.exists('.git'): - rev = fetch_git_revision('.'); - elif os.path.exists('.bzr'): - rev = fetch_bzr_revision('.'); - print("Revision: %s", rev) - elif os.path.exists('libs/ardour/svn_revision.cc'): - print("Using packaged svn revision") - return - else: - print("Missing libs/ardour/svn_revision.cc. Blame the packager.") - sys.exit(-1) - - try: - text = '#include "ardour/svn_revision.h"\n' - text += 'namespace ARDOUR { const char* svn_revision = \"%s\"; }\n' % rev - print('Writing svn revision info to libs/ardour/svn_revision.cc') - o = open('libs/ardour/svn_revision.cc', 'w') - o.write(text) - o.close() - except IOError: - print('Could not open libs/ardour/svn_revision.cc for writing\n') - sys.exit(-1) + rev = "" + if os.path.exists('.svn'): + rev = fetch_svn_revision('.'); + elif os.path.exists('.git'): + rev = fetch_git_revision('.'); + elif os.path.exists('.bzr'): + rev = fetch_bzr_revision('.'); + print("Revision: %s", rev) + elif os.path.exists('libs/ardour/svn_revision.cc'): + print("Using packaged svn revision") + return + else: + print("Missing libs/ardour/svn_revision.cc. Blame the packager.") + sys.exit(-1) + + try: + text = '#include "ardour/svn_revision.h"\n' + text += 'namespace ARDOUR { const char* svn_revision = \"%s\"; }\n' % rev + print('Writing svn revision info to libs/ardour/svn_revision.cc') + o = open('libs/ardour/svn_revision.cc', 'w') + o.write(text) + o.close() + except IOError: + print('Could not open libs/ardour/svn_revision.cc for writing\n') + sys.exit(-1) def set_compiler_flags (conf,opt): - # - # Compiler flags and other system-dependent stuff - # - - build_host_supports_sse = False - optimization_flags = [] - debug_flags = [] - - # guess at the platform, used to define compiler flags - - config_guess = os.popen("tools/config.guess").read()[:-1] - - config_cpu = 0 - config_arch = 1 - config_kernel = 2 - config_os = 3 - config = config_guess.split ("-") - - autowaf.display_msg(conf, "System Triple", config_guess) - - if opt.gprofile: - debug_flags = [ '-pg' ] - else: - if config[config_arch] != 'apple': - debug_flags = [ '-rdynamic' ] # waf adds -O0 -g itself. thanks waf! - - # Autodetect - if opt.dist_target == 'auto': - 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') - elif re.search ("darwin8[.]", config[config_kernel]) != None: - conf.define ('build_target', 'tiger') - else: - conf.define ('build_target', 'leopard') - else: - if re.search ("x86_64", config[config_cpu]) != None: - conf.define ('build_target', 'x86_64') - elif re.search("i[0-5]86", config[config_cpu]) != None: - conf.define ('build_target', 'i386') - elif re.search("powerpc", config[config_cpu]) != None: - conf.define ('build_target', 'powerpc') - else: - conf.define ('build_target', 'i686') + # + # Compiler flags and other system-dependent stuff + # + + build_host_supports_sse = False + optimization_flags = [] + debug_flags = [] + + # guess at the platform, used to define compiler flags + + config_guess = os.popen("tools/config.guess").read()[:-1] + + config_cpu = 0 + config_arch = 1 + config_kernel = 2 + config_os = 3 + config = config_guess.split ("-") + + autowaf.display_msg(conf, "System Triple", config_guess) + + if opt.gprofile: + debug_flags = [ '-pg' ] + else: + if config[config_arch] != 'apple': + debug_flags = [ '-rdynamic' ] # waf adds -O0 -g itself. thanks waf! + + # Autodetect + if opt.dist_target == 'auto': + 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') + elif re.search ("darwin8[.]", config[config_kernel]) != None: + conf.define ('build_target', 'tiger') + else: + conf.define ('build_target', 'leopard') else: - conf.define ('build_target', opt.dist_target) - - if config[config_cpu] == 'powerpc' and conf.env['build_target'] != 'none': - # - # Apple/PowerPC optimization options - # - # -mcpu=7450 does not reliably work with gcc 3.* - # - if opt.dist_target == 'panther' or opt.dist_target == 'tiger': - if config[config_arch] == 'apple': - # optimization_flags.extend ([ "-mcpu=7450", "-faltivec"]) - # to support g3s but still have some optimization for above - optimization_flags.extend ([ "-mcpu=G3", "-mtune=7450"]) - else: - optimization_flags.extend ([ "-mcpu=7400", "-maltivec", "-mabi=altivec"]) - else: - optimization_flags.extend([ "-mcpu=750", "-mmultiple" ]) - optimization_flags.extend (["-mhard-float", "-mpowerpc-gfxopt"]) - optimization_flags.extend (["-Os"]) - - elif ((re.search ("i[0-9]86", config[config_cpu]) != None) or (re.search ("x86_64", config[config_cpu]) != None)) and conf.env['build_target'] != 'none': - - - # - # ARCH_X86 means anything in the x86 family from i386 to x86_64 - # USE_X86_64_ASM is used to distingush 32 and 64 bit assembler - # - - if (re.search ("(i[0-9]86|x86_64)", config[config_cpu]) != None): - debug_flags.append ("-DARCH_X86") - optimization_flags.append ("-DARCH_X86") - - if config[config_kernel] == 'linux' : - - # - # determine processor flags via /proc/cpuinfo - # - - if conf.env['build_target'] != 'i386': - - flag_line = os.popen ("cat /proc/cpuinfo | grep '^flags'").read()[:-1] - x86_flags = flag_line.split (": ")[1:][0].split () - - if "mmx" in x86_flags: - optimization_flags.append ("-mmmx") - if "sse" in x86_flags: - build_host_supports_sse = True - if "3dnow" in x86_flags: - optimization_flags.append ("-m3dnow") - - if config[config_cpu] == "i586": - optimization_flags.append ("-march=i586") - elif config[config_cpu] == "i686": - optimization_flags.append ("-march=i686") - - if ((conf.env['build_target'] == 'i686') or (conf.env['build_target'] == 'x86_64')) and build_host_supports_sse: - optimization_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"]) - debug_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"]) - - # end of processor-specific section - - # optimization section - if conf.env['FPU_OPTIMIZATION']: - if conf.env['build_target'] == 'tiger' or conf.env['build_target'] == 'leopard': - optimization_flags.append ("-DBUILD_VECLIB_OPTIMIZATIONS"); - debug_flags.append ("-DBUILD_VECLIB_OPTIMIZATIONS"); - conf.env.append_value('LINKFLAGS', "-framework Accelerate") - elif conf.env['build_target'] == 'i686' or conf.env['build_target'] == 'x86_64': - optimization_flags.append ("-DBUILD_SSE_OPTIMIZATIONS") - debug_flags.append ("-DBUILD_SSE_OPTIMIZATIONS") - elif conf.env['build_target'] == 'x86_64': - optimization_flags.append ("-DUSE_X86_64_ASM") - debug_flags.append ("-DUSE_X86_64_ASM") - if not build_host_supports_sse: - print("\nWarning: you are building Ardour with SSE support even though your system does not support these instructions. (This may not be an error, especially if you are a package maintainer)") - - # check this even if we aren't using FPU optimization - if not conf.env['HAVE_POSIX_MEMALIGN']: - optimization_flags.append("-DNO_POSIX_MEMALIGN") - - # end optimization section - - # - # no VST on x86_64 + if re.search ("x86_64", config[config_cpu]) != None: + conf.define ('build_target', 'x86_64') + elif re.search("i[0-5]86", config[config_cpu]) != None: + conf.define ('build_target', 'i386') + elif re.search("powerpc", config[config_cpu]) != None: + conf.define ('build_target', 'powerpc') + else: + conf.define ('build_target', 'i686') + else: + conf.define ('build_target', opt.dist_target) + + if config[config_cpu] == 'powerpc' and conf.env['build_target'] != 'none': # - - if conf.env['build_target'] == 'x86_64' and opt.vst: - print("\n\n==================================================") - print("You cannot use VST plugins with a 64 bit host. Please run waf with --vst=0") - 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) - + # Apple/PowerPC optimization options # - # a single way to test if we're on OS X + # -mcpu=7450 does not reliably work with gcc 3.* # - - if conf.env['build_target'] in ['panther', 'tiger', 'leopard' ]: - 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") - + if opt.dist_target == 'panther' or opt.dist_target == 'tiger': + if config[config_arch] == 'apple': + # optimization_flags.extend ([ "-mcpu=7450", "-faltivec"]) + # to support g3s but still have some optimization for above + optimization_flags.extend ([ "-mcpu=G3", "-mtune=7450"]) + else: + optimization_flags.extend ([ "-mcpu=7400", "-maltivec", "-mabi=altivec"]) else: - conf.define ('IS_OSX', 0) + optimization_flags.extend([ "-mcpu=750", "-mmultiple" ]) + optimization_flags.extend (["-mhard-float", "-mpowerpc-gfxopt"]) + optimization_flags.extend (["-Os"]) - # - # save off guessed arch element in an env - # - conf.define ('CONFIG_ARCH', config[config_arch]) + elif ((re.search ("i[0-9]86", config[config_cpu]) != None) or (re.search ("x86_64", config[config_cpu]) != None)) and conf.env['build_target'] != 'none': - # - # ARCH="..." overrides all - # - if opt.arch != None: - optimization_flags = opt.arch.split() - # - # prepend boiler plate optimization flags that work on all architectures + # ARCH_X86 means anything in the x86 family from i386 to x86_64 + # USE_X86_64_ASM is used to distingush 32 and 64 bit assembler # - optimization_flags[:0] = [ - "-O3", - "-fomit-frame-pointer", - "-ffast-math", - "-fstrength-reduce", - "-pipe" - ] - - if opt.debug: - conf.env.append_value('CCFLAGS', 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('CXXFLAGS', optimization_flags) - conf.env.append_value('LINKFLAGS', optimization_flags) + if (re.search ("(i[0-9]86|x86_64)", config[config_cpu]) != None): + debug_flags.append ("-DARCH_X86") + optimization_flags.append ("-DARCH_X86") + + if config[config_kernel] == 'linux' : + + # + # determine processor flags via /proc/cpuinfo + # + + if conf.env['build_target'] != 'i386': + + flag_line = os.popen ("cat /proc/cpuinfo | grep '^flags'").read()[:-1] + x86_flags = flag_line.split (": ")[1:][0].split () + + if "mmx" in x86_flags: + optimization_flags.append ("-mmmx") + if "sse" in x86_flags: + build_host_supports_sse = True + if "3dnow" in x86_flags: + optimization_flags.append ("-m3dnow") + + if config[config_cpu] == "i586": + optimization_flags.append ("-march=i586") + elif config[config_cpu] == "i686": + optimization_flags.append ("-march=i686") + + if ((conf.env['build_target'] == 'i686') or (conf.env['build_target'] == 'x86_64')) and build_host_supports_sse: + optimization_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"]) + debug_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"]) + + # end of processor-specific section + + # optimization section + if conf.env['FPU_OPTIMIZATION']: + if conf.env['build_target'] == 'tiger' or conf.env['build_target'] == 'leopard': + optimization_flags.append ("-DBUILD_VECLIB_OPTIMIZATIONS"); + debug_flags.append ("-DBUILD_VECLIB_OPTIMIZATIONS"); + conf.env.append_value('LINKFLAGS', "-framework Accelerate") + elif conf.env['build_target'] == 'i686' or conf.env['build_target'] == 'x86_64': + optimization_flags.append ("-DBUILD_SSE_OPTIMIZATIONS") + debug_flags.append ("-DBUILD_SSE_OPTIMIZATIONS") + elif conf.env['build_target'] == 'x86_64': + optimization_flags.append ("-DUSE_X86_64_ASM") + debug_flags.append ("-DUSE_X86_64_ASM") + if not build_host_supports_sse: + print("\nWarning: you are building Ardour with SSE support even though your system does not support these instructions. (This may not be an error, especially if you are a package maintainer)") + + # check this even if we aren't using FPU optimization + if not conf.env['HAVE_POSIX_MEMALIGN']: + optimization_flags.append("-DNO_POSIX_MEMALIGN") + + # end optimization section + + # + # no VST on x86_64 + # + + if conf.env['build_target'] == 'x86_64' and opt.vst: + print("\n\n==================================================") + print("You cannot use VST plugins with a 64 bit host. Please run waf with --vst=0") + 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) + + # + # a single way to test if we're on OS X + # + + if conf.env['build_target'] in ['panther', 'tiger', 'leopard' ]: + 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") + + else: + conf.define ('IS_OSX', 0) + + # + # save off guessed arch element in an env + # + conf.define ('CONFIG_ARCH', config[config_arch]) + + # + # ARCH="..." overrides all + # + + if opt.arch != None: + optimization_flags = opt.arch.split() + + # + # prepend boiler plate optimization flags that work on all architectures + # + + optimization_flags[:0] = [ + "-O3", + "-fomit-frame-pointer", + "-ffast-math", + "-fstrength-reduce", + "-pipe" + ] + + if opt.debug: + conf.env.append_value('CCFLAGS', 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('CXXFLAGS', optimization_flags) + conf.env.append_value('LINKFLAGS', optimization_flags) + + if opt.stl_debug: + 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('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('CXXFLAGS', "-arch i386 -arch ppc") + conf.env.append_value('LINKFLAGS', "-arch i386 -arch ppc") + + # + # warnings flags + # + + conf.env.append_value('CCFLAGS', "-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 ) + + + # + # more boilerplate + # + + conf.env.append_value('CCFLAGS', '-D_LARGEFILE64_SOURCE') + conf.env.append_value('CCFLAGS', '-D_FILE_OFFSET_BITS=64') + conf.env.append_value('CXXFLAGS', '-D_LARGEFILE64_SOURCE') + conf.env.append_value('CXXFLAGS', '-D_FILE_OFFSET_BITS=64') + + conf.env.append_value('CXXFLAGS', '-D__STDC_LIMIT_MACROS') + conf.env.append_value('CXXFLAGS', '-D__STDC_FORMAT_MACROS') + + if opt.nls: + conf.env.append_value('CXXFLAGS', '-DENABLE_NLS') + conf.env.append_value('CCFLAGS', '-DENABLE_NLS') - if opt.stl_debug: - conf.env.append_value('CXXFLAGS', "-D_GLIBCXX_DEBUG") +#---------------------------------------------------------------- + +# Waf stages - if conf.env['DEBUG_RT_ALLOC']: - conf.env.append_value('CCFLAGS', '-DDEBUG_RT_ALLOC') - conf.env.append_value('CXXFLAGS', '-DDEBUG_RT_ALLOC') - conf.env.append_value('LINKFLAGS', '-ldl') +def set_options(opt): + 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') + opt.add_option('--arch', type='string', action='store', dest='arch', + help='Architecture-specific compiler flags') + opt.add_option('--boost-sp-debug', action='store_true', default=False, dest='boost_sp_debug', + help='Compile with Boost shared pointer debugging') + opt.add_option('--dist-target', type='string', default='auto', dest='dist_target', + help='Specify the target for cross-compiling [auto,none,x86,i386,i686,x86_64,powerpc,tiger,leopard]') + opt.add_option('--extra-warn', action='store_true', default=False, dest='extra_warn', + help='Build with even more compiler warning flags') + opt.add_option('--fpu-optimization', action='store_true', default=True, dest='fpu_optimization', + help='Build runtime checked assembler code (default)') + opt.add_option('--no-fpu-optimization', action='store_false', dest='fpu_optimization') + opt.add_option('--freedesktop', action='store_true', default=False, dest='freedesktop', + help='Install MIME type, icons and .desktop file as per freedesktop.org standards') + opt.add_option('--freesound', action='store_true', default=False, dest='freesound', + help='Include Freesound database lookup') + opt.add_option('--gprofile', action='store_true', default=False, dest='gprofile', + help='Compile for use with gprofile') + opt.add_option('--lv2', action='store_true', default=False, dest='lv2', + help='Compile with support for LV2 (if slv2 is available)') + opt.add_option('--nls', action='store_true', default=True, dest='nls', + help='Enable i18n (native language support) (default)') + opt.add_option('--no-nls', action='store_false', dest='nls') + opt.add_option('--phone-home', action='store_false', default=True, dest='phone_home') + opt.add_option('--stl-debug', action='store_true', default=False, dest='stl_debug', + help='Build with debugging for the STL') + opt.add_option('--rt-alloc-debug', action='store_true', default=False, dest='rt_alloc_debug', + help='Build with debugging for memory allocation in the real-time thread') + opt.add_option('--test', action='store_true', default=False, dest='build_tests', + help="Build unit tests") + opt.add_option('--tranzport', action='store_true', default=False, dest='tranzport', + help='Compile with support for Frontier Designs Tranzport (if libusb is available)') + opt.add_option('--universal', action='store_true', default=False, dest='universal', + help='Compile as universal binary (requires that external libraries are universal)') + opt.add_option('--versioned', action='store_true', default=False, dest='versioned', + help='Add revision information to executable name inside the build directory') + opt.add_option('--vst', action='store_true', default=False, dest='vst', + help='Compile with support for VST') + opt.add_option('--wiimote', action='store_true', default=False, dest='wiimote', + help='Build the wiimote control surface') + opt.add_option('--windows-key', type='string', action='store', dest='windows_key', default='Mod4><\'') + opt.add_option('--boost-include', type='string', action='store', dest='boost_include', default='', + help='directory where Boost header files can be found') + opt.add_option('--wine-include', type='string', action='store', dest='wine_include', default='/usr/include/wine/windows', + help='directory where Wine\'s Windows header files can be found') + opt.add_option('--noconfirm', action='store_true', default=False, dest='noconfirm', + help='Do not ask questions that require confirmation during the build') + for i in children: + opt.sub_options(i) - if opt.universal: - conf.env.append_value('CCFLAGS', "-arch i386 -arch ppc") - conf.env.append_value('CXXFLAGS', "-arch i386 -arch ppc") - conf.env.append_value('LINKFLAGS', "-arch i386 -arch ppc") +def sub_config_and_use(conf, name, has_objects = True): + conf.sub_config(name) + autowaf.set_local_lib(conf, name, has_objects) +def configure(conf): + 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' + + 'and not to report issues with Ardour 3.0 on the forums at ardour.org.\n\n' + + 'Please use IRC, the bug tracker and/or the ardour mailing lists (-dev or -user)\n\n' + + 'Thanks for your co-operation with our development process.\n\n' + + 'Press Enter to continue.\n') + sys.stdin.readline() + create_stored_revision() + conf.env['VERSION'] = VERSION + conf.line_just = 52 + autowaf.set_recursive() + autowaf.configure(conf) + autowaf.display_header('Ardour Configuration') + + gcc_versions = fetch_gcc_version() + if not Options.options.debug and gcc_versions[0] == '4' and gcc_versions[1] > '4': + print('Version 4.5 of gcc is not ready for use when compiling Ardour with optimization.') + print('Please use a different version or re-configure with --debug') + exit (1) + + if sys.platform == 'darwin': + + conf.define ('AUDIOUNITS', 1) + conf.define ('AU_STATE_SUPPORT', 1) + conf.define ('COREAUDIO', 1) + conf.define ('GTKOSX', 1) + conf.define ('TOP_MENUBAR',1) + conf.define ('GTKOSX',1) + + conf.env.append_value('CXXFLAGS_APPLEUTILITY', '-I../libs') # - # warnings flags + # Define OSX as a uselib to use when compiling + # 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('CXXFLAGS_OSX', '-mmacosx-version-min=10.4') + conf.env.append_value('CCFLAGS_OSX', '-mmacosx-version-min=10.4') - conf.env.append_value('CCFLAGS', "-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('CXXFLAGS_OSX', "-isysroot /Developer/SDKs/MacOSX10.4u.sdk") + #conf.env.append_value('CCFLAGS_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('CXXFLAGS_OSX', "-msse2") + conf.env.append_value('CCFLAGS_OSX', "-msse2") # - # more boilerplate + # TODO: The previous sse flags NEED to be based + # off processor type. Need to add in a check + # for that. # - - conf.env.append_value('CCFLAGS', '-D_LARGEFILE64_SOURCE') - conf.env.append_value('CCFLAGS', '-D_FILE_OFFSET_BITS=64') - conf.env.append_value('CXXFLAGS', '-D_LARGEFILE64_SOURCE') - conf.env.append_value('CXXFLAGS', '-D_FILE_OFFSET_BITS=64') - - conf.env.append_value('CXXFLAGS', '-D__STDC_LIMIT_MACROS') - conf.env.append_value('CXXFLAGS', '-D__STDC_FORMAT_MACROS') - - if opt.nls: - conf.env.append_value('CXXFLAGS', '-DENABLE_NLS') - conf.env.append_value('CCFLAGS', '-DENABLE_NLS') - -#---------------------------------------------------------------- - -# Waf stages - -def set_options(opt): - 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') - opt.add_option('--arch', type='string', action='store', dest='arch', - help='Architecture-specific compiler flags') - opt.add_option('--boost-sp-debug', action='store_true', default=False, dest='boost_sp_debug', - help='Compile with Boost shared pointer debugging') - opt.add_option('--dist-target', type='string', default='auto', dest='dist_target', - help='Specify the target for cross-compiling [auto,none,x86,i386,i686,x86_64,powerpc,tiger,leopard]') - opt.add_option('--extra-warn', action='store_true', default=False, dest='extra_warn', - help='Build with even more compiler warning flags') - opt.add_option('--fpu-optimization', action='store_true', default=True, dest='fpu_optimization', - help='Build runtime checked assembler code (default)') - opt.add_option('--no-fpu-optimization', action='store_false', dest='fpu_optimization') - opt.add_option('--freedesktop', action='store_true', default=False, dest='freedesktop', - help='Install MIME type, icons and .desktop file as per freedesktop.org standards') - opt.add_option('--freesound', action='store_true', default=False, dest='freesound', - help='Include Freesound database lookup') - opt.add_option('--gprofile', action='store_true', default=False, dest='gprofile', - help='Compile for use with gprofile') - opt.add_option('--lv2', action='store_true', default=False, dest='lv2', - help='Compile with support for LV2 (if slv2 is available)') - opt.add_option('--nls', action='store_true', default=True, dest='nls', - help='Enable i18n (native language support) (default)') - opt.add_option('--no-nls', action='store_false', dest='nls') - opt.add_option('--phone-home', action='store_false', default=True, dest='phone_home') - opt.add_option('--stl-debug', action='store_true', default=False, dest='stl_debug', - help='Build with debugging for the STL') - opt.add_option('--rt-alloc-debug', action='store_true', default=False, dest='rt_alloc_debug', - help='Build with debugging for memory allocation in the real-time thread') - opt.add_option('--test', action='store_true', default=False, dest='build_tests', - help="Build unit tests") - opt.add_option('--tranzport', action='store_true', default=False, dest='tranzport', - help='Compile with support for Frontier Designs Tranzport (if libusb is available)') - opt.add_option('--universal', action='store_true', default=False, dest='universal', - help='Compile as universal binary (requires that external libraries are universal)') - opt.add_option('--versioned', action='store_true', default=False, dest='versioned', - help='Add revision information to executable name inside the build directory') - opt.add_option('--vst', action='store_true', default=False, dest='vst', - help='Compile with support for VST') - opt.add_option('--wiimote', action='store_true', default=False, dest='wiimote', - help='Build the wiimote control surface') - opt.add_option('--windows-key', type='string', action='store', dest='windows_key', default='Mod4><\'') - opt.add_option('--boost-include', type='string', action='store', dest='boost_include', default='', - help='directory where Boost header files can be found') - opt.add_option('--wine-include', type='string', action='store', dest='wine_include', default='/usr/include/wine/windows', - help='directory where Wine\'s Windows header files can be found') - opt.add_option('--noconfirm', action='store_true', default=False, dest='noconfirm', - help='Do not ask questions that require confirmation during the build') - for i in children: - opt.sub_options(i) - -def sub_config_and_use(conf, name, has_objects = True): - conf.sub_config(name) - autowaf.set_local_lib(conf, name, has_objects) - -def configure(conf): - 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' + - 'and not to report issues with Ardour 3.0 on the forums at ardour.org.\n\n' + - 'Please use IRC, the bug tracker and/or the ardour mailing lists (-dev or -user)\n\n' + - 'Thanks for your co-operation with our development process.\n\n' + - 'Press Enter to continue.\n') - sys.stdin.readline() - create_stored_revision() - conf.env['VERSION'] = VERSION - conf.line_just = 52 - autowaf.set_recursive() - autowaf.configure(conf) - autowaf.display_header('Ardour Configuration') - - gcc_versions = fetch_gcc_version() - if not Options.options.debug and gcc_versions[0] == '4' and gcc_versions[1] > '4': - print('Version 4.5 of gcc is not ready for use when compiling Ardour with optimization.') - print('Please use a different version or re-configure with --debug') - exit (1) - - if sys.platform == 'darwin': - - conf.define ('AUDIOUNITS', 1) - conf.define ('AU_STATE_SUPPORT', 1) - conf.define ('COREAUDIO', 1) - conf.define ('GTKOSX', 1) - conf.define ('TOP_MENUBAR',1) - conf.define ('GTKOSX',1) - - conf.env.append_value('CXXFLAGS_APPLEUTILITY', '-I../libs') - # - # Define OSX as a uselib to use when compiling - # 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('CXXFLAGS_OSX', '-mmacosx-version-min=10.4') - conf.env.append_value('CCFLAGS_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('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('CXXFLAGS_OSX', "-msse2") - conf.env.append_value('CCFLAGS_OSX', "-msse2") - # - # TODO: The previous sse flags NEED to be based - # off processor type. Need to add in a check - # for that. - # - conf.env.append_value('CXXFLAGS_OSX', '-F/System/LibraryFrameworks') - conf.env.append_value('CXXFLAGS_OSX', '-F/Library/Frameworks') - - conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'AppKit']) - conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreAudio']) - conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreFoundation']) - conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreServices']) - - conf.env.append_value('LINKFLAGS_OSX', ['-undefined', 'suppress' ]) - conf.env.append_value('LINKFLAGS_OSX', '-flat_namespace') - - conf.env.append_value('LINKFLAGS_GTKOSX', [ '-Xlinker', '-headerpad']) - conf.env.append_value('LINKFLAGS_GTKOSX', ['-Xlinker', '2048']) - conf.env.append_value('CPPPATH_GTKOSX', "/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/") - - conf.env.append_value('CXXFLAGS_AUDIOUNITS', "-DHAVE_AUDIOUNITS") - conf.env.append_value('LINKFLAGS_AUDIOUNITS', ['-framework', 'Audiotoolbox', '-framework', 'AudioUnit']) - - if Options.options.boost_include != '': - conf.env.append_value('CPPPATH', Options.options.boost_include) - - autowaf.check_header(conf, '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) - - conf.check_cc(fragment = "#include \nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n", - execute = "1", - mandatory = True, - msg = 'Checking for boost library >= 1.39', - okmsg = 'ok', - errmsg = 'too old\nPlease install boost version 1.39 or higher.') - - autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False) - autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2') - autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.2') - autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0') - autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18') - - if sys.platform == 'darwin': - sub_config_and_use(conf, 'libs/appleutility') - for i in children: - sub_config_and_use(conf, i) - - # Fix utterly braindead FLAC include path to not smash assert.h - conf.env['CPPPATH_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('CXXFLAGS', '-DWAF_BUILD') - - # debug builds should not call home - - opts = Options.options - if opts.debug: - opts.phone_home = False; - - autowaf.display_msg(conf, 'Build Target', conf.env['build_target']) - autowaf.display_msg(conf, 'Architecture flags', opts.arch) - autowaf.display_msg(conf, 'Aubio', bool(conf.env['HAVE_AUBIO'])) - autowaf.display_msg(conf, 'CoreAudio', bool(conf.env['HAVE_COREAUDIO'])) - autowaf.display_msg(conf, 'FLAC', bool(conf.env['HAVE_FLAC'])) - autowaf.display_msg(conf, 'Phone Home', opts.phone_home) - if opts.phone_home: - conf.env['PHONE_HOME'] = opts.phone_home - autowaf.display_msg(conf, 'FPU Optimization', opts.fpu_optimization) - if opts.fpu_optimization: - conf.define('FPU_OPTIMIZATION', 1) - autowaf.display_msg(conf, 'Freedesktop Files', opts.freedesktop) - autowaf.display_msg(conf, 'Freesound', opts.freesound) - if opts.freesound: - conf.define('FREESOUND',1) - autowaf.display_msg(conf, 'LV2 Support', bool(conf.env['HAVE_SLV2'])) - autowaf.display_msg(conf, 'LV2 UI Embedding', bool(conf.env['HAVE_SUIL'])) - autowaf.display_msg(conf, 'OGG', bool(conf.env['HAVE_OGG'])) - autowaf.display_msg(conf, 'Rubberband', bool(conf.env['HAVE_RUBBERBAND'])) - autowaf.display_msg(conf, 'Samplerate', bool(conf.env['HAVE_SAMPLERATE'])) - autowaf.display_msg(conf, 'Soundtouch', bool(conf.env['HAVE_SOUNDTOUCH'])) - autowaf.display_msg(conf, 'Translation', opts.nls) - if opts.nls: - conf.define ('ENABLE_NLS', 1) - autowaf.display_msg(conf, 'Tranzport', opts.tranzport) - if opts.build_tests: - conf.env['BUILD_TESTS'] = opts.build_tests - autowaf.display_msg(conf, 'Unit Tests', bool(conf.env['BUILD_TESTS']) and bool (conf.env['HAVE_CPPUNIT'])) - if opts.tranzport: - conf.define('TRANZPORT', 1) - autowaf.display_msg(conf, 'Universal Binary', opts.universal) - autowaf.display_msg(conf, 'VST Support', opts.vst) - if opts.vst: - conf.define('VST_SUPPORT', 1) - conf.env.append_value('CPPPATH', Options.options.wine_include) - autowaf.check_header(conf, 'windows.h', mandatory = True) - if bool(conf.env['JACK_SESSION']): - conf.define ('HAVE_JACK_SESSION', 1) - autowaf.display_msg(conf, 'Wiimote Support', opts.wiimote) - if opts.wiimote: - conf.define('WIIMOTE',1) - conf.define('WINDOWS_KEY', opts.windows_key) - autowaf.display_msg(conf, 'Windows Key', opts.windows_key) - conf.env['PROGRAM_NAME'] = opts.program_name - autowaf.display_msg(conf, 'Program Name', opts.program_name) - if opts.rt_alloc_debug: - conf.define('DEBUG_RT_ALLOC', 1) - - set_compiler_flags (conf, Options.options) - - autowaf.display_msg(conf, 'C Compiler flags', conf.env['CCFLAGS']) - autowaf.display_msg(conf, 'C++ Compiler flags', conf.env['CXXFLAGS']) - print('') - - # and dump the same stuff to a file for use in the build - - config_text = open ('libs/ardour/config_text.cc',"w") - config_text.write ('#include "ardour/ardour.h"\n\nnamespace ARDOUR {\nconst char* const ardour_config_info = "\\n\\\n') - config_text.write ("Install prefix: "); config_text.write (str (conf.env['PREFIX'])); config_text.write ("\\n\\\n") - config_text.write ("Debuggable build: "); config_text.write (str (str(conf.env['DEBUG']))); config_text.write ("\\n\\\n") - config_text.write ("Strict compiler flags: "); config_text.write (str (str(conf.env['STRICT']))); config_text.write ("\\n\\\n") - config_text.write ("Build documentation: "); config_text.write (str (str(conf.env['DOCS']))); config_text.write ("\\n\\\n") - config_text.write ('Build target: '); config_text.write (str (conf.env['build_target'])); config_text.write ("\\n\\\n") - config_text.write ('Architecture flags: '); config_text.write (str (opts.arch)); config_text.write ("\\n\\\n") - config_text.write ('Aubio: '); config_text.write (str (bool(conf.env['HAVE_AUBIO']))); config_text.write ("\\n\\\n") - config_text.write ('FPU optimization: '); config_text.write (str (opts.fpu_optimization)); config_text.write ("\\n\\\n") - config_text.write ('Freedesktop files: '); config_text.write (str (opts.freedesktop)); config_text.write ("\\n\\\n") - config_text.write ('Freesound: '); config_text.write (str (opts.freesound)); config_text.write ("\\n\\\n") - config_text.write ('LV2 support: '); config_text.write (str (bool(conf.env['HAVE_SLV2']))); config_text.write ("\\n\\\n") - config_text.write ('LV2 UI embedding: '); config_text.write (str (bool(conf.env['HAVE_SUIL']))); config_text.write ("\\n\\\n") - config_text.write ('Rubberband: '); config_text.write (str (bool(conf.env['HAVE_RUBBERBAND']))); config_text.write ("\\n\\\n") - config_text.write ('Samplerate: '); config_text.write (str (bool(conf.env['HAVE_SAMPLERATE']))); config_text.write ("\\n\\\n") - config_text.write ('Soundtouch: '); config_text.write (str (bool(conf.env['HAVE_SOUNDTOUCH']))); config_text.write ("\\n\\\n") - config_text.write ('Translation: '); config_text.write (str (opts.nls)); config_text.write ("\\n\\\n") - config_text.write ('Tranzport: '); config_text.write (str (opts.tranzport)); config_text.write ("\\n\\\n") - config_text.write ('Universal binary: '); config_text.write (str (opts.universal)); config_text.write ("\\n\\\n") - config_text.write ('VST support: '); config_text.write (str (opts.vst)); config_text.write ("\\n\\\n") - config_text.write ('Wiimote support: '); config_text.write (str (opts.wiimote)); config_text.write ("\\n\\\n") - config_text.write ('Windows key: '); config_text.write (str (opts.windows_key)); config_text.write ("\\n\\\n") - config_text.write ('C compiler flags: '); config_text.write (str (conf.env['CCFLAGS'])); config_text.write ("\\n\\\n") - config_text.write ('C++ compiler flags: '); config_text.write (str (conf.env['CXXFLAGS'])); config_text.write ("\\n\\\n") - config_text.write ('Phone home: '); config_text.write (str (bool(conf.env['PHONE_HOME']))); config_text.write ("\\n\\\n") - config_text.write ('JACK session support: '); config_text.write (str (bool(conf.env['JACK_SESSION']))); config_text.write ("\\n\\\n") - config_text.write ('";}\n') - config_text.close () + conf.env.append_value('CXXFLAGS_OSX', '-F/System/LibraryFrameworks') + conf.env.append_value('CXXFLAGS_OSX', '-F/Library/Frameworks') + + conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'AppKit']) + conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreAudio']) + conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreFoundation']) + conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreServices']) + + conf.env.append_value('LINKFLAGS_OSX', ['-undefined', 'suppress' ]) + conf.env.append_value('LINKFLAGS_OSX', '-flat_namespace') + + conf.env.append_value('LINKFLAGS_GTKOSX', [ '-Xlinker', '-headerpad']) + conf.env.append_value('LINKFLAGS_GTKOSX', ['-Xlinker', '2048']) + conf.env.append_value('CPPPATH_GTKOSX', "/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/") + + conf.env.append_value('CXXFLAGS_AUDIOUNITS', "-DHAVE_AUDIOUNITS") + conf.env.append_value('LINKFLAGS_AUDIOUNITS', ['-framework', 'Audiotoolbox', '-framework', 'AudioUnit']) + + if Options.options.boost_include != '': + conf.env.append_value('CPPPATH', Options.options.boost_include) + + autowaf.check_header(conf, '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) + + conf.check_cc(fragment = "#include \nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n", + execute = "1", + mandatory = True, + msg = 'Checking for boost library >= 1.39', + okmsg = 'ok', + errmsg = 'too old\nPlease install boost version 1.39 or higher.') + + autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False) + autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2') + autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.2') + autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0') + autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18') + + if sys.platform == 'darwin': + sub_config_and_use(conf, 'libs/appleutility') + for i in children: + sub_config_and_use(conf, i) + + # Fix utterly braindead FLAC include path to not smash assert.h + conf.env['CPPPATH_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('CXXFLAGS', '-DWAF_BUILD') + + # debug builds should not call home + + opts = Options.options + if opts.debug: + opts.phone_home = False; + + autowaf.display_msg(conf, 'Build Target', conf.env['build_target']) + autowaf.display_msg(conf, 'Architecture flags', opts.arch) + autowaf.display_msg(conf, 'Aubio', bool(conf.env['HAVE_AUBIO'])) + autowaf.display_msg(conf, 'CoreAudio', bool(conf.env['HAVE_COREAUDIO'])) + autowaf.display_msg(conf, 'FLAC', bool(conf.env['HAVE_FLAC'])) + autowaf.display_msg(conf, 'Phone Home', opts.phone_home) + if opts.phone_home: + conf.env['PHONE_HOME'] = opts.phone_home + autowaf.display_msg(conf, 'FPU Optimization', opts.fpu_optimization) + if opts.fpu_optimization: + conf.define('FPU_OPTIMIZATION', 1) + autowaf.display_msg(conf, 'Freedesktop Files', opts.freedesktop) + autowaf.display_msg(conf, 'Freesound', opts.freesound) + if opts.freesound: + conf.define('FREESOUND',1) + autowaf.display_msg(conf, 'LV2 Support', bool(conf.env['HAVE_SLV2'])) + autowaf.display_msg(conf, 'LV2 UI Embedding', bool(conf.env['HAVE_SUIL'])) + autowaf.display_msg(conf, 'OGG', bool(conf.env['HAVE_OGG'])) + autowaf.display_msg(conf, 'Rubberband', bool(conf.env['HAVE_RUBBERBAND'])) + autowaf.display_msg(conf, 'Samplerate', bool(conf.env['HAVE_SAMPLERATE'])) + autowaf.display_msg(conf, 'Soundtouch', bool(conf.env['HAVE_SOUNDTOUCH'])) + autowaf.display_msg(conf, 'Translation', opts.nls) + if opts.nls: + conf.define ('ENABLE_NLS', 1) + autowaf.display_msg(conf, 'Tranzport', opts.tranzport) + if opts.build_tests: + conf.env['BUILD_TESTS'] = opts.build_tests + autowaf.display_msg(conf, 'Unit Tests', bool(conf.env['BUILD_TESTS']) and bool (conf.env['HAVE_CPPUNIT'])) + if opts.tranzport: + conf.define('TRANZPORT', 1) + autowaf.display_msg(conf, 'Universal Binary', opts.universal) + autowaf.display_msg(conf, 'VST Support', opts.vst) + if opts.vst: + conf.define('VST_SUPPORT', 1) + conf.env.append_value('CPPPATH', Options.options.wine_include) + autowaf.check_header(conf, 'windows.h', mandatory = True) + if bool(conf.env['JACK_SESSION']): + conf.define ('HAVE_JACK_SESSION', 1) + autowaf.display_msg(conf, 'Wiimote Support', opts.wiimote) + if opts.wiimote: + conf.define('WIIMOTE',1) + conf.define('WINDOWS_KEY', opts.windows_key) + autowaf.display_msg(conf, 'Windows Key', opts.windows_key) + conf.env['PROGRAM_NAME'] = opts.program_name + autowaf.display_msg(conf, 'Program Name', opts.program_name) + if opts.rt_alloc_debug: + conf.define('DEBUG_RT_ALLOC', 1) + + set_compiler_flags (conf, Options.options) + + autowaf.display_msg(conf, 'C Compiler flags', conf.env['CCFLAGS']) + autowaf.display_msg(conf, 'C++ Compiler flags', conf.env['CXXFLAGS']) + print('') + + # and dump the same stuff to a file for use in the build + + config_text = open ('libs/ardour/config_text.cc',"w") + config_text.write ('#include "ardour/ardour.h"\n\nnamespace ARDOUR {\nconst char* const ardour_config_info = "\\n\\\n') + config_text.write ("Install prefix: "); config_text.write (str (conf.env['PREFIX'])); config_text.write ("\\n\\\n") + config_text.write ("Debuggable build: "); config_text.write (str (str(conf.env['DEBUG']))); config_text.write ("\\n\\\n") + config_text.write ("Strict compiler flags: "); config_text.write (str (str(conf.env['STRICT']))); config_text.write ("\\n\\\n") + config_text.write ("Build documentation: "); config_text.write (str (str(conf.env['DOCS']))); config_text.write ("\\n\\\n") + config_text.write ('Build target: '); config_text.write (str (conf.env['build_target'])); config_text.write ("\\n\\\n") + config_text.write ('Architecture flags: '); config_text.write (str (opts.arch)); config_text.write ("\\n\\\n") + config_text.write ('Aubio: '); config_text.write (str (bool(conf.env['HAVE_AUBIO']))); config_text.write ("\\n\\\n") + config_text.write ('FPU optimization: '); config_text.write (str (opts.fpu_optimization)); config_text.write ("\\n\\\n") + config_text.write ('Freedesktop files: '); config_text.write (str (opts.freedesktop)); config_text.write ("\\n\\\n") + config_text.write ('Freesound: '); config_text.write (str (opts.freesound)); config_text.write ("\\n\\\n") + config_text.write ('LV2 support: '); config_text.write (str (bool(conf.env['HAVE_SLV2']))); config_text.write ("\\n\\\n") + config_text.write ('LV2 UI embedding: '); config_text.write (str (bool(conf.env['HAVE_SUIL']))); config_text.write ("\\n\\\n") + config_text.write ('Rubberband: '); config_text.write (str (bool(conf.env['HAVE_RUBBERBAND']))); config_text.write ("\\n\\\n") + config_text.write ('Samplerate: '); config_text.write (str (bool(conf.env['HAVE_SAMPLERATE']))); config_text.write ("\\n\\\n") + config_text.write ('Soundtouch: '); config_text.write (str (bool(conf.env['HAVE_SOUNDTOUCH']))); config_text.write ("\\n\\\n") + config_text.write ('Translation: '); config_text.write (str (opts.nls)); config_text.write ("\\n\\\n") + config_text.write ('Tranzport: '); config_text.write (str (opts.tranzport)); config_text.write ("\\n\\\n") + config_text.write ('Universal binary: '); config_text.write (str (opts.universal)); config_text.write ("\\n\\\n") + config_text.write ('VST support: '); config_text.write (str (opts.vst)); config_text.write ("\\n\\\n") + config_text.write ('Wiimote support: '); config_text.write (str (opts.wiimote)); config_text.write ("\\n\\\n") + config_text.write ('Windows key: '); config_text.write (str (opts.windows_key)); config_text.write ("\\n\\\n") + config_text.write ('C compiler flags: '); config_text.write (str (conf.env['CCFLAGS'])); config_text.write ("\\n\\\n") + config_text.write ('C++ compiler flags: '); config_text.write (str (conf.env['CXXFLAGS'])); config_text.write ("\\n\\\n") + config_text.write ('Phone home: '); config_text.write (str (bool(conf.env['PHONE_HOME']))); config_text.write ("\\n\\\n") + config_text.write ('JACK session support: '); config_text.write (str (bool(conf.env['JACK_SESSION']))); config_text.write ("\\n\\\n") + config_text.write ('";}\n') + config_text.close () def build(bld): - # add directories that contain only headers, to workaround an issue with waf - - bld.path.find_dir ('libs/evoral/evoral') - bld.path.find_dir ('libs/vamp-sdk/vamp-sdk') - bld.path.find_dir ('libs/surfaces/control_protocol/control_protocol') - bld.path.find_dir ('libs/timecode/timecode') - bld.path.find_dir ('libs/rubberband/rubberband') - bld.path.find_dir ('libs/gtkmm2ext/gtkmm2ext') - bld.path.find_dir ('libs/ardour/ardour') - bld.path.find_dir ('libs/taglib/taglib') - bld.path.find_dir ('libs/pbd/pbd') - - autowaf.set_recursive() - if sys.platform == 'darwin': - bld.add_subdirs('libs/appleutility') - for i in children: - bld.add_subdirs(i) - - # ideally, we'd like to use the OS-provided MIDI API - # for default ports. that doesn't work on at least - # Fedora (Nov 9th, 2009) so use JACK MIDI on linux. - - if sys.platform == 'darwin': - rc_subst_dict = { - 'MIDITAG' : 'control', - 'MIDITYPE' : 'coremidi', - 'JACK_INPUT' : 'auditioner' - } - else: - rc_subst_dict = { - 'MIDITAG' : 'control', - 'MIDITYPE' : 'jack', - 'JACK_INPUT' : 'auditioner' - } - - obj = bld.new_task_gen('subst') - obj.source = 'ardour.rc.in' - obj.target = 'ardour_system.rc' - obj.dict = rc_subst_dict - obj.install_path = '${CONFIGDIR}/ardour3' + # add directories that contain only headers, to workaround an issue with waf + + bld.path.find_dir ('libs/evoral/evoral') + bld.path.find_dir ('libs/vamp-sdk/vamp-sdk') + bld.path.find_dir ('libs/surfaces/control_protocol/control_protocol') + bld.path.find_dir ('libs/timecode/timecode') + bld.path.find_dir ('libs/rubberband/rubberband') + bld.path.find_dir ('libs/gtkmm2ext/gtkmm2ext') + bld.path.find_dir ('libs/ardour/ardour') + bld.path.find_dir ('libs/taglib/taglib') + bld.path.find_dir ('libs/pbd/pbd') + + autowaf.set_recursive() + if sys.platform == 'darwin': + bld.add_subdirs('libs/appleutility') + for i in children: + bld.add_subdirs(i) + + # ideally, we'd like to use the OS-provided MIDI API + # for default ports. that doesn't work on at least + # Fedora (Nov 9th, 2009) so use JACK MIDI on linux. + + if sys.platform == 'darwin': + rc_subst_dict = { + 'MIDITAG' : 'control', + 'MIDITYPE' : 'coremidi', + 'JACK_INPUT' : 'auditioner' + } + else: + rc_subst_dict = { + 'MIDITAG' : 'control', + 'MIDITYPE' : 'jack', + 'JACK_INPUT' : 'auditioner' + } + + obj = bld.new_task_gen('subst') + obj.source = 'ardour.rc.in' + obj.target = 'ardour_system.rc' + obj.dict = rc_subst_dict + obj.install_path = '${CONFIGDIR}/ardour3' def i18n(bld): - bld.recurse (i18n_children) - + bld.recurse (i18n_children) -- cgit v1.2.3