X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=fce1359b043dbe70e515eea17734c55298b9e2b3;hb=cf4b4dea3e38bbddb9a1960fcfd4205bb58c1837;hp=30a710afe6ec86bccb3c3a67a77b65a68bb657a5;hpb=942471d21f0acbb833849873bba2eb8254c4d28d;p=ardour.git diff --git a/wscript b/wscript index 30a710afe6..fce1359b04 100644 --- a/wscript +++ b/wscript @@ -135,10 +135,11 @@ 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' ] +clang_dict['full-optimization'] = [ '-O3', '-fomit-frame-pointer', '-ffast-math', ] compiler_flags_dictionaries['clang'] = clang_dict; clang_darwin_dict = compiler_flags_dictionaries['clang'].copy(); @@ -147,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 @@ -218,11 +219,16 @@ 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', 'mcp', 'patchfiles', + 'scripts', 'headless', 'session_utils', # shared helper binaries (plugin-scanner, exec-wrapper) @@ -392,7 +398,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++') @@ -404,7 +410,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 @@ -566,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') @@ -609,6 +618,10 @@ int main() { return 0; }''', if Options.options.program_name.lower() == "mixbus": compiler_flags.append ('-DMIXBUS') + if Options.options.program_name.lower() == "mixbus32c": + compiler_flags.append ('-DMIXBUS') + compiler_flags.append ('-DMIXBUS32C') + compiler_flags.append ('-DPROGRAM_NAME="' + Options.options.program_name + '"') compiler_flags.append ('-DPROGRAM_VERSION="' + PROGRAM_VERSION + '"') @@ -631,6 +644,16 @@ int main() { return 0; }''', conf.env.append_value('CXXFLAGS', cxx_flags) conf.env.append_value('LINKFLAGS', linker_flags) +def create_resource_file(icon): + try: + text = 'IDI_ICON1 ICON DISCARDABLE "icons/' + icon + '.ico"\n' + o = open('gtk2_ardour/windows_icon.rc', 'w') + o.write(text) + o.close() + except IOError: + print('Could not open gtk2_ardour/windows_icon.rc for writing\n') + sys.exit(-1) + def is_tracks_build (conf): return conf.env['PROGRAM_NAME'] == 'Tracks Live' @@ -680,6 +703,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', @@ -896,6 +921,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) @@ -918,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 \nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n", execute = "1", mandatory = True, @@ -1164,8 +1196,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')) @@ -1183,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']) @@ -1201,6 +1231,9 @@ const char* const ardour_config_info = "\\n\\ config_text.close () print('') + 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()