diff options
Diffstat (limited to 'dev-libs/libffi/metadata.xml')
-rw-r--r-- | dev-libs/libffi/metadata.xml | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/dev-libs/libffi/metadata.xml b/dev-libs/libffi/metadata.xml new file mode 100644 index 000000000000..d8fae30b11e1 --- /dev/null +++ b/dev-libs/libffi/metadata.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>toolchain@gentoo.org</email> + <name>Gentoo Toolchain Project</name> + </maintainer> + <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> +</pkgmetadata> |