Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
[ardour.git] / libs / surfaces / control_protocol / wscript
index 00c9613c77055ef3e237ff4c42f9b52fe9fd0e55..10ec7f6c95cefe737120ee61e348dde24ea68f20 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import autowaf
+from waflib.extras import autowaf as autowaf
 import os
 
 # Library version (UNIX style major, minor, micro)
@@ -10,30 +10,43 @@ APPNAME = 'libardour_cp'
 LIBARDOUR_CP_LIB_VERSION = '4.1.0'
 
 # Mandatory variables
-srcdir = '.'
-blddir = 'build'
+top = '.'
+out = 'build'
 
-def set_options(opt):
-       autowaf.set_options(opt)
+controlcp_sources = [
+    'basic_ui.cc',
+    'control_protocol.cc',
+    ]
+
+def options(opt):
+    autowaf.set_options(opt)
 
 def configure(conf):
-       autowaf.configure(conf)
+    autowaf.configure(conf)
 
 def build(bld):
-       obj = bld.new_task_gen('cxx', 'shlib')
-       obj.source = '''
-               basic_ui.cc
-               control_protocol.cc
-       '''
-       obj.export_incdirs = ['.', './control_protocol' ]
-       obj.cxxflags     = '-DPACKAGE="ardour_cp"'
-       obj.includes     = ['.', './control_protocol']
-       obj.name         = 'libardour_cp'
-       obj.target       = 'ardourcp'
-       obj.uselib_local = 'libardour libmusictime'
-       obj.vnum         = LIBARDOUR_CP_LIB_VERSION
-       obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+    if bld.is_defined ('INTERNAL_SHARED_LIBS'):
+        obj              = bld.shlib(features = 'c cxx cshlib cxxshlib', source=controlcp_sources)
+        # defines for this library
+        obj.defines      = [ 'LIBCONTROLCP_DLL=1', 'LIBCONTROLCP_DLL_EXPORTS=1' ]
+        # internal shared libs that we use
+        obj.defines     += [ 'LIBPBD_DLL=1', 'LIBARDOUR_DLL=1', 'LIBEVORAL_DLL=1' ]
+        obj.cxxflags     = [ '-fvisibility=hidden' ]
+        obj.cflags       = [ '-fvisibility=hidden' ]
+    else:
+        obj              = bld.stlib(features = 'c cxx cstlib cxxstlib', source=controlcp_sources)
+        obj.cxxflags     = [ '-fPIC' ]
+        obj.defines      = [ ]
 
-def shutdown():
-       autowaf.shutdown()
+    obj.export_includes = ['.', './control_protocol' ]
+    obj.defines    +=  [ 'PACKAGE="ardour_cp"' ]
+    obj.includes     = ['.', './control_protocol']
+    obj.defines      = [ 'ARDOURCP_DLL_EXPORTS' ]
+    obj.name         = 'libardour_cp'
+    obj.target       = 'ardourcp'
+    obj.use          = 'libardour libtimecode'
+    obj.vnum         = LIBARDOUR_CP_LIB_VERSION
+    obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
 
+def shutdown():
+    autowaf.shutdown()