Skip to content

Latest commit

 

History

History
34 lines (26 loc) · 1.38 KB

mpi-provider.md

File metadata and controls

34 lines (26 loc) · 1.38 KB

mpi-provider.eclass

mpi-provider is an eclass providing MPI paths for ebuilds, depending on specific MPI versions and multilib architectures.

Description

Different MPI implementations are installed into different locations which are specified by mpi-provider. The eclass return paths for ebuild and mpi-r1, and provide these paths for specific MPI implementations.

Different from other ebuilds, MPI ebuild using mpi-provider installs binaries, libraries, headers and manuals into split parent directories:

Function Target Location
mpi_incdir headers /usr/include/mpi/${PN}
mpi_bindir binaries /usr/libexec/mpi/${PN}
mpi_libdir libraries /usr/$(get_libdir)/mpi/${PN}
mpi_mandir manuals /usr/share/mpi/${PN}/man

In mpi-r1, the respective MPI implementation is represented by the first argument ${1} in stead of ${PN}, because it may handle more than one MPI implementation in sub-phases.

Examples

src_configure() {
	local c=
	c="${c} --bindir=$(mpi_bindir)"
	c="${c} --sbindir=$(mpi_bindir)"
	c="${c} --libexecdir=$(mpi_bindir)"
	c="${c} --libdir=$(mpi_libdir)"
	c="${c} --includedir=$(mpi_incdir)"
	c="${c} --oldincludedir=$(mpi_incdir)"
	c="${c} --mandir=$(mpi_mandir)"
	ECONF_SOURCE=${S} econf ${c}
}