summaryrefslogtreecommitdiff
path: root/test cases/d/4 library versions
diff options
context:
space:
mode:
authorMatthias Klumpp <matthias@tenstral.net>2016-08-20 18:56:54 +0200
committerMatthias Klumpp <matthias@tenstral.net>2016-08-21 01:38:10 +0200
commitd767d8ca3993f3cee47840542f35978f43d3a8ff (patch)
tree0f1f530efa3db98872f0c499f53666960f107763 /test cases/d/4 library versions
parent57c54a678c8eec18df345a44075d59f6384be8f0 (diff)
downloadmeson-d767d8ca3993f3cee47840542f35978f43d3a8ff.tar.gz
Split D library test into static/shared tests
This allows us to disable the shared library test if the GNU D compiler is detected. This is useful, because gdc can not yet build proper shared libraries. We also add a new test here which tests versioning of D shared libraries.
Diffstat (limited to 'test cases/d/4 library versions')
-rw-r--r--test cases/d/4 library versions/installed_files.txt9
-rw-r--r--test cases/d/4 library versions/lib.d10
-rw-r--r--test cases/d/4 library versions/meson.build25
-rw-r--r--test cases/d/4 library versions/no-installed-files0
4 files changed, 44 insertions, 0 deletions
diff --git a/test cases/d/4 library versions/installed_files.txt b/test cases/d/4 library versions/installed_files.txt
new file mode 100644
index 000000000..b997e5392
--- /dev/null
+++ b/test cases/d/4 library versions/installed_files.txt
@@ -0,0 +1,9 @@
+usr/lib/libsome.so
+usr/lib/libsome.so.0
+usr/lib/libsome.so.1.2.3
+usr/lib/libnoversion.so
+usr/lib/libonlyversion.so
+usr/lib/libonlyversion.so.1
+usr/lib/libonlyversion.so.1.4.5
+usr/lib/libonlysoversion.so
+usr/lib/libonlysoversion.so.5
diff --git a/test cases/d/4 library versions/lib.d b/test cases/d/4 library versions/lib.d
new file mode 100644
index 000000000..94df91e93
--- /dev/null
+++ b/test cases/d/4 library versions/lib.d
@@ -0,0 +1,10 @@
+
+import std.stdio;
+import std.string : format;
+
+@safe
+int printLibraryString (string str)
+{
+ writeln ("Library says: %s".format (str));
+ return 4;
+}
diff --git a/test cases/d/4 library versions/meson.build b/test cases/d/4 library versions/meson.build
new file mode 100644
index 000000000..26cc38a5a
--- /dev/null
+++ b/test cases/d/4 library versions/meson.build
@@ -0,0 +1,25 @@
+project('D library versions', 'd')
+
+if meson.get_compiler('d').get_id() == 'gcc'
+ message('GDC can not build shared libraries. Test skipped.')
+ install_data('no-installed-files', install_dir : '')
+else
+
+ shared_library('some', 'lib.d',
+ version : '1.2.3',
+ soversion : '0',
+ install : true)
+
+ shared_library('noversion', 'lib.d',
+ install : true)
+
+ shared_library('onlyversion', 'lib.d',
+ version : '1.4.5',
+ install : true)
+
+ shared_library('onlysoversion', 'lib.d',
+ # Also test that int soversion is acceptable
+ soversion : 5,
+ install : true)
+
+endif
diff --git a/test cases/d/4 library versions/no-installed-files b/test cases/d/4 library versions/no-installed-files
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test cases/d/4 library versions/no-installed-files