2008-06-02 17:41:35 -04:00
|
|
|
# -*- python -*-
|
|
|
|
|
|
|
|
import os
|
|
|
|
import os.path
|
|
|
|
import sys
|
|
|
|
import glob
|
|
|
|
|
|
|
|
fst_src = glob.glob('*.c')
|
|
|
|
|
|
|
|
Import('env install_prefix')
|
2008-09-10 11:03:30 -04:00
|
|
|
fst = env.Clone(CC="winegcc")
|
2008-06-02 17:41:35 -04:00
|
|
|
fst.Append (CPPPATH=".")
|
|
|
|
|
|
|
|
if fst['VST']:
|
|
|
|
vst_dir = Dir ('libs/vst')
|
|
|
|
vst_sdk_dir = Dir ('vstsdk2.3')
|
|
|
|
#
|
|
|
|
# if it exists, try to use the Steinberg zip package
|
|
|
|
#
|
|
|
|
vst_sdk_zip = File ('vstsdk2.3.zip')
|
|
|
|
|
|
|
|
if os.access (vst_sdk_zip.abspath, os.F_OK):
|
|
|
|
print 'VST package discovered.'
|
|
|
|
elif os.access ('vst_sdk2_3.zip', os.F_OK):
|
|
|
|
#
|
|
|
|
# add a build target that unpacks the zip package the Steinberg "meta" zip package
|
|
|
|
#
|
|
|
|
vst_meta_zip = fst.Command (vst_sdk_zip, 'vst_sdk2_3.zip', "unzip -o -d ${TARGET.dir} $SOURCES vstsdk2.3.zip" )
|
|
|
|
print 'VST meta-package discovered.'
|
|
|
|
else:
|
|
|
|
if os.access ('vstsdk2.3.zip', os.F_OK) != 1:
|
|
|
|
print 'Did not find vst_sdk2_3.zip or vstsdk2.3.zip in libs/fst.'
|
|
|
|
print 'Make sure the correct file is in the correct location and correctly named.'
|
|
|
|
print 'Please see http://ardour.org/building_vst_support for more information.'
|
|
|
|
sys.exit (1)
|
|
|
|
|
|
|
|
vst_headers = fst.Command ([ 'vst/aeffectx.h', 'vst/AEffect.h' ], vst_sdk_zip, [
|
|
|
|
"unzip -qq -d ${SOURCE.dir} -o $SOURCE",
|
|
|
|
Delete ('$TARGET.dir'),
|
|
|
|
Copy ('${TARGET.dir}', 'libs/fst/vstsdk2.3/source/common'),
|
|
|
|
"sed -i '/struct VstFileType\|struct VstFileSelect/,/};/d' $TARGET"
|
|
|
|
])
|
|
|
|
|
|
|
|
a = fst.Object ('fst', 'fst.c')
|
|
|
|
b = fst.Object ('fstinfofile', 'fstinfofile.c')
|
|
|
|
c = fst.Object ('vstwin', 'vstwin.c')
|
|
|
|
d = fst.Object ('vsti', 'vsti.c')
|
|
|
|
|
|
|
|
Default([vst_headers,a,b,c,d])
|
|
|
|
|
|
|
|
env.Alias('tarball', env.Distribute (env['DISTTREE'],
|
|
|
|
fst_src + ['SConscript',
|
|
|
|
'fst.h',
|
|
|
|
'jackvst.h'
|
|
|
|
] ))
|
|
|
|
|