glfs/general/prog/nasm.xml
Bruce Dubbs 436860d04d GCC 8 fixes
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@20144 af4574ff-66df-0310-9fd7-8a98e5e911e0
2018-05-13 17:52:20 +00:00

162 lines
5.0 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY nasm-download-http "http://www.nasm.us/pub/nasm/releasebuilds/&nasm-version;/nasm-&nasm-version;.tar.xz">
<!ENTITY nasm-download-ftp " ">
<!ENTITY nasm-md5sum "d5ca2ad7121ccbae69dd606b1038532c">
<!ENTITY nasm-size "788 KB">
<!ENTITY nasm-buildsize "27 MB" >
<!ENTITY nasm-time "0.2 SBU">
]>
<sect1 id="nasm" xreflabel="NASM-&nasm-version;">
<?dbhtml filename="nasm.html" ?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>NASM-&nasm-version;</title>
<indexterm zone="nasm">
<primary sortas="a-NASM">NASM</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to NASM</title>
<para><application>NASM</application> (Netwide Assembler)
is an 80x86 assembler designed for portability and modularity. It includes a
disassembler as well.</para>
&lfs82_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&nasm-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&nasm-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &nasm-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &nasm-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &nasm-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &nasm-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Optional documentation: <ulink
url="http://www.nasm.us/pub/nasm/releasebuilds/&nasm-version;/nasm-&nasm-version;-xdoc.tar.xz"/></para>
</listitem>
</itemizedlist>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/nasm"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of NASM</title>
<para>First, fix an issue when building with gcc 8:</para>
<screen><userinput>sed -i '/seg_init/s/pure_func//' include/nasmlib.h</userinput></screen>
<para>If you downloaded the optional documentation, put it into the
source tree:</para>
<screen><userinput>tar -xf ../nasm-&nasm-version;-xdoc.tar.xz --strip-components=1</userinput></screen>
<para>
Apply some upstream fixes, which are needed for compiling with gcc-8.1:
</para>
<screen><userinput>sed -e '/seg_init/d' \
-e 's/pure_func seg_alloc/seg_alloc/' \
-i include/nasmlib.h</userinput></screen>
<para>Install <application>NASM</application> by running
the following commands:</para>
<screen><userinput>./configure --prefix=/usr &amp;&amp;
make</userinput></screen>
<para>This package does not come with a test suite.</para>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<!-- dev note: make INSTALLROOT=<DESTDIR> install -->
<screen role="root"><userinput>make install</userinput></screen>
<para>If you downloaded the optional documentation, install it with the
following instructions as the <systemitem
class="username">root</systemitem> user:</para>
<screen role="root"><userinput>install -m755 -d /usr/share/doc/nasm-&nasm-version;/html &amp;&amp;
cp -v doc/html/*.html /usr/share/doc/nasm-&nasm-version;/html &amp;&amp;
cp -v doc/*.{txt,ps,pdf} /usr/share/doc/nasm-&nasm-version;</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>nasm and ndisasm</seg>
<seg>None</seg>
<seg>/usr/share/doc/nasm-&nasm-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="nasm-prog">
<term><command>nasm</command></term>
<listitem>
<para>is a portable 80x86 assembler.</para>
<indexterm zone="nasm nasm-prog">
<primary sortas="b-nasm">nasm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="ndisasm">
<term><command>ndisasm</command></term>
<listitem>
<para>is an 80x86 binary file disassembler.</para>
<indexterm zone="nasm ndisasm">
<primary sortas="b-ndisasm">ndisasm</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>