multilib.eclass

Name

multilib.eclass -- This eclass is for all functions pertaining to handling multilib configurations.

Description

This eclass is for all functions pertaining to handling multilib configurations.

Supported EAPIs

6 7 8

Functions

has_multilib_profile

Return true if the current profile is a multilib profile and lists more than one abi in ${MULTILIB_ABIS}. When has_multilib_profile returns true, that profile should enable the 'multilib' use flag. This is so you can DEPEND on a package only for multilib or not multilib.

get_abi_CFLAGS [ABI]

Alias for 'get_abi_var CFLAGS'

get_abi_LDFLAGS [ABI]

Alias for 'get_abi_var LDFLAGS'

get_abi_CHOST [ABI]

Alias for 'get_abi_var CHOST'

get_abi_CTARGET [ABI]

Alias for 'get_abi_var CTARGET'

get_abi_FAKE_TARGETS [ABI]

Alias for 'get_abi_var FAKE_TARGETS'

get_abi_LIBDIR [ABI]

Alias for 'get_abi_var LIBDIR'

get_install_abis

Return a list of the ABIs we want to install for with the last one in the list being the default.

get_all_abis

Return a list of the ABIs supported by this profile. the last one in the list being the default.

get_all_libdirs

Returns a list of all the libdirs used by this profile. This includes those that might not be touched by the current ebuild and always includes "lib".

is_final_abi

Return true if ${ABI} is the last ABI on our list (or if we're not using the new multilib configuration. This can be used to determine if we're in the last (or only) run through src_{unpack,compile,install}

number_abis

echo the number of ABIs we will be installing for

get_exeext

Returns standard executable program suffix (null, .exe, etc.) for the current platform identified by CHOST.

Example:

get_exeext Returns: null string (almost everywhere) || .exe (mingw*) || ...

get_libname [version]

Returns libname with proper suffix {.so,.dylib,.dll,etc} and optionally supplied version for the current platform identified by CHOST.

Example:

get_libname ${PV} Returns: .so.${PV} (ELF) || .${PV}.dylib (MACH) || ...

get_modname

Returns modulename with proper suffix {.so,.bundle,etc} for the current platform identified by CHOST.

Example:

libfoo$(get_modname) Returns: libfoo.so (ELF) || libfoo.bundle (MACH) || ...

multilib_env

This is for the toolchain to setup profile variables when pulling in a crosscompiler (and thus they aren't set in the profile).

This must only be used by toolchain packages.

multilib_toolchain_setup

Hide multilib details here for packages which are forced to be compiled for a specific ABI when run on another ABI (like x86-specific packages on amd64)

Maintainers

toolchain@gentoo.org

Reporting Bugs

Please report bugs via https://bugs.gentoo.org/