Bump libdcp.
[libsub.git] / cscript
diff --git a/cscript b/cscript
index 1a53bf9b5d91fea4f238e4a57f7a819f24ced7c4..095851edc258a148e466e338018fd1f9089eddbe 100644 (file)
--- a/cscript
+++ b/cscript
@@ -1,7 +1,26 @@
+#
+#    Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net>
+#
+#    This file is part of libsub.
+#
+#    libsub is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation; either version 2 of the License, or
+#    (at your option) any later version.
+#
+#    libsub is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with libsub.  If not, see <http://www.gnu.org/licenses/>.
+#
+
 import os
 
 def dependencies(target):
-    return (('libdcp', '1.0'),)
+    return (('asdcplib-cth', '6648afc'), ('libcxml', '3c371e9'), ('libdcp', 'd9d7b42'))
 
 def build(target, options):
     cmd = './waf configure --prefix=%s' % target.directory
@@ -9,6 +28,15 @@ def build(target, options):
         cmd += ' --static'
         if target.distro == 'centos':
             cmd += ' --disable-tests'
+            if target.version == '7':
+               # Centos 7 ships with glibmm 2.50.0 which requires C++11
+                # but its compiler (gcc 4.8.5) defaults to C++97.  Go figure.
+                # I worry that this will cause ABI problems but I don't have
+                # a better solution.
+                cmd += ' --force-cpp11'
+        if target.distro == 'mageia' and target.version == '6':
+            # Mageia 6 pulls the same stunt except it's libxml++ that requires C++11
+            cmd += ' --force-cpp11'
     if target.debug:
         cmd += ' --enable-debug'
     if target.platform == 'windows':
@@ -21,3 +49,11 @@ def make_doxygen(target):
     os.makedirs('build/doc')
     target.command('doxygen')
     return os.path.abspath('build/doc/html')
+
+def test(target, test):
+    if target.platform != 'windows':
+        target.set('LC_ALL', 'C')
+        if test is None:
+            target.command('run/tests')
+        else:
+            target.command('run/tests --run_test=%s' % test)