2 from waflib.extras import autowaf as autowaf
3 from waflib import Options, TaskGen
4 import waflib.Logs as Logs, waflib.Utils as Utils
10 from waflib.Task import Task
17 autowaf.set_options(opt)
20 if not "dummy" in conf.env['BACKENDS']:
21 print ('session-utils depend on the dummy backend.')
22 autowaf.display_msg(conf, 'build session-utils', 'no')
25 if Options.options.windows_vst and Options.options.dist_target != 'mingw':
26 autowaf.display_msg(conf, 'build session-utils', 'no')
28 autowaf.display_msg(conf, 'build session-utils', 'yes')
30 conf.load('compiler_cxx')
31 autowaf.configure(conf)
33 def build_ardour_util(bld, util):
34 pgmprefix = bld.env['PROGRAM_NAME'].lower() + str(bld.env['MAJOR'])
36 # just the normal executable version of the GTK GUI
37 obj = bld (features = 'cxx c cxxprogram')
38 # this program does not do the whole hidden symbols thing
39 obj.cxxflags = [ '-fvisibility=default' ]
40 obj.source = ['common.cc', util + '.cc' ]
41 obj.target = pgmprefix + '-' + util
50 'VERSIONSTRING="' + str(bld.env['VERSION']) + '"',
51 'UTILNAME="' + str(pgmprefix + '-' + util) + '"',
52 'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"',
53 'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"',
54 'LOCALEDIR="' + os.path.join(os.path.normpath(bld.env['DATADIR']), 'locale') + '"',
55 'PACKAGE="' + "ARDOURUTILS" + '"',
57 obj.install_path = bld.env['LIBDIR'] + '/utils'
58 obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD OGG CURL DL XML'
59 obj.uselib += ' FFTW3F'
60 obj.uselib += ' AUDIOUNITS OSX LO '
61 obj.uselib += ' TAGLIB '
63 if sys.platform == 'darwin':
64 obj.uselib += ' AUDIOUNITS OSX'
65 obj.use += ' libappleutility'
66 obj.includes += ['../libs']
68 if bld.env['build_target'] == 'mingw':
69 if bld.env['DEBUG'] == False:
70 obj.linkflags = ['-mwindows']
72 if bld.is_defined('NEED_INTL'):
73 obj.linkflags = ' -lintl'
77 VERSION = "%s.%s" % (bld.env['MAJOR'], bld.env['MINOR'])
78 # session-utils depend on the dummy backend
79 if not "dummy" in bld.env['BACKENDS']:
82 if bld.is_defined('WINDOWS_VST_SUPPORT') and bld.env['build_target'] != 'mingw':
85 # don't build/install windows version just yet.
86 # tools/x-win/package.sh uses 'waf install'. The symlinks
87 # and shell wrapper script won't work on windows.
88 if bld.env['build_target'] == 'mingw':
91 pgmprefix = bld.env['PROGRAM_NAME'].lower() + str(bld.env['MAJOR'])
93 utils = bld.path.ant_glob('*.cc', excl=['example.cc', 'common.cc'])
97 build_ardour_util(bld, fn)
98 bld.symlink_as(bld.env['BINDIR'] + '/' + pgmprefix + "-" + fn, bld.env['LIBDIR'] + '/utils/ardour-util.sh')
100 obj = bld(features = 'subst')
101 obj.source = 'ardour-util.sh.in'
102 obj.target = 'ardour-util.sh'
103 obj.chmod = Utils.O755
104 obj.install_path = bld.env['LIBDIR'] + '/utils'
105 obj.LIBDIR = os.path.normpath(bld.env['DLLDIR'])
106 obj.DATADIR = os.path.normpath(bld.env['DATADIR'])
107 obj.CONFDIR = os.path.normpath(bld.env['CONFDIR'])