Chapter 3. Installation

Table of Contents
Getting GGI
Required packages
Building from sources

Getting GGI

All the information about latest releases can be found on the GGI Project website.

The normal user is advised to get the stable release.

Third party developers are encouraged to try the development releases (or even the CVS sources) and notify the GGI team of any bugs, or suggest improvements, etc.

Required packages

Core libraries and extension

What to get actually depends of what you intend to do with GGI. Strictly speaking, you'll need at least LibGII to claim that you're using GGI. However, chances are that you also want LibGGI. Moreover, the LibGAlloc extension has become a part of the Standard GGI Base. It is therefore strongly advised to install all of these libraries.

All other packages are optional, but some might be needed by a particular program. A lot of programs need LibGGIMISC, for example. Keep in mind that the highlevel family extensions internaly rely on lowlevel ones, which provide common functionality found in modern hardware. So installing the lowlevel extensions is a good idea. But then again it's up to you.

Targets

Whereas the source packages include the code for all available targets, binary packages provide only the core libraries. Thus, you only need to download and install the target you actually need. E.g. a MS-Windows™ user only needs the DirectX™ libraries and doesn't care much about the X11 target.

Anyway, unless you're very short on disk space, having more libraries than needed won't hurt, so don't hesitate to get additional targets.

Building from sources

UNIX systems

Reading the README and INSTALL files for each package is more than recommended. But for those in a hurry, the following ancestral incantation should work fine for most people:

$ ./configure; make; make install

In case you don't have root access on your machine, you can specify a prefix instead of the default /usr/local/.

$ ./configure --prefix=<absolute path, you have WRITE-access to>
$ make
$ make install

Don't forget to had the <chosen prefix>/lib directory to your LD_LIBRARY_PATH environment variable.

WIN32

To compile GGI on WIN32, you'll need to install the cygwin environment (http://www.cygwin.com). Download setup.exe and install at least the following packages : cygwin, automake,autoconf,perl. bash might also help. In addition, you'll need the DirectX SDK 6.1 or newer (http://download.microsoft.com/download/win2000pro/dx8asdk/8.0a/W9X2KMe/EN-US/DX8a_SDK.exe).

You can then run (in a library directory):

$ ./configure --without-x --with-directx
$ make
$ make install

Note that LibGII can't be used without LibGGI on WIN32. The target must be display-directx, and display-directxnt on NT4 (this uses DirectX 3.0 features available in WinNT4).

A Native Win32 version using MingW will be forthcoming.

General notes

The correct order to build the packages is:

  1. LibGII

  2. LibGGI

  3. LibGAlloc

  4. lowlevel extensions

  5. highlevel extensions

  6. others

If you got the source from CVS, you'll have to generate a configure.sh before compiling a library. You'll need the autoconf and automake tools for this.

$ ./autogen.sh