--- trunk/include/multilib.sminc 2014/02/13 14:41:09 20903 +++ trunk/include/multilib.sminc 2014/02/19 11:32:53 20977 @@ -294,14 +294,69 @@ local saved_SRCDIR="${SRCDIR}" for abi in ${abis_to_run} do + cd ${BUILDDIR}/build-${abi} SRCDIR="${saved_SRCDIR}-${abi}" - cd ${SRCDIR}/${SRCSUBDIR} abi-${abi} oldcmake_configure $@ || die done # restore SRCDIR SRCDIR="${saved_SRCDIR}" } +if [[ ! -z $(typeset -f cmake_src_compile) ]] +then + # rename the old one + old_cmake_src_compile=old$(typeset -f cmake_src_compile) + eval "${old_cmake_src_compile}" +fi +cmake_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 + + cmake_configure || die + + for abi in ${abis_to_run} + do + cd ${BUILDDIR}/build-${abi} + abi-${abi} oldmmake $@ || die + done +} + +if [[ ! -z $(typeset -f cmake_src_install) ]] +then + # rename the old one + old_cmake_src_install=old$(typeset -f cmake_src_install) + eval "${old_cmake_install}" +fi +cmake_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 + # install build outside of the source dir + cd ${BUILDDIR}/build-${abi} + abi-${abi} oldmmake DESTDIR=${BINDIR} $@ install || die + done +} + if [[ ! -z $(typeset -f munpack) ]] then # rename the old one @@ -483,18 +538,33 @@ multilib_src_compile() { - mconfigure || die - mmake || die + if [[ ! -z $(typeset -f cmake_src_compile) ]] + then + cmake_src_compile || die + else + mconfigure || die + mmake || die + fi } multilib_src_check() { - mmake -j1 -k check || die + if [[ ! -z $(typeset -f cmake_src_check) ]] + then + cmake_src_check || die + else + mmake -j1 -k check || die + fi } multilib_src_install() { - mmake DESTDIR=${BINDIR} install || die + if [[ ! -z $(typeset -f cmake_src_install) ]] + then + cmake_src_compile || die + else + mmake DESTDIR=${BINDIR} install || die + fi local i for abi in ${MULTILIB_ABIS}