On each section it is reported a rough description of the issues met while building the ADG on that specific platform. The eventual commands reported should be taken with a grain of salt; they are shown only for reference purpose and as a copy&paste commodity. Your distribution could be totally different from the one used in the test.
Actually, the ADG is developed on this platform, so there should not be any problems in building either from a tarball or from a git checkout. Just fulfill the dependency requirements and follow the generic instructions.
The screenshot is taken from adg-demo running on an Arch linux 64 distribution with the murrine GTK+ engine, a custom set of icons based on the nuvola theme and the OpenBox window manager.
Some build component, specifically the i18n part and the shave tool, requires GNU make so gmake must be used instead of make. This means the only mayor difference from a GNU/Linux system is the use of a csh based shell instead of GNU bash.
Keeping the build compatible with FreeBSD is a matter of not relying on bashism. This gives the advantage that the ADG could be easily included as-is in the FreeBSD port system.
As from version 0.6.3, there are no known issues on FreeBSD: either the tarball and a git checkout build fine and all the tests pass successfully, making this a good platform for ADG development.
For convenience here are the commands used to build the ADG on FreeBSD:
su -
pkg_add -r gnome2-lite gtk-doc autotools
exit
git clone git://adg.git.sourceforge.net/gitroot/adg/adg
./autogen.sh
gmake
demo/adg-demo
FreeBSD does not come with a set of packages preselected: it is a minimal distribution with tons of customization variants. The above commands work for a FreeBSD 8.2 installed with the Development category preselected.
ADG builds just fine from a tarball and from a git checkout. As in FreeBSD, the make check target does not pass because of the same mathematical rounding problems.
OpenSolaris is another viable platform for ADG development purpose. Resolved the rounding problem it would be as effective as a GNU/Linux platform.
In the following, the commands used on a bare OpenSolaris 2009.6 installation to build and run adg-demo from a fresh git checkout. OpenSolaris does not provide a standard automake and aclocal binary, so they must be explicitely set using the proper environment variable at configure time:
pfexec pkg install SUNWgit SUNWgcc \
SUNWlibtool SUNWaconf SUNWgnu-automake-110 \
SUNWgnome-common-devel SUNWxorg-headers
git clone git://adg.git.sourceforge.net/gitroot/adg/adg
cd adg
AUTOMAKE=automake-1.10 ACLOCAL=aclocal-1.10 ./autogen.sh
make
demo/adg-demo
This operating system seems to be a sane continuation of the now dead OpenSolaris project.
With some minor differences, the OpenSolaris instructions also applies here. For reference, the following commands have been used to compile a fresh git checkout of the ADG with the SunStudio C compiler:
git clone git://adg.git.sourceforge.net/gitroot/adg/adg
cd adg
CC=/opt/SunStudioExpress/bin/cc AUTOMAKE=automake-1.10 ACLOCAL=aclocal-1.10 ./autogen.sh
make
demo/adg-demo
There are still some test failing, though. More investigation is required...
The porting to Windows XP (and other win32 based platforms) has been performed by using the MinGW32 environment. Building can be done directly on a windows system or by cross-compiling the binary on another platform.
The MinGW approach is a great way for porting, but using it on windows is a poor choice for the ADG development purpose. The last easy-to-install package, MSys-1.0.11, does not provide the minimum autotools required so only source tarballs could be compiled in this way. Furthermore the building process is really slow.
The adg-demo shown in the screenshot has been built natively on a Windows XP platform by installing:
The cross-compilation is much more convenient and has more or less the same dependencies. Some distribution provides them yet natively packaged. Also, a convenient configure wrapper is provided: adapt it to your system before using it. Keep in mind this wrapper expects a host pkg-config implementation that looks for pc files in the proper directories, otherwise you should set the PKG_CONFIG_PATH environment variable by yourself before running the script.
For suggestions on cross compilation (mandatory if you need to install the GTK+ bundle by yourself), check out Allin Cottrell suggestions. Binaries got in this way are able to run on wine.
Screenshots and hintswas last modified by Nicola on Fri 25 Nov 2011 12:31:58 AM CET