diff options
author | Michael Hirsch, Ph.D <scivision@users.noreply.github.com> | 2019-12-15 07:40:43 -0500 |
---|---|---|
committer | Michael Hirsch, Ph.D <10931741+scivision@users.noreply.github.com> | 2019-12-19 12:03:55 -0500 |
commit | 5695dc0f1674211049b3952f8005cccc78411cdd (patch) | |
tree | 7bed9e714d54caa0c018bedcfeb41596bf6197b8 /mesonbuild | |
parent | 06821755d253a930ebe29bb27f55b442c1790fed (diff) | |
download | meson-5695dc0f1674211049b3952f8005cccc78411cdd.zip meson-5695dc0f1674211049b3952f8005cccc78411cdd.tar.gz meson-5695dc0f1674211049b3952f8005cccc78411cdd.tar.bz2 |
add compiler.get_linker_id() method
this can be useful for if/elif where linker behaviors must be
considered.
For example, clang with "link" vs gcc with "ld.bfd" etc.
ci for compiler.get_linker_id() method
doc
add @FeatureNew check
Co-Authored-By: Daniel Mensinger <daniel@mensinger-ka.de>
Diffstat (limited to 'mesonbuild')
-rw-r--r-- | mesonbuild/compilers/compilers.py | 3 | ||||
-rw-r--r-- | mesonbuild/interpreter.py | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index 20b339b..d54f7da 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -723,6 +723,9 @@ class Compiler: def get_id(self) -> str: return self.id + def get_linker_id(self) -> str: + return self.linker.id + def get_version_string(self) -> str: details = [self.id, self.version] if self.full_version: diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 758c461..1a9b5e6 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1007,6 +1007,7 @@ class CompilerHolder(InterpreterObject): self.methods.update({'compiles': self.compiles_method, 'links': self.links_method, 'get_id': self.get_id_method, + 'get_linker_id': self.get_linker_id_method, 'compute_int': self.compute_int_method, 'sizeof': self.sizeof_method, 'get_define': self.get_define_method, @@ -1163,6 +1164,12 @@ class CompilerHolder(InterpreterObject): @noPosargs @permittedKwargs({}) + @FeatureNew('compiler.get_linker_id', '0.53.0') + def get_linker_id_method(self, args, kwargs): + return self.compiler.get_linker_id() + + @noPosargs + @permittedKwargs({}) def symbols_have_underscore_prefix_method(self, args, kwargs): ''' Check if the compiler prefixes _ (underscore) to global C symbols |