Changeset: 247c0a821571 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=247c0a821571
Modified Files:
CMakeLists.txt
clients/mapiclient/mclient.c
clients/mapiclient/mnc.c
common/stream/stream.c
common/stream/stream_socket.h
common/utils/prompt.c
gdk/gdk_posix.c
gdk/gdk_posix.h
gdk/gdk_system.c
gdk/gdk_system.h
gdk/gdk_utils.c
monetdb5/mal/mal_readline.c
monetdb5/modules/kernel/status.c
monetdb5/modules/mal/mal_mapi.c
monetdb_config.h.in
testing/difflib.c
testing/helpers.c
tools/merovingian/client/monetdb.c
tools/merovingian/daemon/merovingian.c
Branch: cmake-fun
Log Message:
Further cleanup, removed checks for Windows build vs all other builds.
diffs (truncated from 498 to 300 lines):
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -164,6 +164,14 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux"
endif()
if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel")
add_compile_options(-no-gcc) # Intel compiler hack
+ if(EXISTS "${ROOT}/usr/include/math.h") # see
https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979
+ file(READ "${ROOT}/usr/include/math.h" TMPTXT)
+ string(FIND "${TMPTXT}" "_LIB_VERSION_TYPE" FOUND_VERSION)
+ if(NOT FOUND_VERSION)
+ set(INTEL_MATH_H_HACK ON)
+ endif()
+ endif()
+ set(NAN_CANNOT_BE_USED_AS_INITIALIZER ON) # This hack is only required
by the Intel compiler
elseif(MSVC)
set(_Noreturn "__declspec(noreturn)")
set(__attribute__(a) ON)
@@ -214,31 +222,6 @@ if(NOT MSVC)
endif()
endif()
-#Test if compiler can use NAN as an initializer
-check_c_source_compiles("
- #include <math.h>
-
- extern const float f;
- extern const double d;
- const float f = NAN;
- const double d = NAN;
-
- int main(int argc, char **argv) {
- (void) argc; (void) argv;
- return 0;
- }" NAN_CAN_BE_USED_AS_INITIALIZER)
-if(NOT NAN_CAN_BE_USED_AS_INITIALIZER)
- set(NAN_CANNOT_BE_USED_AS_INITIALIZER ON)
-endif()
-
-if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel" AND EXISTS
"${ROOT}/usr/include/math.h") # see
https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979
- file(READ "${ROOT}/usr/include/math.h" TMPTXT)
- string(FIND "${TMPTXT}" "_LIB_VERSION_TYPE" FOUND_VERSION)
- if(NOT FOUND_VERSION)
- set(INTEL_MATH_H_HACK ON)
- endif()
-endif()
-
include(FindPython3)
find_package(Python3 COMPONENTS Interpreter Development)
set(PY3_INCLUDE_DIR "")
@@ -412,7 +395,7 @@ set(PSAPI_LIBRARIES "")
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set(DL_LIBRARIES "${CMAKE_DL_LIBS}")
endif()
-if(${CMAKE_SYSTEM_NAME} MATCHES "^FreeBSD|DragonFly|NetBSD$")
+if(${CMAKE_SYSTEM_NAME} MATCHES "^FreeBSD|DragonFly|NetBSD$") # Warning - I
checked the man pages and only tested on FreeBSD yet
set(KVM_LIBRARIES "kvm")
endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "^Linux|FreeBSD|NetBSD$")
@@ -425,13 +408,13 @@ if(WIN32)
endif()
set(PSAPI_LIBRARIES "${PSAPI_LIBRARY}")
- find_library(WSOCK32_LIBRARY NAMES Wsock32 wsock32)
+ find_library(WSOCK32_LIBRARY NAMES Wsock32 wsock32 DOC "wsock32 library
to link on Windows")
if(WSOCK32_LIBRARY)
list(APPEND SOCKET_LIBRARIES "${WSOCK32_LIBRARY}")
else()
message(FATAL_ERROR "Wsock32 library is missing and required to
compile MonetDB on Windows")
endif()
- find_library(WS2_32_LIBRARY NAMES Ws2_32 ws2_32)
+ find_library(WS2_32_LIBRARY NAMES Ws2_32 ws2_32 DOC "ws2_32 library to
link on Windows")
if(WS2_32_LIBRARY)
list(APPEND SOCKET_LIBRARIES "${WS2_32_LIBRARY}")
else()
@@ -582,7 +565,7 @@ if(NOT HAVE_${PASSWORD_BACKEND}_UPDATE)
set(HAVE_COMMONCRYPTO NO)
set(OPENSSL_FOUND NO)
set(ENABLE_MONETDB5 "NO")
- message(WARNING "A crypto library was found, but required
checksum algorithm was not found, so not disabling MonetDB5")
+ message(WARNING "A crypto library was found, but required
checksum algorithm was not found, so disabling MonetDB5")
endif()
endif()
@@ -980,11 +963,10 @@ check_include_file("kvm.h" HAVE_KVM_H)
check_include_file("libintl.h" HAVE_LIBINTL_H)
check_include_file("netdb.h" HAVE_NETDB_H)
check_include_file("pthread.h" HAVE_PTHREAD_H)
-check_include_file("semaphore.h" HAVE_SEMAPHORE_H)
-check_include_file("stdatomic.h" HAVE_STDATOMIC_H)
+check_include_file("stdatomic.h" HAVE_STDATOMIC_H) # C11 include file
check_include_file("strings.h" HAVE_STRINGS_H)
check_include_file("sys/ioctl.h" HAVE_SYS_IOCTL_H)
-check_include_file("sys/mman.h" HAVE_SYS_MMAN_H)
+check_include_file("sys/mman.h" HAVE_SYS_MMAN_H) # For madvise and
posix_madvise on BSD systems
check_include_file("sys/param.h" HAVE_SYS_PARAM_H)
check_include_file("sys/resource.h" HAVE_SYS_RESOURCE_H)
check_include_file("sys/socket.h" HAVE_SYS_SOCKET_H)
@@ -994,9 +976,7 @@ check_include_file("sys/time.h" HAVE_SYS
check_include_file("sys/types.h" HAVE_SYS_TYPES_H)
check_include_file("sys/uio.h" HAVE_SYS_UIO_H)
check_include_file("sys/un.h" HAVE_SYS_UN_H)
-check_include_file("termios.h" HAVE_TERMIOS_H)
check_include_file("unistd.h" HAVE_UNISTD_H)
-check_include_file("winsock.h" HAVE_WINSOCK_H)
cmake_push_check_state()
if(MSVC)
@@ -1065,14 +1045,12 @@ check_symbol_exists("pipe2" "fcntl.h;uni
check_symbol_exists("popen" "stdio.h" HAVE_POPEN)
check_symbol_exists("posix_fallocate" "fcntl.h" HAVE_POSIX_FALLOCATE)
check_symbol_exists("posix_madvise" "sys/mman.h" HAVE_POSIX_MADVISE)
-check_symbol_exists("semtimedop" "sys/types.h;sys/ipc.h;sys/sem.h"
HAVE_SEMTIMEDOP)
+check_symbol_exists("semtimedop" "sys/types.h;sys/ipc.h;sys/sem.h"
HAVE_SEMTIMEDOP) # Some libc versions on Linux distributions don't have it
check_symbol_exists("stpcpy" "string.h" HAVE_STPCPY)
check_symbol_exists("strptime" "time.h" HAVE_STRPTIME)
check_symbol_exists("strtok_r" "string.h" HAVE_STRTOK_R)
check_symbol_exists("strtok_s" "string.h" HAVE_STRTOK_S)
-check_symbol_exists("sysconf" "unistd.h" HAVE_SYSCONF)
check_symbol_exists("times" "sys/times.h" HAVE_TIMES)
-check_symbol_exists("_wfopen_s" "wchar.h" HAVE__WFOPEN) # Check for _wfopen_s
to avoid warnings
#Test for diff program existance
find_program(DIFF NAMES gdiff diff DOC "Diff program")
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -156,7 +156,7 @@ static char *nullstring = default_nullst
#ifdef HAVE_SYS_IOCTL_H
#include <sys/ioctl.h>
#endif
-#ifdef HAVE_TERMIOS_H
+#ifndef NATIVE_WIN32
#include <termios.h> /* TIOCGWINSZ/TIOCSWINSZ */
#endif
diff --git a/clients/mapiclient/mnc.c b/clients/mapiclient/mnc.c
--- a/clients/mapiclient/mnc.c
+++ b/clients/mapiclient/mnc.c
@@ -29,7 +29,7 @@
#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
-#ifdef HAVE_WINSOCK_H
+#ifdef NATIVE_WIN32
# include <winsock.h>
#endif
#ifdef HAVE_NETDB_H
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
@@ -235,7 +235,7 @@ mnstr_init(void)
/* #define STREAM_DEBUG 1 */
/* #define BSTREAM_DEBUG 1 */
-#ifdef HAVE__WFOPEN
+#ifdef _MSC_VER
/* convert a string from UTF-8 to wide characters; the return value is
* freshly allocated */
static wchar_t *
@@ -864,7 +864,7 @@ open_stream(const char *restrict filenam
if ((s = create_stream(filename)) == NULL)
return NULL;
-#ifdef HAVE__WFOPEN
+#ifdef _MSC_VER
{
wchar_t *wfname = utf8towchar(filename);
wchar_t *wflags = utf8towchar(flags);
@@ -1039,7 +1039,7 @@ open_gzstream(const char *restrict filen
if ((s = create_stream(filename)) == NULL)
return NULL;
-#ifdef HAVE__WFOPEN
+#ifdef _MSC_VER
{
wchar_t *wfname = utf8towchar(filename);
if (wfname != NULL) {
@@ -1255,7 +1255,7 @@ open_bzstream(const char *restrict filen
fl[0] = flags[0]; /* 'r' or 'w' */
fl[1] = 'b'; /* always binary */
fl[2] = '\0';
-#ifdef HAVE__WFOPEN
+#ifdef _MSC_VER
{
wchar_t *wfname = utf8towchar(filename);
wchar_t *wflags = utf8towchar(fl);
@@ -1553,7 +1553,7 @@ open_xzstream(const char *restrict filen
fl[0] = flags[0]; /* 'r' or 'w' */
fl[1] = 'b'; /* always binary */
fl[2] = '\0';
-#ifdef HAVE__WFOPEN
+#ifdef _MSC_VER
{
wchar_t *wfname = utf8towchar(filename);
wchar_t *wflags = utf8towchar(fl);
@@ -1911,7 +1911,7 @@ open_lz4stream(const char *restrict file
fl[0] = flags[0]; /* 'r' or 'w' */
fl[1] = 'b'; /* always binary */
fl[2] = '\0';
-#ifdef HAVE__WFOPEN
+#ifdef _MSC_VER
{
wchar_t *wfname = utf8towchar(filename);
wchar_t *wflags = utf8towchar(fl);
diff --git a/common/stream/stream_socket.h b/common/stream/stream_socket.h
--- a/common/stream/stream_socket.h
+++ b/common/stream/stream_socket.h
@@ -15,7 +15,7 @@
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
-#ifdef HAVE_WINSOCK_H
+#ifdef NATIVE_WIN32
# include <winsock.h>
#endif
diff --git a/common/utils/prompt.c b/common/utils/prompt.c
--- a/common/utils/prompt.c
+++ b/common/utils/prompt.c
@@ -11,11 +11,9 @@
#include <unistd.h>
#endif
#include <string.h>
-#ifndef _MSC_VER
-#ifdef HAVE_TERMIOS_H
+#ifndef NATIVE_WIN32
#include <termios.h>
#endif
-#endif
#include "mprompt.h"
#ifdef _MSC_VER
@@ -81,7 +79,7 @@ simple_prompt(const char *prompt, int ma
char *destination = NULL;
FILE *termin = NULL, *termout = NULL;
-#ifdef HAVE_TERMIOS_H
+#ifndef NATIVE_WIN32
struct termios t_orig, t;
#else
(void) echo;
@@ -103,7 +101,7 @@ simple_prompt(const char *prompt, int ma
termout = stderr;
}
-#ifdef HAVE_TERMIOS_H
+#ifndef NATIVE_WIN32
if (!echo) {
tcgetattr(fileno(termin), &t);
t_orig = t;
@@ -135,7 +133,7 @@ simple_prompt(const char *prompt, int ma
if (length > 0 && destination[length - 1] == '\n')
destination[length - 1] = '\0';
-#ifdef HAVE_TERMIOS_H
+#ifndef NATIVE_WIN32
if (!echo) {
tcsetattr(fileno(termin), TCSAFLUSH, &t_orig);
fputs("\n", termout);
diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -233,8 +233,6 @@
#ifdef HAVE_PTHREAD_H
#include <sched.h>
#include <pthread.h>
-#endif
-#ifdef HAVE_SEMAPHORE_H
#include <semaphore.h>
#endif
diff --git a/gdk/gdk_posix.h b/gdk/gdk_posix.h
--- a/gdk/gdk_posix.h
+++ b/gdk/gdk_posix.h
@@ -22,13 +22,10 @@
#include <sys/time.h> /* gettimeofday */
#endif
-#ifdef HAVE_WINSOCK_H
-#include <winsock.h> /* for timeval */
-#endif
-
#include "gdk_system.h" /* gdk_export */
#ifdef NATIVE_WIN32
+#include <winsock.h> /* for timeval */
#include <io.h>
#include <direct.h>
#endif
diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c
--- a/gdk/gdk_system.c
+++ b/gdk/gdk_system.c
@@ -826,7 +826,7 @@ MT_check_nr_cores(void)
{
int ncpus = -1;
-#if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN)
+#if !defined(WIN32) && defined(_SC_NPROCESSORS_ONLN)
/* this works on Linux, Solaris and AIX */
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list