Files
MX_Pmodule/Compiler/mpich/build
2024-10-16 17:07:57 +02:00

71 lines
2.3 KiB
Plaintext
Executable File

#!/usr/bin/env modbuild
pbuild::pre_configure() {
unset F90
pbuild::add_configure_args "--enable-shared"
pbuild::add_configure_args "--enable-static"
if [[ -v CUDA_VERSION ]]; then
std::info "Enabling CUDA ${CUDA_VERSION}."
pbuild::add_configure_args "--with-cuda=${CUDA_HOME}"
fi
if [[ -v HWLOC_VERSION ]]; then
unset HWLOC_VERSION
std::info "Enabling external hwloc ${HWLOC_PREFIX}."
pbuild::add_configure_args "--with-hwloc=${HWLOC_PREFIX}"
else
pbuild::add_configure_args "--with-hwloc=embedded"
fi
if [[ -v PMIX_VERSION ]]; then
std::info "Enabling PMIX ${PMIX_VERSION}."
unset PMIX_VERSION
pbuild::add_configure_args "--with-pmix=${PMIX_PREFIX}"
pbuild::add_configure_args "--with-pmi=pmix"
fi
if pbuild::use_flag merlin7 && [[ ! -v LIBFABRIC_VERSION ]]; then
if pkg-config --exists libfabric; then
std::info "Get LIBFABRIC_VERSION via pkg-config"
LIBFABRIC_PREFIX=$(pkg-config --variable=prefix libfabric)
LIBFABRIC_VERSION="$(LIBFABRIC_PREFIX##*/)"
fi
fi
if [[ -v LIBFABRIC_VERSION ]]; then
std::info "Enabling libfabric ${LIBFABRIC_VERSION}."
if (( V_MAJOR < 4 )); then
pbuild::add_configure_args "--with-ofi=${LIBFABRIC_PREFIX}"
fi
pbuild::add_configure_args "--with-libfabric=${LIBFABRIC_PREFIX}"
fi
if [[ -v UCX_VERSION ]]; then
std::info "Enabling UCX ${UCX_VERSION}."
pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}"
fi
if [[ -v INTEL_VERSION ]]; then
pbuild::add_configure_args "CC=icc"
pbuild::add_configure_args "CXX=icpc"
pbuild::add_configure_args "FC=ifort"
pbuild::add_configure_args "F90=ifort"
pbuild::add_configure_args "F77=ifort"
pbuild::add_configure_args "LDFLAGS=-Wc,-static-intel,-O0"
fi
if pbuild::use_flag slurm || \
pbuild::use_flag merlin6 || \
pbuild::use_flag merlin7; then
std::info "Enabling SLURM."
pbuild::add_configure_args "--with-slurm"
fi
}
# Local Variables:
# mode: sh
# sh-basic-offset: 8
# tab-width: 8
# End: