Installing adesklets
********************

Compilation Requirements
========================

To compile adesklets from source, you will need:

   * A compiler supporting ANSI C plus variadic macros (about every
     version of gcc  from 2.7.0 will do - or about everything else
     published in the last ten years, for that matter)

   * X11  libraries and headers(1)

   * Imlib2 1.1.2 and up (the more recent the better; go and fetch it
     from http://sourceforge.net/projects/enlightenment/ )

   * GNU readline

   * A reasonably POSIX-compliant system

It can also use, if present in the system:

   * fontconfig , for automated detection of all usable fonts present
     in the system

   * GNU history , the faithful complement to GNU readline for command
     history support

   * iconv library and headers (such as libiconv ), for
     internationalization support (dynamic support of extended
     character sets)

   * Python  2.3 and up, if you want Python support (you most probably
     do at this stage as it's the only scripted language that's
     currently supported)

Portability Notice
==================

This package was built with portability in mind: all vendor-specific
extensions were avoided, and specs (ANSI, SVID 3, BSD 4.3, POSIX) were
followed in a conservative way. Nevertheless, original development took
place on a single Linux system; it is quite probable that adesklets
will not compile or work as expected in some cases. Fixing portability
issues is an important concern for us.

   adesklets has been ported and successfully tested by the developers
on many systems. As of version 0.4.10, it has been verified to compile
and run out of the box on:

   * Linux 2.4 i386, glibc 2.1.3, gcc 2.95.2 (Debian Woody)

   * Linux 2.6 i686, glibc 2.3.4, gcc 3.4.3 (Gentoo Linux 2005.0)

   * Linux 2.6 amd64, glibc 2.3.3, gcc 3.4.2 (Fedora Core release 3)

   * Linux 2.6 amd64, glibc 2.3.4, gcc 3.4.3 (Gentoo Linux 2005.0)

   * FreeBSD i386, gcc 2.95.4 (4.10-BETA)

   * NetBSD i386, gcc 2.95.3 (1.6.1)

   *Update*: adesklets >=0.4.8 has also been reported to work on
FreeBSD 5.3, but the author did not have a chance to verify this. Now
that adesklets is in Debian unstable, it seems to at least compile on
all available kernels and architectures: go see
http://packages.debian.org/unstable/x11/adesklets .

   Did you try to run the package on something not listed here?  Let us
know, especially if it did not work.

Software download
=================

The current version of the software (as a source bzip'ed tarball) can
be found on the SourceForge project page:
http://sf.net/projects/adesklets/

   You can extract it from the console with `tar'. As of version
0.4.10, the command line would be:

     tar xvjf adesklets-0.4.10.tar.bz2

   or, if your installed version of `tar' does not support filtering
archives through bzip2:

     bzcat adesklets-0.4.10.tar.bz2 | tar xv

Verifying Software Integrity (optional)
=======================================

As of adesklets 0.4.10,  you can also download from SourceForge  an
ascii-armored detached signature named `adesklets-0.4.10.tar.bz2.asc',
that you can match against the author's Open PGP public key (*note Open
PGP Public Key::, in appendix) to assert the package integrity. For
instance, with `GnuPG' (http://www.gnupg.org/ ), you would use:

     gpg --verify adesklets-0.4.10.tar.bz2.asc adesklets-0.4.10.tar.bz2

   You can also get the public key for <syfou@users.sourceforge.net>
from various public key servers such as http://www.keyserver.net/  or
http://pgp.mit.edu/ . Feel free to contact the author directly if you
want to authenticate the key further.

Compilation and Installation:
=============================

adesklets provides the usual autoconf/automake scripts of GNU packages.

   Therefore, in most cases, installation follows the normal three
steps:

  1. `cd' to the directory containing the package's source code and type
     `./configure' to configure the package for your system.  If you're
     using `csh' on an old version of System V, you might need to type
     `sh ./configure' instead to prevent `csh' from trying to execute
     `configure' itself.

     Running `configure' takes awhile.  While running, it prints some
     messages describing which features it is checking for.

  2. Type `make' to compile the package.

  3. Type `make install' to install the programs and any data files and
     documentation.

   You can remove the program binaries and object files from the source
code directory by typing `make clean'.  To also remove the files that
`configure' created (so you can compile the package for a different
kind of computer), type `make distclean'.

Compilers and Options:
======================

Some systems require unusual options for compilation or linking that
the `configure' script does not know about.  You can give `configure'
initial values for variables by setting them in the environment.  Using
a Bourne-compatible shell, you can do that on the command line like
this:

     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure

Or on systems that have the `env' program, you can do it like this:

     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure

Optional Features:
==================

adesklets comes with a few optional features you can select or not from
the `configure' script. Type:

     ./configure --help

for a complete, short description. Here are a few interesting ones:

   * You may choose to compile adesklets without X support at all
     (`--without-x').  You will get a version that is obviously not
     suited for desklets rendering, but still good for command line
     image manipulation

   * You can remove support for some others packages as well:
     `--without-history', `--without-fontconfig'

   ---------- Footnotes ----------

   (1) Except for headless builds, useful for server environments and
such; read further for details.

