r4909 - in trunk/BOOK: . general/prog introduction/welcome

randy at linuxfromscratch.org randy at linuxfromscratch.org
Wed Aug 10 23:02:24 PDT 2005


Author: randy
Date: 2005-08-11 00:02:20 -0600 (Thu, 11 Aug 2005)
New Revision: 4909

Added:
   trunk/BOOK/general/prog/other-tools.xml
Modified:
   trunk/BOOK/general.ent
   trunk/BOOK/general/prog/prog.xml
   trunk/BOOK/introduction/welcome/changelog.xml
   trunk/BOOK/introduction/welcome/credits.xml
Log:
Added a new section 'Other Programming Tools' to Chapter 12 - Programming

Added: trunk/BOOK/general/prog/other-tools.xml
===================================================================
--- trunk/BOOK/general/prog/other-tools.xml	2005-08-10 17:30:04 UTC (rev 4908)
+++ trunk/BOOK/general/prog/other-tools.xml	2005-08-11 06:02:20 UTC (rev 4909)
@@ -0,0 +1,540 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+   "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="other-tools" xreflabel="Other Programming Tools">
+  <?dbhtml filename="other-tools.html"?>
+
+  <sect1info>
+    <othername>$LastChangedBy$</othername>
+    <date>$Date$</date>
+  </sect1info>
+
+  <title>Other Programming Tools</title>
+
+  <indexterm zone="other-tools">
+    <primary sortas="a-Other-Programming-Tools">Other Programming Tools</primary>
+  </indexterm>
+
+  <sect2 role="introduction">
+    <title>Introduction</title>
+
+    <para>This section is provided to show you some additional programming
+    tools for which instructions have not yet been created in the book or for
+    those that are not appropriate for the book. Note that these packages may
+    not have been tested by the BLFS team, but their mention here is meant to
+    be a convenient source of additional information.</para>
+
+    <sect3 role="package">
+      <title>Boost</title>
+
+      <para><application>Boost</application> provides free peer-reviewed
+      portable C++ source libraries. The emphasis is on libraries which work
+      well with the C++ Standard Library. The libraries are intended to be
+      widely useful, and are in regular use by thousands of programmers across
+      a broad spectrum of applications, platforms and programming
+      environments.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.boost.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/boost/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>DDD (GNU Data Display Debugger)</title>
+
+      <para><application>GNU DDD</application> is a graphical front-end for
+      command-line debuggers such as <application>GDB</application>,
+      <application>DBX</application>, <application>WDB</application>,
+      <application>Ladebug</application>, <application>JDB</application>,
+      <application>XDB</application>, the <application>Perl</application>
+      debugger, the <application>Bash</application> debugger, or the
+      <application>Python</application> debugger. Besides <quote>usual</quote>
+      front-end features such as viewing source texts,
+      <application>DDD</application> has an interactive graphical data display,
+      where data structures are displayed as graphs..</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.gnu.org/software/ddd/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://ftp.gnu.org/gnu/ddd/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>cachecc1</title>
+
+      <para><application>cachecc1</application> is a
+      <application>GCC</application> cache. It can be compared with the well
+      known <application>ccache</application> package. It has some unique
+      features including the use of an LD_PRELOADed shared object to catch
+      invocations to <command>cc1</command>, <command>cc1plus</command> and
+      <command>as</command>, it transparently supports all build methods, it
+      can cache <application>GCC</application> bootstraps and it can be
+      combined with <application>distcc</application> to transparently
+      distribute compilations.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://cachecc1.sourceforge.net/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/cachecc1"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>ccache</title>
+
+      <para><application>ccache</application> is a compiler cache. It acts as
+      a caching pre-processor to C/C++ compilers, using the <option>-E</option>
+      compiler switch and a hash to detect when a compilation can be satisfied
+      from cache. This often results in 5 to 10 times faster speeds in common
+      compilations.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://ccache.samba.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://ccache.samba.org/ftp/ccache/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>distcc</title>
+
+      <para><application>distcc</application> is a program to distribute builds
+      of C, C++, Objective C or Objective C++ code across several machines on a
+      network. <application>distcc</application> should always generate the
+      same results as a local build, is simple to install and use, and is
+      usually much faster than a local compile.
+      <application>distcc</application> does not require all machines to share
+      a filesystem, have synchronized clocks, or to have the same libraries or
+      header files installed. They can even have different processors or
+      operating systems, if cross-compilers are installed.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://distcc.samba.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://distcc.samba.org/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Euphoria</title>
+
+      <para><application>Euphoria</application> is a simple, flexible, and
+      easy-to-learn programming language. It lets you quickly and easily
+      develop programs for Windows, DOS, Linux and FreeBSD. Euphoria was first
+      released in 1993. Since then Rapid Deployment Software has been steadily
+      improving it with the help of a growing number of enthusiastic users.
+      Although <application>Euphoria</application> provides subscript checking,
+      uninitialized variable checking and numerous other run-time checks, it is
+      extremely fast. People have used it to develop high-speed DOS games,
+      Windows GUI programs, and Linux X Windows programs. It is also very
+      useful for CGI (Web-based) programming.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.rapideuphoria.com/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.rapideuphoria.com/v20.htm"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>FFTW (Fastest Fourier Transform in the West)</title>
+
+      <para><application>FFTW</application> is a C subroutine library for
+      computing the discrete Fourier transform (DFT) in one or more dimensions,
+      of arbitrary input size, and of both real and complex data (as well as of
+      even/odd data, i.e., the discrete cosine/sine transforms or DCT/DST).</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.fftw.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://www.fftw.org/download.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>GDB (GNU Debugger)</title>
+
+      <para><application>GDB</application> is the GNU Project debugger. It
+      allows you to see what is going on <quote>inside</quote> another program
+      while it executes. It also allows you to see what another program was
+      doing at the moment it crashed.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.gnu.org/software/gdb/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="ftp://ftp.gnu.org/gnu/gdb/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>GOB (GObject Builder)</title>
+
+      <para><application>GOB</application> (<application>GOB2</application>
+      anyway) is a preprocessor for making GObjects with inline C code so that
+      generated files are not edited. Syntax is inspired by
+      <application>Java</application> and <application>Yacc</application> or
+      <application>Lex</application>. The implementation is intentionally kept
+      simple, and no C actual code parsing is done.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.5z.com/jirka/gob.html"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://ftp.5z.com/pub/gob/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>gocache (GNU Object Cache)</title>
+
+      <para><application>ccache</application> is clone of
+      <application>ccache</application>, with the goal of supporting other
+      compilers than <application>GCC</application> and adding additional
+      features. Embedded compilers will especially be in focus.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://sourceforge.net/projects/gocache/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/gocache/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>GTK+/GNOME Language Bindings (wrappers)</title>
+
+      <para><application>GTK+</application>/<application>GNOME</application>
+      language bindings allow <application>GTK+</application> to be used from
+      other programming languages, in the style of those languages.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.gtk.org/bindings.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+      <sect4 role="package">
+        <title>gtkmm</title>
+
+        <para><application>gtkmm</application> is the official C++ interface
+        for the popular GUI library <application>GTK+</application>. Highlights
+        include typesafe callbacks, widgets extensible via inheritance and a
+        comprehensive set of widgets. You can create user interfaces either in
+        code or with the Glade designer, using
+        <application>libglademm</application>.</para>
+
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>Project Home Page: <ulink
+            url="http://www.gtkmm.org/"/></para>
+          </listitem>
+          <listitem>
+            <para>Download Location: <ulink
+            url="http://www.gtkmm.org/download.shtml"/></para>
+          </listitem>
+        </itemizedlist>
+
+      </sect4>
+
+      <sect4 role="package">
+        <title>Java-GNOME</title>
+
+        <para><application>Java-GNOME</application> is a set of Java bindings
+        for the <application>GNOME</application> and
+        <application>GTK+</application> libraries that allow
+        <application>GNOME</application> and <application>GTK+</application>
+        applications to be written in Java. The
+        <application>Java-GNOME</application> API has been carefully designed
+        to be easy to use, maintaining a good OO paradigm, yet still wrapping
+        the entire functionality of the underlying libraries.
+        <application>Java-GNOME</application> can be used with the
+        <application>Eclipse</application> development environment and Glade
+        user interface designer to create applications with ease.</para>
+
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>Project Home Page: <ulink
+            url="http://java-gnome.sourceforge.net/cgi-bin/bin/view"/></para>
+          </listitem>
+          <listitem>
+            <para>Download Location: <ulink
+            url="http://java-gnome.sourceforge.net/cgi-bin/bin/view/Main/GetJavaGnome#Source_Code"/></para>
+          </listitem>
+        </itemizedlist>
+
+      </sect4>
+
+      <sect4 role="package">
+        <title>gtk2-perl</title>
+
+        <para><application>gtk2-perl</application> is the collective name for
+        a set of perl bindings for <application>GTK+</application> 2.x and
+        various related libraries. These modules make it easy to write
+        <application>GTK</application> and <application>GNOME</application>
+        applications using a natural, perlish, object-oriented syntax.</para>
+
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>Project Home Page: <ulink
+            url="http://gtk2-perl.sourceforge.net/"/></para>
+          </listitem>
+          <listitem>
+            <para>Download Location: <ulink
+            url="http://prdownloads.sourceforge.net/gtk2-perl"/></para>
+          </listitem>
+        </itemizedlist>
+
+      </sect4>
+
+      <sect4 role="package">
+        <title>PyGTK</title>
+
+        <para><application>PyGTK</application> provides a convenient wrapper
+        for the <application>GTK</application> library for use in
+        <application>Python</application> programs, and takes care of many of
+        the boring details such as managing memory and type casting. When
+        combined with <application>PyORBit</application> and
+        <application>gnome-python</application>, it can be used to write full
+        featured <application>GNOME</application> applications.</para>
+
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>Project Home Page: <ulink
+            url="http://www.pygtk.org/"/></para>
+          </listitem>
+          <listitem>
+            <para>Download Location: <ulink
+            url="http://www.pygtk.org/downloads.html"/></para>
+          </listitem>
+        </itemizedlist>
+
+      </sect4>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>KDE Language Bindings</title>
+
+      <para><application>KDE</application> and most
+      <application>KDE</application> applications are implemented using the
+      C++ programming language, however there are number of bindings to other
+      languages are available. These include scripting languages like
+      <application>Perl</application>, <application>Python</application> and
+      <application>Ruby</application>, and systems programming languages such
+      as Java and C#.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://developer.kde.org/language-bindings/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Numerical Python (Numpy)</title>
+
+      <para><application>Numerical Python</application> adds a fast array
+      facility to the <application>Python</application> language.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://numeric.scipy.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/numpy/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Perl Scripts and Additional Modules</title>
+
+      <para>There are many <application>Perl</application> scripts and
+      additional modules located on the Comprehensive Perl Archive Network
+      (CPAN) web site. Here you will find <quote>All Things Perl</quote>.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://cpan.org/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>SCons</title>
+
+      <para><application>SCons</application> is an Open Source software
+      construction tool, i.e, a next-generation build tool. Think of
+      <application>SCons</application> as an improved, cross-platform
+      substitute for the classic <command>make</command> utility with
+      integrated functionality similar to
+      <application>Autoconf</application>/<application>Automake</application>
+      and compiler caches such as <command>ccache</command>.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://scons.sourceforge.net/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/scons/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>strace</title>
+
+      <para><application>strace</application> is a system call tracer, i.e., a
+      debugging tool which prints out a trace of all the system calls made by
+      another process or program.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.liacs.nl/~wichert/strace/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/strace/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>SWIG</title>
+
+      <para><application>SWIG</application> is a software development tool
+      that connects programs written in C and C++ with a variety of high-level
+      programming languages. <application>SWIG</application> is used with
+      different types of languages including common scripting languages such as
+      <application>Perl</application>, <application>Python</application>,
+      <application>Tcl</application>/<application>Tk</application> and
+      <application>Ruby</application>. The list of supported languages also
+      includes non-scripting languages such as <application>C#</application>,
+      <application>Common Lisp</application> (Allegro CL),
+      <application>Java</application>, <application>Modula-3</application>
+      and <application>OCAML</application>. Also several interpreted and
+      compiled Scheme implementations (<application>Chicken</application>,
+      <application>Guile</application>, <application>MzScheme</application>)
+      are supported. <application>SWIG</application> is most commonly used to
+      create high-level interpreted or compiled programming environments, user
+      interfaces, and as a tool for testing and prototyping C/C++ software.
+      <application>SWIG</application> can also export its parse tree in the
+      form of XML and Lisp s-expressions.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://www.swig.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://prdownloads.sourceforge.net/swig/"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+    <sect3 role="package">
+      <title>Valgrind</title>
+
+      <para><application>Valgrind</application> is a collection of five tools:
+      two memory error detectors, a thread error detector, a cache profiler and
+      a heap profiler used for debugging and profiling Linux programs. Features
+      include automatic detection of many memory management and threading bugs
+      as well as detailed profiling to speed up and reduce memory use of your
+      programs.</para>
+
+      <itemizedlist spacing="compact">
+        <listitem>
+          <para>Project Home Page: <ulink
+          url="http://valgrind.org/"/></para>
+        </listitem>
+        <listitem>
+          <para>Download Location: <ulink
+          url="http://valgrind.org/downloads/source_code.html"/></para>
+        </listitem>
+      </itemizedlist>
+
+    </sect3>
+
+  </sect2>
+
+</sect1>


