Motivation
During the Xfce 4.0 days we used to keep the files generated
by autoconf
, automake
, libtool
and friends in the CVS repository. Even worse, we also
kept a copy of the required additional M4 macros per
module in the m4/
subdirectory. The idea was to
ease the installation of versions checked out from CVS for the
average user.
But that turned out to be a very bad idea. Not only was there a lot
of unnecessary traffic on the repository when somebody had to change
a Makefile.am
or a similar file, but the whole thing
turned into a maintaince problem as well. Whenever I changed one
of the M4 macros - fixing a bug or adding functionality - I had to
commit the change to all modules (including the goodies) and
rerun autogen.sh
on all modules afterwards. As you might
guess, this was neither very funny nor very productive.
The solution was obvious: Drop the automatically generated files from
the repository and bundle the M4 macros and related stuff within a
single package. And this is exactly what xfce4-dev-tools
provides. And this effectively means, that starting with the Xfce 4.3
development branch, everybody that wants to build Xfce right from the
SVN repository version will need to have the xfce4-dev-tools
installed. This also applies to non-core applications like Xfmedia.
Documentation
There is currently not much documentation available. I'm writing on a developer handbook for Xfce 4.4.0, but that will take some time to finish. In the meantime, you can check my article A brief introduction to the Xfce Developer Tools.
Installation
Requirements
You will need atleast the following software packages in order to install and use the Xfce developer tools:
Stable releases
Source tarballs and binary packages of stable releases are available from the download locations listed below:
Getting the source from SVN
The Xfce developer tools - just like the other core components - are available from the Xfce SVN repository, which means that you will need to install a Subversion client in order to be able to check out from the SVN repository (you can use the web interface for browsing the repository).
You can download the latest version of xfce4-dev-tools
using the following
command:
svn co http://svn.xfce.org/svn/xfce/xfce4-dev-tools/trunk \ xfce4-dev-tools
This will create a new directory xfce4-dev-tools
in the current
path, which contains the latest version from the repository. Please read
the README
file to learn more about the public Xfce Subversion repository layout.
Building and installing
If you downloaded a release tarball, you can simply run
./configure --prefix=/usr/local
now (you may want to adjust the prefix to point to another directory, tho). Else if you use a SVN snapshot, you need to run
sh autogen.sh --prefix=/usr/local
instead, because the automatically generated files have been removed from the repository as mentioned above.
Next, you continue with
make make install
where the install
step must be done with
superuser privilegues. That's all.
Building other components
Once you have the Xfce developer tools installed, you can use them to
build other components, like for example the Xfce core components for
Xfce 4.4. Most of these components will contain a autogen.sh
file, which takes care of everything for you. Just execute that file
if present.
But some components may also come without the autogen.sh
script. In this case it's usually sufficient to run xdt-autogen
(which is part of the developer tools) in the toplevel source directory
of that component.
Latest News
Xfce developer tools 4.4.0 released20 Jan 07
xfce4-dev-tools
4.4.0 was released as part of Xfce 4.4.0 today, adding support
for the latest GNU autotools and fixing a minor bug.
4 Nov 06
xfce4-dev-tools
4.3.99.2 was released as part of Xfce 4.4RC2 today.
2 Sep 06
xfce4-dev-tools
4.3.99.1 was released as part of Xfce 4.4RC1 today.
9 Jul 06
xfce4-dev-tools
4.3.90.2 was released as part of Xfce 4.4BETA2 today.
16 Apr 06
xfce4-dev-tools
4.3.90.1 was released as part of Xfce 4.4BETA1 today.
9 Jul 05
The very first version of the xfce4-dev-tools
was released
to the public today.