diff options
Diffstat (limited to 'mesonbuild/compilers.py')
-rw-r--r-- | mesonbuild/compilers.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py index 4f55be4..229d224 100644 --- a/mesonbuild/compilers.py +++ b/mesonbuild/compilers.py @@ -258,6 +258,9 @@ class Compiler(): def has_header(self, *args, **kwargs): raise EnvironmentException('Language %s does not support header checks.' % self.language) + def has_header_symbol(self, *args, **kwargs): + raise EnvironmentException('Language %s does not support header symbol checks.' % self.language) + def compiles(self, *args, **kwargs): raise EnvironmentException('Language %s does not support compile checks.' % self.language) @@ -460,6 +463,13 @@ int someSymbolHereJustForFun; ''' return self.compiles(templ % hname, extra_args) + def has_header_symbol(self, hname, symbol, prefix, extra_args=[]): + templ = '''{2} +#include <{0}> +int main () {{ {1}; }}''' + # Pass -O0 to ensure that the symbol isn't optimized away + return self.compiles(templ.format(hname, symbol, prefix), extra_args + ['-O0']) + def compile(self, code, srcname, extra_args=[]): commands = self.get_exelist() commands.append(srcname) |