from waflib import Options, TaskGen
import waflib.Logs as Logs, waflib.Utils as Utils
import os
+import shutil
import sys
import re
import time
'panner_interface.cc',
'panner_ui.cc',
'patch_change.cc',
+ 'paths_dialog.cc',
'piano_roll_header.cc',
'pingback.cc',
'playlist_selector.cc',
'search_path_option.cc',
'selection.cc',
'send_ui.cc',
+ 'session_dialog.cc',
'session_import_dialog.cc',
'session_metadata_dialog.cc',
'session_option_editor.cc',
'add_video_dialog.cc',
'editor_videotimeline.cc',
'video_timeline.cc',
- 'system_exec.cc',
'video_monitor.cc',
'transcode_ffmpeg.cc',
'transcode_video_dialog.cc',
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',
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'
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']) + '"',
'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' ]
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
# Menus
menus_argv = []
if bld.is_defined('GTKOSX'):
- menus_argv = [ '-E', '-P', '-DGTKOSX', '-DNOVIDEOTIMELINE' ]
+ menus_argv = [ '-E', '-P', '-DGTKOSX' ]
else:
menus_argv = [ '-E', '-P' ]
# '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')