summaryrefslogtreecommitdiff
path: root/build/linux64
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2023-08-14 21:07:48 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2023-08-14 21:07:48 +0200
commitd850e78baf62d1f472a3a296f407c127c64cec88 (patch)
tree39725643b44c91ea25809766cf95cd0b1173e880 /build/linux64
parent15f88452d39eee5a89551a89ef2b93df5168ba2f (diff)
parentc894a7cdd8686ea695602a23a511a3f1b0d047be (diff)
Update upstream source from tag 'upstream/4.1.4'
Update to upstream version '4.1.4' with Debian dir 403f575aa88344456029245280a05149f0173f2e
Diffstat (limited to 'build/linux64')
-rwxr-xr-xbuild/linux64/CMakeLists.txt116
-rw-r--r--build/linux64/README.linux6422
2 files changed, 104 insertions, 34 deletions
diff --git a/build/linux64/CMakeLists.txt b/build/linux64/CMakeLists.txt
index f514c5c..ce2566a 100755
--- a/build/linux64/CMakeLists.txt
+++ b/build/linux64/CMakeLists.txt
@@ -1,14 +1,14 @@
-cmake_minimum_required(VERSION 3.0)
+cmake_minimum_required(VERSION 3.2)
-project (xbase64)
+project (Xbase64)
set( xbase_VERSION_MAJOR 4 )
set( xbase_VERSION_MINOR 1 )
-set( xbase_VERSION_PATCH 0 )
+set( xbase_VERSION_PATCH 4 )
-MESSAGE( "--- Xbase build for: " ${CMAKE_SYSTEM_NAME} )
-MESSAGE( "--- Compiler: " ${CMAKE_CXX_COMPILER_ID} )
-MESSAGE( "--- Project Name: " ${CMAKE_PROJECT_NAME} )
-MESSAGE( "--- Install Prefix: " ${CMAKE_INSTALL_PREFIX} )
+MESSAGE( "--- Xbase build for: " ${CMAKE_SYSTEM_NAME} )
+MESSAGE( "--- Compiler: " ${CMAKE_CXX_COMPILER_ID} )
+MESSAGE( "--- Project Name: " ${CMAKE_PROJECT_NAME} )
+MESSAGE( "--- Install Prefix: " ${CMAKE_INSTALL_PREFIX} )
#Set compiler options
@@ -25,7 +25,6 @@ IF( BORLAND )
add_compile_options( -w-8022 )
ENDIF( BORLAND )
-
MESSAGE( "--- Checking integer sizes" )
INCLUDE(CheckTypeSize)
CHECK_TYPE_SIZE( "short int" SHORT_INT )
@@ -160,6 +159,7 @@ option( XB_MEMO_SUPPORT "Compile memo field support into library"
option( XB_NDX_SUPPORT "Compile NDX Index support into library" ON)
option( XB_MDX_SUPPORT "Compile MDX Index support into library" ON)
option( XB_LOCKING_SUPPORT "Compile Multi User Locking support into library" ON)
+option( XB_TDX_SUPPORT "Compile temporary index support into library" ON)
option( XB_LOGGING_SUPPORT "Compile message logging support into library" ON)
option( XB_LINKLIST_SUPPORT "Compile Link List routines into library" ON)
@@ -179,6 +179,7 @@ Message( "--- XB_DBF4_SUPPORT " ${XB_DBF4_SUPPORT})
Message( "--- XB_MEMO_SUPPORT " ${XB_MEMO_SUPPORT})
Message( "--- XB_NDX_SUPPORT " ${XB_NDX_SUPPORT})
Message( "--- XB_MDX_SUPPORT " ${XB_MDX_SUPPORT})
+Message( "--- XB_TDX_SUPPORT " ${XB_TDX_SUPPORT})
Message( "--- XB_LOCKING_SUPPORT " ${XB_LOCKING_SUPPORT})
Message( "--- XB_LINKLIST_SUPPORT " ${XB_LINKLIST_SUPPORT})
Message( "--- XB_FUNCTION_SUPPORT " ${XB_FUNCTION_SUPPORT})
@@ -190,6 +191,7 @@ Message( "--- XB_EXAMPLES_SUPPORT " ${XB_EXAMPLES_SUPPORT})
Message( "--- XB_LOGGING_SUPPORT " ${XB_LOGGING_SUPPORT})
Message( "--- XB_SQL_SUPPORT " ${XB_SQL_SUPPORT})
Message( "--- XB_INF_SUPPORT " ${XB_INF_SUPPORT})
+Message( "--- XB_BLOCKREAD_SUPPORT " ${XB_BLOCKREAD_SUPPORT})
IF( XB_DEBUG_SUPPORT )
Message( "--- Adding debug support" )
@@ -242,6 +244,8 @@ CHECK_FUNCTION_EXISTS(fork HAVE_FORK_F)
CHECK_FUNCTION_EXISTS(_fseeki64 HAVE__FSEEKI64_F)
CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO_F)
CHECK_FUNCTION_EXISTS(ftruncate HAVE_FTRUNCATE_F)
+CHECK_FUNCTION_EXISTS(getenv_s HAVE_GETENV_S_F)
+
CHECK_FUNCTION_EXISTS(_localtime64_s HAVE__LOCALTIME64_S_F)
CHECK_FUNCTION_EXISTS(LockFile HAVE_LOCKFILE_F)
CHECK_FUNCTION_EXISTS(locking HAVE_LOCKING_F)
@@ -294,13 +298,15 @@ get_filename_component( PROJECT_PARENT_DIR ${PROJECT_PARENT_DIR} DIRECTORY )
# MESSAGE( "PROJECT_BINARY_DIR = " ${PROJECT_BINARY_DIR} )
-set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/${XB_PLATFORM})
-set( LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib/${XB_PLATFORM})
-set( PROJECT_SOURCE_DIR ${PROJECT_PARENT_DIR}/src)
-set( PROJECT_DATA_DIR ${PROJECT_PARENT_DIR}/data/)
-set( PROJECT_LOG_DIR ${PROJECT_PARENT_DIR}/logs/)
-set( EXTRA_LIBS ${EXTRA_LIBS} ${XB_LIBNAME})
+set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin )
+set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib )
+set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib )
+set( PROJECT_SOURCE_DIR ${PROJECT_PARENT_DIR}/src )
+set( PROJECT_DATA_DIR ${PROJECT_PARENT_DIR}/data )
+set( PROJECT_LOG_DIR ${PROJECT_PARENT_DIR}/logs )
+set( PROJECT_TEMP_DIR ${PROJECT_PARENT_DIR}/temp )
+set( EXTRA_LIBS ${EXTRA_LIBS} ${XB_LIBNAME} )
# Undo bad decisions
@@ -320,14 +326,23 @@ IF( XB_DBF4_SUPPORT AND XB_MEMO_SUPPORT AND NOT XB_LINKLIST_SUPPORT )
set( XB_LINKLIST_SUPPORT ON CACHE BOOL "Compile Link List routines into library" FORCE )
ENDIF( XB_DBF4_SUPPORT AND XB_MEMO_SUPPORT AND NOT XB_LINKLIST_SUPPORT )
+
+
+
IF( XB_LOCKING_SUPPORT AND NOT XB_LINKLIST_SUPPORT )
MESSAGE( "--- Link List support required for locking functions. Setting to ON" )
set( XB_LINKLIST_SUPPORT ON CACHE BOOL "Compile Link List routines into library" FORCE )
ENDIF( XB_LOCKING_SUPPORT AND NOT XB_LINKLIST_SUPPORT )
+IF( XB_TDX_SUPPORT AND NOT XB_MDX_SUPPORT )
+ MESSAGE( "--- MDX support required for Temporary indices. Setting to ON" )
+ set( XB_MDX_SUPPORT ON CACHE BOOL "Compile temporary index support into library" FORCE )
+ENDIF( XB_TDX_SUPPORT AND NOT XB_MDX_SUPPORT )
+
IF( XB_INDEX_SUPPORT AND NOT XB_EXPRESSION_SUPPORT )
MESSAGE( "--- Expression required for indices. Setting to ON" )
set( XB_EXPRESSION_SUPPORT ON CACHE BOOL "Compile Expression support into library" FORCE )
+ Set( XB_INDEX_SUPPORT "1" )
ENDIF( XB_INDEX_SUPPORT AND NOT XB_EXPRESSION_SUPPORT )
IF( XB_EXPRESSION_SUPPORT AND NOT XB_FUNCTION_SUPPORT )
@@ -360,6 +375,12 @@ IF( XB_SQL_SUPPORT AND NOT XB_BLOCKREAD_SUPPORT )
set( XB_BLOCKREAD_SUPPORT ON CACHE BOOL "Compile Block Read support into library" FORCE )
ENDIF( XB_SQL_SUPPORT AND NOT XB_BLOCKREAD_SUPPORT )
+IF( XB_TDX_SUPPORT AND NOT XB_MDX_SUPPORT )
+ MESSAGE( "--- MDX support required for Temporary indices. Setting to ON" )
+ set( XB_MDX_SUPPORT ON CACHE BOOL "Compile temporary index support into library" FORCE )
+ENDIF( XB_TDX_SUPPORT AND NOT XB_MDX_SUPPORT )
+
+
# Build configuration header file
configure_file (
@@ -367,11 +388,11 @@ configure_file (
"${PROJECT_BINARY_DIR}/include/xbconfig.h"
)
-# Microsoft Windows settings
-IF( WIN32 )
+# Microsoft Windows compiler settings
+IF( MSVC )
# add_definitions( /D_CRT_SECURE_NO_WARNINGS)
add_definitions( /EHsc )
-ENDIF( WIN32 )
+ENDIF( MSVC )
# set up include directories
@@ -441,6 +462,11 @@ IF( XB_MDX_SUPPORT )
set (SOURCES ${SOURCES} ${PROJECT_SOURCE_DIR}/core/xbixmdx.cpp )
ENDIF( XB_MDX_SUPPORT )
+IF( XB_TDX_SUPPORT )
+ set (SOURCES ${SOURCES} ${PROJECT_SOURCE_DIR}/core/xbixtdx.cpp )
+ENDIF( XB_TDX_SUPPORT )
+
+
IF( XB_SQL_SUPPORT )
set (SOURCES ${SOURCES} ${PROJECT_SOURCE_DIR}/sql/xbalttbl.cpp )
set (SOURCES ${SOURCES} ${PROJECT_SOURCE_DIR}/sql/xbcrix.cpp )
@@ -559,14 +585,26 @@ add_test( NAME xbIxNdx COMMAND xb_test_ndx QUIET )
ENDIF( XB_DBF3_SUPPORT )
ENDIF( XB_NDX_SUPPORT )
-IF( XB_MDX_SUPPORT )
+
+
IF( XB_DBF4_SUPPORT )
+
+IF( XB_MDX_SUPPORT )
add_executable( xb_test_mdx ${PROJECT_SOURCE_DIR}/tests/xb_test_mdx.cpp )
target_link_libraries( xb_test_mdx ${EXTRA_LIBS})
add_test( NAME xbIxMdx COMMAND xb_test_mdx QUIET )
-ENDIF( XB_DBF4_SUPPORT )
ENDIF( XB_MDX_SUPPORT )
+IF( XB_TDX_SUPPORT )
+add_executable( xb_test_tdx ${PROJECT_SOURCE_DIR}/tests/xb_test_tdx.cpp )
+target_link_libraries( xb_test_tdx ${EXTRA_LIBS})
+add_test( NAME xbIxTdx COMMAND xb_test_tdx QUIET )
+ENDIF( XB_TDX_SUPPORT )
+
+ENDIF( XB_DBF4_SUPPORT )
+
+
+
IF( XB_INDEX_SUPPORT )
add_executable( xb_test_bcd ${PROJECT_SOURCE_DIR}/tests/xb_test_bcd.cpp )
target_link_libraries( xb_test_bcd ${EXTRA_LIBS})
@@ -652,6 +690,11 @@ IF( XB_EXAMPLES_SUPPORT )
add_executable( xb_ex_ssv ${PROJECT_SOURCE_DIR}/examples/xb_ex_ssv.cpp )
target_link_libraries( xb_ex_ssv ${EXTRA_LIBS})
+ IF( XB_LOGGING_SUPPORT )
+ add_executable( xb_ex_log ${PROJECT_SOURCE_DIR}/examples/xb_ex_log.cpp )
+ target_link_libraries( xb_ex_log ${EXTRA_LIBS})
+ ENDIF( XB_LOGGING_SUPPORT )
+
ENDIF( XB_EXAMPLES_SUPPORT )
#build utility programs
@@ -675,6 +718,9 @@ IF( XB_UTILS_SUPPORT )
add_executable( xb_dumprecs ${PROJECT_SOURCE_DIR}/utils/xb_dumprecs.cpp )
target_link_libraries( xb_dumprecs ${EXTRA_LIBS})
+ add_executable( xb_import ${PROJECT_SOURCE_DIR}/utils/xb_import.cpp )
+ target_link_libraries( xb_import ${EXTRA_LIBS})
+
add_executable( xb_tblinfo ${PROJECT_SOURCE_DIR}/utils/xb_tblinfo.cpp )
target_link_libraries( xb_tblinfo ${EXTRA_LIBS})
@@ -695,6 +741,7 @@ IF( XB_UTILS_SUPPORT )
install (TARGETS xb_deletall DESTINATION bin)
install (TARGETS xb_dumpdbt DESTINATION bin)
install (TARGETS xb_dumprecs DESTINATION bin)
+ install (TARGETS xb_import DESTINATION bin)
install (TARGETS xb_pack DESTINATION bin)
install (TARGETS xb_undelall DESTINATION bin)
IF( XB_SQL_SUPPORT )
@@ -705,14 +752,16 @@ IF( XB_UTILS_SUPPORT )
ENDIF( XB_UTILS_SUPPORT )
-install (FILES include/xbconfig.h
+install (FILES ${PROJECT_BINARY_DIR}/include/xbconfig.h
${PROJECT_SOURCE_DIR}/include/xbase.h
${PROJECT_SOURCE_DIR}/include/xbbcd.h
+ ${PROJECT_SOURCE_DIR}/include/xbblkread.h
${PROJECT_SOURCE_DIR}/include/xbdate.h
${PROJECT_SOURCE_DIR}/include/xbdbf.h
${PROJECT_SOURCE_DIR}/include/xbexp.h
${PROJECT_SOURCE_DIR}/include/xbexpnode.h
${PROJECT_SOURCE_DIR}/include/xbfile.h
+ ${PROJECT_SOURCE_DIR}/include/xbfilter.h
${PROJECT_SOURCE_DIR}/include/xbindex.h
${PROJECT_SOURCE_DIR}/include/xblnklst.h
${PROJECT_SOURCE_DIR}/include/xblnklstord.h
@@ -723,15 +772,11 @@ install (FILES include/xbconfig.h
${PROJECT_SOURCE_DIR}/include/xbsql.h
${PROJECT_SOURCE_DIR}/include/xbssv.h
${PROJECT_SOURCE_DIR}/include/xbstring.h
+ ${PROJECT_SOURCE_DIR}/include/xbtag.h
${PROJECT_SOURCE_DIR}/include/xbtblmgr.h
${PROJECT_SOURCE_DIR}/include/xbtypes.h
- ${PROJECT_SOURCE_DIR}/include/xbxbase.h
${PROJECT_SOURCE_DIR}/include/xbuda.h
- ${PROJECT_SOURCE_DIR}/include/xbtag.h
- ${PROJECT_SOURCE_DIR}/include/xbfilter.h
- ${PROJECT_SOURCE_DIR}/include/xbblkread.h
- ${PROJECT_SOURCE_DIR}/include/xbsql.h
-
+ ${PROJECT_SOURCE_DIR}/include/xbxbase.h
DESTINATION include/${CMAKE_PROJECT_NAME})
IF( NOT WIN32 )
@@ -741,6 +786,7 @@ install (FILES ${PROJECT_PARENT_DIR}/docs/man/xb_cfg_chk.1.gz
${PROJECT_PARENT_DIR}/docs/man/xb_deletall.1.gz
${PROJECT_PARENT_DIR}/docs/man/xb_dumpdbt.1.gz
${PROJECT_PARENT_DIR}/docs/man/xb_dumprecs.1.gz
+ ${PROJECT_PARENT_DIR}/docs/man/xb_import.1.gz
${PROJECT_PARENT_DIR}/docs/man/xb_pack.1.gz
${PROJECT_PARENT_DIR}/docs/man/xb_tblinfo.1.gz
${PROJECT_PARENT_DIR}/docs/man/xb_undelall.1.gz
@@ -750,12 +796,14 @@ install (FILES ${PROJECT_PARENT_DIR}/docs/man/xb_cfg_chk.1.gz
ENDIF( NOT WIN32 )
-SET_TARGET_PROPERTIES( ${XB_LIBNAME} PROPERTIES VERSION 4.1.0 SOVERSION 0 )
-
-IF( EXISTS /usr/local/lib64 )
-install (TARGETS ${XB_LIBNAME} DESTINATION lib64/${CMAKE_PROJECT_NAME})
-ELSE( EXISTS /usr/local/lib64 )
-install (TARGETS ${XB_LIBNAME} DESTINATION lib/${CMAKE_PROJECT_NAME})
-ENDIF( EXISTS /usr/local/lib64 )
-
+SET_TARGET_PROPERTIES( ${XB_LIBNAME} PROPERTIES VERSION 4.1.4 SOVERSION 0 )
+IF( WIN32 )
+ install (TARGETS ${XB_LIBNAME} DESTINATION bin)
+ELSE( WIN32 )
+ IF( EXISTS /usr/local/lib64 )
+ install (TARGETS ${XB_LIBNAME} DESTINATION lib64/${CMAKE_PROJECT_NAME})
+ ELSE( EXISTS /usr/local/lib64 )
+ install (TARGETS ${XB_LIBNAME} DESTINATION lib/${CMAKE_PROJECT_NAME})
+ ENDIF( EXISTS /usr/local/lib64 )
+ENDIF( WIN32 )
diff --git a/build/linux64/README.linux64 b/build/linux64/README.linux64
new file mode 100644
index 0000000..e5620ef
--- /dev/null
+++ b/build/linux64/README.linux64
@@ -0,0 +1,22 @@
+
+3/26/23
+
+Install steps for Xbase64 on a linux 64 bit platform.
+
+1) Verify cmake is installed with command: cmake --version
+ If it is not installed, take necessary steps to install it.
+
+2) Verify gcc is intalled with the command: gcc --version
+ If it is not installed, take necessary steps to install it.
+
+3) Build xbase64 library
+
+ cd build/linux64 (go to the appropriate build directory)
+ cmake . (configure for your environment)
+ make (compile it)
+ make test (test library build)
+ sudo make install (install it)
+ xb_cfg_chk (test install)
+
+
+