Update mariadb-connector-c to v3.1.7
This commit is contained in:
parent
dd91635bee
commit
d462ef3a69
|
@ -1,89 +0,0 @@
|
||||||
From c37b9b98838a0914ec1a7d9d629c888cd22761bd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Martchus <martchus@gmx.net>
|
|
||||||
Date: Sat, 17 Sep 2016 16:41:12 +0200
|
|
||||||
Subject: [PATCH 1/3] Fix libnames for mingw-w64
|
|
||||||
|
|
||||||
---
|
|
||||||
libmariadb/CMakeLists.txt | 39 ++++++++++++++++++++-------------------
|
|
||||||
1 file changed, 20 insertions(+), 19 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt
|
|
||||||
index f07dc02..ea58fd4 100644
|
|
||||||
--- a/libmariadb/CMakeLists.txt
|
|
||||||
+++ b/libmariadb/CMakeLists.txt
|
|
||||||
@@ -362,7 +362,7 @@ SET(LIBMARIADB_SOURCES ${LIBMARIADB_SOURCES} ${ZLIB_SOURCES})
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
IF(WIN32)
|
|
||||||
- SET_VERSION_INFO("TARGET:libmariadb"
|
|
||||||
+ SET_VERSION_INFO("TARGET:mariadb"
|
|
||||||
"FILE_TYPE:VFT_DLL"
|
|
||||||
"SOURCE_FILE:libmariadb/libmariadb.c"
|
|
||||||
"ORIGINAL_FILE_NAME:libmariadb.dll"
|
|
||||||
@@ -390,23 +390,24 @@ ENDIF()
|
|
||||||
ADD_LIBRARY(mariadbclient STATIC ${mariadbclient_RC} $<TARGET_OBJECTS:mariadb_obj> ${EMPTY_FILE} ${EXPORT_LINK})
|
|
||||||
TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS})
|
|
||||||
|
|
||||||
-ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} $<TARGET_OBJECTS:mariadb_obj> ${EMPTY_FILE} ${EXPORT_LINK})
|
|
||||||
-TARGET_LINK_LIBRARIES(libmariadb ${SYSTEM_LIBS})
|
|
||||||
+ADD_LIBRARY(mariadb SHARED ${libmariadb_RC} ${LIBMARIADB_SOURCES} ${EMPTY_FILE})
|
|
||||||
+TARGET_LINK_LIBRARIES(mariadb ${SYSTEM_LIBS})
|
|
||||||
IF(UNIX)
|
|
||||||
- SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
|
|
||||||
+ SET_TARGET_PROPERTIES(mariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
|
|
||||||
ENDIF()
|
|
||||||
-SIGN_TARGET(libmariadb)
|
|
||||||
+SIGN_TARGET(mariadb)
|
|
||||||
|
|
||||||
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
||||||
- TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined")
|
|
||||||
- TARGET_LINK_LIBRARIES (libmariadb "-Wl,--version-script=${EXPORT_FILE}")
|
|
||||||
+ TARGET_LINK_LIBRARIES (mariadb "-Wl,--no-undefined")
|
|
||||||
+ TARGET_LINK_LIBRARIES (mariadb "-Wl,--version-script=${EXPORT_FILE}")
|
|
||||||
TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--no-undefined")
|
|
||||||
TARGET_LINK_LIBRARIES (mariadbclient "-Wl,--version-script=${EXPORT_FILE}")
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
-SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "")
|
|
||||||
+# for consistency with previous version
|
|
||||||
+#SET_TARGET_PROPERTIES(mariadb PROPERTIES PREFIX "")
|
|
||||||
|
|
||||||
-SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION
|
|
||||||
+SET_TARGET_PROPERTIES(mariadb PROPERTIES VERSION
|
|
||||||
${CPACK_PACKAGE_VERSION_MAJOR}
|
|
||||||
SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR})
|
|
||||||
|
|
||||||
@@ -419,20 +420,20 @@ INCLUDE(${CMAKE_SOURCE_DIR}/cmake/symlink.cmake)
|
|
||||||
# There are still several projects which don't make use
|
|
||||||
# of the config program. To make sure these programs can
|
|
||||||
# use mariadb client library we provide libmysql symlinks
|
|
||||||
-IF(NOT WIN32 AND WITH_MYSQLCOMPAT)
|
|
||||||
- SET(INSTALL_PATH ${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR})
|
|
||||||
- create_symlink(libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_PATH})
|
|
||||||
- create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_PATH})
|
|
||||||
- create_symlink(libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_PATH})
|
|
||||||
- create_symlink(libmysqlclient_r${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_PATH})
|
|
||||||
+IF(WITH_MYSQLCOMPAT)
|
|
||||||
+ SET(INSTALL_PATH ${LIB_INSTALL_DIR})
|
|
||||||
+ create_symlink(libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX} mariadb ${BIN_INSTALL_DIR})
|
|
||||||
+ create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} mariadb ${BIN_INSTALL_DIR})
|
|
||||||
+ create_symlink(libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${LIB_INSTALL_DIR})
|
|
||||||
+ create_symlink(libmysqlclient_r${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${LIB_INSTALL_DIR})
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
|
|
||||||
INSTALL(TARGETS
|
|
||||||
- libmariadb mariadbclient
|
|
||||||
- RUNTIME DESTINATION "${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}"
|
|
||||||
- LIBRARY DESTINATION "${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}"
|
|
||||||
- ARCHIVE DESTINATION "${LIB_INSTALL_DIR}/${SUFFIX_INSTALL_DIR}")
|
|
||||||
+ mariadb mariadbclient
|
|
||||||
+ RUNTIME DESTINATION "${BIN_INSTALL_DIR}"
|
|
||||||
+ LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
|
|
||||||
+ ARCHIVE DESTINATION "${LIB_INSTALL_DIR}")
|
|
||||||
|
|
||||||
INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/
|
|
||||||
DESTINATION ${INCLUDE_INSTALL_DIR}/${SUFFIX_INSTALL_DIR})
|
|
||||||
--
|
|
||||||
2.13.0
|
|
||||||
|
|
|
@ -0,0 +1,356 @@
|
||||||
|
From 98b5163c5e3e24feef7753a4082cc17e4a973eec Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tilmann Meyer <allescrafterx@gmail.com>
|
||||||
|
Date: Fri, 17 Apr 2020 02:12:23 +0200
|
||||||
|
Subject: [PATCH] Fix mingw-w64 build
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 30 +++++++++++++----------
|
||||||
|
cmake/install.cmake | 4 ++--
|
||||||
|
cmake/symlink.cmake | 2 +-
|
||||||
|
include/ma_global.h | 4 ++--
|
||||||
|
include/mysql.h | 6 +----
|
||||||
|
include/mysql/client_plugin.h | 2 +-
|
||||||
|
libmariadb/CMakeLists.txt | 44 ++++++++++++++++++----------------
|
||||||
|
libmariadb/mariadb_lib.c | 2 +-
|
||||||
|
plugins/auth/CMakeLists.txt | 2 +-
|
||||||
|
plugins/auth/caching_sha2_pw.c | 2 +-
|
||||||
|
plugins/auth/ed25519.c | 2 +-
|
||||||
|
plugins/auth/sha256_pw.c | 4 ++--
|
||||||
|
plugins/io/CMakeLists.txt | 2 +-
|
||||||
|
13 files changed, 54 insertions(+), 52 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 528c1700..5330f04e 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -2,6 +2,8 @@
|
||||||
|
|
||||||
|
# This is the LGPL libmariadb project.
|
||||||
|
|
||||||
|
+add_definitions(-D_WIN32_WINNT=0x0601)
|
||||||
|
+
|
||||||
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
|
||||||
|
INCLUDE(CheckFunctionExists)
|
||||||
|
IF(COMMAND CMAKE_POLICY)
|
||||||
|
@@ -51,14 +53,10 @@ MACRO(ADD_OPTION _name _text _default)
|
||||||
|
ENDMACRO()
|
||||||
|
|
||||||
|
### Options ###
|
||||||
|
-IF(NOT WIN32)
|
||||||
|
- ADD_OPTION(WITH_MYSQLCOMPAT "creates libmysql* symbolic links" OFF)
|
||||||
|
-ELSE()
|
||||||
|
- ADD_OPTION(WITH_MSI "Build MSI installation package" OFF)
|
||||||
|
- ADD_OPTION(WITH_SIGNCODE "digitally sign files" OFF)
|
||||||
|
- ADD_OPTION(WITH_RTC "enables run time checks for debug builds" OFF)
|
||||||
|
-ENDIF()
|
||||||
|
-
|
||||||
|
+ADD_OPTION(WITH_MYSQLCOMPAT "creates libmysql* symbolic links" OFF)
|
||||||
|
+ADD_OPTION(WITH_MSI "Build MSI installation package" OFF)
|
||||||
|
+ADD_OPTION(WITH_SIGNCODE "digitally sign files" OFF)
|
||||||
|
+ADD_OPTION(WITH_RTC "enables run time checks for debug builds" OFF)
|
||||||
|
ADD_OPTION(WITH_UNIT_TESTS "build test suite" ON)
|
||||||
|
ADD_OPTION(WITH_DYNCOL "Enables support of dynamic coluumns" ON)
|
||||||
|
ADD_OPTION(WITH_EXTERNAL_ZLIB "Enables use of external zlib" OFF)
|
||||||
|
@@ -238,13 +236,19 @@ IF(UNIX)
|
||||||
|
${LIBSOCKET} ${LIBDL} ${LIBM} ${LIBPTHREAD})
|
||||||
|
SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBNSL} ${LIBBIND} ${LIBICONV} ${LIBZ}
|
||||||
|
${LIBSOCKET} ${LIBDL} ${LIBM} ${LIBPTHREAD})
|
||||||
|
- #remove possible dups from required libraries
|
||||||
|
- LIST(LENGTH CMAKE_REQUIRED_LIBRARIES rllength)
|
||||||
|
- IF(${rllength} GREATER 0)
|
||||||
|
- LIST(REMOVE_DUPLICATES CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
- ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
+IF(MINGW)
|
||||||
|
+ FIND_PACKAGE(Threads)
|
||||||
|
+ LIST(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBPTHREAD})
|
||||||
|
+ LIST(APPEND SYSTEM_LIBS ${LIBPTHREAD})
|
||||||
|
+ENDIF()
|
||||||
|
+
|
||||||
|
+#remove possible dups from required libraries
|
||||||
|
+LIST(LENGTH CMAKE_REQUIRED_LIBRARIES rllength)
|
||||||
|
+IF(${rllength} GREATER 0)
|
||||||
|
+ LIST(REMOVE_DUPLICATES CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
+ENDIF()
|
||||||
|
|
||||||
|
IF(CMAKE_HAVE_PTHREAD_H)
|
||||||
|
SET(CMAKE_REQUIRED_INCLUDES pthread.h)
|
||||||
|
diff --git a/cmake/install.cmake b/cmake/install.cmake
|
||||||
|
index 945259b8..40945d10 100644
|
||||||
|
--- a/cmake/install.cmake
|
||||||
|
+++ b/cmake/install.cmake
|
||||||
|
@@ -61,12 +61,12 @@ ENDIF()
|
||||||
|
#
|
||||||
|
|
||||||
|
SET(INSTALL_BINDIR_DEFAULT "bin")
|
||||||
|
-SET(INSTALL_LIBDIR_DEFAULT "lib/mariadb")
|
||||||
|
+SET(INSTALL_LIBDIR_DEFAULT "lib")
|
||||||
|
SET(INSTALL_PCDIR_DEFAULT "lib/pkgconfig")
|
||||||
|
SET(INSTALL_INCLUDEDIR_DEFAULT "include/mariadb")
|
||||||
|
SET(INSTALL_DOCDIR_DEFAULT "docs")
|
||||||
|
IF(NOT IS_SUBPROJECT)
|
||||||
|
- SET(INSTALL_PLUGINDIR_DEFAULT "lib/mariadb/plugin")
|
||||||
|
+ SET(INSTALL_PLUGINDIR_DEFAULT "lib/plugin")
|
||||||
|
ELSE()
|
||||||
|
ENDIF()
|
||||||
|
SET(LIBMARIADB_STATIC_DEFAULT "mariadbclient")
|
||||||
|
diff --git a/cmake/symlink.cmake b/cmake/symlink.cmake
|
||||||
|
index 117c1647..4e4ad036 100644
|
||||||
|
--- a/cmake/symlink.cmake
|
||||||
|
+++ b/cmake/symlink.cmake
|
||||||
|
@@ -7,7 +7,7 @@
|
||||||
|
#
|
||||||
|
MACRO(create_symlink symlink_name target install_path)
|
||||||
|
# According to cmake documentation symlinks work on unix systems only
|
||||||
|
-IF(UNIX)
|
||||||
|
+IF(UNIX OR MINGW)
|
||||||
|
# Get target components
|
||||||
|
ADD_CUSTOM_COMMAND(
|
||||||
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${symlink_name}
|
||||||
|
diff --git a/include/ma_global.h b/include/ma_global.h
|
||||||
|
index d1fec397..065bed2c 100644
|
||||||
|
--- a/include/ma_global.h
|
||||||
|
+++ b/include/ma_global.h
|
||||||
|
@@ -33,7 +33,7 @@
|
||||||
|
#define snprintf _snprintf
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
-#define STDCALL __stdcall
|
||||||
|
+#define STDCALL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <ma_config.h>
|
||||||
|
@@ -452,7 +452,7 @@ typedef SOCKET_SIZE_TYPE size_socket;
|
||||||
|
#define NO_PISAM /* Not needed anymore */
|
||||||
|
#define NO_MISAM /* Not needed anymore */
|
||||||
|
#define NO_HASH /* Not needed anymore */
|
||||||
|
-#ifdef _WIN32
|
||||||
|
+#if defined(_WIN32) && !defined(__MINGW32__)
|
||||||
|
#define NO_DIR_LIBRARY /* Not standard dir-library */
|
||||||
|
#define USE_MY_STAT_STRUCT /* For my_lib */
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
diff --git a/include/mysql.h b/include/mysql.h
|
||||||
|
index dcaf316d..29b0dcb6 100644
|
||||||
|
--- a/include/mysql.h
|
||||||
|
+++ b/include/mysql.h
|
||||||
|
@@ -39,11 +39,7 @@ extern "C" {
|
||||||
|
typedef char my_bool;
|
||||||
|
typedef unsigned long long my_ulonglong;
|
||||||
|
|
||||||
|
-#if !defined(_WIN32)
|
||||||
|
#define STDCALL
|
||||||
|
-#else
|
||||||
|
-#define STDCALL __stdcall
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
#ifndef my_socket_defined
|
||||||
|
#define my_socket_defined
|
||||||
|
@@ -444,7 +440,7 @@ struct st_mysql_client_plugin
|
||||||
|
MYSQL_CLIENT_PLUGIN_HEADER
|
||||||
|
};
|
||||||
|
|
||||||
|
-struct st_mysql_client_plugin *
|
||||||
|
+struct st_mysql_client_plugin * STDCALL
|
||||||
|
mysql_load_plugin(struct st_mysql *mysql, const char *name, int type,
|
||||||
|
int argc, ...);
|
||||||
|
struct st_mysql_client_plugin * STDCALL
|
||||||
|
diff --git a/include/mysql/client_plugin.h b/include/mysql/client_plugin.h
|
||||||
|
index ac29afd6..21487871 100644
|
||||||
|
--- a/include/mysql/client_plugin.h
|
||||||
|
+++ b/include/mysql/client_plugin.h
|
||||||
|
@@ -180,7 +180,7 @@ typedef struct st_mysql_client_plugin_REMOTEIO
|
||||||
|
@retval
|
||||||
|
a pointer to the loaded plugin, or NULL in case of a failure
|
||||||
|
*/
|
||||||
|
-struct st_mysql_client_plugin *
|
||||||
|
+struct st_mysql_client_plugin * STDCALL
|
||||||
|
mysql_load_plugin(struct st_mysql *mysql, const char *name, int type,
|
||||||
|
int argc, ...);
|
||||||
|
|
||||||
|
diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt
|
||||||
|
index 27e036cb..87ad35b6 100644
|
||||||
|
--- a/libmariadb/CMakeLists.txt
|
||||||
|
+++ b/libmariadb/CMakeLists.txt
|
||||||
|
@@ -382,7 +382,7 @@ IF(CMAKE_GENERATOR MATCHES Xcode)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
- SET_VERSION_INFO("TARGET:libmariadb"
|
||||||
|
+ SET_VERSION_INFO("TARGET:mariadb"
|
||||||
|
"FILE_TYPE:VFT_DLL"
|
||||||
|
"SOURCE_FILE:libmariadb/libmariadb.c"
|
||||||
|
"ORIGINAL_FILE_NAME:libmariadb.dll"
|
||||||
|
@@ -393,17 +393,17 @@ ADD_LIBRARY(mariadbclient STATIC ${MARIADB_OBJECTS} ${EMPTY_FILE})
|
||||||
|
TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS})
|
||||||
|
|
||||||
|
IF(UNIX)
|
||||||
|
- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE})
|
||||||
|
- SET_TARGET_PROPERTIES(libmariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
|
||||||
|
+ ADD_LIBRARY(mariadb SHARED ${mariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE})
|
||||||
|
+ SET_TARGET_PROPERTIES(mariadb PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}")
|
||||||
|
ELSE()
|
||||||
|
- ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} mariadbclient.def)
|
||||||
|
- TARGET_LINK_LIBRARIES(libmariadb mariadbclient)
|
||||||
|
- SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINKER_LANGUAGE C)
|
||||||
|
+ ADD_LIBRARY(mariadb SHARED ${mariadb_RC} mariadbclient.def)
|
||||||
|
+ TARGET_LINK_LIBRARIES(mariadb mariadbclient)
|
||||||
|
+ SET_TARGET_PROPERTIES(mariadb PROPERTIES LINKER_LANGUAGE C)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
-TARGET_LINK_LIBRARIES(libmariadb ${SYSTEM_LIBS})
|
||||||
|
+TARGET_LINK_LIBRARIES(mariadb ${SYSTEM_LIBS})
|
||||||
|
|
||||||
|
-SIGN_TARGET(libmariadb)
|
||||||
|
+SIGN_TARGET(mariadb)
|
||||||
|
|
||||||
|
IF(CMAKE_SIZEOF_VOID_P EQUAL 8 AND MSVC)
|
||||||
|
SET_TARGET_PROPERTIES(mariadbclient PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
|
||||||
|
@@ -412,15 +412,13 @@ ENDIF()
|
||||||
|
IF(CMAKE_SYSTEM_NAME MATCHES "Linux" OR
|
||||||
|
CMAKE_SYSTEM_NAME MATCHES "GNU")
|
||||||
|
IF (NOT WITH_ASAN AND NOT WITH_TSAN AND NOT WITH_UBSAN AND NOT WITH_MSAN)
|
||||||
|
- TARGET_LINK_LIBRARIES (libmariadb "-Wl,--no-undefined")
|
||||||
|
+ TARGET_LINK_LIBRARIES (mariadb "-Wl,--no-undefined")
|
||||||
|
ENDIF()
|
||||||
|
- SET_TARGET_PROPERTIES(libmariadb PROPERTIES LINK_FLAGS "${CC_BINARY_DIR}/libmariadb/mariadbclient.def")
|
||||||
|
+ SET_TARGET_PROPERTIES(mariadb PROPERTIES LINK_FLAGS "${CC_BINARY_DIR}/libmariadb/mariadbclient.def")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET_TARGET_PROPERTIES(mariadbclient PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}")
|
||||||
|
-SET_TARGET_PROPERTIES(libmariadb PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}")
|
||||||
|
-
|
||||||
|
-SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "")
|
||||||
|
+SET_TARGET_PROPERTIES(mariadb PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}")
|
||||||
|
|
||||||
|
#
|
||||||
|
# Installation
|
||||||
|
@@ -432,14 +430,14 @@ INCLUDE(${CC_SOURCE_DIR}/cmake/symlink.cmake)
|
||||||
|
# use mariadb client library we provide libmysql symlinks
|
||||||
|
|
||||||
|
IF(WITH_MYSQLCOMPAT)
|
||||||
|
- create_symlink(libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_LIBDIR})
|
||||||
|
- create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_LIBDIR})
|
||||||
|
+ create_symlink(libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX} mariadb ${INSTALL_BINDIR})
|
||||||
|
+ create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} mariadb ${INSTALL_BINDIR})
|
||||||
|
create_symlink(libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR})
|
||||||
|
create_symlink(libmysqlclient_r${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
|
-SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION
|
||||||
|
+SET_TARGET_PROPERTIES(mariadb PROPERTIES VERSION
|
||||||
|
${CPACK_PACKAGE_VERSION_MAJOR}
|
||||||
|
SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR})
|
||||||
|
|
||||||
|
@@ -449,15 +447,19 @@ ENDIF()
|
||||||
|
|
||||||
|
INSTALL(TARGETS mariadbclient
|
||||||
|
COMPONENT Development
|
||||||
|
- DESTINATION ${INSTALL_LIBDIR})
|
||||||
|
-INSTALL(TARGETS libmariadb
|
||||||
|
+ RUNTIME DESTINATION "${INSTALL_BINDIR}"
|
||||||
|
+ LIBRARY DESTINATION "${INSTALL_LIBDIR}"
|
||||||
|
+ ARCHIVE DESTINATION "${INSTALL_LIBDIR}")
|
||||||
|
+INSTALL(TARGETS mariadb
|
||||||
|
COMPONENT SharedLibraries
|
||||||
|
- DESTINATION ${INSTALL_LIBDIR})
|
||||||
|
+ RUNTIME DESTINATION "${INSTALL_BINDIR}"
|
||||||
|
+ LIBRARY DESTINATION "${INSTALL_LIBDIR}"
|
||||||
|
+ ARCHIVE DESTINATION "${INSTALL_LIBDIR}")
|
||||||
|
|
||||||
|
|
||||||
|
-IF(WIN32)
|
||||||
|
+IF(WIN32 AND NOT MINGW)
|
||||||
|
# On Windows, install PDB
|
||||||
|
- INSTALL(FILES $<TARGET_PDB_FILE:libmariadb> DESTINATION "${INSTALL_LIBDIR}"
|
||||||
|
+ INSTALL(FILES $<TARGET_PDB_FILE:mariadb> DESTINATION "${INSTALL_LIBDIR}"
|
||||||
|
CONFIGURATIONS Debug RelWithDebInfo
|
||||||
|
COMPONENT Development)
|
||||||
|
ENDIF()
|
||||||
|
diff --git a/libmariadb/mariadb_lib.c b/libmariadb/mariadb_lib.c
|
||||||
|
index 1063f14e..60ddb902 100644
|
||||||
|
--- a/libmariadb/mariadb_lib.c
|
||||||
|
+++ b/libmariadb/mariadb_lib.c
|
||||||
|
@@ -70,7 +70,7 @@
|
||||||
|
#endif
|
||||||
|
#include <mysql/client_plugin.h>
|
||||||
|
#ifdef _WIN32
|
||||||
|
-#include "Shlwapi.h"
|
||||||
|
+#include "shlwapi.h"
|
||||||
|
#define strncasecmp _strnicmp
|
||||||
|
#endif
|
||||||
|
|
||||||
|
diff --git a/plugins/auth/CMakeLists.txt b/plugins/auth/CMakeLists.txt
|
||||||
|
index ca419503..2fe53a0c 100644
|
||||||
|
--- a/plugins/auth/CMakeLists.txt
|
||||||
|
+++ b/plugins/auth/CMakeLists.txt
|
||||||
|
@@ -4,7 +4,7 @@ INCLUDE_DIRECTORIES(${AUTH_DIR})
|
||||||
|
INCLUDE_DIRECTORIES(${CC_SOURCE_DIR}/include)
|
||||||
|
|
||||||
|
SET(CRYPTO_PLUGIN 1)
|
||||||
|
-IF(WIN32)
|
||||||
|
+IF(WIN32 AND NOT MINGW)
|
||||||
|
SET(CRYPT_SOURCE ${CC_SOURCE_DIR}/libmariadb/secure/win_crypt.c)
|
||||||
|
SET(CRYPT_LIBS crypt32)
|
||||||
|
ELSEIF(WITH_SSL STREQUAL "OPENSSL")
|
||||||
|
diff --git a/plugins/auth/caching_sha2_pw.c b/plugins/auth/caching_sha2_pw.c
|
||||||
|
index b42f0d70..f9b4c164 100644
|
||||||
|
--- a/plugins/auth/caching_sha2_pw.c
|
||||||
|
+++ b/plugins/auth/caching_sha2_pw.c
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
#define _GNU_SOURCE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#ifdef _WIN32
|
||||||
|
+#if defined(_WIN32) && !(defined(__MINGW32__) || defined(__MINGW64__))
|
||||||
|
#define HAVE_WINCRYPT
|
||||||
|
#undef HAVE_OPENSSL
|
||||||
|
#undef HAVE_GNUTLS
|
||||||
|
diff --git a/plugins/auth/ed25519.c b/plugins/auth/ed25519.c
|
||||||
|
index afa27ac3..989245f7 100644
|
||||||
|
--- a/plugins/auth/ed25519.c
|
||||||
|
+++ b/plugins/auth/ed25519.c
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
#define _GNU_SOURCE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#ifdef _WIN32
|
||||||
|
+#if defined(_WIN32) && !(defined(__MINGW32__) || defined(__MINGW64__))
|
||||||
|
#define HAVE_WINCRYPT
|
||||||
|
#undef HAVE_OPENSSL
|
||||||
|
#undef HAVE_GNUTLS
|
||||||
|
diff --git a/plugins/auth/sha256_pw.c b/plugins/auth/sha256_pw.c
|
||||||
|
index ccca5a8f..2f3660ea 100644
|
||||||
|
--- a/plugins/auth/sha256_pw.c
|
||||||
|
+++ b/plugins/auth/sha256_pw.c
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
#define _GNU_SOURCE 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#ifdef _WIN32
|
||||||
|
+#if defined(_WIN32) && !(defined(__MINGW32__) || defined(__MINGW64__))
|
||||||
|
#undef HAVE_GNUTLS
|
||||||
|
#undef HAVE_OPENSSL
|
||||||
|
#define HAVE_WINCRYPT
|
||||||
|
@@ -44,7 +44,7 @@
|
||||||
|
#include <dlfcn.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if defined(WIN32)
|
||||||
|
+#if defined(WIN32) && !(defined(__MINGW32__) || defined(__MINGW64__))
|
||||||
|
#include <wincrypt.h>
|
||||||
|
#elif defined(HAVE_OPENSSL)
|
||||||
|
#include <openssl/rsa.h>
|
||||||
|
diff --git a/plugins/io/CMakeLists.txt b/plugins/io/CMakeLists.txt
|
||||||
|
index 8c304c99..e2e9c5a1 100644
|
||||||
|
--- a/plugins/io/CMakeLists.txt
|
||||||
|
+++ b/plugins/io/CMakeLists.txt
|
||||||
|
@@ -10,6 +10,6 @@ IF (WITH_CURL)
|
||||||
|
DEFAULT DYNAMIC
|
||||||
|
SOURCES ${CC_SOURCE_DIR}/plugins/io/remote_io.c
|
||||||
|
INCLUDES ${CURL_INCLUDE_DIR}
|
||||||
|
- LIBRARIES ${CURL_LIBRARIES})
|
||||||
|
+ LIBRARIES ${CURL_LIBRARIES} ws2_32)
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
|
@ -1,25 +0,0 @@
|
||||||
From 61d9463469334dec02e49c37a5710d06278e4682 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Martchus <martchus@gmx.net>
|
|
||||||
Date: Sat, 17 Sep 2016 16:44:14 +0200
|
|
||||||
Subject: [PATCH 2/3] Fix _SIZE_T_DEFINED under mingw-w64
|
|
||||||
|
|
||||||
---
|
|
||||||
include/my_global.h | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/include/my_global.h b/include/my_global.h
|
|
||||||
index e596d45..82a9284 100644
|
|
||||||
--- a/include/my_global.h
|
|
||||||
+++ b/include/my_global.h
|
|
||||||
@@ -450,7 +450,7 @@ typedef SOCKET_SIZE_TYPE size_socket;
|
|
||||||
#define NO_PISAM /* Not needed anymore */
|
|
||||||
#define NO_MISAM /* Not needed anymore */
|
|
||||||
#define NO_HASH /* Not needed anymore */
|
|
||||||
-#ifdef _WIN32
|
|
||||||
+#if defined(_WIN32) && !defined(__MINGW32__)
|
|
||||||
#define NO_DIR_LIBRARY /* Not standar dir-library */
|
|
||||||
#define USE_MY_STAT_STRUCT /* For my_lib */
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
--
|
|
||||||
2.13.0
|
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
From cd68269a531ce4e600f3a99d1687219e0959af84 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Martchus <martchus@gmx.net>
|
|
||||||
Date: Sat, 17 Sep 2016 16:51:15 +0200
|
|
||||||
Subject: [PATCH 3/3] Use fopen rather than fopen_s for XP compatibility
|
|
||||||
|
|
||||||
---
|
|
||||||
libmariadb/dbug.c | 4 ----
|
|
||||||
libmariadb/my_fopen.c | 4 ----
|
|
||||||
2 files changed, 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/libmariadb/dbug.c b/libmariadb/dbug.c
|
|
||||||
index cd4a0f1..abca4ae 100644
|
|
||||||
--- a/libmariadb/dbug.c
|
|
||||||
+++ b/libmariadb/dbug.c
|
|
||||||
@@ -2051,11 +2051,7 @@ static void DBUGOpenFile(CODE_STATE *cs,
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
-#ifdef _WIN32
|
|
||||||
- if (fopen_s(&fp, name, append ? "a+" : "w"))
|
|
||||||
-#else
|
|
||||||
if (!(fp= fopen(name, append ? "a+" : "w")))
|
|
||||||
-#endif
|
|
||||||
{
|
|
||||||
(void) fprintf(stderr, ERR_OPEN, cs->process, name);
|
|
||||||
perror("");
|
|
||||||
diff --git a/libmariadb/my_fopen.c b/libmariadb/my_fopen.c
|
|
||||||
index c99b753..a3b485d 100644
|
|
||||||
--- a/libmariadb/my_fopen.c
|
|
||||||
+++ b/libmariadb/my_fopen.c
|
|
||||||
@@ -36,11 +36,7 @@ FILE *my_fopen(const char *FileName, int Flags, myf MyFlags)
|
|
||||||
FileName, Flags, MyFlags));
|
|
||||||
|
|
||||||
make_ftype(type,Flags);
|
|
||||||
-#ifdef _WIN32
|
|
||||||
- if (fopen_s(&fd, FileName, type) == 0)
|
|
||||||
-#else
|
|
||||||
if ((fd = fopen(FileName, type)) != 0)
|
|
||||||
-#endif
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
The test works if MY_NFILE < 128. The problem is that fileno() is char
|
|
||||||
--
|
|
||||||
2.13.0
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
# All patches are managed at https://github.com/Martchus/mariadb-connector-c
|
# All patches are managed at https://github.com/Martchus/mariadb-connector-c
|
||||||
|
|
||||||
pkgname=mingw-w64-mariadb-connector-c
|
pkgname=mingw-w64-mariadb-connector-c
|
||||||
pkgver=2.3.3
|
pkgver=3.1.7
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc='MariaDB Connector/C is used to connect applications developed in C/C++ to MariaDB and MySQL databases (mingw-w64)'
|
pkgdesc='MariaDB Connector/C is used to connect applications developed in C/C++ to MariaDB and MySQL databases (mingw-w64)'
|
||||||
arch=('any')
|
arch=('any')
|
||||||
|
@ -16,17 +16,17 @@ license=('LGPL')
|
||||||
replaces=('mingw-w64-libmariadbclient')
|
replaces=('mingw-w64-libmariadbclient')
|
||||||
conflicts=('mingw-w64-libmariadbclient')
|
conflicts=('mingw-w64-libmariadbclient')
|
||||||
provides=("mingw-w64-libmariadbclient=$pkgver")
|
provides=("mingw-w64-libmariadbclient=$pkgver")
|
||||||
depends=('mingw-w64-crt' 'mingw-w64-openssl' 'mingw-w64-zlib')
|
depends=('mingw-w64-crt' 'mingw-w64-openssl' 'mingw-w64-zlib' 'mingw-w64-curl')
|
||||||
makedepends=('mingw-w64-cmake')
|
makedepends=('mingw-w64-cmake')
|
||||||
options=('!strip' '!buildflags' 'staticlibs')
|
options=('!strip' '!buildflags' 'staticlibs')
|
||||||
source=("http://archive.mariadb.org/connector-c-$pkgver/mariadb-connector-c-$pkgver-src.tar.gz"
|
source=(
|
||||||
'0001-Fix-libnames-for-mingw-w64.patch'
|
"http://archive.mariadb.org/connector-c-$pkgver/mariadb-connector-c-$pkgver-src.tar.gz"
|
||||||
'0002-Fix-_SIZE_T_DEFINED-under-mingw-w64.patch'
|
'0001-Fix-mingw-w64-build.patch'
|
||||||
'0003-Use-fopen-rather-than-fopen_s-for-XP-compatibility.patch')
|
)
|
||||||
sha1sums=('6fbf541a4465cd729c7f790a3d9cd337e8dd2666'
|
sha1sums=(
|
||||||
'12a2d0b8d521dc097cecc3ea32efcaee0e7f9781'
|
'5d88983a1ace1885fc22f5bfb1ee28a23187e412'
|
||||||
'f07a59cdd02ad89e60edcb18a1cdc3ccda93fc2b'
|
'a426c9d60a88035400311291a59dea63625c82e9'
|
||||||
'3aa503bb7ad9b84c21cdef94f3a55d96a7fa8811')
|
)
|
||||||
|
|
||||||
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
|
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
|
||||||
|
|
||||||
|
@ -45,11 +45,9 @@ build() {
|
||||||
${_arch}-cmake \
|
${_arch}-cmake \
|
||||||
-DCMAKE_BUILD_TYPE=RELEASE \
|
-DCMAKE_BUILD_TYPE=RELEASE \
|
||||||
-DWITH_EXTERNAL_ZLIB=ON \
|
-DWITH_EXTERNAL_ZLIB=ON \
|
||||||
-DWITH_SQLITE=OFF \
|
-DWITH_SSL=OPENSSL \
|
||||||
-DWITH_OPENSSL=ON \
|
|
||||||
-DLIB_EAY=/usr/${_arch}/lib/libcrypto.dll.a \
|
|
||||||
-DSSL_EAY=/usr/${_arch}/lib/libssl.dll.a \
|
|
||||||
-DWITH_MYSQLCOMPAT=ON \
|
-DWITH_MYSQLCOMPAT=ON \
|
||||||
|
-DWITH_UNIT_TESTS=OFF \
|
||||||
..
|
..
|
||||||
make
|
make
|
||||||
popd
|
popd
|
||||||
|
@ -61,16 +59,8 @@ package() {
|
||||||
cd "${srcdir}/mariadb-connector-c-$pkgver-src/build-${_arch}"
|
cd "${srcdir}/mariadb-connector-c-$pkgver-src/build-${_arch}"
|
||||||
make DESTDIR="${pkgdir}" install
|
make DESTDIR="${pkgdir}" install
|
||||||
ln -s mariadb "$pkgdir"/usr/${_arch}/include/mysql
|
ln -s mariadb "$pkgdir"/usr/${_arch}/include/mysql
|
||||||
# Creation of symlinks in CMake project file doesn't work for some reason.
|
|
||||||
# Probably a couple more symlinks that should be created.
|
|
||||||
ln -s libmariadb.dll.a "$pkgdir"/usr/${_arch}/lib/libmysql.dll.a
|
|
||||||
ln -s libmariadbclient.a "$pkgdir"/usr/${_arch}/lib/libmysqlclient.a
|
|
||||||
ln -s libmariadb.dll "$pkgdir"/usr/${_arch}/bin/libmysql.dll
|
|
||||||
ln -s libmariadb.dll "$pkgdir"/usr/${_arch}/bin/libmysqlclient.dll
|
|
||||||
ln -s libmariadb.dll "$pkgdir"/usr/${_arch}/bin/libmysqlclient_r.dll
|
|
||||||
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
|
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
|
||||||
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/lib/plugin/*.dll
|
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/lib/plugin/*.dll
|
||||||
${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a
|
${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a
|
||||||
${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/plugin/*.a
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue