diff --git a/.waf-tools/compiler-features.py b/.waf-tools/compiler-features.py
index 5344939..774784d 100644
--- a/.waf-tools/compiler-features.py
+++ b/.waf-tools/compiler-features.py
@@ -18,10 +18,37 @@
 
 @conf
 def check_override(self):
-    if self.check_cxx(msg='Checking for override specifier',
-                      fragment=OVERRIDE,
-                      features='cxx', mandatory=False):
-        self.define('HAVE_CXX_OVERRIDE', 1)
+    self.check_cxx(msg='Checking for override specifier',
+                   fragment=OVERRIDE,
+                   define_name='HAVE_CXX_OVERRIDE',
+                   features='cxx', mandatory=False)
+
+STD_TO_STRING = '''
+#include <string>
+int
+main(int argc, char** argv)
+{
+  std::string s = std::to_string(0);
+  s = std::to_string(0l);
+  s = std::to_string(0ll);
+  s = std::to_string(0u);
+  s = std::to_string(0ul);
+  s = std::to_string(0ull);
+  s = std::to_string(0.0f);
+  s = std::to_string(0.0);
+  s = std::to_string(0.0l);
+  s.clear();
+  return 0;
+}
+'''
+
+@conf
+def check_std_to_string(self):
+    self.check_cxx(msg='Checking for std::to_string',
+                   fragment=STD_TO_STRING,
+                   define_name='HAVE_STD_TO_STRING',
+                   features='cxx', mandatory=False)
 
 def configure(conf):
     conf.check_override()
+    conf.check_std_to_string()
