X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fwscript;h=24e40ea64a5d6300993b5729d151118063c42c15;hb=cd68ae78f9b56269a042939658adf0f73f0210a5;hp=4e5c41b8261a7ba8f51cde448e6c1a83f2b6a5a0;hpb=5e0e41e068a04603198a4e50464d794156f42c47;p=ardour.git diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript index 4e5c41b826..24e40ea64a 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 @@ -158,6 +159,7 @@ gtk2_ardour_sources = [ 'panner_interface.cc', 'panner_ui.cc', 'patch_change.cc', + 'paths_dialog.cc', 'piano_roll_header.cc', 'pingback.cc', 'playlist_selector.cc', @@ -196,6 +198,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', @@ -235,7 +238,6 @@ gtk2_ardour_sources = [ 'add_video_dialog.cc', 'editor_videotimeline.cc', 'video_timeline.cc', - 'system_exec.cc', 'video_monitor.cc', 'transcode_ffmpeg.cc', 'transcode_video_dialog.cc', @@ -255,14 +257,18 @@ 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 re.search ("linux", sys.platform) != None: - autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA') + if Options.options.dist_target == 'auto': + 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 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', @@ -351,26 +357,27 @@ def build(bld): VERSION = "%s.%s" % (bld.env['MAJOR'], bld.env['MINOR']) - if bld.is_defined('WINDOWS_VST_SUPPORT'): + if bld.is_defined('WINDOWS_VST_SUPPORT') and bld.env['build_target'] != 'mingw': + # Windows VST support w/wine # 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/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' @@ -388,30 +395,35 @@ 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. - - obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') - - 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 sys.platform == 'darwin': - obj.uselib += ' AUDIOUNITS OSX GTKOSX' - obj.use += ' libappleutility' - obj.defines = [ + if bld.is_defined('WINDOWS_VST_SUPPORT'): + # Windows VST support mingw + 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' ] + + # at this point, "obj" refers to either the normal native executable + # OR the shared library built for use with wine on linux. + + obj.use = [ 'libpbd', + 'libardour', + 'libardour_cp', + 'libtimecode', + 'libmidipp', + 'libgtkmm2ext', + 'libcanvas', + ] + + obj.defines = [ 'PACKAGE="' + I18N_PACKAGE + '"', 'VERSIONSTRING="' + bld.env['VERSION'] + '"', 'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"', @@ -419,8 +431,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' ] @@ -613,7 +638,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 @@ -635,7 +660,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' ] @@ -655,11 +680,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')