diff options
Diffstat (limited to 'chapter08/libffi.xml')
-rw-r--r-- | chapter08/libffi.xml | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/chapter08/libffi.xml b/chapter08/libffi.xml index 4f778961d..579bb6315 100644 --- a/chapter08/libffi.xml +++ b/chapter08/libffi.xml @@ -26,6 +26,11 @@ <para>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.</para> + + <para>FFI stands for Foreign Function Interface. An FFI allows a program written + in one language to call a program written in another language. Specifically, + Libffi can provide a bridge between an interpreter like Perl, or Python, and + shared library subroutines written in C, or C++.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> @@ -43,16 +48,17 @@ <title>Installation of Libffi</title> <note> - <para>Similar to GMP, libffi builds with optimizations specific + <para>Like GMP, Libffi builds with optimizations specific to the processor in use. If building for another system, change the value of the <parameter>--with-gcc-arch=</parameter> parameter in the following command to an architecture name fully implemented by the CPU on that system. - If this is not done, all applications that link to libffi will trigger + If this is not done, all applications that link to + <filename class='libraryfile'>libffi</filename> will trigger Illegal Operation Errors.</para> </note> - <para>Prepare libffi for compilation:</para> + <para>Prepare Libffi for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/usr \ --disable-static \ @@ -67,7 +73,7 @@ <listitem> <para>Ensure GCC optimizes for the current system. If this is not specified, the system is guessed and the code generated - may not be correct for some systems. If the generated code + may not be correct. If the generated code will be copied from the native system to a less capable system, use the less capable system as a parameter. For details about alternative system types, see <ulink @@ -80,8 +86,8 @@ <!-- To editors: try to remove it once GJS fixed (at GNOME 43) --> <term><parameter>--disable-exec-static-tramp</parameter></term> <listitem> - <para>Disable static trampoline support. It's a new security - feature in libffi, but some BLFS packages (notably + <para>Disable static trampoline support, a new security + feature in Libffi. Some BLFS packages (notably <application>GJS</application>) have not been adapted for it.</para> </listitem> </varlistentry> @@ -121,7 +127,7 @@ <varlistentry id="libffi"> <term><filename class="libraryfile">libffi</filename></term> <listitem> - <para>contains the foreign function interface API functions</para> + <para>Contains the foreign function interface API functions</para> <indexterm zone="ch-system-libffi"> <primary sortas="c-libffi">libffi</primary> </indexterm> |