Library Build Compile Options

Chapter Updated 12/09/22


Library Build Compile Options

OptionsDescriptionPrerequisites - Notes
XB_DEBUG_SUPPORTInclude library debugging functionality
XB_UTILS_SUPPORTBuild utility programs?
XB_EXAMPLES_SUPPORTBuild example programs?
XB_MEMO_SUPPORTInclude Memo file support?Prereq: XB_LINKLIST_SUPPORT
XB_LOGGING_SUPPORTInclude logging support?
XB_DBF3_SUPPORTInclude DBF Version III support?At lease one of XB_DBF3_SUPPORT or
XB_DBF4_SUPPORT required
XB_DBF4_SUPPORTInclude DBF Version IV support?At least one of XB_DBF3_SUPPORT or
XB_DBF4_SUPPORT required
XB_LINKLIST_SUPPORTInclude Linklist functionality?
XB_LOCKING_SUPPORTInclude File and Record locking support?Prereq: XB_LINKLIST_SUPPORT
XB_FUNCTION_SUPPORTInclude Expression Function support?
XB_EXPRESSION_SUPPORTInclude Expression support?Prereq: XB_FUNCTION_SUPPORT
and XB_LINKLIST_SUPPORT
XB_NDX_SUPPORTInclude NDX Index support?Prereq: XB_EXPRESSION_SUPPORT
XB_MDX_SUPPORTInclude MDX Index support?Prereq: XB_EXPRESSION_SUPPORT
XB_SQL_SUPPORTInclude SQL support?Prereq: XB_MEMO_SUPPORT
and XB_DBF4_SUPPORT
XB_INF_SUPPORTInclude INF support (Provides auto open functions for NDX indices)
XB_FILTER_SUPPORTInclude Filter supportPrereq: XB_EXPRESSION_SUPPORT





CMake

The Xbase library is built using the CMake build manager. Cmake provides the architecture for building cross platform projects with a unified build system. If you are not familiar with CMake, you can familiarize yourself with it at https://cmake.org

To modify the XBase64 compile options take the following steps:


1) Identify which platform you want to build and identify the correct build folder
/xbase64-4.x.x/build/borland5.5Older free Borland 5.5 32 bit Windows compiler
/xbase64-4.x.x/build/linux32Linux 32 bit build folder
/xbase64-4.x.x/build/linux64Linux 64 bit build folder
/xbase64-4.x.x/build/win32vsWindows 32 bit Visual Studio folder
/xbase64-4.x.x/build/win64vsWindows 64 bit Visual Studio folder
/xbase64-4.x.x/build/mac64MAC 64 but folder



2) Navigate to the appropriate folder identified in step 1. Once you are in the correct folder, verify there is a CmakeLists.txt file. That file is the main librbary build configuration file.

3) Select one if the following methods to update the config options
For Windows users, use program cmake-gui.exe
For Unix/Linux/Mac users, use program cmake-gui
For Unix command line, use program "ccmake ."
Or manually edit the CmakeLists.txt file with your favorite text editor







Debug Support (Option: XB_DEBUG_SUPPORT)

The following methods are included from the library when the XB_DEBUG_OPTION is turned on. They are mainly used for library debugging purposes and can be safely left turned off.

Method/FunctionDescription
xbDate::Dump()Dump the xbDate object internals to stdout
xbDate::DumpDateTable()Dump internal date tables to stdout
xbDbf::DumpTableLockStatus()Dump internal locking status / structures
xbExp::DumpToken()Dump expression values
xbExp::DumpTree()Dump expression token tree
xbExpNode::DumpToken()Dump expression node values
xbFile::DumpBlockToDiskDump specified block of data to a disk file
xbIx::DumpNodeDump index node header
xbIxMdx::DumpBlockDump MDX index block
xbIxMdx::DumpFreeBlocksDump MDX free block chain
xbIxMdx::DumpHeaderDump MDX file header info
xbIxMdx::DumpIxForTagDump MDX index keys and values for a given tag
xbIxMdx::DumpIxNodeChainDump MDX current memory node linked list for a given tag
xbIxMdx::DumpTagBlocksDump MDX blocks for a given tag
xbIxNdx::DumpHeaderDump MDX file header info
xbIxNdx::DumpIxNodeChainDump MDX current memory node linked list for a given tag
xbIxNdx::DumpNodeDump index node header
xbIxNdx::DumpTagBlocksDump NDX blocks for a given tag
xbMemoDbt3::DumpMemoFreeChain()Place holder
xbMemoDbt4::DumpMemoFreeChain()Dump list of free blocks available for reuse
xbMemoDbt4::DumpMemoInternals()Dump V4 memo file internals
xbString::Dump()Dump string internals
xbString::DumpHex()Dump string internals in hex