diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2013-10-18 22:57:07 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2013-10-19 07:47:22 +0000 |
commit | 7495d220dd17c14fb48b384e117fcfa54d18cdac (patch) | |
tree | da69c061c82c4cdb6393cc2eb3d8bf788ec05fde /external | |
parent | 9e89f7ccf873c14b425d37ef2e65bb7dfc75491e (diff) |
fdo#70393: move mysqlcppconn to a subdir of external
Change-Id: I5945fa432a9371854e25454feabcafabed7f7b7d
Reviewed-on: https://gerrit.libreoffice.org/6346
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'external')
-rw-r--r-- | external/Module_external.mk | 1 | ||||
-rw-r--r-- | external/mysqlcppconn/Library_mysqlcppconn.mk | 77 | ||||
-rw-r--r-- | external/mysqlcppconn/Makefile | 7 | ||||
-rw-r--r-- | external/mysqlcppconn/Module_mysqlcppconn.mk | 17 | ||||
-rw-r--r-- | external/mysqlcppconn/README | 1 | ||||
-rw-r--r-- | external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk | 23 | ||||
-rw-r--r-- | external/mysqlcppconn/binding_config.h | 5 | ||||
-rw-r--r-- | external/mysqlcppconn/config.h | 39 | ||||
-rw-r--r-- | external/mysqlcppconn/patches/default_to_protocol_tcp.patch | 12 | ||||
-rw-r--r-- | external/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch | 117 |
10 files changed, 299 insertions, 0 deletions
diff --git a/external/Module_external.mk b/external/Module_external.mk index 92727a457299..bb949c409411 100644 --- a/external/Module_external.mk +++ b/external/Module_external.mk @@ -52,6 +52,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\ $(call gb_Helper_optional,MARIADB,libmariadb) \ $(call gb_Helper_optional,MSPUB,libmspub) \ $(call gb_Helper_optional,MWAW,libmwaw) \ + $(call gb_Helper_optional,MYSQLCPPCONN,mysqlcppconn) \ $(call gb_Helper_optional,ODFGEN,libodfgen) \ $(call gb_Helper_optional,ORCUS,liborcus) \ $(call gb_Helper_optional,VISIO,libvisio) \ diff --git a/external/mysqlcppconn/Library_mysqlcppconn.mk b/external/mysqlcppconn/Library_mysqlcppconn.mk new file mode 100644 index 000000000000..adebc5b027bc --- /dev/null +++ b/external/mysqlcppconn/Library_mysqlcppconn.mk @@ -0,0 +1,77 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, you can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Library_Library,mysqlcppconn)) + +$(eval $(call gb_Library_use_unpacked,mysqlcppconn,mysqlcppconn)) + +$(eval $(call gb_Library_use_externals,mysqlcppconn, \ + mysql \ + boost_headers \ + mariadb \ +)) + +ifneq ($(OS)$(COM),WNTMSC) + +$(eval $(call gb_Library_add_libs,mysqlcppconn,\ + $(if $(filter-out MACOSX,$(OS)),-ldl) \ +)) + +endif + +$(eval $(call gb_Library_set_warnings_not_errors,mysqlcppconn)) + +$(eval $(call gb_Library_set_generated_cxx_suffix,mysqlcppconn,cpp)) + +$(eval $(call gb_Library_set_include,mysqlcppconn,\ + $$(INCLUDE) \ + -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn) \ + -I$(call gb_UnpackedTarball_get_dir,mysqlcppconn)/cppconn \ +)) + +$(eval $(call gb_Library_add_defs,mysqlcppconn,\ + -Dmysqlcppconn_EXPORTS \ + $(if $(filter WNT,$(OS)),\ + -DCPPDBC_WIN32 \ + -D_CRT_SECURE_NO_WARNINGS \ + -D_SCL_SECURE_NO_WARNINGS ) \ +)) + +ifeq ($(OS),LINUX) +$(eval $(call gb_Library_add_libs,mysqlcppconn,\ + -lpthread \ +)) +endif + +$(eval $(call gb_Library_add_generated_exception_objects,mysqlcppconn,\ + UnpackedTarball/mysqlcppconn/driver/mysql_art_resultset \ + UnpackedTarball/mysqlcppconn/driver/mysql_art_rset_metadata \ + UnpackedTarball/mysqlcppconn/driver/mysql_connection \ + UnpackedTarball/mysqlcppconn/driver/mysql_debug \ + UnpackedTarball/mysqlcppconn/driver/mysql_driver \ + UnpackedTarball/mysqlcppconn/driver/mysql_metadata \ + UnpackedTarball/mysqlcppconn/driver/mysql_parameter_metadata \ + UnpackedTarball/mysqlcppconn/driver/mysql_prepared_statement \ + UnpackedTarball/mysqlcppconn/driver/mysql_ps_resultset \ + UnpackedTarball/mysqlcppconn/driver/mysql_ps_resultset_metadata \ + UnpackedTarball/mysqlcppconn/driver/mysql_resultbind \ + UnpackedTarball/mysqlcppconn/driver/mysql_resultset \ + UnpackedTarball/mysqlcppconn/driver/mysql_resultset_metadata \ + UnpackedTarball/mysqlcppconn/driver/mysql_statement \ + UnpackedTarball/mysqlcppconn/driver/mysql_util \ + UnpackedTarball/mysqlcppconn/driver/mysql_warning \ + UnpackedTarball/mysqlcppconn/driver/nativeapi/mysql_client_api \ + UnpackedTarball/mysqlcppconn/driver/nativeapi/library_loader \ + UnpackedTarball/mysqlcppconn/driver/nativeapi/mysql_native_driver_wrapper \ + UnpackedTarball/mysqlcppconn/driver/nativeapi/mysql_native_connection_wrapper \ + UnpackedTarball/mysqlcppconn/driver/nativeapi/mysql_native_resultset_wrapper \ + UnpackedTarball/mysqlcppconn/driver/nativeapi/mysql_native_statement_wrapper \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/mysqlcppconn/Makefile b/external/mysqlcppconn/Makefile new file mode 100644 index 000000000000..e4968cf85fb6 --- /dev/null +++ b/external/mysqlcppconn/Makefile @@ -0,0 +1,7 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- + +module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +include $(module_directory)/../../solenv/gbuild/partial_build.mk + +# vim: set noet sw=4 ts=4: diff --git a/external/mysqlcppconn/Module_mysqlcppconn.mk b/external/mysqlcppconn/Module_mysqlcppconn.mk new file mode 100644 index 000000000000..6a45dd8d8eea --- /dev/null +++ b/external/mysqlcppconn/Module_mysqlcppconn.mk @@ -0,0 +1,17 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Module_Module,mysqlcppconn)) + +$(eval $(call gb_Module_add_targets,mysqlcppconn,\ + UnpackedTarball_mysqlcppconn \ + Library_mysqlcppconn \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/mysqlcppconn/README b/external/mysqlcppconn/README new file mode 100644 index 000000000000..fb6207857a4c --- /dev/null +++ b/external/mysqlcppconn/README @@ -0,0 +1 @@ +From [http://forge.mysql.com/wiki/Connector_C%2B%2B] diff --git a/external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk b/external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk new file mode 100644 index 000000000000..ae0f267af52c --- /dev/null +++ b/external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk @@ -0,0 +1,23 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_UnpackedTarball_UnpackedTarball,mysqlcppconn)) + +$(eval $(call gb_UnpackedTarball_set_tarball,mysqlcppconn,$(MYSQLCPPCONN_TARBALL))) + +$(eval $(call gb_UnpackedTarball_add_file,mysqlcppconn,cppconn/config.h,external/mysqlcppconn/config.h)) + +$(eval $(call gb_UnpackedTarball_add_file,mysqlcppconn,driver/nativeapi/binding_config.h,external/mysqlcppconn/binding_config.h)) + +$(eval $(call gb_UnpackedTarball_add_patches,mysqlcppconn,\ + external/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch \ + external/mysqlcppconn/patches/default_to_protocol_tcp.patch \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/mysqlcppconn/binding_config.h b/external/mysqlcppconn/binding_config.h new file mode 100644 index 000000000000..23811e8965b3 --- /dev/null +++ b/external/mysqlcppconn/binding_config.h @@ -0,0 +1,5 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +#define HAVE_DLFCN_H 1 +#define MYSQLCLIENT_STATIC_BINDING 1 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/external/mysqlcppconn/config.h b/external/mysqlcppconn/config.h new file mode 100644 index 000000000000..7736c611f7be --- /dev/null +++ b/external/mysqlcppconn/config.h @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +#include <sal/types.h> + +#define HAVE_FUNCTION_STRTOL 1 +#define HAVE_FUNCTION_STRTOUL 1 +#define HAVE_FUNCTION_STRTOL 1 +#define HAVE_FUNCTION_STRTOULL 1 + +#if defined(MACOSX) || defined(SOLARIS) || defined(LINUX) || (defined _MSC_VER && _MSC_VER >= 1600) + #define HAVE_STDINT_H +#ifndef _MSC_VER + #define HAVE_INTTYPES_H +#endif +#endif + +#ifdef HAVE_STDINT_H +#include <stdint.h> +#endif + +#ifdef HAVE_INTTYPES_H +#include <inttypes.h> +#endif + +#if !defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H) + +// if we do not have the standard C99 integer types, then define them based on the respective SAL types +#if !defined(_SYS_TYPES_H) +typedef sal_Int8 int8_t; +typedef sal_Int16 int16_t; +typedef sal_Int32 int32_t; +#endif // !defined(_SYS_TYPES_H) +typedef sal_uInt8 uint8_t; +typedef sal_uInt16 uint16_t; +typedef sal_uInt32 uint32_t; +typedef sal_Int64 int64_t; +typedef sal_uInt64 uint64_t; +#endif // !defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H) + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/external/mysqlcppconn/patches/default_to_protocol_tcp.patch b/external/mysqlcppconn/patches/default_to_protocol_tcp.patch new file mode 100644 index 000000000000..320d699ed697 --- /dev/null +++ b/external/mysqlcppconn/patches/default_to_protocol_tcp.patch @@ -0,0 +1,12 @@ +--- misc/mysql-connector-c++-1.1.0/driver/mysql_connection.cpp 2009-12-16 13:24:24.088933245 +0100 ++++ misc/build/mysql-connector-c++-1.1.0/driver/mysql_connection.cpp 2009-12-16 13:24:15.666841004 +0100 +@@ -437,6 +437,9 @@ + } + } + ++ int default_protocol_tcp = MYSQL_PROTOCOL_TCP; ++ proxy->options(MYSQL_OPT_PROTOCOL, (const char *) &default_protocol_tcp); ++ + #ifndef _WIN32 + if (!hostName.compare(0, sizeof("unix://") - 1, "unix://")) { + protocol_tcp = false; diff --git a/external/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch b/external/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch new file mode 100644 index 000000000000..c7fd21b58ba5 --- /dev/null +++ b/external/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch @@ -0,0 +1,117 @@ +--- misc/mysql-connector-c++-1.1.0/cppconn/build_config.h 2010-09-10 11:47:47.000000000 +0200 ++++ misc/build/mysql-connector-c++-1.1.0/cppconn/build_config.h 2011-11-12 00:45:19.000000000 +0100 +@@ -25,25 +25,23 @@ + #ifndef _SQL_BUILD_CONFIG_H_ + #define _SQL_BUILD_CONFIG_H_ + +-#ifndef CPPCONN_PUBLIC_FUNC ++#ifndef _SAL_TYPES_H_ ++#include <sal/types.h> ++#endif + +-#if defined(_WIN32) + // mysqlcppconn_EXPORTS is added by cmake and defined for dynamic lib build only + #ifdef mysqlcppconn_EXPORTS +- #define CPPCONN_PUBLIC_FUNC __declspec(dllexport) ++ #define CPPCONN_PUBLIC_FUNC SAL_DLLPUBLIC_EXPORT + #else + // this is for static build + #ifdef CPPCONN_LIB_BUILD + #define CPPCONN_PUBLIC_FUNC + #else + // this is for clients using dynamic lib +- #define CPPCONN_PUBLIC_FUNC __declspec(dllimport) ++ #define CPPCONN_PUBLIC_FUNC SAL_DLLPUBLIC_IMPORT + #endif + #endif +-#else +- #define CPPCONN_PUBLIC_FUNC +-#endif + +-#endif //#ifndef CPPCONN_PUBLIC_FUNC ++ #define CPPCONN_PUBLIC_EXCEPTION SAL_EXCEPTION_DLLPUBLIC_EXPORT + + #endif //#ifndef _SQL_BUILD_CONFIG_H_ +--- misc/mysql-connector-c++-1.1.0/cppconn/exception.h 2009-08-20 17:51:23.000000000 +0200 ++++ misc/build/mysql-connector-c++-1.1.0/cppconn/exception.h 2009-09-11 09:41:41.076379817 +0200 +@@ -37,7 +37,7 @@ + #pragma warning(push) + #pragma warning(disable: 4275) + #endif +-class CPPCONN_PUBLIC_FUNC SQLException : public std::runtime_error ++class CPPCONN_PUBLIC_EXCEPTION SQLException : public std::runtime_error + { + #ifdef _WIN32 + #pragma warning(pop) +@@ -83,26 +83,26 @@ + MEMORY_ALLOC_OPERATORS(SQLException) + }; + +-struct CPPCONN_PUBLIC_FUNC MethodNotImplementedException : public SQLException ++struct CPPCONN_PUBLIC_EXCEPTION MethodNotImplementedException : public SQLException + { + MethodNotImplementedException(const MethodNotImplementedException& e) : SQLException(e.what(), e.sql_state, e.errNo) { } + MethodNotImplementedException(const std::string& reason) : SQLException(reason, "", 0) {} + }; + +-struct CPPCONN_PUBLIC_FUNC InvalidArgumentException : public SQLException ++struct CPPCONN_PUBLIC_EXCEPTION InvalidArgumentException : public SQLException + { + InvalidArgumentException(const InvalidArgumentException& e) : SQLException(e.what(), e.sql_state, e.errNo) { } + InvalidArgumentException(const std::string& reason) : SQLException(reason, "", 0) {} + }; + +-struct CPPCONN_PUBLIC_FUNC InvalidInstanceException : public SQLException ++struct CPPCONN_PUBLIC_EXCEPTION InvalidInstanceException : public SQLException + { + InvalidInstanceException(const InvalidInstanceException& e) : SQLException(e.what(), e.sql_state, e.errNo) { } + InvalidInstanceException(const std::string& reason) : SQLException(reason, "", 0) {} + }; + + +-struct CPPCONN_PUBLIC_FUNC NonScrollableException : public SQLException ++struct CPPCONN_PUBLIC_EXCEPTION NonScrollableException : public SQLException + { + NonScrollableException(const NonScrollableException& e) : SQLException(e.what(), e.sql_state, e.errNo) { } + NonScrollableException(const std::string& reason) : SQLException(reason, "", 0) {} +--- misc/mysql-connector-c++-1.1.0/driver/mysql_debug.h 2009-08-13 17:13:46.000000000 +0200 ++++ misc/build/mysql-connector-c++-1.1.0/driver/mysql_debug.h 2009-08-14 09:56:37.015625000 +0200 +@@ -25,16 +25,6 @@ + + + +-#if defined(WE_HAVE_VARARGS_MACRO_SUPPORT) && (CPPCONN_TRACE_ENABLED || defined(SAL_DLLPRIVATE)) +- #define CPP_ENTER(msg) const boost::shared_ptr< MySQL_DebugLogger > __l = this->logger;(void)__l;\ +- MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, this->logger) +- #define CPP_ENTER_WL(l, msg) const boost::shared_ptr< MySQL_DebugLogger > __l = (l);(void)__l;\ +- MySQL_DebugEnterEvent __this_func(__LINE__, __FILE__, msg, (l)) +- #define CPP_INFO(msg) {if (__l) __l->log("INF", msg); } +- #define CPP_INFO_FMT(...) {if (__l) __l->log_va("INF", __VA_ARGS__); } +- #define CPP_ERR(msg) {if (__l) __l->log("ERR", msg); } +- #define CPP_ERR_FMT(...) {if (__l) __l->log_va("ERR", __VA_ARGS__); } +-#else + #define CPP_ENTER(msg) + #define CPP_ENTER_WL(l, msg) + #define CPP_INFO(msg) +@@ -42,7 +32,6 @@ + #define CPP_ENTER_WL(l, msg) + static inline void CPP_INFO_FMT(...) {} + static inline void CPP_ERR_FMT(...) {} +-#endif + + #include <stack> + #include "mysql_util.h" +--- misc/mysql-connector-c++-1.1.0/driver/mysql_prepared_statement.cpp 2013-03-06 10:29:26.890721534 +0100 ++++ misc/build/mysql-connector-c++-1.1.0/driver/mysql_prepared_statement.cpp 2013-03-06 10:32:02.979904080 +0100 +@@ -46,6 +46,10 @@ + + #include "mysql_debug.h" + ++#ifndef CR_INVALID_BUFFER_USE ++#define CR_INVALID_BUFFER_USE 2035 ++#endif ++ + + namespace sql + { + |