aboutsummaryrefslogtreecommitdiffstats
path: root/chapter08/gmp.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter08/gmp.xml')
-rw-r--r--chapter08/gmp.xml132
1 files changed, 132 insertions, 0 deletions
diff --git a/chapter08/gmp.xml b/chapter08/gmp.xml
index de3f0ee8b..38c023747 100644
--- a/chapter08/gmp.xml
+++ b/chapter08/gmp.xml
@@ -124,6 +124,138 @@ make install-html</userinput></screen>
</sect2>
+ <!-- - - - - - - - - - -->
+ <!-- Multilib - 32bit -->
+ <!-- - - - - - - - - - -->
+
+ <sect2 arch="ml_32,ml_all" role="installation">
+ <title>Installation of GMP - 32bit</title>
+
+ <para>Clean previous build:</para>
+
+<screen><userinput remap="pre">make distclean</userinput></screen>
+
+ <para>Generic libraries can be created by running
+ the following:</para>
+
+<screen role="nodump"><userinput remap="pre">cp -v configfsf.guess config.guess
+cp -v configfsf.sub config.sub</userinput></screen>
+
+ <para>Prepare GMP for compilation:</para>
+
+<screen><userinput remap="configure">ABI="32" \
+CFLAGS="-m32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=i686" \
+CXXFLAGS="$CFLAGS" \
+PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
+./configure \
+ --host=i686-pc-linux-gnu \
+ --prefix=/usr \
+ --disable-static \
+ --enable-cxx \
+ --libdir=/usr/lib32 \
+ --includedir=/usr/include/m32/gmp</userinput></screen>
+
+ <variablelist>
+ <title>The meaning of the new configure options:</title>
+
+ <varlistentry>
+ <term><parameter>--includedir=/usr/include/m32/gmp</parameter></term>
+ <listitem>
+ <para>Some definitions in gmp.h differs for each arch but
+ has same name. Therefore, the headers must be separated from
+ each other.</para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ <para>Compile the package:</para>
+
+<screen><userinput remap="make">sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile
+make</userinput></screen>
+
+ <important>
+ <para>The test suite for GMP in this section is considered critical.
+ Do not skip it under any circumstances.</para>
+ </important>
+
+ <para>Test the results:</para>
+
+<screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
+
+ <para>Ensure that all 197 tests in the test suite passed.
+ Check the results by issuing the following command:</para>
+
+<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
+
+ <para>Install the package:</para>
+
+<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
+cp -Rv DESTDIR/usr/lib32/* /usr/lib32
+cp -Rv DESTDIR/usr/include/m32/* /usr/include/m32/
+rm -rf DESTDIR</userinput></screen>
+
+ </sect2><!-- m32 -->
+
+ <!-- - - - - - - - - - -->
+ <!-- Multilib - x32bit -->
+ <!-- - - - - - - - - - -->
+
+ <sect2 arch="ml_x32,ml_all" role="installation">
+ <title>Installation of GMP - x32-bit</title>
+
+ <para>Clean previous build:</para>
+
+<screen><userinput remap="pre">make distclean</userinput></screen>
+
+ <para>Generic libraries can be created by running
+ the following:</para>
+
+<screen role="nodump"><userinput remap="pre">cp -v configfsf.guess config.guess
+cp -v configfsf.sub config.sub</userinput></screen>
+
+ <para>Prepare GMP for compilation:</para>
+
+<screen><userinput remap="configure">ABI="x32" \
+CFLAGS="-mx32 -O2 -pedantic -fomit-frame-pointer -mtune=generic -march=x86-64" \
+CXXFLAGS="$CFLAGS" \
+PKG_CONFIG_PATH="/usr/libx32/pkgconfig" \
+./configure \
+ --host=x86_64-pc-linux-gnux32 \
+ --prefix=/usr \
+ --disable-static \
+ --enable-cxx \
+ --libdir=/usr/libx32 \
+ --includedir=/usr/include/mx32/gmp</userinput></screen>
+
+ <para>Compile the package:</para>
+
+<screen><userinput remap="make">sed -i 's/$(exec_prefix)\/include/$\(includedir\)/' Makefile
+make</userinput></screen>
+
+ <important>
+ <para>The test suite for GMP in this section is considered critical.
+ Do not skip it under any circumstances.</para>
+ </important>
+
+ <para>Test the results:</para>
+
+<screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
+
+ <para>Ensure that all 197 tests in the test suite passed.
+ Check the results by issuing the following command:</para>
+
+<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
+
+ <para>Install the package:</para>
+
+<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
+cp -Rv DESTDIR/usr/libx32/* /usr/libx32
+cp -Rv DESTDIR/usr/include/mx32/* /usr/include/mx32/
+rm -rf DESTDIR</userinput></screen>
+
+ </sect2><!-- mx32 -->
+
<sect2 id="contents-gmp" role="content">
<title>Contents of GMP</title>