diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-02-15 00:49:46 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-02-15 00:49:46 +0200 |
commit | 127cd43f2ae5bce3e58a8d42341e598c87dc59d6 (patch) | |
tree | b54cef40d38e3166b13683abc9df7e4a853ab6a3 /environment.py | |
parent | 26ff3fa23e07f8c4409675d52e30eeef11b63a66 (diff) | |
download | meson-127cd43f2ae5bce3e58a8d42341e598c87dc59d6.zip meson-127cd43f2ae5bce3e58a8d42341e598c87dc59d6.tar.gz meson-127cd43f2ae5bce3e58a8d42341e598c87dc59d6.tar.bz2 |
Autodetect CCache and use it if installed.
Diffstat (limited to 'environment.py')
-rwxr-xr-x | environment.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/environment.py b/environment.py index a6719b4..3d760f1 100755 --- a/environment.py +++ b/environment.py @@ -217,11 +217,12 @@ class Environment(): self.object_suffix = 'o' def get_c_compiler_exelist(self): + ccachelist = self.detect_ccache() evar = 'CC' if evar in os.environ: return os.environ[evar].split() - return self.default_c - + return ccachelist + self.default_c + def is_header(self, fname): suffix = fname.split('.')[-1] return suffix in header_suffixes @@ -272,11 +273,20 @@ class Environment(): return ArLinker(exelist) raise EnvironmentException('Unknown static linker "' + ' '.join(exelist) + '"') + def detect_ccache(self): + has_ccache = subprocess.call(['ccache', '--version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + if has_ccache == 0: + cmdlist = ['ccache'] + else: + cmdlist = [] + return cmdlist + def get_cxx_compiler_exelist(self): + ccachelist = self.detect_ccache() evar = 'CXX' if evar in os.environ: return os.environ[evar].split() - return self.default_cxx + return ccachelist + self.default_cxx def get_static_linker_exelist(self): evar = 'AR' |