Various build system / dependency fixes.
authorCarl Hetherington <cth@carlh.net>
Wed, 3 Feb 2016 11:43:14 +0000 (11:43 +0000)
committerCarl Hetherington <cth@carlh.net>
Wed, 3 Feb 2016 19:59:33 +0000 (19:59 +0000)
cscript
examples/wscript
test/wscript
tools/wscript
waf
wscript

diff --git a/cscript b/cscript
index d25963cb37e6dcedf858ddc6d71a8cfcfb0be198..b8f70f700766e65a9d9511d4fc207f0e4a85825d 100644 (file)
--- a/cscript
+++ b/cscript
@@ -1,7 +1,7 @@
 import os
 
 def dependencies(target):
-    return (('libcxml', 'v0.15.0'), ('openjpeg2-cdist', '63c1932'), ('asdcplib-cth', 'cth'))
+    return (('libcxml', '53d49ac'), ('openjpeg2-cdist', '63c1932'), ('asdcplib-cth', 'cth'))
 
 def build(target, options):
     cmd = './waf configure --disable-examples --prefix=%s' % target.directory
index 2d6cabd94185d42c4eb5cab1e68d8a7afd5f3de5..a71a215b660d6e5343f87c69e92c55259f69430c 100644 (file)
@@ -20,7 +20,7 @@ def build(bld):
     obj = bld(features='cxx cxxprogram')
     obj.name   = 'make_dcp'
     obj.use    = 'libdcp%s' % bld.env.API_VERSION
-    obj.uselib = 'OPENJPEG CXML OPENMP ASDCPLIB_CTH'
+    obj.uselib = 'OPENJPEG CXML OPENMP ASDCPLIB_CTH BOOST_FILESYSTEM'
     obj.source = 'make_dcp.cc'
     obj.target = 'make_dcp'
     obj.install_path = ''
@@ -28,7 +28,7 @@ def build(bld):
     obj = bld(features='cxx cxxprogram')
     obj.name   = 'read_dcp'
     obj.use    = 'libdcp%s' % bld.env.API_VERSION
-    obj.uselib = 'OPENJPEG CXML MAGICK OPENMP ASDCPLIB_CTH'
+    obj.uselib = 'OPENJPEG CXML MAGICK OPENMP ASDCPLIB_CTH BOOST_FILESYSTEM'
     obj.source = 'read_dcp.cc'
     obj.target = 'read_dcp'
     obj.install_path = ''
index e7cb869445b3a33cfb8d15d1c6fcaaa18ccd5e52..4d71e2946c46e5b3abb09c6f460eebd166bdacec 100644 (file)
@@ -36,7 +36,7 @@ def configure(conf):
 def build(bld):
     obj = bld(features='cxx cxxprogram')
     obj.name   = 'tests'
-    obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML XMLSEC1 SNDFILE OPENMP ASDCPLIB_CTH'
+    obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM BOOST_DATETIME OPENJPEG CXML XMLSEC1 SNDFILE OPENMP ASDCPLIB_CTH LIBXML++'
     obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0']
     if bld.is_defined('HAVE_GCOV'):
         obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION
@@ -82,7 +82,7 @@ def build(bld):
 
     obj = bld(features='cxx cxxprogram')
     obj.name   = 'subs_in_out'
-    obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH'
+    obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH XMLSEC1'
     obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0']
     if bld.is_defined('HAVE_GCOV'):
         obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION
@@ -97,7 +97,7 @@ def build(bld):
 
     obj = bld(features='cxx cxxprogram')
     obj.name   = 'rewrite_subs'
-    obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH'
+    obj.uselib = 'BOOST_TEST BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH XMLSEC1'
     obj.cppflags = ['-fno-inline', '-fno-default-inline', '-fno-elide-constructors', '-g', '-O0']
     if bld.is_defined('HAVE_GCOV'):
         obj.use = 'libdcp%s_gcov' % bld.env.API_VERSION
@@ -112,7 +112,7 @@ def build(bld):
 
     obj = bld(features='cxx cxxprogram')
     obj.name   = 'bench'
