From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 15976138247 for ; Sun, 24 Nov 2013 10:25:58 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id DF473E0A83; Sun, 24 Nov 2013 10:25:55 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 63F9CE0A83 for ; Sun, 24 Nov 2013 10:25:55 +0000 (UTC) Received: from flycatcher.gentoo.org (flycatcher.gentoo.org [81.93.255.6]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2289B33F152 for ; Sun, 24 Nov 2013 10:25:54 +0000 (UTC) Received: by flycatcher.gentoo.org (Postfix, from userid 2279) id D900A2004B; Sun, 24 Nov 2013 10:25:52 +0000 (UTC) From: "Michal Gorny (mgorny)" To: gentoo-commits@lists.gentoo.org Reply-To: gentoo-dev@lists.gentoo.org, mgorny@gentoo.org Subject: [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass X-VCS-Repository: gentoo-x86 X-VCS-Files: ChangeLog autotools-multilib.eclass X-VCS-Directories: eclass X-VCS-Committer: mgorny X-VCS-Committer-Name: Michal Gorny Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Message-Id: <20131124102552.D900A2004B@flycatcher.gentoo.org> Date: Sun, 24 Nov 2013 10:25:52 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: e146b282-54cd-474e-987d-2ce3bb417e1d X-Archives-Hash: 4eb2f7729b66309b2e3b75b44e569d21 mgorny 13/11/24 10:25:52 Modified: ChangeLog autotools-multilib.eclass Log: Reuse multilib-minimal to reduce code duplication and allow easier function overrides. Revision Changes Path 1.1065 eclass/ChangeLog file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1065&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1065&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1064&r2=1.1065 Index: ChangeLog =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v retrieving revision 1.1064 retrieving revision 1.1065 diff -u -r1.1064 -r1.1065 --- ChangeLog 22 Nov 2013 09:05:55 -0000 1.1064 +++ ChangeLog 24 Nov 2013 10:25:52 -0000 1.1065 @@ -1,6 +1,10 @@ # ChangeLog for eclass directory # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1064 2013/11/22 09:05:55 haubi Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1065 2013/11/24 10:25:52 mgorny Exp $ + + 24 Nov 2013; Michał Górny autotools-multilib.eclass: + Reuse multilib-minimal to reduce code duplication and allow easier function + overrides. 22 Nov 2013; Michael Haubenwallner libtool.eclass: elibtoolize(): Besides ltmain.sh, explicitly locate configure to apply 1.18 eclass/autotools-multilib.eclass file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.18&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.18&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.17&r2=1.18 Index: autotools-multilib.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- autotools-multilib.eclass 28 Jun 2013 12:42:48 -0000 1.17 +++ autotools-multilib.eclass 24 Nov 2013 10:25:52 -0000 1.18 @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.17 2013/06/28 12:42:48 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.18 2013/11/24 10:25:52 mgorny Exp $ # @ECLASS: autotools-multilib.eclass # @MAINTAINER: @@ -15,6 +15,10 @@ # when the relevant flag is enabled. Other than that, it works like # regular autotools-utils. # +# The multilib phase functions can be overriden via defining multilib_* +# phase functions as in multilib-minimal.eclass. In some cases you may +# need to call the underlying autotools-utils_* phase though. +# # Note that the multilib support requires out-of-source builds to be # enabled. Thus, it is impossible to use AUTOTOOLS_IN_SOURCE_BUILD with # it. @@ -29,40 +33,71 @@ die "${ECLASS}: multilib support requires out-of-source builds." fi -inherit autotools-utils multilib-build +inherit autotools-utils eutils multilib-build multilib-minimal EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install +# bug #485046 +_autotools-multilib_fix_multilib_minimal() { + src_conf=$(declare -f multilib-minimal_src_configure) + src_conf=${src_conf/multilib_foreach_abi/multilib_parallel_foreach_abi} + eval "${src_conf}" +} +_autotools-multilib_fix_multilib_minimal + +# Note: _at_args[@] passing is a backwards compatibility measure. +# Don't use it in new packages. + autotools-multilib_src_prepare() { autotools-utils_src_prepare "${@}" } +multilib_src_configure() { + autotools-utils_src_configure "${_at_args[@]}" +} + autotools-multilib_src_configure() { - multilib_parallel_foreach_abi autotools-utils_src_configure "${@}" + local _at_args=( "${@}" ) + + multilib-minimal_src_configure +} + +multilib_src_compile() { + emake "${_at_args[@]}" } autotools-multilib_src_compile() { - multilib_foreach_abi autotools-utils_src_compile "${@}" + local _at_args=( "${@}" ) + + multilib-minimal_src_compile +} + +multilib_src_test() { + autotools-utils_src_test "${_at_args[@]}" } autotools-multilib_src_test() { - multilib_foreach_abi autotools-utils_src_test "${@}" + local _at_args=( "${@}" ) + + multilib-minimal_src_test } -autotools-multilib_src_install() { - autotools-multilib_secure_install() { - autotools-utils_src_install "${@}" +multilib_src_install() { + emake DESTDIR="${D}" "${_at_args[@]}" install +} + +multilib_src_install_all() { + einstalldocs - # Do multilib magic only when >1 ABI is used. - if [[ ${#MULTIBUILD_VARIANTS[@]} -gt 1 ]]; then - multilib_prepare_wrappers - # Make sure all headers are the same for each ABI. - multilib_check_headers - fi - } + # Remove libtool files and unnecessary static libs + local prune_ltfiles=${AUTOTOOLS_PRUNE_LIBTOOL_FILES} + if [[ ${prune_ltfiles} != none ]]; then + prune_libtool_files ${prune_ltfiles:+--${prune_ltfiles}} + fi +} - multilib_foreach_abi autotools-multilib_secure_install "${@}" +autotools-multilib_src_install() { + local _at_args=( "${@}" ) - # merge the wrappers - multilib_install_wrappers + multilib-minimal_src_install }