summaryrefslogtreecommitdiff
path: root/external/mysqlcppconn
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2013-10-18 22:57:07 +0200
committerDavid Tardon <dtardon@redhat.com>2013-10-19 07:47:22 +0000
commit7495d220dd17c14fb48b384e117fcfa54d18cdac (patch)
treeda69c061c82c4cdb6393cc2eb3d8bf788ec05fde /external/mysqlcppconn
parent9e89f7ccf873c14b425d37ef2e65bb7dfc75491e (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/mysqlcppconn')
-rw-r--r--external/mysqlcppconn/Library_mysqlcppconn.mk77
-rw-r--r--external/mysqlcppconn/Makefile7
-rw-r--r--external/mysqlcppconn/Module_mysqlcppconn.mk17
-rw-r--r--external/mysqlcppconn/README1
-rw-r--r--external/mysqlcppconn/UnpackedTarball_mysqlcppconn.mk23
-rw-r--r--external/mysqlcppconn/binding_config.h5
-rw-r--r--external/mysqlcppconn/config.h39
-rw-r--r--external/mysqlcppconn/patches/default_to_protocol_tcp.patch12
-rw-r--r--external/mysqlcppconn/patches/mysql-connector-c++-1.1.0.patch117
9 files changed, 298 insertions, 0 deletions
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
+ {
+