summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libffi/metadata.xml')
-rw-r--r--dev-libs/libffi/metadata.xml36
1 files changed, 36 insertions, 0 deletions
diff --git a/dev-libs/libffi/metadata.xml b/dev-libs/libffi/metadata.xml
new file mode 100644
index 000000000000..691534b035d1
--- /dev/null
+++ b/dev-libs/libffi/metadata.xml
@@ -0,0 +1,36 @@
+<?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>
+</pkgmetadata>