<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
	<herd>toolchain</herd>
	<longdescription lang="en">
		Compilers for high level languages generate code that follow certain
		conventions. These conventions are necessary, in part, for separate
		compilation to work. One such convention is the "calling
		convention". The "calling convention" is essentially a set of
		assumptions made by the compiler about where function arguments will
		be found on entry to a function. A "calling convention" also specifies
		where the return value for a function is found.

		Some programs may not know at the time of compilation what arguments
		are to be passed to a function. For instance, an interpreter may be
		told at run-time about the number and types of arguments used to call
		a given function. Libffi can be used in such programs to provide a
		bridge from the interpreter program to compiled code.

		The libffi library provides a portable, high level programming
		interface to various calling conventions. This allows a programmer to
		call any function specified by a call interface description at run
		time.

		Ffi stands for Foreign Function Interface. A foreign function
		interface is the popular name for the interface that allows code
		written in one language to call code written in another language. The
		libffi library really only provides the lowest, machine dependent
		layer of a fully featured foreign function interface. A layer must
		exist above libffi that handles type conversions for values passed
		between the two languages.
	</longdescription>
	<use>
		<flag name='pax_kernel'>Use PaX emulated trampolines, for we can't use PROT_EXEC</flag>
	</use>
	<upstream>
		<remote-id type="cpe">cpe:/a:libffi_project:libffi</remote-id>
	</upstream>
</pkgmetadata>
