<?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 slang-download-http " ">
  <!ENTITY slang-download-ftp  "ftp://space.mit.edu/pub/davis/slang/v2.2/slang-&slang-version;.tar.bz2">
  <!ENTITY slang-md5sum        "7fcfd447e378f07dd0c0bae671fe6487">
  <!ENTITY slang-size          "1.4 MB">
  <!ENTITY slang-buildsize     "9.4 MB">
  <!ENTITY slang-time          "0.4 SBU">
]>

<sect1 id="slang" xreflabel="S-Lang-&slang-version;">
  <?dbhtml filename="slang.html"?>

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2015-02-21 00:50:01 -0500 (Sat, 21 Feb 2015) $</date>
  </sect1info>

  <title>S-Lang-&slang-version;</title>

  <indexterm zone="slang">
    <primary sortas="a-S-Lang">S-Lang</primary>
  </indexterm>

  <sect2 role="package">
    <title>Introduction to S-Lang</title>

    <para><application>S-Lang</application> is an interpreted language that
    may be embedded into an application to make the application extensible.
    It provides facilities required by interactive applications such as
    display/screen management, keyboard input and keymaps.</para>

    &lfs77_checked;

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>Download (HTTP): <ulink url="&slang-download-http;"/></para>
      </listitem>
      <listitem>
        <para>Download (FTP): <ulink url="&slang-download-ftp;"/></para>
      </listitem>
      <listitem>
        <para>Download MD5 sum: &slang-md5sum;</para>
      </listitem>
      <listitem>
        <para>Download size: &slang-size;</para>
      </listitem>
      <listitem>
        <para>Estimated disk space required: &slang-buildsize;</para>
      </listitem>
      <listitem>
        <para>Estimated build time: &slang-time;</para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">S-Lang Dependencies</bridgehead>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional">
      <xref linkend="libpng"/>,
      <xref linkend="pcre"/>, and
      <ulink url="http://www.geocities.jp/kosako3/oniguruma/">Oniguruma</ulink>
    </para>

    <para condition="html" role="usernotes">User Notes:
    <ulink url="&blfs-wiki;/slang"/></para>

  </sect2>

  <sect2 role="installation">
    <title>Installation of S-Lang</title>

    <note>                                                                                                                                                                                                                   
      <para>
        This package does not support parallel build.
      </para>
    </note>
    
    <para>Install <application>S-Lang</application> by running the following
    commands:</para>

<screen><userinput>./configure --prefix=/usr \
            --sysconfdir=/etc \
            --with-readline=gnu &amp;&amp;
make -j1</userinput></screen>

    <para>To test the results, issue: <command>make check</command>. Note that
    this will also create a static version of the library which will then be
    installed in the next step.</para>

    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>

<screen role='root'><userinput>make install_doc_dir=/usr/share/doc/slang-&slang-version;   \
     SLSH_DOC_DIR=/usr/share/doc/slang-&slang-version;/slsh \
     install-all &amp;&amp;

chmod -v 755 /usr/lib/libslang.so.&slang-version; \
             /usr/lib/slang/v2/modules/*.so</userinput></screen>
  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <para>
      <parameter>--with-readline=gnu</parameter>: This parameter sets GNU
      <application>Readline</application> to be used by the parser interface
      instead of the <application>S-Lang</application> internal version.
    </para>

    <para><command>make install_doc_dir=/usr/share/doc/slang-&slang-version;
    SLSH_DOC_DIR=/usr/share/doc/slang-&slang-version;/slsh install-all</command>:
    This command installs the static library as well as
    the dynamic shared version and related modules. It also changes the
    documentation installation directories to a versioned directory.</para>

  </sect2>

  <sect2 role="configuration">
    <title>Configuring S-Lang</title>

    <sect3 id="slang-config">
      <title>Config Files</title>
      <para><filename>~/.slshrc</filename> and
      <filename>/etc/slsh.rc</filename></para>

      <indexterm zone="slang slang-config">
        <primary sortas="e-AA.slshrc">~/.slshrc</primary>
      </indexterm>

      <indexterm zone="slang slang-config">
        <primary sortas="e-etc-slsh">/etc/slsh.rc</primary>
      </indexterm>
    </sect3>

  </sect2>

  <sect2 role="content">
    <title>Contents</title>

    <segmentedlist>
      <segtitle>Installed Program</segtitle>
      <segtitle>Installed Libraries</segtitle>
      <segtitle>Installed Directories</segtitle>

      <seglistitem>
        <seg>slsh</seg>
        <seg>libslang.{so,a} and numerous support modules</seg>
        <seg>/usr/lib/slang, /usr/share/doc/slang-&slang-version;
        and /usr/share/slsh</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="slsh">
        <term><command>slsh</command></term>
        <listitem>
          <para>is a simple program for interpreting
          <application>S-Lang</application> scripts. It supports dynamic loading
          of <application>S-Lang</application> modules and includes a
          <application>Readline</application> interface for interactive
          use.</para>
          <indexterm zone="slang slsh">
            <primary sortas="b-slsh">slsh</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
