From: Carl Hetherington Date: Wed, 3 Feb 2016 11:43:14 +0000 (+0000) Subject: Various build system / dependency fixes. X-Git-Tag: v1.3.0~10 X-Git-Url: https://git.carlh.net/gitweb/?a=commitdiff_plain;ds=sidebyside;h=14a170698268374fdb59f296661d61828030f352;hp=005dac1a29f748bfe81ff87b15bcf085a4f510a3;p=libdcp.git Various build system / dependency fixes. --- diff --git a/cscript b/cscript index d25963cb..b8f70f70 100644 --- 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 diff --git a/examples/wscript b/examples/wscript index 2d6cabd9..a71a215b 100644 --- a/examples/wscript +++ b/examples/wscript @@ -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 = '' diff --git a/test/wscript b/test/wscript index e7cb8694..4d71e294 100644 --- a/test/wscript +++ b/test/wscript @@ -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' diff --git a/tools/wscript b/tools/wscript index 17db4654..4e0d7750 100644 --- a/tools/wscript +++ b/tools/wscript @@ -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 178461f1..4b322f1a 100755 Binary files a/waf and b/waf differ diff --git a/wscript b/wscript index 335162fc..5f635888 100644 --- 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)