Property changes on: trunk/BOOK/general/prog/other-tools.xml
___________________________________________________________________
Name: svn:keywords
   + LastChangedBy Date

Modified: trunk/BOOK/general/prog/prog.xml
===================================================================
--- trunk/BOOK/general/prog/prog.xml	2005-08-10 17:30:04 UTC (rev 4908)
+++ trunk/BOOK/general/prog/prog.xml	2005-08-11 06:02:20 UTC (rev 4909)
@@ -33,5 +33,6 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ruby.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tcl.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="tk.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="other-tools.xml"/>
 
 </chapter>

Modified: trunk/BOOK/general.ent
===================================================================
--- trunk/BOOK/general.ent	2005-08-10 17:30:04 UTC (rev 4908)
+++ trunk/BOOK/general.ent	2005-08-11 06:02:20 UTC (rev 4909)
@@ -1,4 +1,4 @@
-<!ENTITY day          "10">
+<!ENTITY day          "11">
 <!ENTITY month        "08">
 <!ENTITY year         "2005">
 <!ENTITY version      "svn-&year;&month;&day;">

Modified: trunk/BOOK/introduction/welcome/changelog.xml
===================================================================
--- trunk/BOOK/introduction/welcome/changelog.xml	2005-08-10 17:30:04 UTC (rev 4908)
+++ trunk/BOOK/introduction/welcome/changelog.xml	2005-08-11 06:02:20 UTC (rev 4909)
@@ -25,6 +25,11 @@
   <itemizedlist>
 
     <listitem>
