Build Macros
Build macros can be defined to control the compiling process of VortexGE, these build
macros are be defined inside "lib/vconfig.h". One may
change those macros by manually editing the file or by (re-)running the configuration
script ("./configure") in interactive mode.
(Re-)running "./configure" will overwrite these files :
- "lib/VConfig.h"
- "buildScript/Config"
- "buildScript/Doxyfile"
with all the manual changes one has made in them.
Macros for Selecting the Video System to be Built In
- __USE_X11_VIDEO__
- Define this macro to compile the video environment with the X Window system.For now,
since this is the only video system supported, this macro must be defined or VortexGE
will not compile.
-
- __USE_XF86VM__
- Define this macro to use the xf86vm extension from the X server.
-
- __USE_XSHM__
- Define this macro to use the xshm extension from the X server.
-
- __USE_XMU__
- Define this macro to use the xmu extension from the X server.
-
- __USE_DITHERING_FOR_8BPP__
- Define this macro to enable dithering in 8 bpp display mode.
-
- This macro will be always defined by the configuration script. If for some reason
you do not want to use dithering in 8 bpp display mode, just remove this macro from
the generated configuration header, "lib/VConfig.h"
-
- Default values defined :
- __USE_X11_VIDEO__
- __USE_XF86VM__
- __USE_XSHM__
- __USE_XMU__
- __USE_DITHERING_FOR_8BPP__
Macros for Selecting the Audio System to be Built In
- __USE_ALSA_AUDIO__
- Define this macro to compile the audio environment with ALSA support.
- __USE_OSS_AUDIO__
- Define this macro to compile the audio environment with OSS support.
- __USE_TIM_MIDI__
- Define this macro to compile the audio environment with libTiMidity support.
- __USE_XF86VM__
- Define this macro to use the xf86vm extension from the X server.
-
- Default values defined :
- __USE_ALSA_AUDIO__
(only if the appropriate header file and library are detected in the system)
- __USE_OSS_AUDIO__
- __USE_TIM_MIDI__
-
- Users won't be asked if they want to enable or disable those
audio supports, because all Linux distribution should still be able to build them (as
long as the appropriate header and library files are installed in the system) even tough
the corresponding audio system may actually not supported by the kernel/driver.
-
- The dummy (NULL) audio and Midi system will be always built in.
Macros for Selecting the Appropriate Optimizations
- __USE_QW_MEMOPS__
- If "_USE_ASM_" is undefined, define this macro
to use the (might be) faster QWORD memory transfer in
"lib/System/MemoryOperations.h" otherwise the
standard DWORD memory transfer should be used.
If "__USE_ASM__" is defined, this macro will have
no effect.
-
- __USE_ASM__
- Define this macro to use inline assembly for performance optimization. Once this macro is defined, it can be finely tuned for some specific processor using these macros :
__USE_MMX__ | : | to utilize MMX |
__USE_SSE__ | : | to utilize SSE |
__USE_SSE2__ | : | to utilize SSE 2 |
__USE_SSE3__ | : | to utilize SSE 3 |
__USE_3DNOW__ | : | to utilize 3DNow! |
-
- If none of those macros are defined, plain 32-bit x86 assembly will be used.
-
- If your system supports SSE, SSE2 or SSE3, you should also define the build macros
for enabling SSE instead of just enabling MMX. On these computers some MMX operations,
such as memory operations defined in "lib/System/ MemoryOperations.h" may perform even
slower than plain 32-bit x86 assembly.
-
- For SSE memory operations defined in "lib/System/MemoryOperations.h",
there is one more option :
- __USE_ALIGNED_MEMOPS__
- by using this, you may gain more speed with memory operations defined in
"System/MemoryOperations.h", however, the memory
address used must be aligned to a 16-byte boundary or a segmentation fault will be
occurred.
- Default values defined :
- __USE_ASM__
- __USE_ALIGNED_MEMOPS__
Other Macros
- __LIB_HC_MCTLG_PATH__
- This macro will tell VortexGE where to find the library's internal message catalog
directory, "libVGE.messages.cat". The path is hard-coded
by the configuration script. Should you need to install VortexGE to a directory different
from the selected one in the configuration process, the only way to tell the library the
location of the catalog directory is by using the
"VGE_MESSAGE_CATALOG_PATH" environment variable.
-
- __USE_COLORED_MESSAGES__
- Define this macro to colorize the output of message displayer functions (declared in
"lib/Base/MessageDisplayer.h"), otherwise the standard
black and white (B&W) output will be used.
-
- Default values defined :
- __LIB_HC_MCTLG_PATH__ "/absolute/path/to/lib/installation/directory"
- __USE_COLORED_MESSAGES__
NOTE:
Some other macros will be also automatically defined/undefined by the configuration script (depending on the system configuration and the selected options), it is recommended not to
change them.