mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-01 21:12:12 +08:00
79630ddd68
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@4942 af4574ff-66df-0310-9fd7-8a98e5e911e0
541 lines
20 KiB
XML
541 lines
20 KiB
XML
<?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 a clone of
|
|
<application>ccache</application>, with the goal of supporting
|
|
compilers other 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>
|