X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=wscript;h=4f4723bc02714aae285b3b2ba205d25c7641b145;hb=634321ba455139c7d993857b417745d247c0ce4b;hp=a5be9ae2159d84254d7971152979c6db19209494;hpb=68d3b459763c6783f966bba02b9d895e454574a7;p=ardour.git diff --git a/wscript b/wscript index a5be9ae215..4f4723bc02 100644 --- a/wscript +++ b/wscript @@ -342,6 +342,8 @@ int main() { return 0; }''', 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' @@ -363,8 +365,10 @@ int main() { return 0; }''', 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( "(?Pi[0-6]86|x86_64|powerpc|ppc|ppc64|arm|s390x?)", @@ -385,21 +389,28 @@ int main() { return 0; }''', # 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 @@ -511,7 +522,7 @@ int main() { return 0; }''', ("-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")) @@ -592,6 +603,10 @@ int main() { return 0; }''', 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 + '"') @@ -720,6 +735,8 @@ def options(opt): 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',