mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-04-02 02:49:12 +00:00
mpich: Upgrade to 4.1.1
mpich 4.1+ has its own official way to allow cross-compiling, use it. Remove the old PACKAGECONFIG[x11], the configuration option does not exist anymore. Add PACKAGECONFIG knobs to allow building the C++ and FORTRAN parts. Both are needed by intel-oneapi-mkl in meta-intel. Don't enable either by default to keep the current minimalistic build. Remove configuration options that don't exist in the new version. Fix TMPDIR being emitted into binaries and scripts like mpicc and mpicxx Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
deaa4c111f
commit
aceaf2bfda
@ -1,58 +0,0 @@
|
||||
SUMMARY = "Message Passing Interface (MPI) implementation"
|
||||
HOMEPAGE = "http://www.mpich.org/"
|
||||
SECTION = "devel"
|
||||
|
||||
LICENSE = "BSD-2-Clause"
|
||||
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bd4d7ab13df98988b1ca2a4e01c8c163"
|
||||
|
||||
SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz"
|
||||
SRC_URI[sha256sum] = "17406ea90a6ed4ecd5be39c9ddcbfac9343e6ab4f77ac4e8c5ebe4a3e3b6c501"
|
||||
|
||||
RDEPENDS:${PN} += "bash perl libxml2"
|
||||
|
||||
EXTRA_OECONF = "--enable-debuginfo \
|
||||
--enable-fast \
|
||||
--enable-shared \
|
||||
--with-pm=gforker \
|
||||
--disable-rpath \
|
||||
--disable-f77 \
|
||||
--disable-fc \
|
||||
--disable-fortran \
|
||||
--disable-cxx \
|
||||
BASH_SHELL='${USRBINPATH}/env bash' \
|
||||
PERL='${USRBINPATH}/env perl' \
|
||||
--with-device=ch3:nemesis \
|
||||
--with-rdmacm=no \
|
||||
--disable-numa \
|
||||
"
|
||||
|
||||
PACKAGECONFIG += " \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
|
||||
"
|
||||
PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR},--without-x,virtual/libx11"
|
||||
|
||||
# libmpi.so needs symbols like __multf3 and somehow it does not respect --rtlib option passed by clang
|
||||
LDFLAGS:append:x86-64 = " -lgcc"
|
||||
LDFLAGS:append:x86 = " -lgcc"
|
||||
|
||||
inherit autotools gettext pkgconfig
|
||||
|
||||
do_configure() {
|
||||
for d in confdb test/mpi test/mpi/confdb src/pm/hydra/confdb \
|
||||
src/pm/hydra/tools/topo/hwloc/hwloc/config src/pm/hydra/mpl/confdb \
|
||||
modules/yaksa/m4 modules/json-c modules/ucx modules/hwloc/config \
|
||||
test/mpi/dtpools/confdb src/mpl/confdb src/mpi/romio/confdb; do
|
||||
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/$d
|
||||
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/$d
|
||||
done
|
||||
# cd ${S}
|
||||
# autoupdate
|
||||
# autoreconf --verbose --install --force
|
||||
# cd ${B}
|
||||
oe_runconf
|
||||
}
|
||||
|
||||
do_install:append() {
|
||||
sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la
|
||||
sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
|
||||
}
|
||||
67
meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
Normal file
67
meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
Normal file
@ -0,0 +1,67 @@
|
||||
SUMMARY = "Message Passing Interface (MPI) implementation"
|
||||
HOMEPAGE = "http://www.mpich.org/"
|
||||
SECTION = "devel"
|
||||
|
||||
LICENSE = "BSD-2-Clause"
|
||||
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f1804c45b8b4e816e53eb1f175d810f3"
|
||||
|
||||
SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz"
|
||||
SRC_URI[sha256sum] = "ee30471b35ef87f4c88f871a5e2ad3811cd9c4df32fd4f138443072ff4284ca2"
|
||||
|
||||
RDEPENDS:${PN} += "bash perl libxml2"
|
||||
|
||||
EXTRA_OECONF = "--enable-debuginfo \
|
||||
--enable-fast \
|
||||
--enable-shared \
|
||||
--with-pm=gforker \
|
||||
BASH_SHELL='${USRBINPATH}/env bash' \
|
||||
PERL='${USRBINPATH}/env perl' \
|
||||
--with-device=ch3:nemesis \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
|
||||
PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx"
|
||||
PACKAGECONFIG[fortran] = "--with-cross=${WORKDIR}/cross_values.txt --enable-fortran,--disable-f77 --disable-fortran,libgfortran"
|
||||
|
||||
# libmpi.so needs symbols like __multf3 and somehow it does not respect --rtlib option passed by clang
|
||||
LDFLAGS:append:x86-64 = " -lgcc"
|
||||
LDFLAGS:append:x86 = " -lgcc"
|
||||
|
||||
inherit autotools gettext pkgconfig qemu
|
||||
|
||||
DEPENDS += "qemu-native"
|
||||
|
||||
do_configure() {
|
||||
if [ "${@bb.utils.contains('PACKAGECONFIG', 'fortran', '1', '', d)}" = "1" ]; then
|
||||
qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
|
||||
cat > ${WORKDIR}/qemuwrapper << EOF
|
||||
#!/bin/sh
|
||||
$qemu_binary "\$@"
|
||||
EOF
|
||||
chmod +x ${WORKDIR}/qemuwrapper
|
||||
|
||||
sed -i 's:my \(.*\) ./t`;:my \1 ${WORKDIR}/qemuwrapper ${WORKDIR}/t`;:' ${S}/maint/gen_cross.pl
|
||||
|
||||
cd ${WORKDIR}
|
||||
perl ${S}/maint/gen_cross.pl
|
||||
|
||||
sed -i 's:\(CROSS_F90_INTEGER_MODEL_MAP=.*\) }"$:\1 }, ":' ${WORKDIR}/cross_values.txt
|
||||
fi
|
||||
|
||||
cd ${S}
|
||||
./autogen.sh
|
||||
|
||||
cd ${B}
|
||||
oe_runconf
|
||||
sed -i -e 's,${WORKDIR},,g' ${B}/src/include/mpichinfo.h
|
||||
}
|
||||
|
||||
do_install:append() {
|
||||
sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la
|
||||
sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}${bindir}/mpicxx
|
||||
sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}${bindir}/mpicc
|
||||
sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
|
||||
sed -i 's,${RECIPE_SYSROOT},/,g' ${D}${bindir}/mpicc
|
||||
sed -i 's,${RECIPE_SYSROOT},/,g' ${D}${bindir}/mpicxx
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user