summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-03-13 13:00:11 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-03-13 13:00:11 +0000
commit9917f30a180a33ffa9fd70d0b23174d304f4c308 (patch)
tree5743209925dc8fd0351572c6d79e1a4e8e3f7455 /libs
parentaf4dc6747c962be544be6024db99c60132b698c1 (diff)
run time check for jack_set_thread_creator() - fixes building with current JACK releases
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4828 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/fst/SConscript40
-rw-r--r--libs/fst/vstwin.c2
2 files changed, 41 insertions, 1 deletions
diff --git a/libs/fst/SConscript b/libs/fst/SConscript
index 0980dd6ca0..cfba56c127 100644
--- a/libs/fst/SConscript
+++ b/libs/fst/SConscript
@@ -10,7 +10,45 @@ fst_src = glob.glob('*.c')
Import('env install_prefix libraries')
fst = env.Clone(CC="winegcc")
fst.Append (CPPPATH=".")
-fst.Merge ([libraries['glib2']])
+fst.Merge ([
+ libraries['glib2'],
+ libraries['jack']
+ ])
+
+
+#
+# See if JACK supports jack_set_thread_creator()
+#
+
+jack_test_source_file = """
+#include <jack/jack.h>
+#include <pthread.h>
+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']:
a = fst.Object ('fst', 'fst.c')
diff --git a/libs/fst/vstwin.c b/libs/fst/vstwin.c
index 2fce334f0a..9a3849b98a 100644
--- a/libs/fst/vstwin.c
+++ b/libs/fst/vstwin.c
@@ -267,7 +267,9 @@ fst_init (void* possible_hmodule)
return -1;
}
+#ifdef HAVE_JACK_SET_THREAD_CREATOR
jack_set_thread_creator (wine_pthread_create);
+#endif
return 0;
}