* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2012-10-08 18:44 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2012-10-08 18:44 UTC (permalink / raw
To: gentoo-commits
mgorny 12/10/08 18:44:30
Modified: ChangeLog
Added: autotools-multilib.eclass
Log:
Introduce autotools-multilib, to simplify building multilib packages with autotools-utils.
Revision Changes Path
1.434 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.434&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.434&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.433&r2=1.434
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.433
retrieving revision 1.434
diff -u -r1.433 -r1.434
--- ChangeLog 7 Oct 2012 14:53:43 -0000 1.433
+++ ChangeLog 8 Oct 2012 18:44:30 -0000 1.434
@@ -1,6 +1,10 @@
# ChangeLog for eclass directory
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.433 2012/10/07 14:53:43 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.434 2012/10/08 18:44:30 mgorny Exp $
+
+ 08 Oct 2012; Michał Górny <mgorny@gentoo.org> +autotools-multilib.eclass:
+ Introduce autotools-multilib, to simplify building multilib packages with
+ autotools-utils.
07 Oct 2012; Justin Lecher <jlec@gentoo.org> fortran-2.eclass:
Revert virtual/fortran depends again, because not only USE=fortran controlls
1.1 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.1&content-type=text/plain
Index: autotools-multilib.eclass
===================================================================
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.1 2012/10/08 18:44:30 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
# Michał Górny <mgorny@gentoo.org>
# @BLURB: autotools-utils wrapper for multilib builds
# @DESCRIPTION:
# The autotools-multilib.eclass is an autotools-utils.eclass(5) wrapper
# introducing support for building for more than one ABI (multilib).
#
# Inheriting this eclass sets IUSE=multilib and exports autotools-utils
# phase function wrappers which build the package for each supported ABI
# if the flag is enabled. Otherwise, it works like regular
# autotools-utils.
#
# 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.
case ${EAPI:-0} in
2|3|4) ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
if [[ ${AUTOTOOLS_IN_SOURCE_BUILD} ]]; then
die "${ECLASS}: multilib support requires out-of-source builds."
fi
inherit autotools-utils multilib
EXPORT_FUNCTIONS src_configure src_compile src_test src_install
IUSE=multilib
# @FUNCTION: autotools-multilib_foreach_abi
# @USAGE: argv...
# @DESCRIPTION:
# If multilib support is enabled, sets the toolchain up for each
# supported ABI along with the ABI variable and correct
# AUTOTOOLS_BUILD_DIR, and runs the given commands with them.
#
# If multilib support is disabled, it just runs the commands. No setup
# is done.
autotools-multilib_foreach_abi() {
if use multilib; then
local ABI
for ABI in $(get_all_abis); do
multilib_toolchain_setup "${ABI}"
AUTOTOOLS_BUILD_DIR=${S%%/}-${ABI} "${@}"
done
else
"${@}"
fi
}
autotools-multilib_src_configure() {
autotools-multilib_foreach_abi autotools-utils_src_configure
}
autotools-multilib_src_compile() {
autotools-multilib_foreach_abi autotools-utils_src_compile
}
autotools-multilib_src_test() {
autotools-multilib_foreach_abi autotools-utils_src_test
}
autotools-multilib_src_install() {
autotools-multilib_foreach_abi autotools-utils_src_install
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-01-20 23:42 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-20 23:42 UTC (permalink / raw
To: gentoo-commits
mgorny 13/01/20 23:42:49
Modified: ChangeLog autotools-multilib.eclass
Log:
Enable EAPI=5.
Revision Changes Path
1.629 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.629&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.629&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.628&r2=1.629
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.628
retrieving revision 1.629
diff -u -r1.628 -r1.629
--- ChangeLog 20 Jan 2013 21:41:08 -0000 1.628
+++ ChangeLog 20 Jan 2013 23:42:48 -0000 1.629
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.628 2013/01/20 21:41:08 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.629 2013/01/20 23:42:48 mgorny Exp $
+
+ 20 Jan 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Enable EAPI=5.
20 Jan 2013; Michał Górny <mgorny@gentoo.org> distutils-r1.eclass:
Do not redirect stderr of pushd&popd. Thanks to vapier for catching that.
1.3 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.3&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.3&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.2&r2=1.3
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- autotools-multilib.eclass 1 Dec 2012 16:26:03 -0000 1.2
+++ autotools-multilib.eclass 20 Jan 2013 23:42:48 -0000 1.3
@@ -1,6 +1,6 @@
-# Copyright 1999-2012 Gentoo Foundation
+# 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.2 2012/12/01 16:26:03 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.3 2013/01/20 23:42:48 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -20,7 +20,7 @@
# it.
case ${EAPI:-0} in
- 2|3|4) ;;
+ 2|3|4|5) ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-01-26 11:34 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-26 11:34 UTC (permalink / raw
To: gentoo-commits
mgorny 13/01/26 11:34:16
Modified: ChangeLog autotools-multilib.eclass
Log:
Introduce MULTILIB_USEDEP to enforce correct dependencies.
Revision Changes Path
1.637 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.637&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.637&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.636&r2=1.637
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.636
retrieving revision 1.637
diff -u -r1.636 -r1.637
--- ChangeLog 25 Jan 2013 15:10:24 -0000 1.636
+++ ChangeLog 26 Jan 2013 11:34:16 -0000 1.637
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.636 2013/01/25 15:10:24 haubi Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.637 2013/01/26 11:34:16 mgorny Exp $
+
+ 26 Jan 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Introduce MULTILIB_USEDEP to enforce correct dependencies.
25 Jan 2013; Michael Haubenwallner <haubi@gentoo.org>
+ELT-patches/aixrtl/1.5.0-cmds-c, +ELT-patches/aixrtl/1.5.0-cmds-cxx,
1.4 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.4&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.4&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.3&r2=1.4
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- autotools-multilib.eclass 20 Jan 2013 23:42:48 -0000 1.3
+++ autotools-multilib.eclass 26 Jan 2013 11:34:16 -0000 1.4
@@ -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.3 2013/01/20 23:42:48 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.4 2013/01/26 11:34:16 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -34,6 +34,18 @@
IUSE=multilib
+# @ECLASS-VARIABLE: MULTILIB_USEDEP
+# @DESCRIPTION:
+# The USE-dependency to be used on dependencies (libraries) needing
+# to support multilib as well.
+#
+# Example use:
+# @CODE
+# RDEPEND="dev-libs/libfoo[${MULTILIB_USEDEP}]
+# net-libs/libbar[ssl,${MULTILIB_USEDEP}]"
+# @CODE
+MULTILIB_USEDEP=multilib?
+
# @FUNCTION: autotools-multilib_foreach_abi
# @USAGE: argv...
# @DESCRIPTION:
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-01-26 11:35 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-26 11:35 UTC (permalink / raw
To: gentoo-commits
mgorny 13/01/26 11:35:38
Modified: ChangeLog autotools-multilib.eclass
Log:
Support running commands in parallel and use it to run configure scripts.
Revision Changes Path
1.638 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.638&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.638&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.637&r2=1.638
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.637
retrieving revision 1.638
diff -u -r1.637 -r1.638
--- ChangeLog 26 Jan 2013 11:34:16 -0000 1.637
+++ ChangeLog 26 Jan 2013 11:35:38 -0000 1.638
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.637 2013/01/26 11:34:16 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.638 2013/01/26 11:35:38 mgorny Exp $
+
+ 26 Jan 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Support running commands in parallel and use it to run configure scripts.
26 Jan 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
Introduce MULTILIB_USEDEP to enforce correct dependencies.
1.5 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.5&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.5&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.4&r2=1.5
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- autotools-multilib.eclass 26 Jan 2013 11:34:16 -0000 1.4
+++ autotools-multilib.eclass 26 Jan 2013 11:35:38 -0000 1.5
@@ -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.4 2013/01/26 11:34:16 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.5 2013/01/26 11:35:38 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -28,7 +28,7 @@
die "${ECLASS}: multilib support requires out-of-source builds."
fi
-inherit autotools-utils multilib
+inherit autotools-utils multilib multiprocessing
EXPORT_FUNCTIONS src_configure src_compile src_test src_install
@@ -69,8 +69,45 @@
fi
}
+# @FUNCTION: autotools-multilib_parallel_foreach_abi
+# @USAGE: argv...
+# @DESCRIPTION:
+# If multilib support is enabled, sets the toolchain up for each
+# supported ABI along with the ABI variable and correct BUILD_DIR,
+# and runs the given commands with them. The commands are run
+# in parallel with number of jobs being determined from MAKEOPTS.
+#
+# If multilib support is disabled, it just runs the commands. No setup
+# is done.
+#
+# Useful for running configure scripts.
+autotools-multilib_parallel_foreach_abi() {
+ local initial_dir=${BUILD_DIR:-${S}}
+
+ if use multilib; then
+ multijob_init
+
+ local ABI
+ for ABI in $(get_all_abis); do
+ (
+ multijob_child_init
+
+ multilib_toolchain_setup "${ABI}"
+ BUILD_DIR=${initial_dir%%/}-${ABI}
+ "${@}"
+ ) &
+
+ multijob_post_fork
+ done
+
+ multijob_finish
+ else
+ "${@}"
+ fi
+}
+
autotools-multilib_src_configure() {
- autotools-multilib_foreach_abi autotools-utils_src_configure
+ autotools-multilib_parallel_foreach_abi autotools-utils_src_configure
}
autotools-multilib_src_compile() {
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-01-26 11:38 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-26 11:38 UTC (permalink / raw
To: gentoo-commits
mgorny 13/01/26 11:38:43
Modified: ChangeLog autotools-multilib.eclass
Log:
Require EAPI=5 to make sure everything works predictably.
Revision Changes Path
1.639 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.639&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.639&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.638&r2=1.639
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.638
retrieving revision 1.639
diff -u -r1.638 -r1.639
--- ChangeLog 26 Jan 2013 11:35:38 -0000 1.638
+++ ChangeLog 26 Jan 2013 11:38:43 -0000 1.639
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.638 2013/01/26 11:35:38 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.639 2013/01/26 11:38:43 mgorny Exp $
+
+ 26 Jan 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Require EAPI=5 to make sure everything works predictably.
26 Jan 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
Support running commands in parallel and use it to run configure scripts.
1.6 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.6&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.6&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.5&r2=1.6
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- autotools-multilib.eclass 26 Jan 2013 11:35:38 -0000 1.5
+++ autotools-multilib.eclass 26 Jan 2013 11:38:43 -0000 1.6
@@ -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.5 2013/01/26 11:35:38 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.6 2013/01/26 11:38:43 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -19,8 +19,9 @@
# enabled. Thus, it is impossible to use AUTOTOOLS_IN_SOURCE_BUILD with
# it.
+# EAPI=5 is required for meaningful MULTILIB_USEDEP.
case ${EAPI:-0} in
- 2|3|4|5) ;;
+ 5) ;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-01-26 11:39 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-01-26 11:39 UTC (permalink / raw
To: gentoo-commits
mgorny 13/01/26 11:39:41
Modified: ChangeLog autotools-multilib.eclass
Log:
Set USE defaults to make sure IUSE_IMPLICIT does not fool us.
Revision Changes Path
1.640 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.640&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.640&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.639&r2=1.640
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.639
retrieving revision 1.640
diff -u -r1.639 -r1.640
--- ChangeLog 26 Jan 2013 11:38:43 -0000 1.639
+++ ChangeLog 26 Jan 2013 11:39:41 -0000 1.640
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.639 2013/01/26 11:38:43 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.640 2013/01/26 11:39:41 mgorny Exp $
+
+ 26 Jan 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Set USE defaults to make sure IUSE_IMPLICIT does not fool us.
26 Jan 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
Require EAPI=5 to make sure everything works predictably.
1.7 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.7&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.7&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.6&r2=1.7
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- autotools-multilib.eclass 26 Jan 2013 11:38:43 -0000 1.6
+++ autotools-multilib.eclass 26 Jan 2013 11:39:41 -0000 1.7
@@ -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.6 2013/01/26 11:38:43 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.7 2013/01/26 11:39:41 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -45,7 +45,7 @@
# RDEPEND="dev-libs/libfoo[${MULTILIB_USEDEP}]
# net-libs/libbar[ssl,${MULTILIB_USEDEP}]"
# @CODE
-MULTILIB_USEDEP=multilib?
+MULTILIB_USEDEP='multilib(-)?'
# @FUNCTION: autotools-multilib_foreach_abi
# @USAGE: argv...
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-02-22 14:42 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-02-22 14:42 UTC (permalink / raw
To: gentoo-commits
mgorny 13/02/22 14:42:09
Modified: ChangeLog autotools-multilib.eclass
Log:
Fix passing arguments to phases.
Revision Changes Path
1.680 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.680&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.680&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.679&r2=1.680
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.679
retrieving revision 1.680
diff -u -r1.679 -r1.680
--- ChangeLog 21 Feb 2013 23:18:56 -0000 1.679
+++ ChangeLog 22 Feb 2013 14:42:09 -0000 1.680
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.679 2013/02/21 23:18:56 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.680 2013/02/22 14:42:09 mgorny Exp $
+
+ 22 Feb 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Fix passing arguments to phases.
21 Feb 2013; Michał Górny <mgorny@gentoo.org> distutils-r1.eclass:
Support EXAMPLES to install examples in a consistent manner.
1.10 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.10&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.10&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.9&r2=1.10
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- autotools-multilib.eclass 10 Feb 2013 11:44:00 -0000 1.9
+++ autotools-multilib.eclass 22 Feb 2013 14:42:09 -0000 1.10
@@ -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.9 2013/02/10 11:44:00 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.10 2013/02/22 14:42:09 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -34,24 +34,24 @@
EXPORT_FUNCTIONS src_configure src_compile src_test src_install
autotools-multilib_src_configure() {
- multilib_parallel_foreach_abi autotools-utils_src_configure
+ multilib_parallel_foreach_abi autotools-utils_src_configure "${@}"
}
autotools-multilib_src_compile() {
- multilib_foreach_abi autotools-utils_src_compile
+ multilib_foreach_abi autotools-utils_src_compile "${@}"
}
autotools-multilib_src_test() {
- multilib_foreach_abi autotools-utils_src_test
+ multilib_foreach_abi autotools-utils_src_test "${@}"
}
autotools-multilib_src_install() {
autotools-multilib_secure_install() {
- autotools-utils_src_install
+ autotools-utils_src_install "${@}"
# Make sure all headers are the same for each ABI.
multilib_check_headers
}
- multilib_foreach_abi autotools-multilib_secure_install
+ multilib_foreach_abi autotools-multilib_secure_install "${@}"
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-02-27 21:46 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-02-27 21:46 UTC (permalink / raw
To: gentoo-commits
mgorny 13/02/27 21:46:31
Modified: ChangeLog autotools-multilib.eclass
Log:
Update description.
Revision Changes Path
1.693 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.693&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.693&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.692&r2=1.693
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.692
retrieving revision 1.693
diff -u -r1.692 -r1.693
--- ChangeLog 27 Feb 2013 21:02:59 -0000 1.692
+++ ChangeLog 27 Feb 2013 21:46:31 -0000 1.693
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.692 2013/02/27 21:02:59 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.693 2013/02/27 21:46:31 mgorny Exp $
+
+ 27 Feb 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Update description.
27 Feb 2013; Michał Górny <mgorny@gentoo.org> distutils-r1.eclass,
multilib-build.eclass, python-r1.eclass:
1.11 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.11&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.11&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.10&r2=1.11
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- autotools-multilib.eclass 22 Feb 2013 14:42:09 -0000 1.10
+++ autotools-multilib.eclass 27 Feb 2013 21:46:31 -0000 1.11
@@ -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.10 2013/02/22 14:42:09 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.11 2013/02/27 21:46:31 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -10,10 +10,10 @@
# The autotools-multilib.eclass is an autotools-utils.eclass(5) wrapper
# introducing support for building for more than one ABI (multilib).
#
-# Inheriting this eclass sets IUSE=multilib and exports autotools-utils
+# Inheriting this eclass sets the USE flags and exports autotools-utils
# phase function wrappers which build the package for each supported ABI
-# if the flag is enabled. Otherwise, it works like regular
-# autotools-utils.
+# when the relevant flag is enabled. Other than that, it works like
+# regular autotools-utils.
#
# Note that the multilib support requires out-of-source builds to be
# enabled. Thus, it is impossible to use AUTOTOOLS_IN_SOURCE_BUILD with
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-02-27 21:47 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-02-27 21:47 UTC (permalink / raw
To: gentoo-commits
mgorny 13/02/27 21:47:38
Modified: ChangeLog autotools-multilib.eclass
Log:
Export src_prepare() explicitly rather than implicitly through inherits.
Revision Changes Path
1.694 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.694&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.694&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.693&r2=1.694
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.693
retrieving revision 1.694
diff -u -r1.693 -r1.694
--- ChangeLog 27 Feb 2013 21:46:31 -0000 1.693
+++ ChangeLog 27 Feb 2013 21:47:38 -0000 1.694
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.693 2013/02/27 21:46:31 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.694 2013/02/27 21:47:38 mgorny Exp $
+
+ 27 Feb 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Export src_prepare() explicitly rather than implicitly through inherits.
27 Feb 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
Update description.
1.12 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.12&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.12&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.11&r2=1.12
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- autotools-multilib.eclass 27 Feb 2013 21:46:31 -0000 1.11
+++ autotools-multilib.eclass 27 Feb 2013 21:47:38 -0000 1.12
@@ -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.11 2013/02/27 21:46:31 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.12 2013/02/27 21:47:38 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -31,7 +31,11 @@
inherit autotools-utils multilib-build
-EXPORT_FUNCTIONS src_configure src_compile src_test src_install
+EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
+
+autotools-multilib_src_prepare() {
+ autotools-utils_src_prepare "${@}"
+}
autotools-multilib_src_configure() {
multilib_parallel_foreach_abi autotools-utils_src_configure "${@}"
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-04-01 9:18 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-04-01 9:18 UTC (permalink / raw
To: gentoo-commits
mgorny 13/04/01 09:18:57
Modified: ChangeLog autotools-multilib.eclass
Log:
Support wrapping headers for multilib.
Revision Changes Path
1.763 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.763&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.763&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.762&r2=1.763
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.762
retrieving revision 1.763
diff -u -r1.762 -r1.763
--- ChangeLog 1 Apr 2013 09:17:53 -0000 1.762
+++ ChangeLog 1 Apr 2013 09:18:57 -0000 1.763
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.762 2013/04/01 09:17:53 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.763 2013/04/01 09:18:57 mgorny Exp $
+
+ 01 Apr 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Support wrapping headers for multilib.
01 Apr 2013; Michał Górny <mgorny@gentoo.org> distutils-r1.eclass,
multibuild.eclass:
1.13 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.13&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.13&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.12&r2=1.13
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- autotools-multilib.eclass 27 Feb 2013 21:47:38 -0000 1.12
+++ autotools-multilib.eclass 1 Apr 2013 09:18:57 -0000 1.13
@@ -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.12 2013/02/27 21:47:38 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.13 2013/04/01 09:18:57 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -33,6 +33,28 @@
EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
+# @ECLASS-VARIABLE: MULTILIB_WRAPPED_HEADERS
+# @DESCRIPTION:
+# A list of headers to wrap for multilib support. The listed headers
+# will be moved to a non-standard location and replace with a file
+# including them conditionally to current ABI.
+#
+# This variable has to be a bash array. Paths shall be relative to
+# installation root (${ED}), and name regular files. Recursive wrapping
+# is not supported.
+#
+# Please note that header wrapping is *discouraged*. It is preferred to
+# install all headers in a subdirectory of libdir and use pkg-config to
+# locate the headers. Some C preprocessors will not work with wrapped
+# headers.
+#
+# Example:
+# @CODE
+# MULTILIB_WRAPPED_HEADERS=(
+# /usr/include/foobar/config.h
+# )
+# @CODE
+
autotools-multilib_src_prepare() {
autotools-utils_src_prepare "${@}"
}
@@ -49,13 +71,84 @@
multilib_foreach_abi autotools-utils_src_test "${@}"
}
+_autotools-multilib_wrap_headers() {
+ debug-print-function ${FUNCNAME} "$@"
+ local f
+
+ for f in "${MULTILIB_WRAPPED_HEADERS[@]}"; do
+ # drop leading slash if it's there
+ f=${f#/}
+
+ if [[ ${f} != usr/include/* ]]; then
+ die "Wrapping headers outside of /usr/include is not supported at the moment."
+ fi
+ # and then usr/include
+ f=${f#usr/include/}
+
+ local dir=${f%/*}
+
+ # $CHOST shall be set by multilib_toolchain_setup
+ dodir "/tmp/multilib-include/${CHOST}/${dir}"
+ mv "${ED}/usr/include/${f}" "${ED}/tmp/multilib-include/${CHOST}/${dir}/" || die
+
+ if [[ ! -f ${ED}/tmp/multilib-include/${f} ]]; then
+ dodir "/tmp/multilib-include/${dir}"
+ # a generic template
+ cat > "${ED}/tmp/multilib-include/${f}" <<_EOF_ || die
+/* This file is auto-generated by autotools-multilib.eclass
+ * as a multilib-friendly wrapper. For the original content,
+ * please see the files that are #included below.
+ */
+
+#if defined(__x86_64__) /* amd64 */
+# if defined(__ILP32__) /* x32 ABI */
+# error "abi_x86_x32 not supported by the package."
+# else /* 64-bit ABI */
+# error "abi_x86_64 not supported by the package."
+# endif
+#elif defined(__i386__) /* plain x86 */
+# error "abi_x86_32 not supported by the package."
+#else
+# error "No ABI matched, please report a bug to bugs.gentoo.org"
+#endif
+_EOF_
+ fi
+
+ # XXX: get abi_* directly
+ local abi_flag
+ case "${ABI}" in
+ amd64)
+ abi_flag=abi_x86_64;;
+ x86)
+ abi_flag=abi_x86_32;;
+ x32)
+ abi_flag=abi_x86_x32;;
+ *)
+ die "Header wrapping for ${ABI} not supported yet";;
+ esac
+
+ # Note: match a space afterwards to avoid collision potential.
+ sed -e "/${abi_flag} /s&error.*&include <${CHOST}/${f}>&" \
+ -i "${ED}/tmp/multilib-include/${f}" || die
+ done
+}
+
autotools-multilib_src_install() {
autotools-multilib_secure_install() {
autotools-utils_src_install "${@}"
+ _autotools-multilib_wrap_headers
# Make sure all headers are the same for each ABI.
multilib_check_headers
}
multilib_foreach_abi autotools-multilib_secure_install "${@}"
+
+ # merge the wrapped headers
+ if [[ -d "${ED}"/tmp/multilib-include ]]; then
+ multibuild_merge_root \
+ "${ED}"/tmp/multilib-include "${ED}"/usr/include
+ # it can fail if something else uses /tmp
+ rmdir "${ED}"/tmp &>/dev/null
+ fi
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-04-01 11:05 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-04-01 11:05 UTC (permalink / raw
To: gentoo-commits
mgorny 13/04/01 11:05:27
Modified: ChangeLog autotools-multilib.eclass
Log:
Fix path handling in header wrapping code.
Revision Changes Path
1.764 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.764&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.764&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.763&r2=1.764
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.763
retrieving revision 1.764
diff -u -r1.763 -r1.764
--- ChangeLog 1 Apr 2013 09:18:57 -0000 1.763
+++ ChangeLog 1 Apr 2013 11:05:27 -0000 1.764
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.763 2013/04/01 09:18:57 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.764 2013/04/01 11:05:27 mgorny Exp $
+
+ 01 Apr 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Fix path handling in header wrapping code.
01 Apr 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
Support wrapping headers for multilib.
1.14 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.14&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.14&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.13&r2=1.14
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- autotools-multilib.eclass 1 Apr 2013 09:18:57 -0000 1.13
+++ autotools-multilib.eclass 1 Apr 2013 11:05:27 -0000 1.14
@@ -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.13 2013/04/01 09:18:57 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.14 2013/04/01 11:05:27 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -83,18 +83,18 @@
die "Wrapping headers outside of /usr/include is not supported at the moment."
fi
# and then usr/include
- f=${f#usr/include/}
+ f=${f#usr/include}
local dir=${f%/*}
# $CHOST shall be set by multilib_toolchain_setup
- dodir "/tmp/multilib-include/${CHOST}/${dir}"
- mv "${ED}/usr/include/${f}" "${ED}/tmp/multilib-include/${CHOST}/${dir}/" || die
+ dodir "/tmp/multilib-include/${CHOST}${dir}"
+ mv "${ED}/usr/include${f}" "${ED}/tmp/multilib-include/${CHOST}${dir}/" || die
- if [[ ! -f ${ED}/tmp/multilib-include/${f} ]]; then
- dodir "/tmp/multilib-include/${dir}"
+ if [[ ! -f ${ED}/tmp/multilib-include${f} ]]; then
+ dodir "/tmp/multilib-include${dir}"
# a generic template
- cat > "${ED}/tmp/multilib-include/${f}" <<_EOF_ || die
+ cat > "${ED}/tmp/multilib-include${f}" <<_EOF_ || die
/* This file is auto-generated by autotools-multilib.eclass
* as a multilib-friendly wrapper. For the original content,
* please see the files that are #included below.
@@ -129,7 +129,7 @@
# Note: match a space afterwards to avoid collision potential.
sed -e "/${abi_flag} /s&error.*&include <${CHOST}/${f}>&" \
- -i "${ED}/tmp/multilib-include/${f}" || die
+ -i "${ED}/tmp/multilib-include${f}" || die
done
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-11-24 10:25 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-11-24 10:25 UTC (permalink / raw
To: gentoo-commits
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 <mgorny@gentoo.org> autotools-multilib.eclass:
+ Reuse multilib-minimal to reduce code duplication and allow easier function
+ overrides.
22 Nov 2013; Michael Haubenwallner <haubi@gentoo.org> 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
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2013-11-24 10:53 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2013-11-24 10:53 UTC (permalink / raw
To: gentoo-commits
mgorny 13/11/24 10:53:43
Modified: ChangeLog autotools-multilib.eclass
Log:
Support in-source builds.
Revision Changes Path
1.1067 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1067&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1067&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1066&r2=1.1067
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1066
retrieving revision 1.1067
diff -u -r1.1066 -r1.1067
--- ChangeLog 24 Nov 2013 10:53:13 -0000 1.1066
+++ ChangeLog 24 Nov 2013 10:53:43 -0000 1.1067
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1066 2013/11/24 10:53:13 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1067 2013/11/24 10:53:43 mgorny Exp $
+
+ 24 Nov 2013; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Support in-source builds.
24 Nov 2013; Michał Górny <mgorny@gentoo.org> autotools-utils.eclass:
Respect BUILD_DIR in in-source builds when set earlier.
1.19 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.19&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.19&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.18&r2=1.19
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- autotools-multilib.eclass 24 Nov 2013 10:25:52 -0000 1.18
+++ autotools-multilib.eclass 24 Nov 2013 10:53:43 -0000 1.19
@@ -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.18 2013/11/24 10:25:52 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.19 2013/11/24 10:53:43 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -50,9 +50,12 @@
autotools-multilib_src_prepare() {
autotools-utils_src_prepare "${@}"
+
+ [[ ${AUTOTOOLS_IN_SOURCE_BUILD} ]] && multilib_copy_sources
}
multilib_src_configure() {
+ [[ ${AUTOTOOLS_IN_SOURCE_BUILD} ]] && local ECONF_SOURCE=${BUILD_DIR}
autotools-utils_src_configure "${_at_args[@]}"
}
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2014-01-15 12:12 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2014-01-15 12:12 UTC (permalink / raw
To: gentoo-commits
mgorny 14/01/15 12:12:41
Modified: ChangeLog autotools-multilib.eclass
Log:
Actually enable in-source build support.
Revision Changes Path
1.1115 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1115&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1115&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1114&r2=1.1115
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1114
retrieving revision 1.1115
diff -u -r1.1114 -r1.1115
--- ChangeLog 15 Jan 2014 01:12:10 -0000 1.1114
+++ ChangeLog 15 Jan 2014 12:12:41 -0000 1.1115
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1114 2014/01/15 01:12:10 hd_brummy Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1115 2014/01/15 12:12:41 mgorny Exp $
+
+ 15 Jan 2014; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Actually enable in-source build support.
15 Jan 2014; Joerg Bornkessel <hd_brummy@gentoo.org> vdr-plugin.eclass:
vdr-plugin.eclass marked @DEAD
1.20 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.20&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.20&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.19&r2=1.20
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- autotools-multilib.eclass 24 Nov 2013 10:53:43 -0000 1.19
+++ autotools-multilib.eclass 15 Jan 2014 12:12:41 -0000 1.20
@@ -1,6 +1,6 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.19 2013/11/24 10:53:43 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.20 2014/01/15 12:12:41 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -29,10 +29,6 @@
*) die "EAPI=${EAPI} is not supported" ;;
esac
-if [[ ${AUTOTOOLS_IN_SOURCE_BUILD} ]]; then
- die "${ECLASS}: multilib support requires out-of-source builds."
-fi
-
inherit autotools-utils eutils multilib-build multilib-minimal
EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
^ permalink raw reply [flat|nested] 15+ messages in thread
* [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass
@ 2014-04-30 18:17 Michal Gorny (mgorny)
0 siblings, 0 replies; 15+ messages in thread
From: Michal Gorny (mgorny) @ 2014-04-30 18:17 UTC (permalink / raw
To: gentoo-commits
mgorny 14/04/30 18:17:20
Modified: ChangeLog autotools-multilib.eclass
Log:
Update the doc and make it simpler.
Revision Changes Path
1.1233 eclass/ChangeLog
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1233&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1233&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1232&r2=1.1233
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v
retrieving revision 1.1232
retrieving revision 1.1233
diff -u -r1.1232 -r1.1233
--- ChangeLog 29 Apr 2014 20:59:41 -0000 1.1232
+++ ChangeLog 30 Apr 2014 18:17:19 -0000 1.1233
@@ -1,6 +1,9 @@
# ChangeLog for eclass directory
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1232 2014/04/29 20:59:41 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1233 2014/04/30 18:17:19 mgorny Exp $
+
+ 30 Apr 2014; Michał Górny <mgorny@gentoo.org> autotools-multilib.eclass:
+ Update the doc and make it simpler.
29 Apr 2014; Michał Górny <mgorny@gentoo.org> multilib-build.eclass:
Disable header wrapping on unsupported ABIs.
1.22 eclass/autotools-multilib.eclass
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.22&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?rev=1.22&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/autotools-multilib.eclass?r1=1.21&r2=1.22
Index: autotools-multilib.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- autotools-multilib.eclass 3 Apr 2014 22:09:36 -0000 1.21
+++ autotools-multilib.eclass 30 Apr 2014 18:17:19 -0000 1.22
@@ -1,6 +1,6 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.21 2014/04/03 22:09:36 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/autotools-multilib.eclass,v 1.22 2014/04/30 18:17:19 mgorny Exp $
# @ECLASS: autotools-multilib.eclass
# @MAINTAINER:
@@ -9,21 +9,15 @@
# Author: Michał Górny <mgorny@gentoo.org>
# @BLURB: autotools-utils wrapper for multilib builds
# @DESCRIPTION:
-# The autotools-multilib.eclass is an autotools-utils.eclass(5) wrapper
-# introducing support for building for more than one ABI (multilib).
+# The autotools-multilib.eclass provides a glue between
+# autotools-utils.eclass(5) and multilib-minimal.eclass(5), aiming
+# to provide a convenient way to build packages using autotools
+# for multiple ABIs.
#
-# Inheriting this eclass sets the USE flags and exports autotools-utils
-# phase function wrappers which build the package for each supported ABI
-# 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.
+# Inheriting this eclass sets IUSE and exports default multilib_src_*()
+# sub-phases that call autotools-utils phase functions for each ABI
+# enabled. The multilib_src_*() functions can be defined in ebuild just
+# like in multilib-minimal.
# EAPI=4 is required for meaningful MULTILIB_USEDEP.
case ${EAPI:-0} in
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2014-04-30 18:17 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-26 11:39 [gentoo-commits] gentoo-x86 commit in eclass: ChangeLog autotools-multilib.eclass Michal Gorny (mgorny)
-- strict thread matches above, loose matches on Subject: below --
2014-04-30 18:17 Michal Gorny (mgorny)
2014-01-15 12:12 Michal Gorny (mgorny)
2013-11-24 10:53 Michal Gorny (mgorny)
2013-11-24 10:25 Michal Gorny (mgorny)
2013-04-01 11:05 Michal Gorny (mgorny)
2013-04-01 9:18 Michal Gorny (mgorny)
2013-02-27 21:47 Michal Gorny (mgorny)
2013-02-27 21:46 Michal Gorny (mgorny)
2013-02-22 14:42 Michal Gorny (mgorny)
2013-01-26 11:38 Michal Gorny (mgorny)
2013-01-26 11:35 Michal Gorny (mgorny)
2013-01-26 11:34 Michal Gorny (mgorny)
2013-01-20 23:42 Michal Gorny (mgorny)
2012-10-08 18:44 Michal Gorny (mgorny)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox