summaryrefslogtreecommitdiff
path: root/mysqlc
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2013-03-01 09:44:45 +0100
committerLionel Elie Mamane <lionel@mamane.lu>2013-03-01 09:57:51 +0100
commitc7ef87aa8db6d892491891dcda6bfbaa1ad1d0d2 (patch)
treedddbe00b292ce9f16a43e33193fa2601aa94eb69 /mysqlc
parent18e035964e92cb4348a4de0bafc4114608ed4754 (diff)
mysqlc/README was *very* out of date
Change-Id: I3a50ec19d42aa08d1346c9d0bdc1045f4ce88cd0
Diffstat (limited to 'mysqlc')
-rw-r--r--mysqlc/README106
1 files changed, 49 insertions, 57 deletions
diff --git a/mysqlc/README b/mysqlc/README
index 17345da40299..abc5b980d50a 100644
--- a/mysqlc/README
+++ b/mysqlc/README
@@ -1,68 +1,60 @@
The MySQL driver for LibreOffice.
-== Status ==
-
-The code is on a PREVIEW level. PREVIEW means pre-alpha.
-
+It ships as an extension (.oxt file).
== Requirements ==
-The MySQL driver for OpenOffice.org (MySQL Connector/OpenOffice.org - C/OOo)
+The MySQL driver for LibreOffice (MySQL Connector/LibreOffice - C/LibO)
requires two external libraries to be build:
1) The MySQL Client Library (libmysql)
- 2) The MySQL Connector/C++ Library (libmysqlcppcon)
-
-At the time of writing neither of the two libraries are part of the CWS!
-Before you can build the MySQL driver for OpenOffice.org you must install
-the two required libraries on your system before you can compile the driver.
-
-You need the two libraries because the MySQL driver for OpenOffice.org
-does not feature an implementation of the MySQL Client Server
-communication protocol. The protocol implementation is part of the MySQL
-Client Library. And the SDBC(X) style OpenOffice.org driver is implemented as a
-wrapper of the MySQL Connector/C++ Library which implements a JDBC interface and
-in turn uses the C based MySQL Client Library.
-
-1) MySQL Client Library (libmysql)
-
-The MySQL Client Library (libmysql) is part of the MySQL Server. You need to
-download and install the MySQL Server. Use a binary distribution of
-MySQL 5.0.x or MySQL 5.1.x. Check the MySQL manual for instructions, e.g.
-for Unix:
-
- http://dev.mysql.com/doc/refman/5.1/en/installing-binary.html
-
+ 2) The MySQL Connector/C++ Library (libmysqlcppconn)
+
+libmysql is not included as an external and needs to be provided by
+the build environment, but 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-mysql, 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-libmysql-path, the driver will ship a copy
+of the MySQL client C library so that it works "out of the box" on any
+system. That 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/...).
+
+== 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. You can use --with-system-mysql or
+--with-libmysql-path=/usr/ (but not both).
+
+Else you can install the MySQL Client Library from official MySQL
+packages at http://dev.mysql.com/downloads/connector/c/ .
+They have source and binary distributions for several platforms.
+
+You can also install the MySQL Client Library (libmysql) as part of
+the MySQL Server, version 5.0 or later. Check the MySQL manual for
+instructions: 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/ .
-2) MySQL Connector/C++ (libmysqlcppcon)
-
-Download and install the latest version of the MySQL Connector/C++, see
-http://forge.mysql.com/wiki/Connector_C++ . Check out the source
-from the bzr repository.
-
-3) Tweaking library paths
-
-At the time of writing you might have to *manually* tweak library paths and
-library names by patching makefile.mk. This is a temporary hack. The makefile
-will be improved later.
-
-However, for the moment check the makefile.mk if the compilation fails due to
-"missing" libraries (= libraries not found). For example, check the following
-settings:
-
- MYSQL_INCDIR=/usr/local/include
- MYSQL_LIBDIR=/usr/local/lib
- [...]
- MYSQL_INCDIR=/usr/local/include
- MYSQL_LIBDIR=/usr/local/lib
- [...]
- MYSQL_INC=-I$(MYSQL_INCDIR)
- MYSQL_LIB=-L$(MYSQL_LIBDIR) -lmysqlclient -rdynamic -lz -lcrypt -lnsl -lm
- MYSQL_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlclient.so.16
- MYSQL_CPPCONN_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlcppconn.so
- [...]
-
-A common issue is libmysqlclient.so.15 vs. libmysqlclient.so.16 .
-