+      <para>August 11th, 2005 [randy]: Added a new section "Other Programming
+      Tools" to Chapter 12 - Programming.</para>
+    </listitem>
+
+    <listitem>
       <para>August 10th, 2005 [randy]: Added style information files and
       documentation installation to the JadeTeX instructions.</para>
     </listitem>

Modified: trunk/BOOK/introduction/welcome/credits.xml
===================================================================
--- trunk/BOOK/introduction/welcome/credits.xml	2005-08-10 17:30:04 UTC (rev 4908)
+++ trunk/BOOK/introduction/welcome/credits.xml	2005-08-11 06:02:20 UTC (rev 4909)
@@ -34,7 +34,7 @@
       </listitem>
       <listitem>
         <para><emphasis>Co-Editors:</emphasis> Randy McMurchy,
-        Larry Lawrence, Igor Zivkovic, DJ Lucas, Tushar Teredesai, David Jensen, 
+        Larry Lawrence, Igor Zivkovic, DJ Lucas, Tushar Teredesai, David Jensen,
         Manuel Canales Esparcia, and Richard Downing.</para>
       </listitem>
     </itemizedlist>
@@ -221,9 +221,10 @@
         gnome-audio, gnome-backgrounds, gnome-menus, GNOME Doc Utils, GnuCash
         (many additions), Heimdal, HTML Tidy, JadeTeX, Java Access Bridge,
         LessTif (rewrite), libexif, libgail-gnome, libgnomecups, MPlayer
