summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGregory Becker <becker33@llnl.gov>2016-01-06 14:50:31 -0800
committerGregory Becker <becker33@llnl.gov>2016-01-06 14:50:31 -0800
commitb4a0004f44af89c034423adef5444a234c49d464 (patch)
tree2f8241d2100fdf57da4c3eef9451c4306194c54d /lib
parent51bd91edc0679d21c26df8af17eaafb2a0ca6d56 (diff)
downloadspack-b4a0004f44af89c034423adef5444a234c49d464.tar.gz
spack-b4a0004f44af89c034423adef5444a234c49d464.tar.bz2
spack-b4a0004f44af89c034423adef5444a234c49d464.tar.xz
spack-b4a0004f44af89c034423adef5444a234c49d464.zip
Improved target cmp_key and to/from yaml functions
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/architecture.py24
1 files changed, 10 insertions, 14 deletions
diff --git a/lib/spack/spack/architecture.py b/lib/spack/spack/architecture.py
index 81aac6cc33..aaea7c81ac 100644
--- a/lib/spack/spack/architecture.py
+++ b/lib/spack/spack/architecture.py
@@ -60,22 +60,17 @@ class Target(object):
self.compiler_strategy = compiler_strategy
self.module_name = module_name # craype-ivybridge
- def set_architecture(self, architecture): # Target should get the architecture class.
- self.architecture = architecture
-
-# @property
-# def compiler_strategy(self):
-# if self.module_name: # If there is a module_name given then use MODULES
-# return "MODULES"
-# else:
-# return "PATH"
+ # Sets only the architecture name to avoid recursiveness
+ def set_architecture(self, architecture):
+ self.architecture_name = architecture.name
def to_dict(self):
d = {}
d['name'] = self.name
+ d['compiler_strategy'] = self.compiler_strategy
d['module_name'] = self.module_name
-# if self.architecture:
-# d['architecture'] = self.architecture
+ if self.architecture_name:
+ d['architecture'] = self.architecture_name
return d
@staticmethod
@@ -84,14 +79,15 @@ class Target(object):
return None
target = Target.__new__(Target)
target.name = d['name']
+ target.compiler_strategy = d['compiler_strategy']
target.module_name = d['module_name']
-# if 'architecture' in d:
-# target.architecture = d['architecture']
+ if 'architecture' in d:
+ target.architecture_name = d['architecture']
return target
def _cmp_key(self):
- return (self.name, self.module_name)
+ return (self.name, self.compiler_strategy, self.module_name)
def __repr__(self):
return self.__str__()