X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fwscript;h=d385da5a200ab9dab9abb1817ae7ec9e37922e42;hb=9aacefc17010a889222425f97b99050171165038;hp=e6ce7bb3b6d0a6cbebfbda76a4edf14e223dfdd4;hpb=17ad0a0b61a887362ce07b1f8b59de003ddd9233;p=ardour.git diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript index e6ce7bb3b6..d385da5a20 100644 --- a/gtk2_ardour/wscript +++ b/gtk2_ardour/wscript @@ -3,6 +3,7 @@ from waflib.extras import autowaf as autowaf from waflib import Options, TaskGen import waflib.Logs as Logs, waflib.Utils as Utils import os +import shutil import sys import re import time @@ -196,6 +197,7 @@ gtk2_ardour_sources = [ 'search_path_option.cc', 'selection.cc', 'send_ui.cc', + 'session_dialog.cc', 'session_import_dialog.cc', 'session_metadata_dialog.cc', 'session_option_editor.cc', @@ -255,7 +257,8 @@ def configure(conf): autowaf.build_version_files( path_prefix + 'version.h', path_prefix + 'version.cc', - 'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0) + 'gtk2_ardour', conf.env['MAJOR'], conf.env['MINOR'], 0, + '', '') autowaf.configure(conf) if Options.options.dist_target == 'auto': @@ -264,6 +267,8 @@ def configure(conf): # TODO: Insert a sanity check for on OS X to ensure CoreAudio is present + autowaf.check_pkg(conf, 'fftw3f', uselib_store='FFTW3F', + mandatory=True) autowaf.check_pkg(conf, 'flac', uselib_store='FLAC', atleast_version='1.2.1') autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', @@ -355,23 +360,25 @@ def build(bld): if bld.is_defined('WINDOWS_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(features = 'cxx c cxxprogram wine') - obj.source = ''' - ../libs/fst/fst.c - ../libs/fst/fstinfofile.c - ../libs/fst/vsti.c - ../libs/fst/vstwin.c - ../vst/winmain.c - ''' - obj.uselib = 'ALSA' + obj = bld (features = 'cxx c cxxprogram wine') + obj.source = ( + '../libs/fst/fst.c', + '../libs/fst/fstinfofile.c', + '../libs/fst/vsti.c', + '../libs/fst/vstwin.c', + '../vst/winmain.c', + ) + # + # XXX do we really need to explicitly link to all of these for the wine executable? + # obj.use = [ 'libpbd', 'libmidipp', - 'libtaglib', 'libardour', 'libardour_cp', + 'libtimecode', + 'libmidipp', 'libgtk2_ardour', 'libgtkmm2ext', - 'libtaglib', 'libcanvas' ] obj.target = 'ardour-' + bld.env['VERSION'] + '-vst.exe.so' @@ -389,33 +396,24 @@ def build(bld): obj.target = 'gtk2_ardour' else: # just the normal executable version of the GTK GUI - obj = bld(features = 'cxx c cxxprogram') + obj = bld (features = 'cxx c cxxprogram') obj.source = gtk2_ardour_sources obj.target = 'ardour-' + bld.env['VERSION'] obj.includes = ['.'] - # continue with setup of obj, which could be a shared library - # or an executable. + # at this point, "obj" refers to either the normal native executable + # OR the shared library built for use with wine on linux. - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + obj.use = [ 'libpbd', + 'libardour', + 'libardour_cp', + 'libtimecode', + 'libmidipp', + 'libgtkmm2ext', + 'libcanvas', + ] - obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG ALSA CURL DL GTKMM LO' - obj.use = [ 'libpbd', - 'libmidipp', - 'libtaglib', - 'libardour', - 'libardour_cp', - 'libgtkmm2ext', - 'libtaglib', - 'libcanvas' - ] - if bld.env['build_target'] == 'mingw': - if bld.env['DEBUG'] == False: - obj.linkflags = ['-mwindows'] - if sys.platform == 'darwin': - obj.uselib += ' AUDIOUNITS OSX GTKOSX' - obj.use += ' libappleutility' - obj.defines = [ + obj.defines = [ 'PACKAGE="' + I18N_PACKAGE + '"', 'VERSIONSTRING="' + bld.env['VERSION'] + '"', 'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"', @@ -423,8 +421,21 @@ def build(bld): 'LOCALEDIR="' + os.path.join(os.path.normpath(bld.env['DATADIR']), 'locale') + '"', 'PROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"' ] + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') + obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL' + obj.uselib += ' GTKMM CANVAS FFTW3F' + obj.uselib += ' AUDIOUNITS OSX GTKOSX LO ' + obj.uselib += ' TAGLIB ' + + if sys.platform == 'darwin': + obj.uselib += ' AUDIOUNITS OSX GTKOSX' + obj.use += ' libappleutility' obj.includes += ['../libs'] + if bld.env['build_target'] == 'mingw': + if bld.env['DEBUG'] == False: + obj.linkflags = ['-mwindows'] + if bld.is_defined('HAVE_SUIL'): obj.source += [ 'lv2_plugin_ui.cc' ] obj.use += [ 'SUIL' ] @@ -617,7 +628,7 @@ def build(bld): obj.install_path = None set_subst_dict(obj, light_rc_subst_dict) - obj = bld(rule = 'cp ${SRC} ${TGT}') + obj = bld(rule = autowaf.copyfile) obj.source = [ 'ardour3_widget_list.rc' ] obj.target = 'ardour3_widgets.rc' obj.install_path = None @@ -639,7 +650,7 @@ def build(bld): # Menus menus_argv = [] if bld.is_defined('GTKOSX'): - menus_argv = [ '-E', '-P', '-DGTKOSX', '-DNOVIDEOTIMELINE' ] + menus_argv = [ '-E', '-P', '-DGTKOSX' ] else: menus_argv = [ '-E', '-P' ] @@ -659,11 +670,15 @@ def build(bld): # 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad', # 'SAE-us-nokeypad', 'ergonomic-us' + # + # explicitly state the use of perl here so that it works on windows too + # + a_rule = 'perl ../tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap <${SRC} >${TGT}' % (sys.platform, bld.env['WINDOWS_KEY'] ) for b in [ 'mnemonic-us' ] : obj = bld( target = b + '.bindings', source = b + '.bindings.in', - rule = '../tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap <${SRC} >${TGT}' % (sys.platform, bld.env['WINDOWS_KEY'] ) + rule = a_rule ) obj.install_path = os.path.join(bld.env['SYSCONFDIR'], 'ardour3')