-        (extensive overhaul), PDL, Perl Modules, pilot-link, Samba 3 (many
-        additions), Shadow (rewrite), SANE (original instructions by Alex
-        Kloss), SLIB, Stunnel, Sysstat and system-tools-backends:
+        (extensive overhaul), Other Programming Tools, PDL, Perl Modules,
+        pilot-link, Samba 3 (many additions), Shadow (rewrite), SANE (original
+        instructions by Alex Kloss), SLIB, Stunnel, Sysstat and
+        system-tools-backends:
         <emphasis>Randy McMurchy</emphasis></para>
       </listitem>
 
@@ -256,9 +257,10 @@
         <para>Epiphany, FLAC, File Roller, GNOME Magnifier,
         GNOME Netstatus, GNOME Speech, GOK, GPdf, GnomeMeeting, Gnopernicus,
         Imlib2, LZO, MC, NASM, Nautilus CD Burner, OpenQuicktime,
-        Speex, XScreenSaver, Zenity, compface, freeglut, gcalctool, gucharmap, id3lib, kde-i18n,
-        kdeaccessibility, kdebindings, kdesdk, kdevelop, kdewebdev, libFAME,
-        liba52, libdv, libdvdcss, libdvdread, libmad, libmikmod and libmpeg3:
+        Speex, XScreenSaver, Zenity, compface, freeglut, gcalctool, gucharmap,
+        id3lib, kde-i18n, kdeaccessibility, kdebindings, kdesdk, kdevelop,
+        kdewebdev, libFAME, liba52, libdv, libdvdcss, libdvdread, libmad,
+        libmikmod and libmpeg3:
         <emphasis>Igor Zivkovic</emphasis></para>
       </listitem>
 




More information about the blfs-book mailing list