# -*- python -*-
import os
+import os.path
import glob
Import('env final_prefix install_prefix final_config_prefix libraries i18n')
ardour.Append(PACKAGE = domain)
ardour.Append(POTFILE = domain + '.pot')
+#
+# explicitly reference the control protocol LGPL library for includes
+#
+
+ardour.Append(CPPPATH = '#libs/surfaces/control_protocol')
+
ardour_files=Split("""
+diskstream.cc
+audio_diskstream.cc
audio_library.cc
audio_playlist.cc
+track.cc
audio_track.cc
audioengine.cc
+audiofilesource.cc
audiofilter.cc
audioregion.cc
+audiosource.cc
auditioner.cc
automation.cc
automation_event.cc
configuration.cc
connection.cc
-control_protocol.cc
+control_protocol_manager.cc
crossfade.cc
curve.cc
cycle_timer.cc
default_click.cc
destructive_filesource.cc
-diskstream.cc
-externalsource.cc
-filesource.cc
gain.cc
gdither.cc
-generic_midi_control_protocol.cc
globals.cc
import.cc
insert.cc
session.cc
session_butler.cc
session_click.cc
-session_control.cc
+session_command.cc
session_events.cc
session_export.cc
-session_feedback.cc
session_midi.cc
session_process.cc
session_state.cc
sndfilesource.cc
source.cc
state_manager.cc
-stateful.cc
tempo.cc
-tranzport_control_protocol.cc
utils.cc
version.cc
mix.cc
arch_specific_objects = [ ]
+osc_files = [ 'osc.cc' ]
vst_files = [ 'vst_plugin.cc', 'session_vst.cc' ]
-coreaudio_files = [ 'coreaudio_source.cc' ]
+coreaudio_files = [ 'audio_unit.cc', 'coreaudiosource.cc' ]
extra_sources = [ ]
if ardour['VST']:
extra_sources += vst_files
+ ardour.Append(CCFLAGS="-DVST_SUPPORT", CPPPATH="#libs/fst")
+
+if ardour['LIBLO']:
+ extra_sources += osc_files
ardour.Append(CCFLAGS="-D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE")
ardour.Append(CXXFLAGS="-DDATA_DIR=\\\""+final_prefix+"/share\\\"")
+ardour.Append(CXXFLAGS="-DMODULE_DIR=\\\""+final_prefix+"/lib\\\"")
ardour.Append(CXXFLAGS="-DCONFIG_DIR=\\\""+final_config_prefix+"\\\"")
ardour.Append(CXXFLAGS="-DLOCALEDIR=\\\""+final_prefix+"/share/locale\\\"")
if conf.CheckCHeader('/System/Library/Frameworks/CoreMIDI.framework/Headers/CoreMIDI.h'):
ardour.Append(LINKFLAGS="-framework CoreMIDI")
-if conf.CheckCHeader('/System/Library/Frameworks/AudioToolbox.framework/Headers/ExtendedAudioFile.h'):
+if conf.CheckCHeader('/System/Library/Frameworks/AudioToolbox.framework/Headers/ExtendedAudioFile.h') and ardour['COREAUDIO'] == 1:
ardour.Append(CXXFLAGS="-DHAVE_COREAUDIO")
+ ardour.Append(LINKFLAGS="-framework AudioToolbox")
extra_sources += coreaudio_files
+
+
+if env['CONFIG_ARCH'] == 'apple':
+ # this next line avoids issues with circular dependencies between libardour and libardour_cp.
+ # it is based on the (entirely reasonable) assumption that a system with CoreAudio is OS X
+ #
+ ardour.Append(LINKFLAGS='-undefined suppress -flat_namespace')
ardour = conf.Finish ()
libraries['core'],
libraries['xml'],
libraries['sndfile'],
+ libraries['raptor'],
libraries['lrdf'],
libraries['samplerate'],
libraries['sigc2'],
- libraries['pbd3'],
+ libraries['pbd'],
libraries['soundtouch'],
libraries['midi++2'],
+ libraries['glib2'],
+ libraries['glibmm2']
])
+if ardour['LIBLO']:
+ ardour.Merge ([ libraries['lo'] ])
+
+if ardour['COREAUDIO']:
+ ardour.Merge ([ libraries['appleutility'] ])
ardour.VersionBuild(['version.cc', 'ardour/version.h'], 'SConscript')
src_suffix = '.s',
single_source = 1)
-if env['DEVBUILD'] == 1:
- if env['FPU_OPTIMIZATION']:
- if env['DIST_TARGET'] == "i386":
- arch_specific_objects = env.SharedAsmObject('sse_functions.os', 'sse_functions.s')
- if env['DIST_TARGET'] == "i686":
- arch_specific_objects = env.SharedAsmObject('sse_functions.os', 'sse_functions.s')
- if env['DIST_TARGET'] == "x86_64":
- arch_specific_objects = env.SharedAsmObject('sse_functions_64bit.os', 'sse_functions_64bit.s')
+if env['FPU_OPTIMIZATION']:
+ if env['DIST_TARGET'] == "i386":
+ arch_specific_objects = env.SharedAsmObject('sse_functions.os', 'sse_functions.s')
+ if env['DIST_TARGET'] == "i686":
+ arch_specific_objects = env.SharedAsmObject('sse_functions.os', 'sse_functions.s')
+ if env['DIST_TARGET'] == "x86_64":
+ arch_specific_objects = env.SharedAsmObject('sse_functions_64bit.os', 'sse_functions_64bit.s')
- libardour = ardour.SharedLibrary('ardour', ardour_files + extra_sources + arch_specific_objects)
-else:
- if env['FPU_OPTIMIZATION']:
- if env['DIST_TARGET'] == "i386":
- arch_specific_objects = env.StaticObject(target='sse_functions',source='sse_functions.s')
- if env['DIST_TARGET'] == "i686":
- arch_specific_objects = env.StaticObject(target='sse_functions',source='sse_functions.s')
- if env['DIST_TARGET'] == "x86_64":
- arch_specific_objects = env.StaticObject(target='sse_functions_64bit',source='sse_functions_64bit.s')
-
- libardour = ardour.StaticLibrary('ardour', ardour_files + extra_sources + arch_specific_objects)
+libardour = ardour.SharedLibrary('ardour', ardour_files + extra_sources + arch_specific_objects)
Default(libardour)
if env['NLS']:
i18n (ardour, ardour_files + vst_files + coreaudio_files, env)
+
+
+env.Alias('install', env.Install(os.path.join(install_prefix, 'lib/ardour2'), libardour))
env.Alias('tarball', env.Distribute (env['DISTTREE'],
[ 'SConscript', 'i18n.h', 'gettext.h', 'sse_functions.s', 'sse_functions_64bit.s' ] +