some new source
[ardour.git] / wscript
diff --git a/wscript b/wscript
index ada116a13854c640ff6d167a6c7dbe8def3d70ba..bf1a1024da3b3f96ca9cf30a2d382c72f5a9ab3b 100644 (file)
--- a/wscript
+++ b/wscript
@@ -25,11 +25,14 @@ children = [
        'libs/taglib',
        'libs/rubberband',
        'libs/surfaces',
+       'libs/timecode',
        'libs/ardour',
        'libs/gtkmm2ext',
        'libs/clearlooks-newer',
        'libs/audiographer',
-       'gtk2_ardour'
+       'libs/gnomecanvas',
+       'gtk2_ardour',
+       'templates'
 ]
 
 i18n_children = [
@@ -369,10 +372,12 @@ def set_options(opt):
        opt.add_option('--wiimote', action='store_true', default=False, dest='wiimote',
                        help='Build the wiimote control surface')
        opt.add_option('--windows-key', type='string', action='store', dest='windows_key', default='Mod4><Super',
-                      help='X Modifier(s) (Mod1,Mod2, etc) for the Windows key (X11 builds only). ' +
-                      'Multiple modifiers must be separated by \'><\'')
-        opt.add_option('--boost-include', type='string', action='store', dest='boost_include', default='',
+                       help='X Modifier(s) (Mod1,Mod2, etc) for the Windows key (X11 builds only). ' +
+                       '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('--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')                      
        for i in children:
                opt.sub_options(i)
 
@@ -454,7 +459,7 @@ def configure(conf):
        if Options.options.boost_sp_debug:
                conf.env.append_value('CXXFLAGS_BOOST', '-DBOOST_SP_ENABLE_DEBUG_HOOKS')
 
-       autowaf.check_header(conf, 'jack/session.h', define="JACK_SESSION")
+       autowaf.check_header(conf, 'jack/session.h', define="JACK_SESSION", mandatory = False)
 
        conf.check_cc(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
                      execute = "1",
@@ -524,6 +529,8 @@ def configure(conf):
        autowaf.display_msg(conf, 'VST Support', opts.vst)
        if opts.vst:
                conf.define('VST_SUPPORT', 1)
+               conf.env.append_value('CPPPATH', Options.options.wine_include)
+               autowaf.check_header(conf, 'windows.h', mandatory = True)
        if bool(conf.env['JACK_SESSION']):
                conf.define ('HAVE_JACK_SESSION', 1)
        autowaf.display_msg(conf, 'Wiimote Support', opts.wiimote)
@@ -572,6 +579,18 @@ def configure(conf):
        config_text.close ()
 
 def build(bld):
+        # add directories that contain only headers, to workaround an issue with waf
+
+        bld.path.find_dir ('libs/evoral/evoral')
+        bld.path.find_dir ('libs/vamp-sdk/vamp-sdk')
+        bld.path.find_dir ('libs/surfaces/control_protocol/control_protocol')
+        bld.path.find_dir ('libs/timecode/timecode')
+        bld.path.find_dir ('libs/rubberband/rubberband')
+        bld.path.find_dir ('libs/gtkmm2ext/gtkmm2ext')
+        bld.path.find_dir ('libs/ardour/ardour')
+        bld.path.find_dir ('libs/taglib/taglib')
+        bld.path.find_dir ('libs/pbd/pbd')
+
        autowaf.set_recursive()
        if sys.platform == 'darwin':
                bld.add_subdirs('libs/appleutility')