incubator-ooo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ariel Constenla-Haile <arie...@apache.org>
Subject Re: [EXT] MySQL SDBC Connector
Date Fri, 07 Sep 2012 08:15:29 GMT

Hi Jürgen,

On Fri, Sep 07, 2012 at 09:31:38AM +0200, Jürgen Schmidt wrote:
> On 9/7/12 3:50 AM, Ariel Constenla-Haile wrote:
> > Hi *,
> > 
> > I managed to build the MySQL Connector extension and make it work on
> > 
> > * CentOS 5.8 32 and 64 bits
> > * Ubuntu 10.04 LTS 32 and 64 bits
> > * Fedora 15 32 bits and 17 64 bits
> > * Windows XP 32 bits
> > * Windows 7 64 bits (arch. does not matter on Win, AOO is a 32 bits
> >   application)
> > 
> > You can find the extension binaries on
> > http://people.apache.org/~arielch/extensions/aoo-my-sdbc/
> > 
> > These are supposed to be "universal" builds, that is, run on every
> > Windows version, and Linux distro (Linux base is CentOS 5 with glibc
> > 2.5). Everyone is welcome to test if they work on their systems; by
> > "work" I mean it does not crash, I didn't fix any of the existing
> > issues, it was just a try-to-build-it (for now).
> > 
> > 
> 
> it's cool and will help probably many people.
> 
> How did you build it? Did you simply use the former code and build it
> within our normal build env? Or did you use a SDK env or a completely
> new one. Did you create a separate module or project?.


I built it with the SDK environment, "just like" the Complex Toolbar
Controls example in /sdk/examples/cpp/complextoolbarcontrols

Of course, with some little tweaking: the SDK only uses Make and Zip,
and as the extensions builds also the MySQL Connector/C and
Connector/C++, you need to add some extra tools, including cmake, but
I managed to use all these stuff with plain Makefile's and includes,
à la SDK. This has the advantage that anyone, with a minimal building
knowledge can set up the SDK environment and build the extension - at
least in theory, I set up the Makefile to build only on Linux and
Windows, but adapting a few things it may be buildable in other systems
too.

Example of external tools needed on Windows:

# Unx utilities for Windows:
# http://sourceforge.net/projects/unxutils/files/latest/download

# Extract external libraries
# This tar does not understand -z, so we need zcat too
TAR=C:\UnxUtils\usr\local\wbin\tar.exe
ZCAT=C:\UnxUtils\usr\local\wbin\zcat.exe

# patching the external libraries
PATCH=C:\UnxUtils\usr\local\wbin\patch.exe

# get rid of echoing XML files
CAT=C:\UnxUtils\usr\local\wbin\cat.exe
SED=C:\UnxUtils\usr\local\wbin\sed.exe

# we could use xcopy to copy recursively, but it sucks
COPY=C:\UnxUtils\usr\local\wbin\cp.exe
COPYRECURSIVE=$(COPY) -rf

# MySQL Connector/C is built with CMake
# http://www.cmake.org/cmake/resources/software.html
CMAKE=C:\cmake-2.8.9-win32-x86\bin\cmake.exe


First I though about using configure and cygwin, but this approach makes
building the extension more easy: add these tools to a win.mk and simply
install and set up the AOO SDK, and build the extension with it. Of
course, in Linux developing is easier and straight forward; but on
Windows the SDK user already has to search for a GNU Make, and these
tools can be found on the same package (except for CMake, that can be
downloaded in a zip, no need to install it).


> Well we had reasons to exclude it from our normal builds and I think it
> would be good to learn more about the way you have chosen to build it. I
> remember that we talked about solutions for some removed features that
> somebody could take the code and could create a mini project somewhere
> else to ensure that it can be built and used with future AOO version.

Some stuff needs to be linked against no URE libraries, like the removed
WordPerfect filter. I didn't look at the PDF Import extension, in theory
an extension should only link against URE libs, but this might be not
the case. Anyway, it might be useful to take the Hybrid PDF stuff out of
this extension and implement it in the main code, office-wide: it is
a nice feature.


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Mime
View raw message