allow to customize variable i/o plugin inputs
[ardour.git] / wscript
diff --git a/wscript b/wscript
index c0c70377c2049c3cf55fe6ce5c233353ade8071f..926e6feed68706413752a990e78a9480ed16b294 100644 (file)
--- a/wscript
+++ b/wscript
@@ -139,6 +139,7 @@ clang_dict['extra-cxx-warnings'] = [ '-Woverloaded-virtual', '-Wno-mismatched-ta
 clang_dict['cxx-strict'] = [ '-ansi', '-Wnon-virtual-dtor', '-Woverloaded-virtual', '-fstrict-overflow' ]
 clang_dict['strict'] = ['-Wall', '-Wcast-align', '-Wextra', '-Wwrite-strings' ]
 clang_dict['generic-x86'] = [ '-arch', 'i386' ]
+clang_dict['full-optimization'] = [ '-O3', '-fomit-frame-pointer', '-ffast-math', ]
 compiler_flags_dictionaries['clang'] = clang_dict;
 
 clang_darwin_dict = compiler_flags_dictionaries['clang'].copy();
@@ -203,6 +204,7 @@ children = [
         'libs/qm-dsp',
         'libs/vamp-plugins',
         'libs/libltc',
+        'libs/lua',
         'libs/ptformat',
         # core ardour libraries
         'libs/pbd',
@@ -222,6 +224,7 @@ children = [
         'midi_maps',
         'mcp',
         'patchfiles',
+        'scripts',
         'headless',
         'session_utils',
         # shared helper binaries (plugin-scanner, exec-wrapper)
@@ -229,6 +232,7 @@ children = [
         'libs/vfork',
         'libs/ardouralsautil',
         'cfgtool',
+        'tools/luadevel',
 ]
 
 i18n_children = [
@@ -390,7 +394,7 @@ int main() { return 0; }''',
         #
         compiler_flags.append ('-U__STRICT_ANSI__')
 
-    if opt.use_libcpp:
+    if opt.use_libcpp or conf.env['build_host'] in [ 'el_capitan' ]:
        cxx_flags.append('--stdlib=libc++')
        linker_flags.append('--stdlib=libc++')
 
@@ -402,7 +406,7 @@ int main() { return 0; }''',
             # from requiring a full path to requiring just the header name.
             cxx_flags.append('-DCARBON_FLAT_HEADERS')
 
-            if not opt.use_libcpp:
+            if not opt.use_libcpp and not conf.env['build_host'] in [ 'el_capitan' ]:
                 cxx_flags.append('--stdlib=libstdc++')
                 linker_flags.append('--stdlib=libstdc++')
             # Prevents visibility issues in standard headers
@@ -678,6 +682,8 @@ def options(opt):
                    help='Build internal libs as static libraries')
     opt.add_option('--use-external-libs', action='store_true', default=False, dest='use_external_libs',
                    help='Use external/system versions of some bundled libraries')
+    opt.add_option('--luadoc', action='store_true', default=False, dest='luadoc',
+                    help='Compile Tool to dump LuaBindings (needs C++11)')
     opt.add_option('--lv2', action='store_true', default=True, dest='lv2',
                     help='Compile with support for LV2 (if Lilv+Suil is available)')
     opt.add_option('--no-lv2', action='store_false', dest='lv2',
@@ -894,6 +900,10 @@ def configure(conf):
             print ('No Carbon support available for this build\n')
 
 
+    if Options.options.luadoc:
+        conf.env['LUABINDINGDOC'] = True
+        conf.define ('LUABINDINGDOC', 1)
+
     if Options.options.internal_shared_libs:
         conf.define('INTERNAL_SHARED_LIBS', 1)
 
@@ -1162,8 +1172,10 @@ const char* const ardour_config_info = "\\n\\
     write_config_text('Freedesktop files',     opts.freedesktop)
     write_config_text('Libjack linking',       conf.env['libjack_link'])
     write_config_text('Libjack metadata',      conf.is_defined ('HAVE_JACK_METADATA'))
+    write_config_text('Lua Binding Doc',       conf.is_defined('LUABINDINGDOC'))
     write_config_text('LV2 UI embedding',      conf.is_defined('HAVE_SUIL'))
     write_config_text('LV2 support',           conf.is_defined('LV2_SUPPORT'))
+    write_config_text('LV2 extensions',        conf.is_defined('LV2_EXTENDED'))
     write_config_text('LXVST support',         conf.is_defined('LXVST_SUPPORT'))
     write_config_text('OGG',                   conf.is_defined('HAVE_OGG'))
     write_config_text('Phone home',            conf.is_defined('PHONE_HOME'))