change libtemporal to be versioned like all others
authorPaul Davis <paul@linuxaudiosystems.com>
Mon, 25 Sep 2017 16:13:46 +0000 (12:13 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 25 Sep 2017 16:13:54 +0000 (12:13 -0400)
libs/temporal/wscript

index 3d02ff0e4693670125dd3e64ec61886f89b2cc04..fc96d00b1b85c7b180f505ba1e73d59dce7d0964 100644 (file)
@@ -7,6 +7,25 @@ import os
 top = '.'
 out = 'build'
 
+# Version of this package (even if built as a child)
+MAJOR = '0'
+MINOR = '0'
+MICRO = '0'
+TEMPORAL_VERSION = "%s.%s.%s" % (MAJOR, MINOR, MICRO)
+
+# Library version (UNIX style major, minor, micro)
+# major increment <=> incompatible changes
+# minor increment <=> compatible changes (additions)
+# micro increment <=> no interface changes
+TEMPORAL_LIB_VERSION = '0.0.0'
+
+# Variables for 'waf dist'
+APPNAME = 'temporal'
+VERSION = TEMPORAL_VERSION
+I18N_PACKAGE = 'libtemporal'
+
+temporal_sources = [ 'time.cc', 'bbt_time.cc' ]
+
 def options(opt):
     autowaf.set_options(opt)
 
@@ -15,15 +34,23 @@ def configure(conf):
     autowaf.configure(conf)
 
 def build(bld):
-    bld.shlib (
-               source   = [ 'time.cc', 'bbt_time.cc' ],
-               name     = 'libtemporal',
-               target   = 'temporal',
-               includes = ['.'],
-               export_includes = ['.'],
-               defines  = [ 'LIBTEMPORAL_DLL_EXPORTS' ],
-               install_path = bld.env['LIBDIR']
-               )
+    # Library
+    if bld.is_defined ('INTERNAL_SHARED_LIBS'):
+        obj = bld.shlib(features = 'cxx cxxshlib', source=temporal_sources)
+        obj.defines      = [ 'LIBTEMPORAL_DLL_EXPORTS=1' ]
+    else:
+        obj = bld.stlib(features = 'cxx cxxstlib', source=temporal_sources)
+        obj.cxxflags     = [ '-fPIC' ]
+        obj.cflags       = [ '-fPIC' ]
+        obj.defines      = [ ]
+
+    obj.export_includes = ['.']
+    obj.includes     = ['.']
+    obj.name         = 'libtemporal'
+    obj.target       = 'temporal'
+    obj.vnum         = TEMPORAL_LIB_VERSION
+    obj.install_path = bld.env['LIBDIR']
+    obj.defines      += [ 'PACKAGE="' + I18N_PACKAGE + '"' ]
 
 def shutdown():
     autowaf.shutdown()