From 1cefbbecb929b4b4a67b0ac23058ab0167e1c6d6 Mon Sep 17 00:00:00 2001 From: Vladislav Vaintroub Date: Fri, 12 Aug 2016 13:12:49 +0200 Subject: [PATCH] C/C integration --- libmariadb/CMakeLists.txt | 7 ++++--- libmariadb/mariadb_lib.c | 23 +++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/libmariadb/CMakeLists.txt b/libmariadb/CMakeLists.txt index ef90607d..59d7a916 100644 --- a/libmariadb/CMakeLists.txt +++ b/libmariadb/CMakeLists.txt @@ -364,7 +364,7 @@ IF(FOR_SERVER) IF(WIN32) SET_TARGET_PROPERTIES(libmariadb PROPERTIES OUTPUT_NAME libmysql) ELSE() - SET_TARGET_PROPERTIES(libmariadb PROPERTIES OUTPUT_NAME mysqlclient) + SET_TARGET_PROPERTIES(libmariadb PROPERTIES OUTPUT_NAME libmysqlclient) ENDIF() ENDIF() @@ -389,10 +389,11 @@ SET_TARGET_PROPERTIES(libmariadb PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "$ SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "") +IF(NOT FOR_SERVER) SET_TARGET_PROPERTIES(libmariadb PROPERTIES VERSION ${CPACK_PACKAGE_VERSION_MAJOR} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) - +ENDIF() # # Installation # @@ -402,7 +403,7 @@ INCLUDE(${PROJECT_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) +IF(NOT WIN32 AND WITH_MYSQLCOMPAT AND NOT FOR_SERVER) 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}) diff --git a/libmariadb/mariadb_lib.c b/libmariadb/mariadb_lib.c index 5fc83ac7..61a6b733 100644 --- a/libmariadb/mariadb_lib.c +++ b/libmariadb/mariadb_lib.c @@ -112,19 +112,7 @@ my_context_install_suspend_resume_hook(struct mysql_async_context *b, uint mysql_port=0; my_string mysql_unix_port=0; -static char *mariadb_protocols[]= {"TCP", -#ifndef WIN32 - "SOCKET", -#else - "PIPE", "MEMORY", -#endif - 0}; - -#ifdef _WIN32 -#define CONNECT_TIMEOUT 20 -#else #define CONNECT_TIMEOUT 0 -#endif struct st_mariadb_methods MARIADB_DEFAULT_METHODS; @@ -3418,6 +3406,16 @@ const char * STDCALL mysql_sqlstate(MYSQL *mysql) return mysql->net.sqlstate; } +#ifndef _WIN32 +#include +static void ignore_sigpipe() +{ + signal(SIGPIPE, SIG_IGN); +} +#else +#define ignore_sigpipe() +#endif + #ifdef _WIN32 static int mysql_once_init() #else @@ -3459,6 +3457,7 @@ static void mysql_once_init() } if (!mysql_ps_subsystem_initialized) mysql_init_ps_subsystem(); + ignore_sigpipe(); mysql_client_init = 1; #ifdef _WIN32 return 0;