diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-07-08 20:57:09 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-07-09 04:09:46 +0530 |
commit | 416a00308f5b0f228af3c93eb597eca8529fdbb0 (patch) | |
tree | 39e2576abdb4b6e79fa96d488e4413dc3af652dd /mesonbuild/dependencies/base.py | |
parent | 2093d45a4e1203d868d200628918472877c7ec31 (diff) | |
download | meson-416a00308f5b0f228af3c93eb597eca8529fdbb0.zip meson-416a00308f5b0f228af3c93eb597eca8529fdbb0.tar.gz meson-416a00308f5b0f228af3c93eb597eca8529fdbb0.tar.bz2 |
cross: Use ExternalProgram for cross-file exe_wrapper
We already have code to fetch and find binaries specified in a cross
file, so use the same code for exe_wrapper. This allows us to handle
the same corner-cases that were fixed for other cross binaries.
Diffstat (limited to 'mesonbuild/dependencies/base.py')
-rw-r--r-- | mesonbuild/dependencies/base.py | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index 63b817a..aca5d25 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -981,10 +981,14 @@ class ExternalProgram: def get_name(self): return self.name + class NonExistingExternalProgram(ExternalProgram): + "A program that will never exist" def __init__(self): - super().__init__(name = 'nonexistingprogram', silent = True) + self.name = 'nonexistingprogram' + self.command = [None] + self.path = None def __repr__(self): r = '<{} {!r} -> {!r}>' @@ -993,6 +997,26 @@ class NonExistingExternalProgram(ExternalProgram): def found(self): return False + +class EmptyExternalProgram(ExternalProgram): + ''' + A program object that returns an empty list of commands. Used for cases + such as a cross file exe_wrapper to represent that it's not required. + ''' + + def __init__(self): + self.name = None + self.command = [] + self.path = None + + def __repr__(self): + r = '<{} {!r} -> {!r}>' + return r.format(self.__class__.__name__, self.name, self.command) + + def found(self): + return True + + class ExternalLibrary(ExternalDependency): def __init__(self, name, link_args, environment, language, silent=False): super().__init__('external', environment, language, {}) |