aboutsummaryrefslogtreecommitdiff
path: root/libstd-modules/std-detect.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-11-23 11:43:02 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-11-23 11:43:02 +0200
commit290ea7840c979e38a2108030a99e7e9c61f40a8c (patch)
tree041eb38e45d39e032d203fb1c48f8ff07609db3e /libstd-modules/std-detect.hxx
parentd657b1d00d41bf448a94f6a7c49cacd41c5fac0e (diff)
Restructure and install std-detect.hxx
We have to install this header since it needs to be included'able during module sidebuilds.
Diffstat (limited to 'libstd-modules/std-detect.hxx')
-rw-r--r--libstd-modules/std-detect.hxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/libstd-modules/std-detect.hxx b/libstd-modules/std-detect.hxx
new file mode 100644
index 0000000..b2998b5
--- /dev/null
+++ b/libstd-modules/std-detect.hxx
@@ -0,0 +1,15 @@
+// To detect the standard library we need to include a certain header first.
+//
+#if defined(__clang__)
+# if __has_include(<__config>) // libc++ _LIBCPP_VERSION
+# include <__config>
+# elif __has_include(<bits/c++config.h>) // libstdc++ __GLIBCXX__
+# include <bits/c++config.h>
+# endif
+#elif defined(__GNUC__)
+# include <bits/c++config.h> // libstdc++ __GLIBCXX__
+#endif
+
+#if !defined(_MSC_VER) && !defined(__GLIBCXX__) && !defined(_LIBCPP_VERSION)
+# error unknown standard library implementation
+#endif