Skip to content

Commit b004143

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into develop
2 parents 54c6009 + 65fa71c commit b004143

52 files changed

Lines changed: 897 additions & 533 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

lib/spack/spack/solver/concretize.lp

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,16 +1011,6 @@ node_os_weight(PackageNode, Weight)
10111011
attr("node_os", PackageNode, OS),
10121012
os(OS, Weight).
10131013

1014-
% match semantics for OS's
1015-
node_os_match(PackageNode, DependencyNode) :-
1016-
depends_on(PackageNode, DependencyNode),
1017-
attr("node_os", PackageNode, OS),
1018-
attr("node_os", DependencyNode, OS).
1019-
1020-
node_os_mismatch(PackageNode, DependencyNode) :-
1021-
depends_on(PackageNode, DependencyNode),
1022-
not node_os_match(PackageNode, DependencyNode).
1023-
10241014
% every OS is compatible with itself. We can use `os_compatible` to declare
10251015
os_compatible(OS, OS) :- os(OS).
10261016

@@ -1509,16 +1499,6 @@ opt_criterion(39, "compiler mismatches that are not from CLI").
15091499
build_priority(PackageNode, Priority)
15101500
}.
15111501

1512-
% Try to minimize the number of compiler mismatches in the DAG.
1513-
opt_criterion(35, "OS mismatches").
1514-
#minimize{ 0@235: #true }.
1515-
#minimize{ 0@35: #true }.
1516-
#minimize{
1517-
1@35+Priority,PackageNode,DependencyNode
1518-
: node_os_mismatch(PackageNode, DependencyNode),
1519-
build_priority(PackageNode, Priority)
1520-
}.
1521-
15221502
opt_criterion(30, "non-preferred OS's").
15231503
#minimize{ 0@230: #true }.
15241504
#minimize{ 0@30: #true }.

lib/spack/spack/target.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,4 +155,5 @@ def optimization_flags(self, compiler):
155155
# log this and just return compiler.version instead
156156
tty.debug(str(e))
157157

158+
compiler_version = compiler_version.dotted.force_numeric
158159
return self.microarchitecture.optimization_flags(compiler.name, str(compiler_version))

lib/spack/spack/version/version_types.py

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -193,12 +193,15 @@ def __getitem__(self, idx):
193193
message = "{cls.__name__} indices must be integers"
194194
raise TypeError(message.format(cls=cls))
195195

196+
def _stringify(self):
197+
string = ""
198+
for index in range(len(self.version)):
199+
string += str(self.version[index])
200+
string += str(self.separators[index])
201+
return string
202+
196203
def __str__(self):
197-
return (
198-
self.string
199-
if isinstance(self.string, str)
200-
else ".".join((str(c) for c in self.version))
201-
)
204+
return self.string or self._stringify()
202205

203206
def __repr__(self) -> str:
204207
# Print indirect repr through Version(...)
@@ -257,6 +260,21 @@ def isdevelop(self):
257260
isinstance(p, VersionStrComponent) and isinstance(p.data, int) for p in self.version
258261
)
259262

263+
@property
264+
def force_numeric(self):
265+
"""Replaces all non-numeric components of the version with 0
266+
267+
This can be used to pass Spack versions to libraries that have stricter version schema.
268+
"""
269+
numeric = tuple(0 if isinstance(v, VersionStrComponent) else v for v in self.version)
270+
# null separators except the final one have to be converted to avoid concatenating ints
271+
# default to '.' as most common delimiter for versions
272+
separators = tuple(
273+
"." if s == "" and i != len(self.separators) - 1 else s
274+
for i, s in enumerate(self.separators)
275+
)
276+
return type(self)(None, numeric, separators)
277+
260278
@property
261279
def dotted(self):
262280
"""The dotted representation of the version.

var/spack/repos/builtin/packages/amdlibm/package.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from llnl.util import tty
99

1010
from spack.package import *
11+
from spack.util.cpus import determine_number_of_jobs
1112

1213

1314
class Amdlibm(SConsPackage):
@@ -65,7 +66,7 @@ class Amdlibm(SConsPackage):
6566

6667
def build_args(self, spec, prefix):
6768
"""Setting build arguments for amdlibm"""
68-
args = ["--prefix={0}".format(prefix)]
69+
args = [f"-j{determine_number_of_jobs(parallel=True)}", f"--prefix={prefix}"]
6970

7071
if self.spec.satisfies("@4.1: "):
7172
args.append("--aocl_utils_install_path={0}".format(self.spec["aocl-utils"].prefix))

var/spack/repos/builtin/packages/aocl-sparse/package.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ def cmake_args(self):
108108
if spec.satisfies("@3.0:"):
109109
args.append(self.define_from_variant("BUILD_ILP64", "ilp64"))
110110

111-
if self.spec.satisfies("@4.0:"):
111+
if self.spec.satisfies("@4.1:"):
112112
args.append(f"-DAOCL_BLIS_LIB={self.spec['amdblis'].libs}")
113113
args.append(
114114
"-DAOCL_BLIS_INCLUDE_DIR={0}/blis".format(self.spec["amdblis"].prefix.include)

var/spack/repos/builtin/packages/apex/package.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class Apex(CMakePackage):
1818

1919
version("develop", branch="develop")
2020
version("master", branch="master")
21+
version("2.6.5", sha256="2ba29a1198c904ac209fc6bc02962304a1416443b249f34ef96889aff39644ce")
2122
version("2.6.4", sha256="281a673f447762a488577beaa60e48d88cb6354f220457cf8f05c1de2e1fce70")
2223
version("2.6.3", sha256="7fef12937d3bd1271a01abe44cb931b1d63823fb5c74287a332f3012ed7297d5")
2324
version("2.6.2", sha256="0c3ec26631db7925f50cf4e8920a778b57d11913f239a0eb964081f925129725")

var/spack/repos/builtin/packages/berkeleygw/package.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,11 @@ def build(self, spec, prefix):
232232
f90_flags += " -fallow-argument-mismatch"
233233
buildopts.append("COMPFLAG=-DGNU")
234234
buildopts.append("MOD_OPT=-J ")
235-
buildopts.append("FCPP=cpp -C -nostdinc")
235+
# std c11 prevents problems with linebreaks and fortran comments
236+
# containing // (which is interpreted as C++ style comment)
237+
buildopts.append(
238+
"FCPP=%s -C -nostdinc -std=c11" % join_path(self.compiler.prefix, "bin", "cpp")
239+
)
236240
if "+mpi" in spec:
237241
buildopts.append("F90free=%s %s" % (spec["mpi"].mpifc, f90_flags))
238242
buildopts.append("C_COMP=%s %s" % (spec["mpi"].mpicc, c_flags))

0 commit comments

Comments
 (0)