Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon

Conflicts:
	lib/spack/spack/architecture.py
This commit is contained in:
Mario Melara 2015-11-04 13:06:56 -08:00
commit e3a02ea5c7
2 changed files with 16 additions and 0 deletions

View file

@ -86,9 +86,20 @@ def __init__(self, name):
self.name = name self.name = name
def add_target(self, name, target): def add_target(self, name, target):
<<<<<<< HEAD
target.set_architecture(self) target.set_architecture(self)
self.targets[name] = target self.targets[name] = target
=======
"""Used by the architecture specific subclass to list available targets. Raises an error
if the architecture specifies a name that is reserved by spack as an alias.
"""
if name in ['front_end', 'fe', 'back_end', 'be', 'default']:
raise ValueError("%s is a spack reserved alias and cannot be the name of a target" % name)
self.targets[name] = target
>>>>>>> 8b3f2ec1d117e1a8b206927f51db8684396c231b
def target(self, name): def target(self, name):
"""This is a getter method for the target dictionary that handles defaulting based """This is a getter method for the target dictionary that handles defaulting based
on the values provided by default, front-end, and back-end. This can be overwritten on the values provided by default, front-end, and back-end. This can be overwritten

View file

@ -10,6 +10,11 @@ class Cray(Architecture):
def __init__(self): def __init__(self):
super(Cray, self).__init__('cray') super(Cray, self).__init__('cray')
# Back End compiler needs the proper target module loaded.
self.add_target('ivybridge','craype-ivybridge')
# Could switch to use modules and fe targets for front end
# Currently using compilers by path for front end.
self.add_target('sandybridge')
@classmethod @classmethod
def detect(self): def detect(self):