diff options
author | Mario Melara <maamelara@gmail.com> | 2016-02-22 16:16:20 -0800 |
---|---|---|
committer | Mario Melara <maamelara@gmail.com> | 2016-02-22 16:16:20 -0800 |
commit | ebc5e26c2d95971f414378631089fee270beeb51 (patch) | |
tree | 6c9506ff03a2552ec8a3894e9e8257d88b6716ab /lib | |
parent | a385dae1aee6b7624707f42af8a6c52b9d9889bd (diff) | |
download | spack-ebc5e26c2d95971f414378631089fee270beeb51.tar.gz spack-ebc5e26c2d95971f414378631089fee270beeb51.tar.bz2 spack-ebc5e26c2d95971f414378631089fee270beeb51.tar.xz spack-ebc5e26c2d95971f414378631089fee270beeb51.zip |
Added compiler strategy field to Operating System class
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/architecture.py | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/lib/spack/spack/architecture.py b/lib/spack/spack/architecture.py index 3ba45f3d82..574076bae4 100644 --- a/lib/spack/spack/architecture.py +++ b/lib/spack/spack/architecture.py @@ -209,26 +209,28 @@ class OperatingSystem(object): compiler finding logic. Instead of calling two separate methods to find compilers we call find_compilers method for each operating system """ - def __init__(self, name, version): + + def __init__(self, name, version, compiler_strategy): self.name = name self.version = version + self.compiler_strategy = compiler_strategy def __str__(self): return self.name + self.version def __repr__(self): return self.__str__() - - def compiler_strategy(self): - """ The compiler strategy will be overwritten by the subclass. - Depending on where it comes from it will either use compilers - based off of MODULES search method or the PATH search method - """ - raise NotImplementedError() def _cmp_key(self): return (self.name, self.version) + def compiler_strategy(self): + """ Operating Systems will now be in charge of the compiler finding + strategy. They will each have their own find_compilers method + which depending on their compiler strategy will find the compilers + using a specific method (i.e PATH vs MODULES) + """ + raise NotImplementedError() #NOTE: Key error caused because Architecture has no comparison method @key_ordering |