out-of-source.eclass
Description
This eclass provides a minimalistic wrapper interface to easily build autotools (and alike) packages out-of-source. It is meant to resemble the interface used by multilib-minimal without actually requiring the package to be multilib.
For the simplest ebuilds, it is enough to inherit the eclass and the new phase functions will automatically build the package out-of-source. If you need to redefine one of the default phases src_configure() through src_install(), you need to define the matching sub-phases: my_src_configure(), my_src_compile(), my_src_test() and/or my_src_install(). Those sub-phase functions will be run inside the build directory. Additionally, my_src_install_all() is provided to perform doc-install and other common tasks that are done in source directory.
Example use:
inherit out-of-source
my_src_configure() {
econf \
--disable-static
}
Functions
- out-of-source_src_configure
-
The default src_configure() implementation establishes a BUILD_DIR, sets ECONF_SOURCE to the current directory (usually S), and runs my_src_configure() (or the default) inside it.
- out-of-source_src_compile
-
The default src_compile() implementation runs my_src_compile() (or the default) inside the build directory.
- out-of-source_src_test
-
The default src_test() implementation runs my_src_test() (or the default) inside the build directory.
- out-of-source_src_install
-
The default src_install() implementation runs my_src_install() (or the 'make install' part of the default) inside the build directory, followed by a call to my_src_install_all() (or 'einstalldocs' part of the default) in the original working directory.
Maintainers
Michał Górny <mgorny@gentoo.org>
Reporting Bugs
Please report bugs via https://bugs.gentoo.org/