13
0
livetrax/libs/ardour/SConscript
Jesse Chappell d9b463178f committed fix for cross-endian native wave files
git-svn-id: svn://localhost/trunk/ardour2@146 d708f5d6-7413-0410-9779-e7cbd77b26cf
2005-11-29 06:49:00 +00:00

208 lines
4.7 KiB
Python

# -*- python -*-
import os
import glob
Import('env final_prefix install_prefix final_config_prefix libraries i18n')
ardour = env.Copy()
#
# this defines the version number of libardour
#
domain = 'libardour'
ardour.Append(DOMAIN = domain, MAJOR = 1, MINOR = 0, MICRO = 0)
ardour.Append(CXXFLAGS = "-DPACKAGE=\\\"" + domain + "\\\"")
ardour.Append(CXXFLAGS="-DLIBSIGC_DISABLE_DEPRECATED")
ardour.Append(PACKAGE = domain)
ardour.Append(POTFILE = domain + '.pot')
ardour_files=Split("""
audio_library.cc
audio_playlist.cc
audio_track.cc
audioengine.cc
audiofilter.cc
audioregion.cc
auditioner.cc
automation.cc
automation_event.cc
configuration.cc
connection.cc
crossfade.cc
curve.cc
cycle_timer.cc
default_click.cc
diskstream.cc
filesource.cc
gain.cc
gdither.cc
globals.cc
import.cc
insert.cc
io.cc
jack_slave.cc
ladspa_plugin.cc
location.cc
mtc_slave.cc
named_selection.cc
panner.cc
playlist.cc
playlist_factory.cc
plugin.cc
plugin_manager.cc
port.cc
recent_sessions.cc
redirect.cc
region.cc
reverse.cc
route.cc
route_group.cc
send.cc
session.cc
session_butler.cc
session_click.cc
session_events.cc
session_export.cc
session_feedback.cc
session_midi.cc
session_process.cc
session_state.cc
session_time.cc
session_timefx.cc
session_transport.cc
sndfile_helpers.cc
sndfilesource.cc
source.cc
state_manager.cc
stateful.cc
tempo.cc
utils.cc
version.cc
mix.cc
""")
arch_specific_objects = [ ]
vst_files = [ 'vst_plugin.cc', 'session_vst.cc' ]
extra_sources = [ ]
if ardour['VST']:
extra_sources += vst_files
ardour.Append(CCFLAGS="-D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE")
ardour.Append(CXXFLAGS="-DDATA_DIR=\\\""+final_prefix+"/share\\\"")
ardour.Append(CXXFLAGS="-DCONFIG_DIR=\\\""+final_config_prefix+"\\\"")
ardour.Append(CXXFLAGS="-DLOCALEDIR=\\\""+final_prefix+"/share/locale\\\"")
ardour.Merge ([ libraries['jack'] ])
#
# See if JACK supports jack_client_open()
#
jack_test_source_file = """
#include <jack/jack.h>
int main(int argc, char **argv)
{
jack_client_open ("foo", 0, 0);
return 0;
}
"""
def CheckJackClientOpen(context):
context.Message('Checking for jack_client_open()...')
result = context.TryLink(jack_test_source_file, '.c')
context.Result(result)
return result
#
# See if JACK supports jack_recompute_total_latencies()
#
jack_test_source_file = """
#include <jack/jack.h>
int main(int argc, char **argv)
{
jack_recompute_total_latencies ((jack_client_t*) 0);
return 0;
}
"""
def CheckJackRecomputeLatencies(context):
context.Message('Checking for jack_recompute_total_latencies()...')
result = context.TryLink(jack_test_source_file, '.c')
context.Result(result)
return result
conf = Configure(ardour, custom_tests = {
'CheckJackClientOpen' : CheckJackClientOpen,
'CheckJackRecomputeLatencies' : CheckJackRecomputeLatencies
})
#if conf.CheckJackClientOpen():
# HACK BY JLC, not to be committed!
ardour.Append(CXXFLAGS="-DHAVE_JACK_CLIENT_OPEN")
if conf.CheckJackRecomputeLatencies():
ardour.Append(CXXFLAGS="-DHAVE_JACK_RECOMPUTE_LATENCIES")
#
# Optional header files
#
if conf.CheckCHeader('wordexp.h'):
ardour.Append(CXXFLAGS="-DHAVE_WORDEXP")
if conf.CheckCHeader('sys/vfs.h'):
ardour.Append(CXXFLAGS="-DHAVE_SYS_VFS_H")
ardour = conf.Finish ()
ardour.Merge ([
libraries['core'],
libraries['xml'],
libraries['sndfile'],
libraries['lrdf'],
libraries['samplerate'],
libraries['sigc2'],
libraries['pbd3'],
libraries['soundtouch'],
libraries['midi++2']
])
ardour.VersionBuild(['version.cc', 'ardour/version.h'], 'SConscript')
def SharedAsmObjectEmitter(target, source, env):
for tgt in target:
tgt.attributes.shared = 1
return (target, source)
env['BUILDERS']['SharedAsmObject'] = Builder (action = '$CXX -c -fPIC $SOURCE -o $TARGET',
emitter = SharedAsmObjectEmitter,
suffix = '$SHOBJSUFFIX',
src_suffix = '.s',
single_source = 1)
if env['DEVBUILD'] == 1:
if env['BUILD_SSE_OPTIMIZATIONS'] == 1:
arch_specific_objects = env.SharedAsmObject('sse_functions.os', 'sse_functions.s')
libardour = ardour.SharedLibrary('ardour', ardour_files + extra_sources + arch_specific_objects)
else:
if env['BUILD_SSE_OPTIMIZATIONS'] == 1:
arch_specific_objects = env.StaticObject(target='sse_functions',source='sse_functions.s')
libardour = ardour.StaticLibrary('ardour', ardour_files + extra_sources + arch_specific_objects)
Default(libardour)
if env['NLS']:
i18n (ardour, ardour_files + vst_files, env)
env.Alias('tarball', env.Distribute (env['DISTTREE'],
[ 'SConscript', 'i18n.h', 'gettext.h', 'sse_functions.s' ] +
ardour_files + vst_files +
glob.glob('po/*.po') + glob.glob('ardour/*.h')))