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 <zbos...@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 <zbos...@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


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#103164): 
https://lists.openembedded.org/g/openembedded-devel/message/103164
Mute This Topic: https://lists.openembedded.org/mt/99379712/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to