Changeset: 0f027af0c9f9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0f027af0c9f9
Added Files:
        tools/mserver/monet_version.c
Removed Files:
        tools/mserver/monet_version.c.in
Modified Files:
        CMakeLists.txt
        cmake/monetdb_config.h.in
Branch: cmake-fun
Log Message:

Added checks for remaining macros in monet_config.h on UNIX platforms, plus 
some cleanup.


diffs (truncated from 767 to 300 lines):

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,9 +22,17 @@ include(CheckTypeSize REQUIRED)
 include(FindIconv REQUIRED)
 include(TestLargeFiles REQUIRED)
 include(CheckCCompilerFlag REQUIRED)
+include(TestBigEndian REQUIRED)
 
 cmake_policy(SET CMP0075 NEW)
 
+# Save default cmake options in the beggining
+set(PREV_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}")
+set(PREV_CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES}")
+set(PREV_CMAKE_REQUIRED_LINK_OPTIONS "${CMAKE_REQUIRED_LINK_OPTIONS}")
+set(PREV_CMAKE_EXTRA_INCLUDE_FILES "${CMAKE_EXTRA_INCLUDE_FILES}")
+set(PREV_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
+
 function(MT_clibsToCmake INPUT_INCS OUTPUT_INCS) # Remove -I before the 
include path
        string(LENGTH "${INPUT_INCS}" INPUT_INCS_LENGTH)
        string(SUBSTRING "${INPUT_INCS}" 2 ${INPUT_INCS_LENGTH} INPUT_INCS)
@@ -39,33 +47,35 @@ string(TOLOWER "${CMAKE_SYSTEM_NAME}" CM
 string(TOLOWER "${CMAKE_C_COMPILER_ID}" CMAKE_C_COMPILER_ID_LOWER)
 set("HOST" 
"${CMAKE_SYSTEM_PROCESSOR}-pc-${CMAKE_SYSTEM_NAME_LOWER}-${CMAKE_C_COMPILER_ID_LOWER}")
 
-# Read libversions file
-file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/libversions" LIB_VERSIONS)
+set(MONETDB_RELEASE "unreleased")
 
-string(REGEX MATCH "GDK_VERSION=[^\ \t\r\n]+" GDK_VERSION ${LIB_VERSIONS})
-string(LENGTH "${GDK_VERSION}" GDK_VERSION_LENGTH)
-string(SUBSTRING "${GDK_VERSION}" 12 ${GDK_VERSION_LENGTH} GDK_VERSION)
+# Change these variables between releases
+set(MONETDB_VERSION "11:34:0")
+set(GDK_VERSION "17:4:0")
+set(MAPI_VERSION "11:0:1")
+set(MONETDB5_VERSION "26:0:1")
+set(STREAM_VERSION "12:1:1")
 
-string(REGEX MATCH "MAPI_VERSION=[^\ \t\r\n]+" MAPI_VERSION ${LIB_VERSIONS})
-string(LENGTH "${MAPI_VERSION}" MAPI_VERSION_LENGTH)
-string(SUBSTRING "${MAPI_VERSION}" 13 ${MAPI_VERSION_LENGTH} MAPI_VERSION)
+string(REPLACE ":" "." VERSION "${MONETDB_VERSION}")
 
-string(REGEX MATCH "MONETDB5_VERSION=[^\ \t\r\n]+" MONETDB5_VERSION 
${LIB_VERSIONS})
-string(LENGTH "${MONETDB5_VERSION}" MONETDB5_VERSION_LENGTH)
-string(SUBSTRING "${MONETDB5_VERSION}" 17 ${MONETDB5_VERSION_LENGTH} 
MONETDB5_VERSION)
-
-string(REGEX MATCH "STREAM_VERSION=[^\ \t\r\n]+" STREAM_VERSION 
${LIB_VERSIONS})
-string(LENGTH "${STREAM_VERSION}" STREAM_VERSION_LENGTH)
-string(SUBSTRING "${STREAM_VERSION}" 15 ${STREAM_VERSION_LENGTH} 
STREAM_VERSION)
+# Packaging information
+set(PACKAGE "MonetDB")
+set(PACKAGE_NAME "MonetDB")
+set(PACKAGE_TARNAME "MonetDB")
+set(PACKAGE_STRING "MonetDB ${VERSION}")
+set(PACKAGE_URL "https://www.monetdb.org/";)
+set(PACKAGE_BUGREPORT "https://bugs.monetdb.org/";)
+set(PACKAGE_VERSION "${VERSION}")
 
 if("${CMAKE_C_COMPILER_ID}" STREQUAL "Intel")
        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -no-gcc") # Intel compiler hack
 elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
-       set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GNU_SOURCE") # TODO 
CMAKE_REQUIRED_DEFINITIONS?
+       set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} 
-D_GNU_SOURCE")
 endif()
+set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_REENTRANT")
 
 # Set default build options
-if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/vertoo.data")
+if("${CMAKE_BUILD_TYPE}" MATCHES "^Debug|$")
        set(DFT_STRICT "YES")
        set(DFT_ASSERT "YES")
        set(DFT_DEBUG "YES")
@@ -162,10 +172,14 @@ endif()
 # instalation directories
 set(LOGDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/monetdb" CACHE STRING 
"Where to put log files (LOCALSTATEDIR/log/monetdb)")
 set(RUNDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/monetdb" CACHE STRING 
"Where to put pid files (LOCALSTATEDIR/run/monetdb)")
+set(BINDIR "${CMAKE_INSTALL_FULL_BINDIR}")
+set(DATA_DIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}")
+set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}")
+set(LOCALSTATEDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}")
 
