diff options
| author | Maciej Mrozowski <reavertm@gentoo.org> | 2010-07-17 12:58:17 +0200 |
|---|---|---|
| committer | Maciej Mrozowski <reavertm@gentoo.org> | 2010-07-17 12:58:37 +0200 |
| commit | ecc408abb6ffa658a68097642f909c7c80bff65d (patch) | |
| tree | 2f7fea8eda909a6a6cd426921d28e5a0bb858d82 /eclass/autotools-utils.eclass | |
| parent | 38d94be57d91c91836f11a0d2662beb535df5b71 (diff) | |
| download | kde-ecc408abb6ffa658a68097642f909c7c80bff65d.tar.gz kde-ecc408abb6ffa658a68097642f909c7c80bff65d.tar.bz2 kde-ecc408abb6ffa658a68097642f909c7c80bff65d.zip | |
[eclass/autotools-utils] Gone
Diffstat (limited to 'eclass/autotools-utils.eclass')
| -rw-r--r-- | eclass/autotools-utils.eclass | 262 |
1 files changed, 0 insertions, 262 deletions
diff --git a/eclass/autotools-utils.eclass b/eclass/autotools-utils.eclass deleted file mode 100644 index f1362d43a7b..00000000000 --- a/eclass/autotools-utils.eclass +++ /dev/null @@ -1,262 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -# @ECLASS: autotools-utils.eclass -# @MAINTAINER: -# Maciej Mrozowski <reavertm@gentoo.org> -# @BLURB: common ebuild functions for autotools-based packages -# @DESCRIPTION: -# autotools-utils.eclass is autotools.eclass(5) and base.eclass(5) wrapper -# providing all inherited features along with econf arguments as Bash array, -# out of source build with overridable build dir location, static archives -# handling, libtool files removal, enable/disable debug handling. -# -# @EXAMPLE: -# Typical ebuild using autotools-utils.eclass: -# -# @CODE -# EAPI="2" -# -# inherit autotools-utils -# -# DESCRIPTION="Foo bar application" -# HOMEPAGE="http://example.org/foo/" -# SRC_URI="mirror://sourceforge/foo/${P}.tar.bz2" -# -# LICENSE="LGPL-2.1" -# KEYWORDS="" -# SLOT="0" -# IUSE="debug doc examples qt4 static-libs tiff" -# -# CDEPEND=" -# media-libs/libpng:0 -# qt4? ( -# x11-libs/qt-core:4 -# x11-libs/qt-gui:4 -# ) -# tiff? ( media-libs/tiff:0 ) -# " -# RDEPEND="${CDEPEND} -# !media-gfx/bar -# " -# DEPEND="${CDEPEND} -# doc? ( app-doc/doxygen ) -# " -# -# # bug 123456 -# AUTOTOOLS_IN_SOURCE_BUILD=1 -# -# DOCS=(AUTHORS ChangeLog README "Read me.txt" TODO) -# -# PATCHES=( -# "${FILESDIR}/${P}-gcc44.patch" # bug 123458 -# "${FILESDIR}/${P}-as-needed.patch" -# "${FILESDIR}/${P}-unbundle_libpng.patch" -# ) -# -# src_configure() { -# myeconfargs=( -# $(use_with qt4) -# $(use_enable threads multithreading) -# $(use_with tiff) -# ) -# autotools-utils_src_configure -# } -# -# src_compile() { -# autotools-utils_src_compile -# use doc && autotools-utils_src_compile docs -# } -# -# src_install() { -# use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/apidocs/html/") -# autotools-utils_src_install -# if use examples; then -# dobin "${AUTOTOOLS_BUILD_DIR}"/foo_example{1,2,3} \\ -# || die 'dobin examples failed' -# fi -# } -# -# @CODE - -# Keep variable names synced with cmake-utils and the other way around! - -case ${EAPI:-0} in - 2|3|4) ;; - *) DEPEND="EAPI-TOO-OLD" ;; -esac - -inherit autotools base - -EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install src_test - -# @ECLASS-VARIABLE: AUTOTOOLS_BUILD_DIR -# @DESCRIPTION: -# Build directory, location where all autotools generated files should be -# placed. For out of source builds it defaults to ${WORKDIR}/${P}_build. - -# @ECLASS-VARIABLE: AUTOTOOLS_IN_SOURCE_BUILD -# @DESCRIPTION: -# Set to enable in-source build. - -# @ECLASS-VARIABLE: ECONF_SOURCE -# @DESCRIPTION: -# Specify location of autotools' configure script. By default it uses ${S}. - -# @ECLASS-VARIABLE: myeconfargs -# @DESCRIPTION: -# Optional econf arguments as Bash array. Should be defined before calling src_configure. -# @CODE -# src_configure() { -# myeconfargs=( -# --disable-readline -# --with-confdir="/etc/nasty foo confdir/" -# $(use_enable debug cnddebug) -# $(use_enable threads multithreading) -# ) -# autotools-utils_src_configure -# } -# @CODE - -# Determine using IN or OUT source build -_check_build_dir() { - : ${ECONF_SOURCE:=${S}} - if [[ -n ${AUTOTOOLS_IN_SOURCE_BUILD} ]]; then - AUTOTOOLS_BUILD_DIR="${ECONF_SOURCE}" - else - : ${AUTOTOOLS_BUILD_DIR:=${WORKDIR}/${P}_build} - fi - echo ">>> Working in BUILD_DIR: \"$AUTOTOOLS_BUILD_DIR\"" -} - -# @FUNCTION: remove_libtool_files -# @USAGE: [all|none] -# @DESCRIPTION: -# Determines useless libtool files (.la) and libtool static archives (.a) -# and removes them from installation image. -# To unconditionally remove all libtool files, pass 'all' as argument. -# To leave all libtool files alone, pass 'none' as argument. -# Unnecessary static archives are removed in any case. -# -# In most cases it's not necessary to manually invoke this function. -# See autotools-utils_src_install for reference. -remove_libtool_files() { - debug-print-function ${FUNCNAME} "$@" - - local f - for f in $(find "${D}" -type f -name '*.la'); do - # Keep only .la files with shouldnotlink=yes - likely plugins - local shouldnotlink=$(sed -ne '/^shouldnotlink=yes$/p' "${f}") - if [[ "$1" == 'all' || -z ${shouldnotlink} ]]; then - if [[ "$1" != 'none' ]]; then - echo "Removing unnecessary ${f}" - rm -f "${f}" - fi - fi - # Remove static libs we're not supposed to link against - if [[ -n ${shouldnotlink} ]]; then - local remove=${f/%.la/.a} - [[ "${f}" != "${remove}" ]] || die 'regex sanity check failed' - echo "Removing unnecessary ${remove}" - rm -f "${remove}" - fi - done -} - -# @FUNCTION: autotools-utils_src_prepare -# @DESCRIPTION: -# The src_prepare function. -# -# Supporting PATCHES array and user patches. See base.eclass(5) for reference. -autotools-utils_src_prepare() { - debug-print-function ${FUNCNAME} "$@" - - base_src_prepare -} - -# @FUNCTION: autotools-utils_src_configure -# @DESCRIPTION: -# The src_configure function. For out of source build it creates build -# directory and runs econf there. Configuration parameters defined -# in myeconfargs are passed here to econf. Additionally following USE -# flags are known: -# -# IUSE="debug" passes --disable-debug/--enable-debug to econf respectively. -# -# IUSE="static-libs" passes --enable-shared and either --disable-static/--enable-static -# to econf respectively. -autotools-utils_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - # Common args - local econfargs=() - - # Handle debug found in IUSE - if has debug ${IUSE//+}; then - econfargs+=($(use_enable debug)) - fi - - # Handle static-libs found in IUSE, disable them by default - if has static-libs ${IUSE//+}; then - econfargs+=( - --enable-shared - $(use_enable static-libs static) - ) - fi - - # Append user args - econfargs+=(${myeconfargs[@]}) - - _check_build_dir - mkdir -p "${AUTOTOOLS_BUILD_DIR}" || die "mkdir '${AUTOTOOLS_BUILD_DIR}' failed" - pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null - base_src_configure "${econfargs[@]}" - popd > /dev/null -} - -# @FUNCTION: autotools-utils_src_compile -# @DESCRIPTION: -# The autotools src_compile function, invokes emake in specified AUTOTOOLS_BUILD_DIR. -autotools-utils_src_compile() { - debug-print-function ${FUNCNAME} "$@" - - _check_build_dir - pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null - base_src_compile "$@" - popd > /dev/null -} - -# @FUNCTION: autotools-utils_src_install -# @DESCRIPTION: -# The autotools src_install function. Runs emake install, unconditionally removes -# unnecessary static libs (based on shouldnotlink libtool property) -# and removes libtool files when static-libs USE flag is defined and unset. -# -# DOCS and HTML_DOCS arrays are supported. See base.eclass(5) for reference. -autotools-utils_src_install() { - debug-print-function ${FUNCNAME} "$@" - - _check_build_dir - pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null - base_src_install - popd > /dev/null - - # Remove libtool files and unnecessary static libs - local args - has static-libs ${IUSE//+} && ! use static-libs || args='none' - remove_libtool_files ${args} -} - -# @FUNCTION: autotools-utils_src_test -# @DESCRIPTION: -# The autotools src_test function. Runs emake check in build directory. -autotools-utils_src_test() { - debug-print-function ${FUNCNAME} "$@" - - _check_build_dir - pushd "${AUTOTOOLS_BUILD_DIR}" > /dev/null - # Run default src_test as defined in ebuild.sh - default_src_test - popd > /dev/null -} |
