a0522c0b0ae27625e69825ddca152f314e104b2d
[ardour.git] / libs / fst / SConscript
1 # -*- python -*-
2
3 import os
4 import os.path
5 import sys
6 import glob
7
8 fst_src = glob.glob('*.c')
9
10 Import('env install_prefix libraries')
11 fst = env.Clone()
12 fst.Append (CPPPATH=".")
13 fst.Merge ([
14         libraries['jack'],
15         libraries['glib2']
16         ])
17
18 fst.Replace(CC = ("winegcc"))
19
20 #
21 # See if JACK supports jack_set_thread_creator()
22 #
23
24 jack_test_source_file = """
25 #include <jack/jack.h>
26 #include <pthread.h>
27 int
28 my_pthread_create (pthread_t* thread_id, const pthread_attr_t* attr, void *(*function)(void*), void* arg)
29 {
30     return 0;
31 }
32 int main(int argc, char **argv)
33 {
34     jack_set_thread_creator (my_pthread_create);
35     return 0;
36 }
37 """
38 def CheckJackSetThreadCreator(context):
39     context.Message('Checking for jack_set_thread_creator()...')
40     result = context.TryLink(jack_test_source_file, '.c')
41     context.Result(result)
42     return result
43
44
45 conf = Configure(fst, custom_tests = {
46         'CheckJackSetThreadCreator' : CheckJackSetThreadCreator,
47 })
48
49 if conf.CheckJackSetThreadCreator():
50     fst.Append(CCFLAGS="-DHAVE_JACK_SET_THREAD_CREATOR")
51
52 fst = conf.Finish ()
53
54 if fst['VST']:
55     a = fst.Object ('fst', 'fst.c')
56     b = fst.Object ('fstinfofile', 'fstinfofile.c')
57     c = fst.Object ('vstwin', 'vstwin.c')
58     d = fst.Object ('vsti', 'vsti.c')
59     e = fst.Object ('thread', 'thread.c')
60
61     Default([a,b,c,d,e])
62     
63 env.Alias('tarball', env.Distribute (env['DISTTREE'],
64                                      fst_src + ['SConscript',
65                                                 'fst.h',
66                                                 'jackvst.h'
67                                                 ] ))
68