-    obj.uselib = 'BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH'
+    obj.uselib = 'BOOST_FILESYSTEM OPENJPEG CXML OPENMP ASDCPLIB_CTH XMLSEC1 OPENSSL LIBXML++'
     obj.use = 'libdcp%s' % bld.env.API_VERSION
     obj.source = 'bench.cc'
     obj.target = 'bench'
index 17db4654661eed1a35792109dc1dc7a2c7536756..4e0d7750bc975d6e747064bd05546608d94e76b9 100644 (file)
@@ -1,18 +1,18 @@
 def build(bld):
     obj = bld(features='cxx cxxprogram')
     obj.use = ['libdcp%s' % bld.env.API_VERSION]
-    obj.uselib = 'OPENJPEG CXML OPENMP ASDCPLIB_CTH'
+    obj.uselib = 'OPENJPEG CXML OPENMP ASDCPLIB_CTH BOOST_FILESYSTEM LIBXML++ XMLSEC1 OPENSSL'
     obj.source = 'dcpdiff.cc common.cc'
     obj.target = 'dcpdiff'
 
     obj = bld(features='cxx cxxprogram')
     obj.use = ['libdcp%s' % bld.env.API_VERSION]
-    obj.uselib = 'OPENJPEG CXML OPENMP ASDCPLIB_CTH'
+    obj.uselib = 'OPENJPEG CXML OPENMP ASDCPLIB_CTH BOOST_FILESYSTEM LIBXML++ XMLSEC1 OPENSSL'
     obj.source = 'dcpinfo.cc common.cc'
     obj.target = 'dcpinfo'
 
     obj = bld(features='cxx cxxprogram')
     obj.use = ['libdcp%s' % bld.env.API_VERSION]
-    obj.uselib = 'OPENJPEG CXML OPENMP ASDCPLIB_CTH'
+    obj.uselib = 'OPENJPEG CXML OPENMP ASDCPLIB_CTH BOOST_FILESYSTEM LIBXML++ XMLSEC1 OPENSSL'
     obj.source = 'dcpdumpsub.cc'
     obj.target = 'dcpdumpsub'
diff --git a/waf b/waf
index 178461f113668f7b3bb794abe3cb788e7c69322c..4b322f1a7eb0abb577ad4779da730ff957e63fd9 100755 (executable)
Binary files a/waf and b/waf differ
diff --git a/wscript b/wscript
index 335162fc6ab0f9511a804a41f191d4ab93752141..5f635888d22658f0bed6177614bebb63b1bbf2f6 100644 (file)
--- a/wscript
+++ b/wscript
@@ -20,7 +20,7 @@ import subprocess
 import os
 import sys
 import distutils.spawn
-from waflib import Logs
+from waflib import Logs, Context
 
 APPNAME = 'libdcp'
 VERSION = '1.2.10devel'
@@ -82,6 +82,7 @@ def configure(conf):
         conf.check_cfg(package='libopenjp2', args='--cflags', atleast_version='2.1.0', uselib_store='OPENJPEG', mandatory=True)
         conf.env.STLIB_OPENJPEG = ['openjp2']
         conf.env.HAVE_CXML = 1
+        conf.env.LIB_CXML = ['xml++-2.6', 'glibmm-2.4']
         conf.env.STLIB_CXML = ['cxml']
         conf.check_cfg(package='libasdcp-cth', atleast_version='0.0.1', args='--cflags', uselib_store='ASDCPLIB_CTH', mandatory=True)
         conf.env.HAVE_ASDCPLIB_CTH = 1
@@ -145,6 +146,13 @@ def configure(conf):
         if not conf.options.disable_gcov:
             conf.check(lib='gcov', define_name='HAVE_GCOV', mandatory=False)
 
+    # libxml++ 2.39.1 and later must be built with -std=c++11
+    libxmlpp_version = conf.cmd_and_log(['pkg-config', '--modversion', 'libxml++-2.6'], output=Context.STDOUT, quiet=Context.BOTH)
+    s = libxmlpp_version.split('.')
+    v = (int(s[0]) << 16) | (int(s[1]) << 8) | int(s[2])
+    if v >= 0x022701:
+        conf.env.append_value('CXXFLAGS', '-std=c++11')
+
 def build(bld):
     create_version_cc(bld, VERSION)