glfs/general/prog/yasm.xml
Bruce Dubbs b9874725d3 Many tags.
Mostly Programming and Xorg sections and dependencies.
2024-02-15 19:26:48 -06:00

174 lines
4.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!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 yasm-download-http "https://www.tortall.net/projects/yasm/releases/yasm-&yasm-version;.tar.gz">
<!ENTITY yasm-download-ftp " ">
<!ENTITY yasm-md5sum "fc9e586751ff789b34b1f21d572d96af">
<!ENTITY yasm-size "1.5 MB">
<!ENTITY yasm-buildsize "27 MB (additional 12 MB for the tests)">
<!ENTITY yasm-time "0.1 SBU (additional 0.1 SBU for the tests)">
]>
<sect1 id="yasm" xreflabel="yasm-&yasm-version;">
<?dbhtml filename="yasm.html"?>
<title>yasm-&yasm-version;</title>
<indexterm zone="yasm">
<primary sortas="a-yasm">yasm</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to yasm</title>
<para>
<application>Yasm</application> is a complete rewrite of the
<xref linkend="nasm"/> assembler. It supports the x86 and AMD64
instruction sets, accepts NASM and GAS assembler syntaxes and outputs
binary, ELF32 and ELF64 object formats.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&yasm-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&yasm-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &yasm-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &yasm-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &yasm-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &yasm-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">yasm Dependencies</bridgehead>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="python2"/> and
<xref linkend="cython"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of yasm</title>
<para>
Install <application>yasm</application> by running the following
commands:
</para>
<screen><userinput>sed -i 's#) ytasm.*#)#' Makefile.in &amp;&amp;
./configure --prefix=/usr &amp;&amp;
make</userinput></screen>
<para>
To test the results, issue: <command>make -j1 check</command>.
</para>
<!-- The tests seem to intermittently fail on nasmpp_test.sh and rawpp_test.sh.
When run at -j1, all of the tests pass, and those tests randomly fail if
they are run in parallel. -renodr -->
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>sed -i 's#) ytasm.*#)#' Makefile.in</command>: This sed
prevents it compiling 2 programs (vsyasm and ytasm) that are only of use
on Microsoft Windows.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Program</segtitle>
<segtitle>Installed Library</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>yasm</seg>
<seg>libyasm.a</seg>
<seg>/usr/include/libyasm</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="yasm-prog">
<term><command>yasm</command></term>
<listitem>
<para>
is a portable, retargetable assembler that supports the x86 and
AMD64 instruction sets, accepts NASM and GAS assembler syntaxes and
outputs binaries in ELF32 and ELF64 object formats
</para>
<indexterm zone="yasm yasm">
<primary sortas="b-yasm">yasm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libyasm">
<term><filename class="libraryfile">libyasm.a</filename></term>
<listitem>
<para>
provides all of the core functionality of <command>yasm</command>,
for manipulating machine instructions and object file constructs
</para>
<indexterm zone="yasm libyasm">
<primary sortas="c-libyasm">libyasm.a</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>