conf.env['build_host'] = 'mavericks'
elif re.search ("^14[.]", version) != None:
conf.env['build_host'] = 'yosemite'
+ elif re.search ("^15[.]", version) != None:
+ conf.env['build_host'] = 'el_capitan'
else:
conf.env['build_host'] = 'irrelevant'
conf.env['build_target'] = 'mountainlion'
elif re.search ("^13[.]", version) != None:
conf.env['build_target'] = 'mavericks'
- else:
+ elif re.search ("^14[.]", version) != None:
conf.env['build_target'] = 'yosemite'
+ else:
+ conf.env['build_target'] = 'el_capitan'
else:
match = re.search(
"(?P<cpu>i[0-6]86|x86_64|powerpc|ppc|ppc64|arm|s390x?)",
#
compiler_flags.append ('-U__STRICT_ANSI__')
- if conf.options.cxx11 or conf.env['build_host'] in [ 'mavericks', 'yosemite' ]:
+ if opt.use_libcpp:
+ cxx_flags.append('--stdlib=libc++')
+ linker_flags.append('--stdlib=libc++')
+
+ if conf.options.cxx11 or conf.env['build_host'] in [ 'mavericks', 'yosemite', 'el_capitan' ]:
conf.check_cxx(cxxflags=["-std=c++11"])
cxx_flags.append('-std=c++11')
if platform == "darwin":
- cxx_flags.append('--stdlib=libstdc++')
# Mavericks and later changed the syntax to be used when including Carbon headers,
# from requiring a full path to requiring just the header name.
cxx_flags.append('-DCARBON_FLAT_HEADERS')
- linker_flags.append('--stdlib=libstdc++')
+
+ if not opt.use_libcpp:
+ cxx_flags.append('--stdlib=libstdc++')
+ linker_flags.append('--stdlib=libstdc++')
# Prevents visibility issues in standard headers
conf.define("_DARWIN_C_SOURCE", 1)
else:
cxx_flags.append('-DBOOST_NO_AUTO_PTR')
- if (is_clang and platform == "darwin") or conf.env['build_host'] in ['mavericks', 'yosemite']:
+
+ if (is_clang and platform == "darwin") or conf.env['build_host'] in ['mavericks', 'yosemite', 'el_capitan']:
# 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_MIN_REQUIRED=1070",
'-mmacosx-version-min=10.7'))
- elif conf.env['build_target'] in [ 'mavericks', 'yosemite' ]:
+ elif conf.env['build_target'] in [ 'mavericks', 'yosemite', 'el_capitan' ]:
compiler_flags.extend(
("-DMAC_OS_X_VERSION_MAX_ALLOWED=1090",
"-mmacosx-version-min=10.8"))
if opt.nls:
compiler_flags.append('-DENABLE_NLS')
+ # use sparingly, prefer runtime profile
+ if Options.options.program_name.lower() == "mixbus":
+ compiler_flags.append ('-DMIXBUS')
+
compiler_flags.append ('-DPROGRAM_NAME="' + Options.options.program_name + '"')
compiler_flags.append ('-DPROGRAM_VERSION="' + PROGRAM_VERSION + '"')
help='Do not ask questions that require confirmation during the build')
opt.add_option('--cxx11', action='store_true', default=False, dest='cxx11',
help='Turn on c++11 compiler flags (-std=c++11)')
+ opt.add_option('--use-libc++', action='store_true', default=False, dest='use_libcpp',
+ help='use libc++ instead of default or auto-detected stdlib')
opt.add_option('--address-sanitizer', action='store_true', default=False, dest='asan',
help='Turn on AddressSanitizer (requires GCC >= 4.8 or clang >= 3.1)')
opt.add_option('--ptformat', action='store_true', default=False, dest='ptformat',