opts = Options('scache.conf')
opts.AddOptions(
('ARCH', 'Set architecture-specific compilation flags by hand (all flags as 1 argument)',''),
+ BoolOption('AUDIOUNITS', 'Compile with Apple\'s AudioUnit library. (experimental)', 0),
BoolOption('COREAUDIO', 'Compile with Apple\'s CoreAudio library', 0),
BoolOption('DEBUG', 'Set to build with debugging information and no optimizations', 0),
PathOption('DESTDIR', 'Set the intermediate install "prefix"', '/'),
EnumOption('DIST_TARGET', 'Build target for cross compiling packagers', 'auto', allowed_values=('auto', 'i386', 'i686', 'x86_64', 'powerpc', 'tiger', 'panther', 'none' ), ignorecase=2),
BoolOption('DMALLOC', 'Compile and link using the dmalloc library', 0),
+ BoolOption('EXTRA_WARN', 'Compile with -Wextra, -ansi, and -pedantic. Might break compilation. For pedants', 0),
BoolOption('FFT_ANALYSIS', 'Include FFT analysis window', 0),
BoolOption('FPU_OPTIMIZATION', 'Build runtime checked assembler code', 1),
BoolOption('LIBLO', 'Compile with support for liblo library', 1),
libraries['flac'] = LibraryInfo ()
conf = Configure (libraries['flac'])
-conf.CheckLib ('FLAC', 'FLAC__stream_decoder_new')
+conf.CheckLib ('FLAC', 'FLAC__stream_decoder_new', language='CXX')
libraries['flac'] = conf.Finish ()
-#
-# Check for UUID stuff
+# or if that fails...
+#libraries['flac'] = LibraryInfo (LIBS='FLAC')
-libraries['uuid'] = LibraryInfo ()
+# boost (we don't link against boost, just use some header files)
-conf = Configure (libraries['uuid'])
-conf.CheckLib ('uuid', 'uuid_generate')
-libraries['uuid'] = conf.Finish ()
+libraries['boost'] = LibraryInfo ()
+conf = Configure (libraries['boost'])
+if conf.CheckHeader ('boost/shared_ptr.hpp', language='CXX') == 0:
+ print "Boost header files do not appear to be installed."
+ sys.exit (1)
+
+libraries['boost'] = conf.Finish ()
#
# Check for liblo
libraries['dmalloc'] = conf.Finish ()
-#
-
#
# Audio/MIDI library (needed for MIDI, since audio is all handled via JACK)
#
# libraries['flowcanvas'] = LibraryInfo(LIBS='flowcanvas', LIBPATH='#/libs/flowcanvas', CPPPATH='#libs/flowcanvas')
libraries['soundtouch'] = LibraryInfo()
libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs soundtouch-1.0')
+
+ libraries['appleutility'] = LibraryInfo(LIBS='libappleutility',
+ LIBPATH='#libs/appleutility',
+ CPPPATH='#libs/appleutility')
coredirs = [
'templates'
if env['VST']:
subdirs = ['libs/fst'] + subdirs + ['vst']
+
+ if env['COREAUDIO']:
+ subdirs = subdirs + ['libs/appleutility']
gtk_subdirs = [
# 'libs/flowcanvas',
# libraries['libglademm'] = LibraryInfo(LIBS='libglademm',
# LIBPATH='#libs/libglademm',
# CPPPATH='#libs/libglademm')
-
+ libraries['appleutility'] = LibraryInfo(LIBS='libappleutility',
+ LIBPATH='#libs/appleutility',
+ CPPPATH='#libs/appleutility')
+
coredirs = [
'libs/soundtouch',
'templates'
if env['VST']:
subdirs = ['libs/fst'] + subdirs + ['vst']
+
+ if env['COREAUDIO']:
+ subdirs = subdirs + ['libs/appleutility']
gtk_subdirs = [
'libs/glibmm2',
env.Append(CCFLAGS="-Wall")
env.Append(CXXFLAGS="-Woverloaded-virtual")
+if env['EXTRA_WARN']:
+ env.Append(CCFLAGS="-Wextra -pedantic")
+ env.Append(CXXFLAGS="-ansi")
+
if env['LIBLO']:
env.Append(CCFLAGS="-DHAVE_LIBLO")