Multilib/multilib-build

multilib-build is the common eclass that is used to build all multilib building logic in Gentoo. This eclass is seldom inherited directly. Instead, its API is exposed via other eclasses such as multilib-minimal.

The multilib-build eclass adds multilib-specific USE flags to IUSE. It does not export any phase functions or dependencies. However, MULTILIB_USEDEP variable is provided to help construct proper multilib dependencies.

MULTILIB_USEDEP
Contains a USE dependency string that can be used to enforce matching multilib ABIs on package dependencies.

multilib_copy_sources
Usage: multilib_copy_sources

Create a separate copy of package sources for each of enabled ABIs. The sources will be obtained from initial BUILD_DIR (or S, if BUILD_DIR is unset), and they will be copied to implementation-specific build directories.

This function is usually necessary to use custom build systems that do not support out-of-source builds. Whenever possible, out-of-source builds are preferred.

multilib_is_native_abi
Usage: multilib_is_native_abi

Determines whether the current ABI is considered the native ABI, and therefore all the features that are limited for native ABI are to be enabled. This function is guaranteed to return true for exactly one ABI. It can be used to avoid building program executables and documentation multiple times, and to disable the dependencies that do not support multilib.

Technically, multilib_is_native_abi returns true in one of the following cases:


 * 1) the current ABI is equal to the DEFAULT_ABI,
 * 2) the MULTILIB_COMPLETE variable is set (it is used by multilib-portage, and must not be set by users directly).

multilib_native_use_with
Usage: multilib_native_use_with [ []]

A wrapper on top of use_with EAPI function. Outputs --with- option if the flag is enabled and multilib_is_native_abi is true, --without- otherwise.

multilib_native_use_enable
Usage: multilib_native_use_enable [ []]

A wrapper on top of use_enable EAPI function. Outputs --enable- option if the flag is enabled and multilib_is_native_abi is true, --disable- otherwise.

multilib_native_usex
Usage: multilib_native_usex [ [ [ [ ]]]]

A wrapper on top of usex EAPI function. Requires EAPI 5 or eutils eclass inherit.

Outputs the concatenation of   (or yes if not provided) and   if the flag is enabled and multilib_is_native_abi is true, the concatenation of   (or no) and   otherwise.