summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMario Melara <maamelara@gmail.com>2016-02-22 16:16:20 -0800
committerMario Melara <maamelara@gmail.com>2016-02-22 16:16:20 -0800
commitebc5e26c2d95971f414378631089fee270beeb51 (patch)
tree6c9506ff03a2552ec8a3894e9e8257d88b6716ab /lib
parenta385dae1aee6b7624707f42af8a6c52b9d9889bd (diff)
downloadspack-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.py18
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