X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Ffst%2FSConscript;h=a543d72a501ae4f7cbb0b7e9299fdaa0f58368f0;hb=5c6c82bb797cc76e981d79c41b7a55fc87296fe0;hp=17fc67eb4c288c92addd240d6d856db6a6650559;hpb=448a4d46f90f4ba29632b9790ff1a4dc7ed072b7;p=ardour.git diff --git a/libs/fst/SConscript b/libs/fst/SConscript index 17fc67eb4c..a543d72a50 100644 --- a/libs/fst/SConscript +++ b/libs/fst/SConscript @@ -7,41 +7,64 @@ import glob fst_src = glob.glob('*.c') -Import('env install_prefix') -fst = env.Copy(CC="winegcc") +Import('env install_prefix libraries') +fst = env.Clone() fst.Append (CPPPATH=".") - -if fst['VST']: - vst_sdk = File ('vstsdk2.3.zip') - vst_dir = Dir ('libs/vst') - vst_sdk_dir = Dir ('vstsdk2.3') - - if os.access ('vst_sdk2_3.zip', os.F_OK): - vst_sdk_zip = fst.Command (vst_sdk, 'vst_sdk2_3.zip', "unzip -o -d ${TARGET.dir} $SOURCES vstsdk2.3.zip" ) - 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" +fst.Merge ([ + libraries['jack'], + libraries['glib2'] ]) +# +# See if JACK supports jack_set_thread_creator() +# + +jack_test_source_file = """ +#include +#include +int +my_pthread_create (pthread_t* thread_id, const pthread_attr_t* attr, void *(*function)(void*), void* arg) +{ + return 0; +} +int main(int argc, char **argv) +{ + jack_set_thread_creator (my_pthread_create); + return 0; +} +""" +def CheckJackSetThreadCreator(context): + context.Message('Checking for jack_set_thread_creator()...') + result = context.TryLink(jack_test_source_file, '.c') + context.Result(result) + return result + + +conf = Configure(fst, custom_tests = { + 'CheckJackSetThreadCreator' : CheckJackSetThreadCreator, +}) + +if conf.CheckJackSetThreadCreator(): + fst.Append(CCFLAGS="-DHAVE_JACK_SET_THREAD_CREATOR") + +fst = conf.Finish () + +if fst['VST']: + fst.Replace(CC = ("winegcc")) 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]) + e = fst.Object ('thread', 'thread.c') + Default([a,b,c,d,e]) +vestige_headers = glob.glob ('vestige/*.h') + env.Alias('tarball', env.Distribute (env['DISTTREE'], - fst_src + ['SConscript', - 'fst.h', - 'jackvst.h' - ] )) + fst_src + vestige_headers + + ['SConscript', + 'fst.h', + 'jackvst.h', + ] + ))