import glob
import errno
import time
+import platform
from sets import Set
import SCons.Node.FS
SConsignFile()
EnsureSConsVersion(0, 96)
-version = '2.0alpha1'
+version = '2.0alpha2'
subst_dict = { }
PathOption('PREFIX', 'Set the install "prefix"', '/usr/local'),
BoolOption('VST', 'Compile with support for VST', 0),
BoolOption('VERSIONED', 'Add version information to ardour/gtk executable name inside the build directory', 0),
- EnumOption('DIST_TARGET', 'Build target for cross compiling packagers', 'auto', allowed_values=('auto', 'i386', 'i686', 'x86_64', 'tiger', 'panther', 'none' ), ignorecase=2),
- BoolOption('FPU_OPTIMIZATION', 'Build runtime checked assembler code', 1)
+ EnumOption('DIST_TARGET', 'Build target for cross compiling packagers', 'auto', allowed_values=('auto', 'i386', 'i686', 'x86_64', 'powerpc', 'tiger', 'panther', 'none' ), ignorecase=2),
+ BoolOption('FPU_OPTIMIZATION', 'Build runtime checked assembler code', 1),
+ BoolOption('FFT_ANALYSIS', 'Include FFT analysis window', 0)
)
#----------------------------------------------------------------------
try:
o = file (target[0].get_path(), 'w')
o.write (text)
- o.close ();
+ o.close ()
except IOError:
print "Could not open", target[0].get_path(), " for writing\n"
sys.exit (-1)
- text = "#ifndef __" + env['DOMAIN'] + "_version_h__\n";
- text += "#define __" + env['DOMAIN'] + "_version_h__\n";
+ text = "#ifndef __" + env['DOMAIN'] + "_version_h__\n"
+ text += "#define __" + env['DOMAIN'] + "_version_h__\n"
text += "extern int " + env['DOMAIN'] + "_major_version;\n"
text += "extern int " + env['DOMAIN'] + "_minor_version;\n"
text += "extern int " + env['DOMAIN'] + "_micro_version;\n"
- text += "#endif /* __" + env['DOMAIN'] + "_version_h__ */\n";
+ text += "#endif /* __" + env['DOMAIN'] + "_version_h__ */\n"
try:
o = file (target[1].get_path(), 'w')
print "No SConscript CVS update info found - versioned executable cannot be built"
return -1
- tag = time.strftime ('%Y%M%d%H%m', time.strptime (last_date));
+ tag = time.strftime ('%Y%M%d%H%m', time.strptime (last_date))
print "The current build ID is " + tag
tagged_executable = source[0].get_path() + '-' + tag
cmd += " ".join ([ "'%s'" % quoted for quoted in all_files])
cmd += ' | (cd ' + treedir + ' && tar xf -)'
p = os.popen (cmd)
- return p.close ();
+ return p.close ()
def tarballer (target, source, env):
cmd = 'tar -jcf ' + str (target[0]) + ' ' + str(source[0]) + " --exclude '*~'"
libraries['samplerate'] = LibraryInfo()
libraries['samplerate'].ParseConfig('pkg-config --cflags --libs samplerate')
+if env['FFT_ANALYSIS']:
+ libraries['fftw3f'] = LibraryInfo()
+ libraries['fftw3f'].ParseConfig('pkg-config --cflags --libs fftw3f')
+
libraries['jack'] = LibraryInfo()
libraries['jack'].ParseConfig('pkg-config --cflags --libs jack')
subst_dict['%MIDITYPE%'] = "alsa/sequencer"
elif conf.CheckCHeader('/System/Library/Frameworks/CoreMIDI.framework/Headers/CoreMIDI.h'):
# this line is needed because scons can't handle -framework in ParseConfig() yet.
- libraries['sysmidi'] = LibraryInfo (LINKFLAGS= '-framework CoreMIDI -framework CoreFoundation -framework CoreAudio -framework CoreServices -framework AudioUnit -bind_at_load')
+ libraries['sysmidi'] = LibraryInfo (LINKFLAGS= '-framework CoreMIDI -framework CoreFoundation -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox -bind_at_load')
env['SYSMIDI'] = 'CoreMIDI'
subst_dict['%MIDITAG%'] = "ardour"
subst_dict['%MIDITYPE%'] = "coremidi"
libraries['libglademm'].ParseConfig ('pkg-config --cflags --libs libglademm-2.4')
# libraries['flowcanvas'] = LibraryInfo(LIBS='flowcanvas', LIBPATH='#/libs/flowcanvas', CPPPATH='#libs/flowcanvas')
- libraries['soundtouch'] = LibraryInfo(LIBS='soundtouch',
- LIBPATH='#libs/soundtouch',
- CPPPATH=['#libs', '#libs/soundtouch'])
+ libraries['soundtouch'] = LibraryInfo()
+ libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs soundtouch-1.0')
+
coredirs = [
- 'libs/soundtouch',
'templates'
]
conf = Configure (env)
-have_cxx = conf.TryAction (Action (env['CXX'] + ' --version'));
+have_cxx = conf.TryAction (Action (env['CXX'] + ' --version'))
if have_cxx[0] != 1:
print "This system has no functional C++ compiler. You cannot build Ardour from source without one."
- exit (1);
+ exit (1)
else:
print "Congratulations, you have a functioning C++ compiler."
config_guess = os.popen("tools/config.guess").read()[:-1]
-config_cpu = 0;
-config_arch = 1;
-config_kernel = 2;
-config_os = 3;
+config_cpu = 0
+config_arch = 1
+config_kernel = 2
+config_os = 3
config = config_guess.split ("-")
print "system triple: " + config_guess
if config[config_arch] == 'apple':
# The [.] matches to the dot after the major version, "." would match any character
if re.search ("darwin[0-7][.]", config[config_kernel]) != None:
- env['DIST_TARGET'] = 'panther';
+ env['DIST_TARGET'] = 'panther'
else:
- env['DIST_TARGET'] = 'tiger';
+ env['DIST_TARGET'] = 'tiger'
else:
if re.search ("x86_64", config[config_cpu]) != None:
- env['DIST_TARGET'] = 'x86_64';
+ env['DIST_TARGET'] = 'x86_64'
elif re.search("i[0-5]86", config[config_cpu]) != None:
- env['DIST_TARGET'] = 'i386';
+ env['DIST_TARGET'] = 'i386'
+ elif re.search("powerpc", config[config_cpu]) != None:
+ env['DIST_TARGET'] = 'powerpc'
else:
- env['DIST_TARGET'] = 'i686';
+ env['DIST_TARGET'] = 'i686'
print "\n*******************************"
print "detected DIST_TARGET = " + env['DIST_TARGET']
print "*******************************\n"