X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=a358b962a3a0ac28ca64ac3c8a659eb45ca27ef0;hb=54276f7e7860b1dd3771707f5147df361bfea71a;hp=3cc7b90dd9cbb630e13388e6facf6a8d55e5bb63;hpb=23aa71c759be56769a1f985d0fcd54cc1b79919b;p=ardour.git diff --git a/wscript b/wscript index 3cc7b90dd9..a358b962a3 100644 --- a/wscript +++ b/wscript @@ -8,7 +8,7 @@ import subprocess import sys # Variables for 'waf dist' -VERSION = '3.0beta5' +VERSION = '3.0rc1' APPNAME = 'Ardour3' # Mandatory variables @@ -23,6 +23,7 @@ children = [ 'libs/qm-dsp', 'libs/vamp-plugins', 'libs/taglib', + 'libs/libltc', 'libs/rubberband', 'libs/surfaces', 'libs/panners', @@ -75,6 +76,7 @@ def fetch_git_revision (path): if "git-svn-id" in line: line = line.split('@')[1].split(' ') rev = line[0] + break except: pass return rev @@ -161,6 +163,14 @@ def set_compiler_flags (conf,opt): else: conf.env['build_target'] = opt.dist_target + if conf.env['build_target'] == 'snowleopard': + # + # stupid OS X 10.6 has a bug in math.h that prevents llrint and friends + # from being visible. + # + debug_flags.append ('-U__STRICT_ANSI__') + optimization_flags.append ('-U__STRICT_ANSI__') + if cpu == 'powerpc' and conf.env['build_target'] != 'none': # # Apple/PowerPC optimization options @@ -333,14 +343,28 @@ def set_compiler_flags (conf,opt): # warnings flags # - conf.env.append_value('CFLAGS', "-Wall") - conf.env.append_value('CXXFLAGS', [ '-Wall', '-Woverloaded-virtual']) + conf.env.append_value('CFLAGS', [ '-Wall', + '-Wpointer-arith', + '-Wcast-qual', + '-Wcast-align', + '-Wstrict-prototypes', + '-Wmissing-prototypes' + ]) + + conf.env.append_value('CXXFLAGS', [ '-Wall', + '-Wpointer-arith', + '-Wcast-qual', + '-Wcast-align', + '-Woverloaded-virtual' + ]) # # more boilerplate # + conf.env.append_value('CFLAGS', '-DBOOST_SYSTEM_NO_DEPRECATED') + conf.env.append_value('CXXFLAGS', '-DBOOST_SYSTEM_NO_DEPRECATED') conf.env.append_value('CFLAGS', '-D_LARGEFILE64_SOURCE') conf.env.append_value('CFLAGS', '-D_FILE_OFFSET_BITS=64') conf.env.append_value('CXXFLAGS', '-D_LARGEFILE64_SOURCE') @@ -437,14 +461,6 @@ def sub_config_and_use(conf, name, has_objects = True): def configure(conf): conf.load('compiler_c') conf.load('compiler_cxx') - if not Options.options.noconfirm: - print ('\n\nThis is a beta version of Ardour 3.0.\n\n' + - 'You are respectfully requested NOT to ask for assistance with build issues\n' + - 'and not to report issues with Ardour 3.0 on the forums at ardour.org.\n\n' + - 'Please use IRC, the bug tracker and/or the ardour mailing lists (-dev or -user)\n\n' + - 'Thanks for your co-operation with our development process.\n\n' + - 'Press Enter to continue.\n') - sys.stdin.readline() conf.env['VERSION'] = VERSION conf.line_just = 52 autowaf.set_recursive() @@ -463,13 +479,31 @@ def configure(conf): # the library itself is part of glibc, or on a bare-bones build system # where we need to pick it up from the GTK dependency stack. # - if not os.path.isfile ('/usr/include/libintl.h'): + user_gtk_root = os.path.expanduser ('~/gtk/inst') + pkg_config_path = os.getenv('PKG_CONFIG_PATH') + if not os.path.isfile ('/usr/include/libintl.h') or (pkg_config_path is not None and pkg_config_path.find (user_gtk_root) >= 0): # XXXX hack hack hack - prefinclude = ''.join ([ '-I', os.path.expanduser ('~/gtk/inst/include') ]) - preflib = ''.join ([ '-L', os.path.expanduser ('~/gtk/inst/lib') ]) + prefinclude = ''.join ([ '-I', user_gtk_root + '/include']) + preflib = ''.join ([ '-L', user_gtk_root + '/lib']) conf.env.append_value('CFLAGS', [ prefinclude ]) conf.env.append_value('CXXFLAGS', [prefinclude ]) conf.env.append_value('LINKFLAGS', [ preflib ]) + conf.define ('NEED_INTL', 1) + autowaf.display_msg(conf, 'Will use explicit linkage against libintl in ' + user_gtk_root, 'yes') + else: + autowaf.display_msg(conf, 'Will use explicit linkage against libintl in ', 'no') + + user_ardour_root = os.path.expanduser ('~/a3/inst') + if pkg_config_path is not None and os.getenv('PKG_CONFIG_PATH').find (user_ardour_root) >= 0: + # XXXX hack hack hack + prefinclude = ''.join ([ '-I', user_ardour_root + '/include']) + preflib = ''.join ([ '-L', user_ardour_root + '/lib']) + conf.env.append_value('CFLAGS', [ prefinclude ]) + conf.env.append_value('CXXFLAGS', [prefinclude ]) + conf.env.append_value('LINKFLAGS', [ preflib ]) + autowaf.display_msg(conf, 'Will build against private Ardour dependency stack in ' + user_ardour_root, 'yes') + else: + autowaf.display_msg(conf, 'Will build against private Ardour dependency stack', 'no') if sys.platform == 'darwin': @@ -561,7 +595,7 @@ def configure(conf): autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2') autowaf.check_pkg(conf, 'gthread-2.0', uselib_store='GTHREAD', atleast_version='2.2') - autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0') + autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.32.0') autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', atleast_version='1.0.18') autowaf.check_pkg(conf, 'giomm-2.4', uselib_store='GIOMM', atleast_version='2.2') autowaf.check_pkg(conf, 'libcurl', uselib_store='CURL', atleast_version='7.0.0') @@ -678,6 +712,7 @@ const char* const ardour_config_info = "\\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.write ('";\n}\n') config_text.close () @@ -692,6 +727,7 @@ def build(bld): bld.path.find_dir ('libs/vamp-sdk/vamp-sdk') bld.path.find_dir ('libs/surfaces/control_protocol/control_protocol') bld.path.find_dir ('libs/timecode/timecode') + bld.path.find_dir ('libs/libltc/ltc') bld.path.find_dir ('libs/rubberband/rubberband') bld.path.find_dir ('libs/gtkmm2ext/gtkmm2ext') bld.path.find_dir ('libs/ardour/ardour') @@ -703,28 +739,7 @@ def build(bld): for i in children: bld.recurse(i) - # ideally, we'd like to use the OS-provided MIDI API - # for default ports. that doesn't work on at least - # Fedora (Nov 9th, 2009) so use JACK MIDI on linux. - - if sys.platform == 'darwin': - rc_subst_dict = { - 'MIDITAG' : 'control', - 'MIDITYPE' : 'coremidi', - 'JACK_INPUT' : 'auditioner' - } - else: - rc_subst_dict = { - 'MIDITAG' : 'control', - 'MIDITYPE' : 'jack', - 'JACK_INPUT' : 'auditioner' - } - - obj = bld(features = 'subst') - obj.source = 'ardour.rc.in' - obj.target = 'ardour_system.rc' - obj.dict = rc_subst_dict - obj.install_path = '${SYSCONFDIR}/ardour3' + bld.install_files (os.path.join(bld.env['SYSCONFDIR'], 'ardour3', ), 'ardour_system.rc') def i18n(bld): bld.recurse (i18n_children)