use weak-jack's jack_port_rename wrapper
[ardour.git] / libs / backends / jack / wscript
index 76d874908a2b15800fe306d8a43882d6f087dbec..09a7c227f728b9177aeb1badad97032e8f03f346 100644 (file)
@@ -41,11 +41,25 @@ def configure(conf):
     conf.check_cxx(fragment = "#include <jack/jack.h>\n#include <jack/metadata.h>\nint main(void) { jack_port_uuid(NULL); return 0; }\n",
                    mandatory = False,
                    msg = 'Checking for JACK metadata API',
+                   execute = False,
+                   features = ['cxx'],
                    okmsg = 'ok',
                    errmsg = 'not found (or broken). JACK metadata API will not be used',
                    define_name = 'HAVE_JACK_METADATA',
                    uselib = 'JACK')
-    
+
+    # Check to see if jack_port_rename() is available and working
+    if Options.options.libjack_link == 'link':
+            conf.check_cxx(fragment = "#include <jack/jack.h>\nint main(void) { jack_client_t* c; jack_port_t* p; jack_port_rename (c, p, \"foo\"); return 0; }\n",
+                   mandatory = False,
+                   execute = False,
+                   features = ['cxx'],
+                   msg = 'Checking for jack_port_rename()',
+                   okmsg = 'ok',
+                   errmsg = 'not found (or broken). jack_port_rename() will not be used, and jack_port_set_name() will be used instead',
+                   define_name = 'HAVE_JACK_PORT_RENAME',
+                   uselib = 'JACK')
+
 def build(bld):
     obj = bld(features = 'c cxx cxxshlib')
     obj.source = [ 
@@ -68,10 +82,17 @@ def build(bld):
     if bld.env['build_target'] != 'mingw':
         obj.cxxflags = [ '-fPIC' ]
         obj.cflags   = [ '-fPIC' ]
+    else:
+        obj.cxxflags = [ ]
+        obj.cflags   = [ ]
 
     if bld.is_defined ('HAVE_JACK_METADATA'):
-       obj.cxxflags += [ '-DHAVE_JACK_METADATA' ]
-       obj.cflags += [ '-DHAVE_JACK_METADATA' ]
+        obj.cxxflags += [ '-DHAVE_JACK_METADATA' ]
+        obj.cflags += [ '-DHAVE_JACK_METADATA' ]
+
+    if bld.is_defined ('HAVE_JACK_PORT_RENAME'):
+        obj.cxxflags += [ '-DHAVE_JACK_PORT_RENAME' ]
+        obj.cflags += [ '-DHAVE_JACK_PORT_RENAME' ]
 
     if (bld.env['build_target'] == 'mingw'):
         obj.uselib   = [ 'PORTAUDIO' ]
@@ -81,7 +102,7 @@ def build(bld):
     if bld.env['libjack_link'] == 'link':
         obj.uselib   += [ 'JACK' ]
     else:
-        obj.defines += [ 'USE_WEAK_JACK' ]
+        obj.defines += [ 'USE_WEAK_JACK', 'HAVE_JACK_PORT_RENAME' ]
         obj.deps = [ 'weak_libjack.def' ]
 
     #