fix crash when copy'ing latent plugins
[ardour.git] / wscript
diff --git a/wscript b/wscript
index ad1dd434637c9c64c99ece6a3cb7c8bfdac8cb32..fce1359b043dbe70e515eea17734c55298b9e2b3 100644 (file)
--- a/wscript
+++ b/wscript
@@ -135,7 +135,7 @@ clang_dict['sse'] = ''
 clang_dict['fpmath-sse'] = ''
 clang_dict['xmmintrinsics'] = ''
 clang_dict['silence-unused-arguments'] = '-Qunused-arguments'
-clang_dict['extra-cxx-warnings'] = [ '-Woverloaded-virtual', '-Wno-mismatched-tags' ]
+clang_dict['extra-cxx-warnings'] = [ '-Woverloaded-virtual', '-Wno-mismatched-tags', '-Wno-cast-align', '-Wno-unused-local-typedefs' ]
 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' ]
@@ -148,7 +148,7 @@ clang_darwin_dict['full-optimization'] = [ '-O3', '-ffast-math', '-fstrength-red
 compiler_flags_dictionaries['clang-darwin'] = clang_darwin_dict;
 
 def fetch_git_revision ():
-    cmd = "git describe HEAD | sed 's/^[A-Za-z]*+//'"
+    cmd = "git describe HEAD | sed 's/^[A-Za-z0-9]*+//'"
     output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines()
     rev = output[0].decode ('utf-8')
     return rev
@@ -219,6 +219,10 @@ children = [
         'libs/audiographer',
         'libs/canvas',
         'libs/plugins/reasonablesynth.lv2',
+        'libs/plugins/a-comp.lv2',
+        'libs/plugins/a-delay.lv2',
+        'libs/plugins/a-eq.lv2',
+        'libs/plugins/a-reverb.lv2',
         'gtk2_ardour',
         'export',
         'midi_maps',
@@ -568,6 +572,9 @@ int main() { return 0; }''',
     if opt.stl_debug:
         cxx_flags.append("-D_GLIBCXX_DEBUG")
 
+    if re.search ("freebsd", sys.platform) != None:
+        linker_flags.append('-lexecinfo')
+
     if conf.env['DEBUG_RT_ALLOC']:
         compiler_flags.append('-DDEBUG_RT_ALLOC')
         linker_flags.append('-ldl')
@@ -940,7 +947,10 @@ def configure(conf):
     # executing a test program is n/a when cross-compiling
     if Options.options.dist_target != 'mingw':
         if Options.options.dist_target != 'msvc':
-            conf.check_cc(function_name='dlopen', header_name='dlfcn.h', lib='dl', uselib_store='DL')
+            if re.search ("freebsd", sys.platform) != None:
+                conf.check_cc(function_name='dlopen', header_name='dlfcn.h', uselib_store='DL')
+            else:
+                conf.check_cc(function_name='dlopen', header_name='dlfcn.h', lib='dl', uselib_store='DL')
         conf.check_cxx(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
                   execute = "1",
                   mandatory = True,
@@ -1207,16 +1217,12 @@ const char* const ardour_config_info = "\\n\\
     write_config_text('Wiimote support',       conf.is_defined('BUILD_WIIMOTE'))
     write_config_text('Windows key',           opts.windows_key)
 
-    print ('\nBackends:')
-    
     write_config_text('PortAudio Backend',     conf.env['BUILD_PABACKEND'])
     write_config_text('CoreAudio/Midi Backend',conf.env['BUILD_CORECRAPPITA'])
     write_config_text('ALSA Backend',          conf.env['BUILD_ALSABACKEND'])
     write_config_text('Dummy backend',         conf.env['BUILD_DUMMYBACKEND'])
     write_config_text('JACK Backend',          conf.env['BUILD_JACKBACKEND'])
 
-    print ('\n')
-    
     write_config_text('C compiler flags',      conf.env['CFLAGS'])
     write_config_text('C++ compiler flags',    conf.env['CXXFLAGS'])
     write_config_text('Linker flags',          conf.env['LINKFLAGS'])
@@ -1225,12 +1231,12 @@ const char* const ardour_config_info = "\\n\\
     config_text.close ()
     print('')
 
-def build(bld):
-    create_stored_revision()
-
     if Options.options.dist_target == 'mingw' or Options.options.dist_target == 'msvc':
         create_resource_file(Options.options.program_name.lower())
 
+def build(bld):
+    create_stored_revision()
+
     # add directories that contain only headers, to workaround an issue with waf
 
     if not bld.is_defined('USE_EXTERNAL_LIBS'):