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_darwin_dict = compiler_flags_dictionaries['clang'].copy();
clang_darwin_dict['cxx-strict'] = [ '-ansi', '-Wnon-virtual-dtor', '-Woverloaded-virtual', ]
-clang_darwin_dict['full-optimization'] = [ '-O3', '-ffast-math', '-fstrength-reduce' ]
+clang_darwin_dict['full-optimization'] = [ '-O3', '-ffast-math']
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
children = [
# optionally external libraries
- 'libs/qm-dsp',
- 'libs/vamp-plugins',
+ 'libs/fluidsynth',
+ 'libs/hidapi',
'libs/libltc',
'libs/lua',
'libs/ptformat',
+ 'libs/qm-dsp',
+ 'libs/vamp-plugins',
# core ardour libraries
'libs/pbd',
'libs/midi++2',
'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',
+ 'libs/plugins/a-fluidsynth.lv2',
'gtk2_ardour',
'export',
'midi_maps',
'mcp',
+ 'osc',
'patchfiles',
'scripts',
'headless',
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')
help='Turn on PT session import option')
opt.add_option('--no-threaded-waveviews', action='store_true', default=False, dest='no_threaded_waveviews',
help='Disable threaded waveview rendering')
+ opt.add_option(
+ '--qm-dsp-include', type='string', action='store',
+ dest='qm_dsp_include', default='/usr/include/qm-dsp',
+ help='directory where the header files of qm-dsp can be found')
for i in children:
opt.recurse(i)
conf.define ('HAVE_COREAUDIO', 1)
conf.define ('AUDIOUNIT_SUPPORT', 1)
+ if not Options.options.ppc:
+ conf.define('MACVST_SUPPORT', 1)
+
conf.define ('TOP_MENUBAR',1)
# It would be nice to be able to use this to force back-compatibility with 10.4
if Options.options.use_external_libs:
conf.define('USE_EXTERNAL_LIBS', 1)
+ conf.env.append_value(
+ 'CXXFLAGS', '-I' + Options.options.qm_dsp_include)
if Options.options.boost_include != '':
conf.env.append_value('CXXFLAGS', '-I' + Options.options.boost_include)
# 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,
autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18', mandatory=True)
autowaf.check_pkg(conf, 'giomm-2.4', uselib_store='GIOMM', atleast_version='2.2', mandatory=True)
autowaf.check_pkg(conf, 'libcurl', uselib_store='CURL', atleast_version='7.0.0', mandatory=True)
+ autowaf.check_pkg(conf, 'libarchive', uselib_store='ARCHIVE', atleast_version='3.0.0', mandatory=True)
autowaf.check_pkg(conf, 'liblo', uselib_store='LO', atleast_version='0.26', mandatory=True)
autowaf.check_pkg(conf, 'taglib', uselib_store='TAGLIB', atleast_version='1.6', mandatory=True)
autowaf.check_pkg(conf, 'vamp-sdk', uselib_store='VAMPSDK', atleast_version='2.1', mandatory=True)
conf.env.append_value('CFLAGS', '-DCOMPILER_MINGW')
conf.env.append_value('CXXFLAGS', '-DPLATFORM_WINDOWS')
conf.env.append_value('CXXFLAGS', '-DCOMPILER_MINGW')
+ if conf.options.cxx11:
+ conf.env.append_value('CFLAGS', '-D_USE_MATH_DEFINES')
+ conf.env.append_value('CXXFLAGS', '-D_USE_MATH_DEFINES')
+ conf.env.append_value('CFLAGS', '-DWIN32')
+ conf.env.append_value('CXXFLAGS', '-DWIN32')
conf.env.append_value('LIB', 'pthread')
# needed for at least libsmf
conf.check_cc(function_name='htonl', header_name='winsock2.h', lib='ws2_32')
write_config_text('Unit tests', conf.env['BUILD_TESTS'])
write_config_text('Mac i386 Architecture', opts.generic)
write_config_text('Mac ppc Architecture', opts.ppc)
+ write_config_text('Mac VST support', conf.is_defined('MACVST_SUPPORT'))
write_config_text('Windows VST support', opts.windows_vst)
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'])
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'):