-OPJ_TEST_LARGE_FILES(_LARGE_FILES)
-OPJ_TEST_LARGE_FILES(_LARGEFILE_SOURCE)
-OPJ_TEST_LARGE_FILES(_FILE_OFFSET_BITS)
+opj_test_large_files(_LARGE_FILES)
+opj_test_large_files(_LARGEFILE_SOURCE)
+opj_test_large_files(_FILE_OFFSET_BITS)
 
 if(NOT "${CMAKE_C_COMPILER_ID}" MATCHES 
"^GNU|Intel|Clang|MSVC|AppleClang|SunPro$")
        message(WARNING "Compiler potentially not (correctly) recognized")
@@ -282,33 +296,19 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Intel"
        endif()
 endif()
 
-set(CMAKE_REQUIRED_LINK_OPTIONS "${CMAKE_REQUIRED_LINK_OPTIONS} 
-Wl,-Bsymbolic-functions")
-check_c_source_compiles("
-       #include <stdio.h>
-       #include <stdlib.h>
-       #include <string.h>
-
-       int main(int argc, char **av) {
-               char buf[24];
-               double d = atof(\"4.2\");
-               if (argc == 0 || strchr(av[0], av[0][0]) != NULL)
-                       snprintf(buf, sizeof(buf), \"%f\", d);
-               return 0;
-       }
-" HAVE_WL_BSYMBOLIC_FUNCTIONS)
-set(CMAKE_REQUIRED_LINK_OPTIONS "${PREV_CMAKE_REQUIRED_LINK_OPTIONS}")
-if(HAVE_WL_BSYMBOLIC_FUNCTIONS)
-       message(STATUS "Test for -Bsymbolic-functions option succeeded")
-       set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${Flag}")
-       set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${Flag}")
-       set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${Flag}")
-else()
-       message(STATUS "Test for -Bsymbolic-functions option failed")
+message(STATUS "Test if compiler supports -Wl,-Bsymbolic-functions flag")
+set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Wl,-Bsymbolic-functions")
+check_c_compiler_flag("" HAVE_WL_BSYMBOLIC_FUNCTIONS)
+if(NOT HAVE_WL_BSYMBOLIC_FUNCTIONS)
+       set(CMAKE_REQUIRED_FLAGS "${PREV_CMAKE_REQUIRED_FLAGS}")
 endif()
 
 if(${CMAKE_SYSTEM_NAME} STREQUAL "CYGWIN")
        set(NO_UNDEFINED "-no-undefined")
 endif()
+if(MSVC OR ${CMAKE_SYSTEM_NAME} STREQUAL "CYGWIN")
+       set(WIN32 ON)
+endif()
 
 if(${ENABLE_DEBUG} STREQUAL "YES" AND ${ENABLE_OPTIMIZE} STREQUAL "YES")
        message(FATAL_ERROR " Combining optimize and debug is not possible")
@@ -326,20 +326,22 @@ if(${ENABLE_DEBUG} STREQUAL "YES")
        # Adding flags
        set(NEW_CMAKE_C_FLAGS "")
        if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
-               set(NEW_CMAKE_C_FLAGS "${NEW_CMAKE_C_FLAGS} -g3")
+               set(NEW_CMAKE_C_FLAGS "-g3")
        else()
-               set(NEW_CMAKE_C_FLAGS "${NEW_CMAKE_C_FLAGS} -g")
+               set(NEW_CMAKE_C_FLAGS "-g")
        endif()
 
        string(LENGTH "${NEW_CMAKE_C_FLAGS}" NEW_CMAKE_FLAGS_LENGTH)
        if(NEW_CMAKE_FLAGS_LENGTH GREATER 0)
-               message(STATUS "Added${NEW_CMAKE_C_FLAGS} flag(s) for debug 
build")
+               message(STATUS "Added ${NEW_CMAKE_C_FLAGS} flag(s) for debug 
build")
                set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${NEW_CMAKE_C_FLAGS}")
        endif()
 endif()
 
 if(${ENABLE_ASSERT} STREQUAL "NO")
        set(NDEBUG ON)
+elseif(${ENABLE_ASSERT} STREQUAL "YES" AND ${CMAKE_SYSTEM_NAME} STREQUAL 
"Intel")
+       set(X_CFLAGS "${X_CFLAGS} -wd279")
 endif()
 
 if(${ENABLE_OPTIMIZE} STREQUAL "YES")
@@ -363,23 +365,23 @@ if(${ENABLE_OPTIMIZE} STREQUAL "YES")
        # Adding flags
        set(NEW_CMAKE_C_FLAGS "")
        if(${CMAKE_SYSTEM_NAME} STREQUAL "Clang")
-               set(NEW_CMAKE_C_FLAGS "${NEW_CMAKE_C_FLAGS} -O3")
+               set(NEW_CMAKE_C_FLAGS "-O3")
                if(${ENABLE_ASSERT} STREQUAL "NO")
                        set(NEW_CMAKE_C_FLAGS "${NEW_CMAKE_C_FLAGS} 
-fomit-frame-pointer")
                endif()
        elseif(${CMAKE_SYSTEM_NAME} STREQUAL "GNU")
-               set(NEW_CMAKE_C_FLAGS "${NEW_CMAKE_C_FLAGS} -O3")
+               set(NEW_CMAKE_C_FLAGS "-O3")
                if(${ENABLE_ASSERT} STREQUAL "NO")
                        set(NEW_CMAKE_C_FLAGS "${NEW_CMAKE_C_FLAGS} 
-fomit-frame-pointer")
                endif()
                set(NEW_CMAKE_C_FLAGS "${NEW_CMAKE_C_FLAGS} -pipe")
        elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Intel")
-               set(NEW_CMAKE_C_FLAGS "${NEW_CMAKE_C_FLAGS} -O2")
+               set(NEW_CMAKE_C_FLAGS "-O2")
        endif()
 
        string(LENGTH "${NEW_CMAKE_C_FLAGS}" NEW_CMAKE_FLAGS_LENGTH)
        if(NEW_CMAKE_FLAGS_LENGTH GREATER 0)
-               message(STATUS "Added${NEW_CMAKE_C_FLAGS} flag(s) for optimize 
build")
+               message(STATUS "Added ${NEW_CMAKE_C_FLAGS} flag(s) for optimize 
build")
                set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${NEW_CMAKE_C_FLAGS}")
        endif()
 
@@ -563,19 +565,19 @@ if(NOT ENABLE_TESTING STREQUAL "NO" AND 
        set(ENABLE_TESTING "NO")
 endif()
 
-if(ENABLE_EMBEDDED STREQUAL "NO") # TODO is this check needed anymore???
-       if(${ENABLE_SQL} STREQUAL "YES" AND NOT BISON_FOUND)
-               message(FATAL_ERROR "MonetDB/SQL requires bison")
-       endif()
-       if(BISON_FOUND AND BISON_VERSION VERSION_LESS_EQUAL 2.4.3)
+if(BISON_FOUND)
+       if(BISON_VERSION VERSION_LESS_EQUAL 2.4.3)
                string(FIND "${CMAKE_C_FLAGS}" "-Wundef" FOUND_WDEF)
                if(NOT FOUND_WDEF EQUAL -1)
                        string(REPLACE "-Wundef" "" CMAKE_C_FLAGS 
"${CMAKE_C_FLAGS}")
                        message(STATUS "Removed -Wundef flag for bison")
                endif()
        endif()
+elseif(${ENABLE_SQL} STREQUAL "YES")
+       message(FATAL_ERROR "MonetDB/SQL requires bison")
 else()
-       message(WARN " Ignoring missing bison in embedded configuration")
+       set(ENABLE_SQL "NO")
+       message(ERROR " Bison not found")
 endif()
 
 set(OS_SOPREF "lib")
@@ -604,30 +606,25 @@ else()
        message(FATAL_ERROR "Unknown target operating system")
 endif()
 
-set(DIR_SEP      ${OS_DIRSEP})
+set(DIR_SEP      "'${OS_DIRSEP}'")
 set(DIR_SEP_STR  ${OS_DIRSEP})
-set(PATH_SEP     ${OS_PATHSEP})
+set(PATH_SEP     "'${OS_PATHSEP}'")
 set(PATH_SEP_STR ${OS_PATHSEP})
 set(SO_EXT       ${OS_SOEXT})
 set(SO_PREFIX    ${OS_SOPREF})
 
+test_big_endian(WORDS_BIGENDIAN)
+if(APPLE)
+       set(AC_APPLE_UNIVERSAL_BUILD ON)
+endif()
+
 # checks for libraries
-set(PREV_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}")
-set(PREV_CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES}")
-set(PREV_CMAKE_REQUIRED_LINK_OPTIONS "${CMAKE_REQUIRED_LINK_OPTIONS}")
-set(PREV_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
-set(PREV_CMAKE_EXTRA_INCLUDE_FILES "${CMAKE_EXTRA_INCLUDE_FILES}")
-
 set(WITH_BZ2 "AUTO" CACHE STRING "Include bz2 support (default=auto)") # Check 
with HAVE_BZLIB
 if(NOT ${WITH_BZ2} STREQUAL "NO")
-       pkg_search_module(BZIP2 NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH bzip2)
+       include(FindBZip2)
 
-       if(BZIP2_FOUND)
-               set(CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES};bz2")
-               check_symbol_exists("BZ2_bzopen" "bzlib.h" HAVE_BZLIB)
-               set(CMAKE_REQUIRED_LIBRARIES "${PREV_CMAKE_REQUIRED_LIBRARIES}")
-       endif()
-       if(HAVE_BZLIB)
+       if(BZip2_FOUND)
+               set(HAVE_BZLIB ON)
                message(STATUS "bz2 library found")
        elseif(${WITH_BZ2} STREQUAL "YES")
                message(FATAL_ERROR "bz2 library not found")
@@ -809,6 +806,28 @@ if(Iconv_FOUND)
        if(NOT Iconv_IS_BUILT_IN)
                set(ICONV_LIBS "${Iconv_LIBRARIES}")
        endif()
+
+       message(STATUS "Check if second iconv argument requires const")
+       check_c_source_compiles("
+               #include <iconv.h>
+
+               int main(int argc, char** argv){
+                       (void) argc;
+                       (void) argv;
+                       iconv_t conv = 0;
+                       const char* in = 0;
+                       size_t ilen = 0;
+                       char* out = 0;
+                       size_t olen = 0;
+                       iconv(conv, &in, &ilen, &out, &olen);
+                       return 0;
+               }
+       " ICONV_REQUIRES_CONST)
+       if(ICONV_REQUIRES_CONST)
+               set(ICONV_CONST const)
+       else()
+               set(ICONV_CONST " ")
+       endif()
 endif()
 
 # UUID
@@ -898,7 +917,8 @@ else()
                                        message(FATAL_ERROR "OpenSSL library 
found but checksum algorithm required for MonetDB5 not found")
                                else()
                                        set(ENABLE_MONETDB5 "NO")
-                                       message(WARN " OpenSSL library found 
but required checksum algorithm not found, so disabling")
+                                       set(WHY_NOT_MONETDB5 "OpenSSL library 
found but required checksum algorithm not found, so disabling")
+                                       message(WARN " ${WHY_NOT_MONETDB5}")
                                endif()
                        else()
                                set(HAVE_OPENSSL ON)
@@ -908,7 +928,8 @@ else()
                                message(FATAL_ERROR "OpenSSL library not found 
but required for MonetDB5")
                        else()
                                set(ENABLE_MONETDB5 "NO")
-                               message(WARN " OpenSSL library not found but 
required for MonetDB5")
+                               set(WHY_NOT_MONETDB5 "OpenSSL library not found 
but required for MonetDB5")
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to