Petsc: fix enable-x for virtuals (#30749)

* If direct dependencies provide virtuals, add those virtual names as well
* Also refer to package by virtual name for jpeg
This commit is contained in:
Peter Scheibel 2022-05-19 20:15:44 -07:00 committed by GitHub
parent 23960ed623
commit 55f4950ed4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -440,9 +440,6 @@ def configure_options(self):
else:
options.append('--with-clanguage=C')
# Activates library support if needed (i.e. direct dependency)
jpeg_sp = spec['jpeg'].name if 'jpeg' in spec else 'jpeg'
# to be used in the list of libraries below
if '+fortran' in spec:
hdf5libs = ':hl,fortran'
@ -453,7 +450,11 @@ def configure_options(self):
# default: 'gmp', => ('gmp', 'gmp', True, True)
# any other combination needs a full tuple
# if not (useinc || uselib): usedir - i.e (False, False)
direct_dependencies = [x.name for x in spec.dependencies()]
direct_dependencies = []
for dep in spec.dependencies():
direct_dependencies.append(dep.name)
direct_dependencies.extend(
set(vspec.name for vspec in dep.package.virtuals_provided))
for library in (
('cuda', 'cuda', False, False),
('hip', 'hip', True, False),
@ -487,7 +488,7 @@ def configure_options(self):
('saws', 'saws', False, False),
('libyaml', 'yaml', True, True),
'hwloc',
(jpeg_sp, 'libjpeg', True, True),
('jpeg', 'libjpeg', True, True),
('scalapack', 'scalapack', False, True),
'strumpack',
'mmg',