teach LIT how to detect the glibc version
authorEric Fiselier <eric@efcs.ca>
Sat, 4 Mar 2017 01:29:51 +0000 (01:29 +0000)
committerEric Fiselier <eric@efcs.ca>
Sat, 4 Mar 2017 01:29:51 +0000 (01:29 +0000)
llvm-svn: 296942

libcxx/utils/libcxx/test/config.py

index 3373dd1..d85db0e 100644 (file)
@@ -401,6 +401,14 @@ class Configuration(object):
         if self.is_windows:
             self.config.available_features.add('windows')
 
+        # Attempt to detect the glibc version by querying
+        macros = self.cxx.dumpMacros(flags=['-include', 'features.h'])
+        if macros is not None and '__GLIBC__' in macros:
+            maj_v, min_v = (macros['__GLIBC__'], macros['__GLIBC_MINOR__'])
+            self.config.available_features.add('glibc')
+            self.config.available_features.add('glibc-%s' % maj_v)
+            self.config.available_features.add('glibc-%s.%s' % (maj_v, min_v))
+
     def configure_compile_flags(self):
         no_default_flags = self.get_lit_bool('no_default_flags', False)
         if not no_default_flags: