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.

   *Update*: adesklets is been ported and successfully tested by the
developpers on many systems. As of version 0.4.7, 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 2004.2)

   * 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-r1 (Gentoo Linux 2004.3)

   * FreeBSD i386, gcc 2.95.4 (4.10-BETA)

   * NetBSD i386, gcc 2.95.3 (1.6.1)

   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.7,
the command line would be:

     tar xvjf adesklets-0.4.7.tar.bz2

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

     bzcat adesklets-0.4.7.tar.bz2 | tar xv

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

As of adesklets 0.4.7,  you can also download from SourceForge  an
ascii-armored detached signature named `adesklets-0.4.7.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.7.tar.bz2.asc adesklets-0.4.7.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.

