1 | # Copyright 1999-2010 Gentoo Foundation |
1 | # Copyright 1999-2010 Gentoo Foundation |
2 | # Distributed under the terms of the GNU General Public License v2 |
2 | # Distributed under the terms of the GNU General Public License v2 |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/autotools-utils.eclass,v 1.8 2011/01/31 14:09:01 scarabeus Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/autotools-utils.eclass,v 1.12 2011/09/16 15:20:03 mgorny Exp $ |
4 | |
4 | |
5 | # @ECLASS: autotools-utils.eclass |
5 | # @ECLASS: autotools-utils.eclass |
6 | # @MAINTAINER: |
6 | # @MAINTAINER: |
7 | # Maciej Mrozowski <reavertm@gentoo.org> |
7 | # Maciej Mrozowski <reavertm@gentoo.org> |
|
|
8 | # Michał Górny <mgorny@gentoo.org> |
8 | # @BLURB: common ebuild functions for autotools-based packages |
9 | # @BLURB: common ebuild functions for autotools-based packages |
9 | # @DESCRIPTION: |
10 | # @DESCRIPTION: |
10 | # autotools-utils.eclass is autotools.eclass(5) and base.eclass(5) wrapper |
11 | # autotools-utils.eclass is autotools.eclass(5) and base.eclass(5) wrapper |
11 | # providing all inherited features along with econf arguments as Bash array, |
12 | # providing all inherited features along with econf arguments as Bash array, |
12 | # out of source build with overridable build dir location, static archives |
13 | # out of source build with overridable build dir location, static archives |
… | |
… | |
143 | # See autotools-utils_src_install for reference. |
144 | # See autotools-utils_src_install for reference. |
144 | remove_libtool_files() { |
145 | remove_libtool_files() { |
145 | debug-print-function ${FUNCNAME} "$@" |
146 | debug-print-function ${FUNCNAME} "$@" |
146 | |
147 | |
147 | local f |
148 | local f |
148 | for f in $(find "${D}" -type f -name '*.la'); do |
149 | find "${D}" -type f -name '*.la' -print0 | while read -r -d '' f; do |
149 | # Keep only .la files with shouldnotlink=yes - likely plugins |
150 | # Keep only .la files with shouldnotlink=yes - likely plugins |
150 | local shouldnotlink=$(sed -ne '/^shouldnotlink=yes$/p' "${f}") |
151 | local shouldnotlink=$(sed -ne '/^shouldnotlink=yes$/p' "${f}") |
151 | if [[ "$1" == 'all' || -z ${shouldnotlink} ]]; then |
152 | if [[ "$1" == 'all' || -z ${shouldnotlink} ]]; then |
152 | if [[ "$1" != 'none' ]]; then |
153 | if [[ "$1" != 'none' ]]; then |
153 | echo "Removing unnecessary ${f}" |
154 | einfo "Removing unnecessary ${f}" |
154 | rm -f "${f}" |
155 | rm -f "${f}" |
155 | fi |
156 | fi |
156 | fi |
157 | fi |
157 | # Remove static libs we're not supposed to link against |
158 | # Remove static libs we're not supposed to link against |
158 | if [[ -n ${shouldnotlink} ]]; then |
159 | if [[ -n ${shouldnotlink} ]]; then |
159 | local remove=${f/%.la/.a} |
160 | local remove=${f/%.la/.a} |
160 | [[ "${f}" != "${remove}" ]] || die 'regex sanity check failed' |
161 | [[ "${f}" != "${remove}" ]] || die 'regex sanity check failed' |
161 | echo "Removing unnecessary ${remove}" |
162 | einfo "Removing unnecessary ${remove}" |
162 | rm -f "${remove}" |
163 | rm -f "${remove}" |
163 | fi |
164 | fi |
164 | done |
165 | done |
165 | } |
166 | } |
166 | |
167 | |
… | |
… | |
238 | autotools-utils_src_install() { |
239 | autotools-utils_src_install() { |
239 | debug-print-function ${FUNCNAME} "$@" |
240 | debug-print-function ${FUNCNAME} "$@" |
240 | |
241 | |
241 | _check_build_dir |
242 | _check_build_dir |
242 | pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null |
243 | pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null |
243 | base_src_install |
244 | base_src_install "$@" |
244 | popd > /dev/null |
245 | popd > /dev/null |
245 | |
246 | |
246 | # Remove libtool files and unnecessary static libs |
247 | # Remove libtool files and unnecessary static libs |
247 | local args |
248 | local args |
248 | has static-libs ${IUSE//+} && ! use static-libs || args='none' |
249 | has static-libs ${IUSE//+} && ! use static-libs || args='none' |