From 35a201cc8ef0c3f5b2df88d2e528aabee1048348 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 30 Apr 2021 18:47:09 +0200 Subject: Initial/Final commit --- mariadb-connector-c-v_2.3.7/cmake/CheckTypes.cmake | 114 +++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 mariadb-connector-c-v_2.3.7/cmake/CheckTypes.cmake (limited to 'mariadb-connector-c-v_2.3.7/cmake/CheckTypes.cmake') diff --git a/mariadb-connector-c-v_2.3.7/cmake/CheckTypes.cmake b/mariadb-connector-c-v_2.3.7/cmake/CheckTypes.cmake new file mode 100644 index 0000000..fd8a405 --- /dev/null +++ b/mariadb-connector-c-v_2.3.7/cmake/CheckTypes.cmake @@ -0,0 +1,114 @@ +# +# Copyright (C) 2013-2016 MariaDB Corporation AB +# +# Redistribution and use is allowed according to the terms of the New +# BSD license. +# For details see the COPYING-CMAKE-SCRIPTS file. +# + +# This file is included by CMakeLists.txt and +# checks for type sizes. +# You will find the appropiate defines in +# include/my_config.h.in +INCLUDE (CheckTypeSize) + +SET(CMAKE_EXTRA_INCLUDE_FILES signal.h) +CHECK_TYPE_SIZE(sigset_t SIZEOF_SIGSET_T) +CHECK_TYPE_SIZE(char SIZEOF_CHAR) +CHECK_TYPE_SIZE("char *" SIZEOF_CHARP) +CHECK_TYPE_SIZE(short SIZEOF_SHORT) +CHECK_TYPE_SIZE(int SIZEOF_INT) +CHECK_TYPE_SIZE(long SIZEOF_LONG) +CHECK_TYPE_SIZE("long long" SIZEOF_LONG_LONG) +SET(CMAKE_EXTRA_INCLUDE_FILES stdio.h) +CHECK_TYPE_SIZE(size_t SIZEOF_SIZE_T) +SET(CMAKE_EXTRA_INCLUDE_FILES sys/types.h) +CHECK_TYPE_SIZE(off_t SIZEOF_OFF_T) +CHECK_TYPE_SIZE(uchar SIZEOF_UCHAR) +CHECK_TYPE_SIZE(uint SIZEOF_UINT) +CHECK_TYPE_SIZE(ulong SIZEOF_ULONG) +CHECK_TYPE_SIZE(int8 SIZEOF_INT8) +CHECK_TYPE_SIZE(uint8 SIZEOF_UINT8) +CHECK_TYPE_SIZE(int16 SIZEOF_INT16) +CHECK_TYPE_SIZE(uint16 SIZEOF_UINT16) +CHECK_TYPE_SIZE(int32 SIZEOF_INT32) +CHECK_TYPE_SIZE(uint32 SIZEOF_UINT32) +CHECK_TYPE_SIZE(u_int32_t SIZEOF_UINT_32_T) +CHECK_TYPE_SIZE(int64 SIZEOF_INT64) +CHECK_TYPE_SIZE(uint64 SIZEOF_UINT64) +CHECK_TYPE_SIZE(socklen_t SIZEOF_SOCKLEN_T) + +# +# Compile testing +# +INCLUDE (CheckCSourceCompiles) + +# +# signal handler +# +CHECK_C_SOURCE_COMPILES(" + #include + + #ifdef signal + #undef signal + #endif + + #ifdef __cplusplus + extern \"C\" void (*signal (int, void (*)(int)))(int); + #else + void (*signal ()) (); + #endif + + int main(int ac, char **av) + { + }" + IS_VOID_SIGNAL) + +IF(IS_VOID_SIGNAL) + SET(RETSIGTYPE "void") +ELSE(IS_VOID_SIGNAL) + SET(RETSIGTYPE "int") +ENDIF(IS_VOID_SIGNAL) + +# +# quick sort +# +CHECK_C_SOURCE_COMPILES(" + #include + #ifdef __cplusplus + extern \"C\" void qsort(void *base, size_t nel, size_t width, int (*compar) (const void *, const void *)); + #else + void qsort(void *base, size_t nel, size_t width, int (*compar) (const void *, const void *)); + #endif + int main(int ac, char **av) + { + }" + IS_VOID_QSORT) +IF(IS_VOID_QSORT) + SET(RETQSORTTYPE "void") +ELSE(IS_VOID_QSORT) + SET(RETQSORTTYPE "int") +ENDIF(IS_VOID_QSORT) + +# +# SOCKET_SIZE +# +IF(WIN32) + SET(SOCKET_SIZE_TYPE int) +ELSE(WIN32) + FOREACH(CHECK_TYPE "socklen_t" "size_t" "int") + IF (NOT SOCKET_SIZE_TYPE) + CHECK_C_SOURCE_COMPILES(" + #include + int main(int argc, char **argv) + { + getsockname(0, 0, (${CHECK_TYPE} *)0); + return 0; + }" + SOCKET_SIZE_FOUND_${CHECK_TYPE}) + IF(SOCKET_SIZE_FOUND_${CHECK_TYPE}) + SET(SOCKET_SIZE_TYPE ${CHECK_TYPE}) + ENDIF(SOCKET_SIZE_FOUND_${CHECK_TYPE}) + ENDIF (NOT SOCKET_SIZE_TYPE) + ENDFOREACH() +ENDIF(WIN32) -- cgit v1.2.3