targets: adjust packages to use new specific targets semantics

Seamless translation from 'target=<generic>' to either
- target.family == <generic> (in methods)
- 'target=<generic>:' (in directives)

Also updated docs to show ranges in directives.
This commit is contained in:
Massimiliano Culpo
2019-09-17 18:41:18 +02:00
committed by Todd Gamblin
parent 3c4322bf1a
commit 7daf860991
43 changed files with 80 additions and 68 deletions

View File

@@ -30,7 +30,7 @@ def flag_handler(self, name, flags):
# FIXME; It is assumed that cray is x86_64.
# If you support arm on cray, you need to fix it.
arch = 'x86_64'
if (arch != 'x86_64' and not spec.satisfies("target=x86_64")):
if arch != 'x86_64' and spec.target.family != 'x86_64':
if spec.satisfies("+sse"):
raise ConflictsInSpecError(
spec,
@@ -55,7 +55,7 @@ def flag_handler(self, name, flags):
@property
def makefile_file(self):
if not self.spec.satisfies('target=x86_64'):
if self.spec.target.family != 'x86_64':
return 'Makefile.nosse'
elif '+sse' in self.spec:
return 'Makefile.SSE3.gcc'
@@ -73,7 +73,7 @@ def build(self, spec, prefix):
def install(self, spec, prefix):
mkdirp(prefix.bin)
if not self.spec.satisfies('target=x86_64'):
if self.spec.target.family != 'x86_64':
install('parsimonator', prefix.bin)
elif '+sse' in spec:
install('parsimonator-SSE3', prefix.bin)