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
20 # needed for code used from libardour
21 I18N_PACKAGE = 'ardour'
24 autowaf.set_options(opt)
28 conf.load('compiler_cxx')
29 autowaf.configure(conf)
30 if conf.env['WINDOWS_VST_SUPPORT'] == True and Options.options.dist_target == 'mingw':
31 conf.check(compiler='cxx',
36 # Add a waf `feature' to allow compilation of things using winegcc
37 from waflib.TaskGen import feature
39 def set_winegcc(self):
40 self.env.LINK_CXX = self.env.LINK_CC = 'wineg++'
41 self.env.CC = 'winegcc'
44 VERSION = "%s.%s" % (bld.env['MAJOR'], bld.env['MINOR'])
45 if not (bld.is_defined('WINDOWS_VST_SUPPORT') or bld.is_defined('LXVST_SUPPORT') or bld.is_defined ('MACVST_SUPPORT')):
48 if bld.is_defined('WINDOWS_VST_SUPPORT') and bld.env['build_target'] != 'mingw':
49 # wine exec wrapper script
50 obj = bld(features = 'subst')
51 obj.source = 'scanner.wine'
52 obj.target = 'ardour-vst-scanner'
53 obj.chmod = Utils.O755
54 obj.install_path = os.path.join(bld.env['LIBDIR'])
56 'VERSION' : bld.env['VERSION'],
59 obj = bld (features = 'c cxx cxxprogram wine')
64 obj.linkflags = ['-mwindows', '-Wl,--export-dynamic']
65 obj.linkflags += bld.env['LDFLAGS']
66 obj.target = 'ardour-vst-scanner.exe.so'
67 obj.uselib = ['GIOMM', 'DL']
68 obj.use = [ 'libpbd' ]
69 obj.cxxflags = [ bld.env['compiler_flags_dict']['pic'] ]
71 obj = bld (features = 'cxx c cxxprogram')
72 obj.source = ( 'scanner.cc' )
73 obj.target = 'ardour-vst-scanner'
74 if bld.is_defined('WINDOWS_VST_SUPPORT'):
75 bld (features = 'c', name='vstwin', source='vstwin.c', uselib = 'GIOMM', includes = [ '../pbd/', '../ardour/', '.' ])
76 obj.uselib = ['GIOMM', 'DL', 'GDI32']
77 obj.linkflags = ['-mwindows']
78 obj.use = [ 'libpbd', 'vstwin' ]
80 obj.uselib = ['GIOMM', 'DL']
81 obj.use = [ 'libpbd' ]
83 obj.includes = [ '../pbd/', '../ardour/', '.' ]
88 'PACKAGE="' + I18N_PACKAGE + str(bld.env['MAJOR']) + '"',
89 'LIBARDOUR="' + bld.env['lwrcase_dirname'] + '"',
91 if re.search ("freebsd", sys.platform) != None or re.search ("openbsd", sys.platform) != None:
92 obj.defines.append('_POSIX_C_SOURCE=200809')
93 obj.defines.append('_XOPEN_SOURCE=700')
95 obj.install_path = os.path.join(bld.env['LIBDIR'])