summaryrefslogtreecommitdiff
path: root/libmprint/libmprint
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-07-20 08:55:37 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-07-20 08:55:37 +0200
commit01399cea3ff5d5d64c987d06c882a1c7c9cdd878 (patch)
treeb0df201f3bec90a94e6d373b71448d97ea6fa5fc /libmprint/libmprint
parentd8c1605ced6e9445b8ef6fdf7ab5dde4021d454a (diff)
Add modularized version
Diffstat (limited to 'libmprint/libmprint')
-rw-r--r--libmprint/libmprint/buildfile15
-rw-r--r--libmprint/libmprint/print.cxx20
-rw-r--r--libmprint/libmprint/print.mxx11
3 files changed, 46 insertions, 0 deletions
diff --git a/libmprint/libmprint/buildfile b/libmprint/libmprint/buildfile
new file mode 100644
index 0000000..31286c2
--- /dev/null
+++ b/libmprint/libmprint/buildfile
@@ -0,0 +1,15 @@
+import libs = libstd-modules%liba{std-modules}
+
+lib{mprint}: {mxx cxx}{print} $libs
+
+# For pre-releases use the complete version to make sure they cannot be used
+# in place of another pre-release or the final version.
+#
+if $version.pre_release
+ lib{mprint}: bin.lib.version = @"-$version.project_id"
+else
+ lib{mprint}: bin.lib.version = @"-$version.major.$version.minor"
+
+# Install into the libmprint/ subdirectory of, say, /usr/include/.
+#
+install.include = $install.include/$project/
diff --git a/libmprint/libmprint/print.cxx b/libmprint/libmprint/print.cxx
new file mode 100644
index 0000000..e9e7a3c
--- /dev/null
+++ b/libmprint/libmprint/print.cxx
@@ -0,0 +1,20 @@
+// file: libmprint/print.cxx -*- C++ -*-
+
+module print;
+
+#ifdef __clang__
+import std.core;
+#endif
+
+import std.io;
+
+using namespace std;
+
+namespace print
+{
+ void
+ to_stdout (const string& s)
+ {
+ cout << s << endl;
+ }
+}
diff --git a/libmprint/libmprint/print.mxx b/libmprint/libmprint/print.mxx
new file mode 100644
index 0000000..4b459e1
--- /dev/null
+++ b/libmprint/libmprint/print.mxx
@@ -0,0 +1,11 @@
+// file: libmprint/print.mxx -*- C++ -*-
+
+export module print;
+
+import std.core;
+
+export namespace print
+{
+ __symexport void
+ to_stdout (const std::string&);
+}