Tidy a couple of minor things up.
[ardour.git] / wscript
diff --git a/wscript b/wscript
index 6feb3504de17a9efbb660b661f7e7c83e0ffe5f5..4de9f252e52ddec7eb8bff1778c380d715c5e25b 100644 (file)
--- a/wscript
+++ b/wscript
@@ -8,7 +8,7 @@ import subprocess
 import sys
 
 # Variables for 'waf dist'
-VERSION = '3.0alpha10'
+VERSION = '3.0beta1'
 APPNAME = 'Ardour'
 
 # Mandatory variables
@@ -31,10 +31,10 @@ children = [
         'libs/gtkmm2ext',
         'libs/clearlooks-newer',
         'libs/audiographer',
-        'libs/gnomecanvas',
         'gtk2_ardour',
         'templates',
         'export',
+        'midi_maps'
 ]
 
 i18n_children = [
@@ -45,8 +45,10 @@ i18n_children = [
 
 if sys.platform != 'darwin':
     children += [ 'tools/sanity_check' ]
+    lxvst_default = True
 else:
     children += [ 'libs/appleutility' ]
+    lxvst_default = False
 
 # Version stuff
 
@@ -234,6 +236,7 @@ def set_compiler_flags (conf,opt):
     # check this even if we aren't using FPU optimization
     if not conf.is_defined('HAVE_POSIX_MEMALIGN'):
         optimization_flags.append("-DNO_POSIX_MEMALIGN")
+        debug_flags.append("-DNO_POSIX_MEMALIGN")
 
     # end optimization section
 
@@ -250,9 +253,6 @@ def set_compiler_flags (conf,opt):
 
     if opt.lxvst:
         if conf.env['build_target'] == 'x86_64':
-            print("\n\n********************************************************")
-            print("* Building with 64Bit linuxVST support is experimental *")
-            print("********************************************************\n\n")
             conf.env.append_value('CXXFLAGS', "-DLXVST_64BIT")
         else:
             conf.env.append_value('CXXFLAGS', "-DLXVST_32BIT")
@@ -352,7 +352,7 @@ def set_compiler_flags (conf,opt):
 def options(opt):
     opt.load('compiler_c')
     opt.load('compiler_cxx')
-    autowaf.set_options(opt)
+    autowaf.set_options(opt, debug_by_default=True)
     opt.add_option('--program-name', type='string', action='store', default='Ardour', dest='program_name',
                     help='The user-visible name of the program being built')
     opt.add_option('--arch', type='string', action='store', dest='arch',
@@ -368,18 +368,19 @@ def options(opt):
     opt.add_option('--no-fpu-optimization', action='store_false', dest='fpu_optimization')
     opt.add_option('--freedesktop', action='store_true', default=False, dest='freedesktop',
                     help='Install MIME type, icons and .desktop file as per freedesktop.org standards')
+    opt.add_option('--freebie', action='store_true', default=False, dest='freebie',
+                    help='Build a version suitable for distribution as a zero-cost binary')
     opt.add_option('--freesound', action='store_true', default=False, dest='freesound',
                     help='Include Freesound database lookup')
     opt.add_option('--gprofile', action='store_true', default=False, dest='gprofile',
                     help='Compile for use with gprofile')
     opt.add_option('--lv2', action='store_true', default=False, dest='lv2',
-                    help='Compile with support for LV2 (if SLV2 or Lilv+Suil is available)')
-    opt.add_option('--lxvst', action='store_true', default=False, dest='lxvst',
+                    help='Compile with support for LV2 (if Lilv+Suil is available)')
+    opt.add_option('--lxvst', action='store_true', default=lxvst_default, dest='lxvst',
                     help='Compile with support for linuxVST plugins')
     opt.add_option('--nls', action='store_true', default=True, dest='nls',
                     help='Enable i18n (native language support) (default)')
     opt.add_option('--no-nls', action='store_false', dest='nls')
-    opt.add_option('--optimize', action='store_false', dest='debug')
     opt.add_option('--phone-home', action='store_false', default=False, dest='phone_home')
     opt.add_option('--stl-debug', action='store_true', default=False, dest='stl_debug',
                     help='Build with debugging for the STL')
@@ -402,6 +403,8 @@ def options(opt):
                     'Multiple modifiers must be separated by \'><\'')
     opt.add_option('--boost-include', type='string', action='store', dest='boost_include', default='',
                     help='directory where Boost header files can be found')
+    opt.add_option('--also-include', type='string', action='store', dest='also_include', default='',
+                    help='additional include directory where header files can be found')
     opt.add_option('--wine-include', type='string', action='store', dest='wine_include', default='/usr/include/wine/windows',
                     help='directory where Wine\'s Windows header files can be found')
     opt.add_option('--noconfirm', action='store_true', default=False, dest='noconfirm',
@@ -439,9 +442,13 @@ def configure(conf):
 
     if sys.platform == 'darwin':
 
-        conf.define ('AUDIOUNITS', 1)
-        conf.define ('AU_STATE_SUPPORT', 1)
-        conf.define ('COREAUDIO', 1)
+        # this is required, potentially, for anything we link and then relocate into a bundle
+        conf.env.append_value('LINKFLAGS', [ '-Xlinker', '-headerpad', '-Xlinker', '2048'])
+
+        conf.define ('HAVE_COREAUDIO', 1)
+        conf.define ('AUDIOUNIT_SUPPORT', 1)
+        if not Options.options.freebie:
+            conf.define ('AU_STATE_SUPPORT', 1)
         conf.define ('GTKOSX', 1)
         conf.define ('TOP_MENUBAR',1)
         conf.define ('GTKOSX',1)
@@ -476,21 +483,24 @@ def configure(conf):
 
         conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'AppKit'])
         conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreAudio'])
+        conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreAudioKit'])
         conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreFoundation'])
         conf.env.append_value('LINKFLAGS_OSX', ['-framework', 'CoreServices'])
 
-        conf.env.append_value('LINKFLAGS_OSX', ['-undefined', 'suppress' ])
-        conf.env.append_value('LINKFLAGS_OSX', '-flat_namespace')
-
-        conf.env.append_value('LINKFLAGS_GTKOSX', [ '-Xlinker', '-headerpad'])
-        conf.env.append_value('LINKFLAGS_GTKOSX', ['-Xlinker', '2048'])
-        conf.env.append_value('CPPPATH_GTKOSX', "/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/")
+       conf.env.append_value('LINKFLAGS_OSX', ['-undefined', 'dynamic_lookup' ])
+       conf.env.append_value('LINKFLAGS_OSX', ['-flat_namespace'])
 
-        conf.env.append_value('CXXFLAGS_AUDIOUNITS', "-DHAVE_AUDIOUNITS")
-        conf.env.append_value('LINKFLAGS_AUDIOUNITS', ['-framework', 'Audiotoolbox', '-framework', 'AudioUnit'])
+        conf.env.append_value('CXXFLAGS_AUDIOUNITS', "-DAUDIOUNIT_SUPPORT")
+        conf.env.append_value('CXXFLAGS_AUDIOUNITS', "-DAU_STATE_SUPPORT")
+        conf.env.append_value('LINKFLAGS_AUDIOUNITS', ['-framework', 'Carbon', 
+               '-framework', 'Audiotoolbox', '-framework', 'AudioUnit'])
 
     if Options.options.boost_include != '':
-        conf.env.append_value('CPPPATH', Options.options.boost_include)
+        conf.env.append_value('CXXFLAGS', '-I' + Options.options.boost_include)
+
+    if Options.options.also_include != '':
+        conf.env.append_value('CXXFLAGS', '-I' + Options.options.also_include)
+        conf.env.append_value('CFLAGS', '-I' + Options.options.also_include)
 
     autowaf.check_header(conf, 'cxx', 'boost/signals2.hpp', mandatory = True)
 
@@ -511,6 +521,7 @@ def configure(conf):
     autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.2')
     autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0')
     autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18')
+    autowaf.check_pkg(conf, 'giomm-2.4', uselib_store='GIOMM', atleast_version='2.2')
 
     for i in children:
         sub_config_and_use(conf, i)
@@ -585,6 +596,8 @@ const char* const ardour_config_info = "\\n\\
 
     write_config_text('Architecture flags',    opts.arch)
     write_config_text('Aubio',                 conf.is_defined('HAVE_AUBIO'))
+    write_config_text('AudioUnits',            conf.is_defined('AUDIOUNIT_SUPPORT'))
+    write_config_text('AU state support',      conf.is_defined('AU_STATE_SUPPORT'))
     write_config_text('Build target',          conf.env['build_target'])
     write_config_text('CoreAudio',             conf.is_defined('HAVE_COREAUDIO'))
     write_config_text('FLAC',                  conf.is_defined('HAVE_FLAC'))
@@ -600,10 +613,10 @@ const char* const ardour_config_info = "\\n\\
     write_config_text('Program name',          opts.program_name)
     write_config_text('Rubberband',            conf.is_defined('HAVE_RUBBERBAND'))
     write_config_text('Samplerate',            conf.is_defined('HAVE_SAMPLERATE'))
-    write_config_text('Soundtouch',            conf.is_defined('HAVE_SOUNDTOUCH'))
+#    write_config_text('Soundtouch',            conf.is_defined('HAVE_SOUNDTOUCH'))
     write_config_text('Translation',           opts.nls)
     write_config_text('Tranzport',             opts.tranzport)
-    write_config_text('Unit tests',            conf.is_defined('BUILD_TESTS'))
+    write_config_text('Unit tests',            conf.env['BUILD_TESTS'])
     write_config_text('Universal binary',      opts.universal)
     write_config_text('VST support',           opts.vst)
     write_config_text('Wiimote support',       opts.wiimote)
@@ -655,7 +668,7 @@ def build(bld):
     obj.source       = 'ardour.rc.in'
     obj.target       = 'ardour_system.rc'
     obj.dict         = rc_subst_dict
-    obj.install_path = '${SYSCONF}/ardour3'
+    obj.install_path = '${SYSCONFDIR}/ardour3'
 
 def i18n(bld):
     bld.recurse (i18n_children)