Use new prefer and require:when clauses to clarify intent

This commit is contained in:
Stephen Sachs 2024-04-10 10:13:14 +02:00
parent d7ebfd69fa
commit c7eea3d032

View File

@ -5,20 +5,22 @@ packages:
- one_of: - one_of:
- "cflags=-std=c18 target=x86_64_v4" - "cflags=-std=c18 target=x86_64_v4"
- "cflags=-std=c18 target=x86_64_v3" - "cflags=-std=c18 target=x86_64_v3"
- "%gcc" when: "%intel"
gettext: gettext:
require: require:
- one_of: - one_of:
- "cflags=-std=c18 target=x86_64_v4" - "cflags=-std=c18 target=x86_64_v4"
- "cflags=-std=c18 target=x86_64_v4" - "cflags=-std=c18 target=x86_64_v3"
- "%gcc" when: "%intel"
message: "gettext uses single valued `static_assert` which is only available in `icc` as part of later C standard." message: "gettext uses single valued `static_assert` which is only available in `icc` as part of later C standard."
gromacs: gromacs:
prefer:
- "%intel"
require: require:
- one_of: - one_of:
- "+intel_provided_gcc %intel ^intel-oneapi-mkl target=x86_64_v4" - "+intel_provided_gcc ^intel-oneapi-mkl target=x86_64_v4"
- "+intel_provided_gcc %intel ^intel-oneapi-mkl target=x86_64_v3" - "+intel_provided_gcc ^intel-oneapi-mkl target=x86_64_v3"
- "%gcc" when: "%intel"
intel-mpi: intel-mpi:
variants: +external-libfabric variants: +external-libfabric
intel-oneapi-compilers: intel-oneapi-compilers:
@ -26,17 +28,19 @@ packages:
intel-oneapi-mpi: intel-oneapi-mpi:
variants: +external-libfabric generic-names=True variants: +external-libfabric generic-names=True
lammps: lammps:
prefer:
- "%intel"
require: require:
- one_of: - one_of:
- "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package +intel %intel ^intel-oneapi-mkl target=x86_64_v4" - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package +intel ^intel-oneapi-mkl target=x86_64_v4"
- "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package %intel ^intel-oneapi-mkl target=x86_64_v3" - "lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package ^intel-oneapi-mkl target=x86_64_v3"
- "%gcc" when: "%intel"
libidn2: libidn2:
require: require:
- one_of: - one_of:
- "cflags=-std=c18 target=x86_64_v4" - "cflags=-std=c18 target=x86_64_v4"
- "cflags=-std=c18 target=x86_64_v3" - "cflags=-std=c18 target=x86_64_v3"
- '%gcc' when: "%intel"
libfabric: libfabric:
buildable: true buildable: true
externals: externals:
@ -48,13 +52,15 @@ packages:
- one_of: - one_of:
- "cflags=-std=c18 target=x86_64_v4" - "cflags=-std=c18 target=x86_64_v4"
- "cflags=-std=c18 target=x86_64_v3" - "cflags=-std=c18 target=x86_64_v3"
- "%gcc" when: "%intel"
mpas-model: mpas-model:
prefer:
- "%intel"
require: require:
- one_of: - one_of:
- "precision=single %intel ^parallelio+pnetcdf target=x86_64_v4" - "precision=single ^parallelio+pnetcdf target=x86_64_v4"
- "precision=single %intel ^parallelio+pnetcdf target=x86_64_v3" - "precision=single ^parallelio+pnetcdf target=x86_64_v3"
- "%gcc" when: "%intel"
mpich: mpich:
require: require:
- one_of: - one_of:
@ -72,36 +78,46 @@ packages:
- "openmpi @4: target=x86_64_v4" - "openmpi @4: target=x86_64_v4"
- "openmpi @4: target=x86_64_v3" - "openmpi @4: target=x86_64_v3"
palace: palace:
prefer:
- "%oneapi"
require: require:
- one_of: - one_of:
- "palace %oneapi ^fmt@9.1.0 target=x86_64_v4" - "palace ^fmt@9.1.0 target=x86_64_v4"
- "palace %oneapi ^fmt@9.1.0 target=x86_64_v3" - "palace ^fmt@9.1.0 target=x86_64_v3"
- "%gcc ^fmt@9.1.0" when: "%oneapi"
- one_of:
- "palace ^fmt@9.1.0"
when: "%gcc"
pmix: pmix:
require: require:
- one_of: - one_of:
- "pmix@3: target=x86_64_v4" - "pmix@3: target=x86_64_v4"
- "pmix@3: target=x86_64_v3" - "pmix@3: target=x86_64_v3"
quantum-espresso: quantum-espresso:
prefer:
- "%intel"
require: require:
- one_of: - one_of:
- "quantum-espresso@6.6 %intel ^intel-oneapi-mkl+cluster target=x86_64_v4" - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v4"
- "quantum-espresso@6.6 %intel ^intel-oneapi-mkl+cluster target=x86_64_v3" - "quantum-espresso@6.6 ^intel-oneapi-mkl+cluster target=x86_64_v3"
- "%gcc" when: "%intel"
slurm: slurm:
buildable: false buildable: false
externals: externals:
- prefix: /opt/slurm/ - prefix: /opt/slurm/
spec: slurm@${SLURM_VERSION} +pmix spec: slurm@${SLURM_VERSION} +pmix
wrf: wrf:
prefer:
- "%intel"
require: require:
- one_of: - one_of:
- "wrf@4 build_type=dm+sm %intel target=x86_64_v4" - "wrf@4 build_type=dm+sm target=x86_64_v4"
- "wrf@4 build_type=dm+sm %intel target=x86_64_v3" - "wrf@4 build_type=dm+sm target=x86_64_v3"
- "wrf@4.2.2 +netcdf_classic fflags=\"-fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common\" build_type=dm+sm %intel target=x86_64_v3" - "wrf@4.2.2 +netcdf_classic fflags=\"-fp-model fast=2 -no-heap-arrays -no-prec-div -no-prec-sqrt -fno-common\" build_type=dm+sm target=x86_64_v3"
- "%gcc" when: "%intel"
all: all:
compiler: [intel, gcc] compiler: [intel, oneapi, gcc]
permissions: permissions:
read: world read: world
write: user write: user