SUMMARY = "Message Passing Interface (MPI) implementation" HOMEPAGE = "http://www.mpich.org/" SECTION = "devel" LICENSE = "BSD-2-Clause" LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=7a88f0d96d0d7396a7c66bf353235b62" SRC_URI = "http://www.mpich.org/static/downloads/${PV}/mpich-${PV}.tar.gz" SRC_URI[sha256sum] = "a64a66781b9e5312ad052d32689e23252f745b27ee8818ac2ac0c8209bc0b90e" 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 }