conf.env['build_host'] = 'yosemite'
elif re.search ("^15[.]", version) != None:
conf.env['build_host'] = 'el_capitan'
+ elif re.search ("^16[.]", version) != None:
+ conf.env['build_host'] = 'sierra'
else:
conf.env['build_host'] = 'irrelevant'
conf.env['build_target'] = 'mavericks'
elif re.search ("^14[.]", version) != None:
conf.env['build_target'] = 'yosemite'
- else:
+ elif re.search ("^15[.]", version) != None:
conf.env['build_target'] = 'el_capitan'
+ else:
+ conf.env['build_target'] = 'sierra'
else:
match = re.search(
"(?P<cpu>i[0-6]86|x86_64|powerpc|ppc|ppc64|arm|s390x?)",
#
compiler_flags.append ('-U__STRICT_ANSI__')
- if opt.use_libcpp or conf.env['build_host'] in [ 'el_capitan' ]:
+ if opt.use_libcpp or conf.env['build_host'] in [ 'el_capitan', 'sierra' ]:
cxx_flags.append('--stdlib=libc++')
linker_flags.append('--stdlib=libc++')
- if conf.options.cxx11 or conf.env['build_host'] in [ 'mavericks', 'yosemite', 'el_capitan' ]:
+ if conf.options.cxx11 or conf.env['build_host'] in [ 'mavericks', 'yosemite', 'el_capitan', 'sierra' ]:
conf.check_cxx(cxxflags=["-std=c++11"])
cxx_flags.append('-std=c++11')
if platform == "darwin":
# from requiring a full path to requiring just the header name.
cxx_flags.append('-DCARBON_FLAT_HEADERS')
- if not opt.use_libcpp and not conf.env['build_host'] in [ 'el_capitan' ]:
+ if not opt.use_libcpp and not conf.env['build_host'] in [ 'el_capitan', 'sierra' ]:
cxx_flags.append('--stdlib=libstdc++')
linker_flags.append('--stdlib=libstdc++')
# Prevents visibility issues in standard headers
cxx_flags.append('-DBOOST_NO_AUTO_PTR')
- if (is_clang and platform == "darwin") or conf.env['build_host'] in ['mavericks', 'yosemite', 'el_capitan']:
+ if (is_clang and platform == "darwin") or conf.env['build_host'] in [ 'mavericks', 'yosemite', 'el_capitan', 'sierra' ]:
# Silence warnings about the non-existing osx clang compiler flags
# -compatibility_version and -current_version. These are Waf
# generated and not needed with clang
("-DMAC_OS_X_VERSION_MAX_ALLOWED=1090",
"-mmacosx-version-min=10.8"))
+ elif conf.env['build_target'] in [ 'sierra' ]:
+ compiler_flags.extend(
+ ("-DMAC_OS_X_VERSION_MAX_ALLOWED=1090",
+ "-mmacosx-version-min=10.9"))
+
#
# save off CPU element in an env
#
if opt.stl_debug:
cxx_flags.append("-D_GLIBCXX_DEBUG")
- if re.search ("freebsd", sys.platform) != None:
+ if re.search ("freebsd", sys.platform) != None or re.search ("openbsd", sys.platform) != None:
linker_flags.append('-lexecinfo')
if conf.env['DEBUG_RT_ALLOC']:
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('--keepflags', action='store_true', default=False, dest='keepflags',
+ help='Do not ignore CFLAGS/CXXFLAGS environment vars')
opt.add_option('--luadoc', action='store_true', default=False, dest='luadoc',
help='Compile Tool to dump LuaBindings (needs C++11)')
+ opt.add_option('--canvasui', action='store_true', default=False, dest='canvasui',
+ help='Compile libcanvas test GUI')
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',
conf.env['MSVC_TARGETS'] = ['x64']
conf.load('msvc')
- if Options.options.debug:
+ if Options.options.debug and not Options.options.keepflags:
# Nuke user CFLAGS/CXXFLAGS if debug is set (they likely contain -O3, NDEBUG, etc)
conf.env['CFLAGS'] = []
conf.env['CXXFLAGS'] = []
conf.define ('HAVE_COREAUDIO', 1)
conf.define ('AUDIOUNIT_SUPPORT', 1)
- conf.define('MACVST_SUPPORT', 1)
+
+ if not Options.options.ppc:
+ conf.define('MACVST_SUPPORT', 1)
conf.define ('TOP_MENUBAR',1)
print ('No Carbon support available for this build\n')
+ if Options.options.canvasui:
+ conf.env['CANVASTESTUI'] = True
+ conf.define ('CANVASTESTUI', 1)
+
if Options.options.luadoc:
conf.env['LUABINDINGDOC'] = True
conf.define ('LUABINDINGDOC', 1)
# executing a test program is n/a when cross-compiling
if Options.options.dist_target != 'mingw':
- if Options.options.dist_target != 'msvc':
+ if Options.options.dist_target != 'msvc' and re.search ("openbsd", sys.platform) == None:
if re.search ("freebsd", sys.platform) != None:
conf.check_cc(function_name='dlopen', header_name='dlfcn.h', uselib_store='DL')
else:
if re.search ("linux", sys.platform) != None and Options.options.dist_target != 'mingw':
autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA')
+ if re.search ("openbsd", sys.platform) != None:
+ conf.env.append_value('LDFLAGS', '-L/usr/X11R6/lib')
+
autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.28', mandatory=True)
autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.2', mandatory=True)
autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.32.0', mandatory=True)
if opts.no_threaded_waveviews:
conf.define('NO_THREADED_WAVEVIEWS', 1)
conf.env['NO_THREADED_WAVEVIEWS'] = True
-
+
backends = opts.with_backends.split(',')
+ if opts.build_tests and 'dummy' not in backends:
+ backends += ['dummy']
if not backends:
print("Must configure and build at least one backend")
if sys.platform == 'darwin':
sub_config_and_use(conf, 'libs/appleutility')
+ elif re.search ("openbsd", sys.platform) != None:
+ pass
elif Options.options.dist_target != 'mingw':
sub_config_and_use(conf, 'tools/sanity_check')
sub_config_and_use(conf, 'tools/gccabicheck')
write_config_text('AudioUnits', conf.is_defined('AUDIOUNIT_SUPPORT'))
write_config_text('Free/Demo copy', conf.is_defined('FREEBIE'))
write_config_text('Build target', conf.env['build_target'])
+ write_config_text('Canvas Test UI', conf.is_defined('CANVASTESTUI'))
write_config_text('CoreAudio', conf.is_defined('HAVE_COREAUDIO'))
write_config_text('CoreAudio 10.5 compat', conf.is_defined('COREAUDIO105'))
write_config_text('Debug RT allocations', conf.is_defined('DEBUG_RT_ALLOC'))
print('')
if Options.options.dist_target == 'mingw' or Options.options.dist_target == 'msvc':
- create_resource_file(Options.options.program_name.lower())
+ create_resource_file(Options.options.program_name)
def build(bld):
create_stored_revision()
if sys.platform == 'darwin':
bld.recurse('libs/appleutility')
+ elif re.search ("openbsd", sys.platform) != None:
+ pass
elif bld.env['build_target'] != 'mingw':
bld.recurse('tools/sanity_check')
bld.recurse('tools/gccabicheck')
def test(bld):
subprocess.call("gtk2_ardour/artest")
+
+def help2man(bld):
+ cmd = "help2man -s 1 -N -o ardour.1 -n Ardour --version-string='Ardour %s' gtk2_ardour/ardev" % PROGRAM_VERSION
+ subprocess.call(cmd, shell=True)