Installation



simply type './build.sh' from your shell in OpenGUI directory, but read next lines before please!


Tested platfoms:

  1. Linux (tested on RH 7.3, Fedora Core 3 and Slackware 10.1)
  2. Windows 98,ME,2000,XP (Native and Cygwin )
  3. Solaris 8 & 10

Supported compilers:

  1. gcc 2.95 to 3.4.3
  2. Borland C++ 5.x (Kylix 3, BCB6)
  3. Visual C++ 6.0


Other supported libraries (optional):

  1. OpenGL (MesaGL from 3.x)
  2. libjpeg
  3. libtiff
  4. libpng
  5. libttf
  6. pthread (linux only)

Other tools

  1. doxygen (www.doxygen.org)

PREINSTALL

  1. download and unpack source distribution (OpenGUI-*.tgz)
  2. cd OpenGUI
  3. edit file config.mak  if needed (see below for details)
  4. execute ./build_all
  5. it's all


cflags.mak

BTW: best place to glabal change of CFLAGS.

Variable
Default
Description
CXX
g++
C++ compiler
CC
gcc
C compiler
CFLAGS
-c -g -O -march=pentium
compile flags
LIBS
-ldl -lm -lstdc -ltinycfg
default runtime libraries


config.mak

#########################################################
#
# configuration to make OpenGUI library
#
#########################################################

#
# enable X11 support
#

X11SUPPORT = -lXext -lX11

#
# enable X11 DGA2 support
#

#DGASUPPORT = -lXxf86dga -lXext -lX11

#
# enable PNG file format
#

#PNGSUPPORT = -lpng -lz

#
# enable TIFF file format
#

#TIFFSUPPORT = -ltiff -ljpeg -lz

#
# enable JPEG file format (needed by examples)
#

JPGSUPPORT = -ljpeg

#
# enable FREETYPE2 support
#

#TTFSUPPORT = -lfreetype

#
# enable THREAD-SAFE improvements (if you can acces library from more threads only)
#

THREADSUPPORT = -lpthread


GLSUPPORT = YES

#########################################################


You can enable/disable feature (comment/uncomment) simply with typing '#' at the start of line.

By default are enabled only X11(linux) and pthread (all) support. In theory you can enable any of combination of switches at once. But you are limited with your installation. By example for TrueType font support you need FREETYPE2 library and this library isn't installed on most todays systems. Etc.

There are also buit-in support for TGA/BMP/PCX images, FBDEV and SVGALIB backends.

Feature
Linux
Solaris
Windows
Note
X11 backend
yes
yes n/a

DGA backend
yes n/a n/a
PNG image
yes yes yes*
TIFF image
yes yes yes*
JPEG image**
yes yes yes*
TTF fonts**
yes yes yes*
Multi-threading
yes yes yes
OpenGL***
yes yes* yes*

* - you must install this one explicitly
** - only for 64K or 16M colors (not for 8-bit palette modes)
*** - www.mesa.org


Standard bash & make driven intsallation

  1. type ./build.sh
it runs these scripts:
NOTE: You can run any of these scripts individually. But 'install' and 'examples' must be next to 'compile/install'


Kylix 3 support

  1. open project group: OpenGUI/kylix3/Kylix3.bpg
  2. choose 'Project/Build all projects' from menu
  3. run ./install.sh from OpenGUI root directory
  4. you can run ./makedoc.sh script too for generating documentation (via doxygen)

Borland C++ support

  1. open project group: OpenGUI/bcc/bcc6prj.bpg
  2. choose 'Project/Build all projects' from menu
  3. copy lib/*.lib to $(BCC)/lib
  4. copy include/fastgl/*.h to $(BCC)/include/fastgl/
  5. you can run ./makedoc.sh script too for generating documentation (via doxygen)


Examples

There are cca. 20+ small examples of API using.  These examples are builded automatically via ./examples.sh' script (which is invoked from 'built.sh' too). Some of examples don't work with each of supported platforms (MesaGL dependency).


Documentation

Run './makedoc.sh' script (which is invoked from 'built.sh' too) and all documentation will be generated into OpenGUI/doc/html directory - main file is: index.html

NOTE: you must have installed a doxygen tool before!