aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Klumpp <matthias@tenstral.net>2017-08-29 14:08:49 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2017-08-29 21:28:43 +0300
commit5f0a91baa51a0403eb6db51d51e96430aaa1b716 (patch)
tree525c417c4f67054a6aa3a9c7770082fc82b38c3a
parent36657e3a30b05fbb74b1031b97c442c69be5c8b9 (diff)
downloadmeson-5f0a91baa51a0403eb6db51d51e96430aaa1b716.zip
meson-5f0a91baa51a0403eb6db51d51e96430aaa1b716.tar.gz
meson-5f0a91baa51a0403eb6db51d51e96430aaa1b716.tar.bz2
d: Newer GDC versions can compile shared libraries
Actually, GDC supports shared libraries since version 6.2, but on Debian there are still issues with that version due to the standard library not being compiled with PIC. Therefore, we make a very conservative assumption here and only enable the tests for GDC >= 7.0
-rw-r--r--test cases/d/3 shared library/meson.build7
-rw-r--r--test cases/d/4 library versions/meson.build7
-rw-r--r--test cases/d/7 multilib/meson.build7
3 files changed, 15 insertions, 6 deletions
diff --git a/test cases/d/3 shared library/meson.build b/test cases/d/3 shared library/meson.build
index 1f45109..4ca3137 100644
--- a/test cases/d/3 shared library/meson.build
+++ b/test cases/d/3 shared library/meson.build
@@ -1,7 +1,10 @@
project('D Shared Library', 'd')
-if meson.get_compiler('d').get_id() == 'gcc'
- error('MESON_SKIP_TEST: GDC can not build shared libraries')
+dc = meson.get_compiler('d')
+if dc.get_id() == 'gcc'
+ if dc.version().version_compare('< 7')
+ error('MESON_SKIP_TEST: GDC < 7.0 can not build shared libraries')
+ endif
endif
ldyn = shared_library('stuff', 'libstuff.d', install : true)
diff --git a/test cases/d/4 library versions/meson.build b/test cases/d/4 library versions/meson.build
index f680651..cba1458 100644
--- a/test cases/d/4 library versions/meson.build
+++ b/test cases/d/4 library versions/meson.build
@@ -1,7 +1,10 @@
project('D library versions', 'd')
-if meson.get_compiler('d').get_id() == 'gcc'
- error('MESON_SKIP_TEST: GDC can not build shared libraries')
+dc = meson.get_compiler('d')
+if dc.get_id() == 'gcc'
+ if dc.version().version_compare('< 7')
+ error('MESON_SKIP_TEST: GDC < 7.0 can not build shared libraries')
+ endif
endif
shared_library('some', 'lib.d',
diff --git a/test cases/d/7 multilib/meson.build b/test cases/d/7 multilib/meson.build
index 6ebe1ca..1d9a070 100644
--- a/test cases/d/7 multilib/meson.build
+++ b/test cases/d/7 multilib/meson.build
@@ -1,7 +1,10 @@
project('D Multiple Versioned Shared Libraries', 'd')
-if meson.get_compiler('d').get_id() == 'gcc'
- error('MESON_SKIP_TEST: GDC can not build shared libraries (2016)')
+dc = meson.get_compiler('d')
+if dc.get_id() == 'gcc'
+ if dc.version().version_compare('< 7')
+ error('MESON_SKIP_TEST: GDC < 7.0 can not build shared libraries')
+ endif
endif
ldyn1 = shared_library('say1',