import sys
# Variables for 'waf dist'
-VERSION = '3.0beta3'
+VERSION = '3.0beta5'
APPNAME = 'Ardour3'
# Mandatory variables
if "git-svn-id" in line:
line = line.split('@')[1].split(' ')
rev = line[0]
+ break
except:
pass
return rev
platform = u[0].lower()
version = u[2]
+ is_clang = conf.env['CXX'][0].endswith('clang++')
if opt.gprofile:
debug_flags = [ '-pg' ]
else:
- if platform != 'darwin':
+ if platform != 'darwin' and not is_clang:
debug_flags = [ '-rdynamic' ] # waf adds -O0 -g itself. thanks waf!
# Autodetect
elif cpu == "i686":
optimization_flags.append ("-march=i686")
- if ((conf.env['build_target'] == 'i686') or (conf.env['build_target'] == 'x86_64')) and build_host_supports_sse:
+ if not is_clang and ((conf.env['build_target'] == 'i686') or (conf.env['build_target'] == 'x86_64')) and build_host_supports_sse:
optimization_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
debug_flags.extend (["-msse", "-mfpmath=sse", "-DUSE_XMMINTRIN"])
# 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')
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()
# 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':
okmsg = 'ok',
errmsg = 'too old\nPlease install boost version 1.39 or higher.')
- autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=False)
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')
if opts.denormal_exception:
conf.define('DEBUG_DENORMAL_EXCEPTION', 1)
conf.env['DEBUG_DENORMAL_EXCEPTION'] = True
- if not conf.is_defined('HAVE_CPPUNIT'):
- conf.env['BUILD_TESTS'] = False
+ if opts.build_tests:
+ autowaf.check_pkg(conf, 'cppunit', uselib_store='CPPUNIT', atleast_version='1.12.0', mandatory=True)
set_compiler_flags (conf, Options.options)
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 ()