--- trunk/include/multilib.sminc 2014/08/22 12:29:21 22067 +++ trunk/include/multilib.sminc 2017/10/12 07:24:27 29786 @@ -42,10 +42,10 @@ # the var ist decided with our common eval+echo magic if [[ -z ${SDEPEND} ]] then - SDEPEND="\$(eval echo \\\$EMUL_LINUX_32_SDEPEND_\${ARCH/i*86/x86} | tr ';' '\n')" + SDEPEND="$(marchsdepend EMUL_LINUX_32_SDEPEND)" else SDEPEND="${SDEPEND} - \$(eval echo \\\$EMUL_LINUX_32_SDEPEND_\${ARCH/i*86/x86} | tr ';' '\n')" + $(marchsdepend EMUL_LINUX_32_SDEPEND)" fi fi @@ -301,7 +301,7 @@ then cd ${BUILDDIR}/build-${abi} else - cd ${SRCDIR}-${abi} + cd ${SRCDIR} fi abi-${abi} oldcmake_configure $@ || die done @@ -400,6 +400,130 @@ } fi + +if [[ ! -z $(typeset -f meson_configure) ]] +then + # rename the old one + old_meson_configure=old$(typeset -f meson_configure) + eval "${old_meson_configure}" + +meson_configure() +{ + local abi + local abis_to_run="${MULTILIB_ABIS}" + + # respect MULTILIB_ONLY_ABI variable + [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}" + + local saved_SRCDIR="${SRCDIR}" + for abi in ${abis_to_run} + do + SRCDIR="${saved_SRCDIR}-${abi}" + # honor inside and outside build-dir builds + if [ -d ${BUILDDIR}/build-${abi} ] + then + cd ${BUILDDIR}/build-${abi} + else + cd ${SRCDIR} + fi + abi-${abi} oldmeson_configure $@ || die + done + # restore SRCDIR + SRCDIR="${saved_SRCDIR}" +} +fi + +if [[ ! -z $(typeset -f meson_src_compile) ]] +then + # rename the old one + old_meson_src_compile=old$(typeset -f meson_src_compile) + eval "${old_meson_src_compile}" + +meson_src_compile() +{ + local abi + local abis_to_run="${MULTILIB_ABIS}" + + # respect MULTILIB_ONLY_ABI variable + [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}" + + for abi in ${abis_to_run} + do + # remove build dir if exist + [[ -d ${BUILDDIR}/build-${abi} ]] && rm -rf ${BUILDDIR}/build-${abi} + + # build outside of the source dir + install -d ${BUILDDIR}/build-${abi} || die + cd ${BUILDDIR}/build-${abi} + done + + meson_configure || die + + for abi in ${abis_to_run} + do + cd ${BUILDDIR}/build-${abi} + abi-${abi} ninja $@ || die + done +} +fi + +if [[ ! -z $(typeset -f meson_src_check) ]] +then + # rename the old one + old_meson_src_check=old$(typeset -f meson_src_check) + eval "${old_meson_check}" + +meson_src_check() +{ + local abi + local abis_to_run="${MULTILIB_ABIS}" + + # respect MULTILIB_ONLY_ABI variable + [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}" + + for abi in ${abis_to_run} + do + # honor inside and outside build-dir builds + if [ -d ${BUILDDIR}/build-${abi} ] + then + cd ${BUILDDIR}/build-${abi} + else + cd ${SRCDIR}-${abi} + fi + meson test || die + done +} +fi + +if [[ ! -z $(typeset -f meson_src_install) ]] +then + # rename the old one + old_meson_src_install=old$(typeset -f meson_src_install) + eval "${old_meson_install}" + +meson_src_install() +{ + local abi + local abis_to_run="${MULTILIB_ABIS}" + + # respect MULTILIB_ONLY_ABI variable + [[ ! -z ${MULTILIB_ONLY_ABI} ]] && abis_to_run="${MULTILIB_ONLY_ABI}" + + for abi in ${abis_to_run} + do + # honor inside and outside build-dir builds + if [ -d ${BUILDDIR}/build-${abi} ] + then + cd ${BUILDDIR}/build-${abi} + else + cd ${SRCDIR}-${abi} + fi + abi-${abi} DESTDIR=${BINDIR} ninja $@ install || die + done +} +fi + + if [[ ! -z $(typeset -f munpack) ]] then # rename the old one