From 01399cea3ff5d5d64c987d06c882a1c7c9cdd878 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 20 Jul 2017 08:55:37 +0200 Subject: Add modularized version --- libmprint/libmprint/buildfile | 15 +++++++++++++++ libmprint/libmprint/print.cxx | 20 ++++++++++++++++++++ libmprint/libmprint/print.mxx | 11 +++++++++++ 3 files changed, 46 insertions(+) create mode 100644 libmprint/libmprint/buildfile create mode 100644 libmprint/libmprint/print.cxx create mode 100644 libmprint/libmprint/print.mxx (limited to 'libmprint/libmprint') 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&); +} -- cgit v1.1