Configuring, Building and Cleaning
Introduction These are directories used by the current VortexGE distribution :
doc | : | contains documentation, tutorial and references |
lib | : | contains source codes of the VortexGE Library |
3rdParty | : | contains 3rd party files (headers, sources and build scripts) |
buildScript | : | contains build scripts and configured files needed for building VortexGE |
demo | : | contains demo applications |
util | : | contains utility applications |
libVGE.messages.cat | : | contains the library's internal message catalog files |
media | : | contains media files (images and sounds) |
rawBenchmark | : | contains benchmarking applications (raw benchmark only) |
There is a project file for Anjuta IDE v1.2.3 IDE ("VortexGE.prj").
If you have the IDE, just open the project file.
Running the Configuration Script To list what options supported and what environment/shell variables used by the configuration script, simply type :
./configure --help |
./configure |
The first question will ask for the installation directory:
Installation directory [/usr/local/] ?
If you just press enter, then "/usr/local" will be used. If you write something then your choice will be used. Examples:
Installation directory [/usr/local/] ? /opt/vge-0.6.0-3
Installation directory [/usr/local/] ? /opt/VortexGE
etc...
Make sure that you enter a valid directory name since the configuration script will not check for it's validity, if you enter an invalid directory name then the generated build scripts might become invalid and might be dangerous !!!
VortexGE can also be configured in non interactive mode in which the CPU type will be auto detected and the default options will be used. In order to do this, simply type :
./configure --default |
./configure --default --enable-asm ./configure --default --disable-xmu ./configure --default --disable-shm --prefix=<target-installation-directory> |
One can also perform interactive configuration and then save the options you have chosen to file (the default is "configure.dat") using this command :
./configure --fsave |
./configure --fload |
Processor='Any i586 Compatible' DetectPEx='N' ColorMsgs='N' UseXF86VM='N' UseXShmEx='N' UseXMuExt='N' UseLibPng='N' UseLibJpg='N' UseLibTif='N' UseLibGif='N' InlineAsm='N' UseDebugI='N' BuildALib='N' AlignedMO='Y' QuadWrdMO='Y' OptzLevel='2' |
The configuration script will check for the existence of GCC 4.x.x. If it is exist then additional compile options will be enabled.
(Re-)running "./configure" will overwrite any existing files, "lib/vconfig.h", "buildScript/Config" and "buildScript/VortexGE.spec". It means that all changes you have made manually inside those files will be gone.
The configuration displayer utility, "util/vge-config" can be used to display various VortexGE configuration options that can be of help when building application using VortexGE. Note that this script will be only available if "./configure" completed successfully.
After the configuration processes completed, all available build target can be displayed using :
make help |
Building the VortexGE Library
To build the VortexGE library simply type :
make |
The VortexGE build scripts support parallel make, but they are not well tested. It is recommended to not use parallel make for now.
OPSO = |
OPSO = -fPIC -D__VGE_PIC_BUILD__ |
Please read the "Build Macros" topic to learn about all build macros that can be used to control the behavior of VortexGE.
You can also build everything at once (the library, demo applications, tutorial applications, utility applications, benchmarking applications and the API documentation) by typing :
make all rbench apidoc |
Note that any application that uses VortexGE library should not incorrectly interrupted/aborted (for example: via Ctrl-C) because the shared resource(s) used by the XShm and the VortexGE IPC may not deleted properly and can result in system resource lack. If any of those kind of applications is happen to incorrectly interrupted/aborted, use "ipcs" and then "ipcrm" command from console in order to remove the "unwanted" shared resources (or use the provided script, "util/ipcrem").
VortexGE has the abilities to disable Ctrl-C and Ctrl-Z using the functions :
void VEnableCtrlC(bool bEnabled) void VEnableCtrlZ(bool bEnabled) |
By default VortexGE will only build (and will always build) the shared library. However, the configuration script will ask if the user wants to build the static libary also.
If you don't want to build the shared library for some reasons, then after "./configure", just edit the generated makefile configuration file ("buildScript/Config"), and change the line :
BLDS = 1 |
BLDS = 0 |
The helper executor "srun" can be used to run the demo applications without the need to set LD_LIBRARY_PATH manually, for examples :
./srun Test ./srun VirtualWalk VirtualWalk2 ./srun tut01a |
If you do not want to use GCC's precompiled header (*.gch files) , then after "./configure", just edit the generated buildScript configuration file, "buildScript/Config" and change :
USE_GCH = 1 |
USE_GCH = 0 |
VortexGE distribution carries some 3rd party library source files, they are :
In case of the detection is failed (but you are absolutely sure that your system has "libXxf86vm.so", you can manually edit the generated buildScript configuration file, "buildScript/Config" and change the line :
HAS_LIBXXF86VM_SO = 0 |
HAS_LIBXXF86VM_SO = 1 |
ULIB = ... -lXxf86vm .... |
If somehow the xf86vm support that came with VortexGE distribution doesn't work with your machine, you may try to :
Building the API Documentation To build the API documentation, simply type :
make apidoc |
Building the Library Distribution Packages To build the rpm packages simply type :
make rpm |
make rpm sign=y |
Packager: Original VortexGE tar-ball distribution |
Packager: Your Name <your-e-mail@something.something> |
Building The Applications
To build the demo applications simply type :
make demo |
cd demo make |
To build the tutorial applications simply type :
make tutor |
make |
To build the utility applications simply type :
make util |
cd util make |
To build the benchmarking applications simply type :
make bench |
cd rawBenchmark make |
Cleaning Everything To erase all generated files, simply type :
allclean ./configure --clean |
Note that this command will not delete the saved configuration options. The default file for storing the options is "configure.dat", it can be changed by editing the content of the "ConfDtFile" variable in the file "buildScript/configure/special-constants.inc".