diff mbox series

[meta-oe,v2] mpich: Upgrade to 4.1.1

Message ID 20230607064017.4062296-1-zboszor@gmail.com
State New
Headers show
Series [meta-oe,v2] mpich: Upgrade to 4.1.1 | expand

Commit Message

Böszörményi Zoltán June 7, 2023, 6:40 a.m. UTC
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.

Set TOOLCHAIN = "gcc" so gfortran may be used.

Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
---
 meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb | 58 -----------------
 meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb | 63 +++++++++++++++++++
 2 files changed, 63 insertions(+), 58 deletions(-)
 delete mode 100644 meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
 create mode 100644 meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb

Comments

Khem Raj June 7, 2023, 6:47 a.m. UTC | #1
On Tue, Jun 6, 2023 at 11:40 PM Zoltán Böszörményi <zboszor@gmail.com>
wrote:

> 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.
>
> Set TOOLCHAIN = "gcc" so gfortran may be used.


we do not enable Fortran even with gcc by default, is it a requirement now
for this recipe ?


>
> Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
> ---
>  meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb | 58 -----------------
>  meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb | 63 +++++++++++++++++++
>  2 files changed, 63 insertions(+), 58 deletions(-)
>  delete mode 100644 meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
>  create mode 100644 meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
>
> diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
> b/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
> deleted file mode 100644
> index 000f73981..000000000
> --- a/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
> +++ /dev/null
> @@ -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
> -}
> diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
> b/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
> new file mode 100644
> index 000000000..e65f9074e
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
> @@ -0,0 +1,63 @@
> +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"
> +
> +TOOLCHAIN = "gcc"
> +
> +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 \
> +    --with-cross=${WORKDIR}/cross_values.txt \
> +"
> +
> +PACKAGECONFIG ??= ""
> +
> +PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx"
> +PACKAGECONFIG[fortran] = "--enable-fortran,--disable-f77 --disable-fc
> --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() {
> +    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
> +
> +    cd ${S}
> +    ./autogen.sh
> +
> +    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
> +}
> --
> 2.40.1
>
>
Böszörményi Zoltán June 7, 2023, 7:15 a.m. UTC | #2
2023. 06. 07. 8:47 keltezéssel, Khem Raj írta:
>
>
> On Tue, Jun 6, 2023 at 11:40 PM Zoltán Böszörményi <zboszor@gmail.com> wrote:
>
>     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.
>
>     Set TOOLCHAIN = "gcc" so gfortran may be used.
>
>
> we do not enable Fortran even with gcc by default, is it a requirement now for this 
> recipe ?

The cross file generator uses it.

Maybe it's better to move the --with-cross= setting into PACKAGEGROUP[fortran].

Also, how to express a build time dependency on arch-gfortran in a generic way?


>
>
>
>     Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com>
>     ---
>      meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb <http://mpich_4.0.3.bb> | 58
>     -----------------
>      meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb <http://mpich_4.1.1.bb> | 63
>     +++++++++++++++++++
>      2 files changed, 63 insertions(+), 58 deletions(-)
>      delete mode 100644 meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
>     <http://mpich_4.0.3.bb>
>      create mode 100644 meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
>     <http://mpich_4.1.1.bb>
>
>     diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb <http://mpich_4.0.3.bb>
>     b/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb <http://mpich_4.0.3.bb>
>     deleted file mode 100644
>     index 000f73981..000000000
>     --- a/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb <http://mpich_4.0.3.bb>
>     +++ /dev/null
>     @@ -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
>     <http://www.mpich.org/static/downloads/$%7BPV%7D/mpich-$%7BPV%7D.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 <http://libmpi.la>
>     -    sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
>     -}
>     diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb <http://mpich_4.1.1.bb>
>     b/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb <http://mpich_4.1.1.bb>
>     new file mode 100644
>     index 000000000..e65f9074e
>     --- /dev/null
>     +++ b/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb <http://mpich_4.1.1.bb>
>     @@ -0,0 +1,63 @@
>     +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
>     <http://www.mpich.org/static/downloads/$%7BPV%7D/mpich-$%7BPV%7D.tar.gz>"
>     +SRC_URI[sha256sum] = "ee30471b35ef87f4c88f871a5e2ad3811cd9c4df32fd4f138443072ff4284ca2"
>     +
>     +TOOLCHAIN = "gcc"
>     +
>     +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 \
>     +    --with-cross=${WORKDIR}/cross_values.txt \
>     +"
>     +
>     +PACKAGECONFIG ??= ""
>     +
>     +PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx"
>     +PACKAGECONFIG[fortran] = "--enable-fortran,--disable-f77 --disable-fc
>     --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() {
>     +    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 <http://gen_cross.pl>
>     +
>     +    cd ${WORKDIR}
>     +    perl ${S}/maint/gen_cross.pl <http://gen_cross.pl>
>     +
>     +    sed -i 's:\(CROSS_F90_INTEGER_MODEL_MAP=.*\) }"$:\1 }, ":'
>     ${WORKDIR}/cross_values.txt
>     +
>     +    cd ${S}
>     +    ./autogen.sh
>     +
>     +    cd ${B}
>     +    oe_runconf
>     +}
>     +
>     +do_install:append() {
>     +    sed -i 's,${S}/,,g' ${D}/${libdir}/libmpi.la <http://libmpi.la>
>     +    sed -i 's,${DEBUG_PREFIX_MAP},,g' ${D}/${libdir}/pkgconfig/mpich.pc
>     +}
>     -- 
>     2.40.1
>
diff mbox series

Patch

diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb b/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
deleted file mode 100644
index 000f73981..000000000
--- a/meta-oe/recipes-devtools/mpich/mpich_4.0.3.bb
+++ /dev/null
@@ -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
-}
diff --git a/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb b/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
new file mode 100644
index 000000000..e65f9074e
--- /dev/null
+++ b/meta-oe/recipes-devtools/mpich/mpich_4.1.1.bb
@@ -0,0 +1,63 @@ 
+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"
+
+TOOLCHAIN = "gcc"
+
+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 \
+    --with-cross=${WORKDIR}/cross_values.txt \
+"
+
+PACKAGECONFIG ??= ""
+
+PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx"
+PACKAGECONFIG[fortran] = "--enable-fortran,--disable-f77 --disable-fc --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() {
+    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
+
+    cd ${S}
+    ./autogen.sh
+
+    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
+}