office-gobmx/mysqlc
Noel Grandin 6084ca8a63 loplugin:finalclasses in mysqlc
Change-Id: I3f0ae04c30e863c123404c6e99f7ae27bc5715c7
Reviewed-on: https://gerrit.libreoffice.org/44134
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-01 07:15:50 +01:00
..
source
Configuration_mysql.mk
Extension_mysql-connector-ooo.mk
Library_mysqlc.mk
Makefile
Module_mysqlc.mk
Rdb_mysqlc.mk
README

The MySQL driver for LibreOffice.

It ships as an extension (.oxt file).

== Requirements ==

The MySQL driver for LibreOffice (MySQL Connector/LibreOffice - C/LibO)
requires two external libraries to be built:

 1) The MySQL Client Library (libmysql) or MariaDB Client library
 2) The MySQL Connector/C++ Library (libmysqlcppconn)

The MariaDB client library is provided as an external and will be
automatically built if you pass "--without-system-mariadb" to
autogen.sh.

libmysqlcppconn is provided as an external and will be automatically
compiled if you pass "--without-system-mysql-cppconn" to autogen.sh.

The MySQL driver for LibreOffice does not reimplement the MySQL
Client/Server communication protocol. The protocol implementation is
part of the MySQL Client Library. The SDBC(X) driver is implemented as
a wrapper of the MySQL Connector/C++ Library which implements a
JDBC-like interface (which suits SDBC(X) well) and which in turn uses
the C based MySQL Client Library.

== Variants ==

If configured with --with-system-mariadb --disable-bundle-mariadb, the
driver will *not* ship a copy of the MySQL client C library and will
expect it to be installed in a standard location on each system that
it runs on. That is usually the right choice to create a native
package/port for GNU/Linux, BSD, etc, where the packaging system
handles dependencies and will ensure the availability of the MySQL
client C library in the standard location.

If configured with --with-system-mariadb --enable-bundle-mariadb, the
driver will ship a copy of the MariaDB (or MySQL) client C library so
that it works "out of the box" on any system. That (or
--without-system-mariadb) is usually the right choice to create a
stand-alone .oxt file that users can just install through the
LibreOffice extensions manager, as is typical for Microsoft Windows
and Apple MacOS X native (as opposed to MacPorts / fink / pkgsrc /
...).

--disable-bundle-mariadb is the default.

== Installing the Requirements ==

On modern/free-as-in-free-speech Unices, libmysql and libmysqlcppconn
are probably available as a package/port. Install them using your
distribution's tools. Make sure to install the development packages
(whose name usually ends with -dev or -devel), and not only the
libraries themselves.

Else you can install the MariaDB Client Library from official MariaDB
packages at https://downloads.mariadb.org/client-native/ .
They have source and binary distributions for several platforms.
At least series 2.0 is recommended, as series 1.0 are known to be too
buggy. Additionally, version 2.0.0 is known to be incompatible with
MySQL Connector/C++ version 1.1.4, which --without-system-mysqlcppconn
uses, and which --with-system-mysqlcppconn could use
(see https://mariadb.atlassian.net/browse/CONC-104).
Use a version where the above incompatibility has been solved.

Alternatively, MySQL Client Library from official MySQL
packages are at http://dev.mysql.com/downloads/connector/c/ .

You can also install the MySQL Client Library (libmysql) as part of
the MariaDB or MySQL Server, version 5.0 or later. Check the MariaDB
or MySQL manual for instructions:
https://mariadb.com/kb/en/mariadb/documentation/getting-started/getting-installing-and-upgrading-mariadb/
http://dev.mysql.com/doc/refman/5.5/en/installing.html
The typical installation path of the libmysql.so on Unix is
/usr/local/mysql/lib/mysql/ .


Official packages for libmysqlcppconn can be downloaded from
http://dev.mysql.com/downloads/connector/cpp/