[ please CC me, I am NOT subscribed to [EMAIL PROTECTED] ]

Hi,

today I had a look and mysqlnative and did a first prototype of
system-mysql. (since there's no internal option right now anyway...)

Proposed patch attached, I can commit if you want. 
(For various reasons, DON'T do it youself)

For the below reason, I didn't test it completely (no full build in
connecticity possible). It's also not yet exactly complete, when we have
the new dir for the mysql libs we need to do adaptions, there too (the FIXME
in the internal case might be able to go away depending on whether we leave
the variables for the internal case in the makefile.mk)

One problem arises with libmysqlcppconn, this lib looks heavily unstable and
still in development - current bzr co doesn't have a DriverManager class
or driver_manager.h header anymore and the tarball you can get does not
build:

Making: ../../../unxlngppc.pro/slo/mysqlc_driver.obj
g++  -fsigned-char -fmessage-length=0 -c -Os -fno-strict-aliasing   -I../../inc 
-I/usr/include/mysql    -DMYSQLC_VERSION_MAJOR=1        
-DMYSQLC_VERSION_MINOR=0        -DMYSQLC_VERSION_MICRO=2     -DBIG_JOINS=1 
-fPIC -I.  -I../../../unxlngppc.pro/inc/mysqlc -I../inc -I../../../inc/pch 
-I../../../inc -I../../../unx/inc -I../../../unxlngppc.pro/inc -I. 
-I/home/rene/OpenOffice.org/cws/mysqlnative/solver/300/unxlngppc.pro/inc/stl 
-I/home/rene/OpenOffice.org/cws/mysqlnative/solver/300/unxlngppc.pro/inc/external
 -I/home/rene/OpenOffice.org/cws/mysqlnative/solver/300/unxlngppc.pro/inc 
-I/home/rene/OpenOffice.org/cws/mysqlnative/solenv/unxlngppc/inc 
-I/home/rene/OpenOffice.org/cws/mysqlnative/solenv/inc 
-I/home/rene/OpenOffice.org/cws/mysqlnative/res 
-I/home/rene/OpenOffice.org/cws/mysqlnative/solver/300/unxlngppc.pro/inc/stl 
-I/home/rene/OpenOffice.org/cws/mysqlnative/solenv/inc/Xp31 
-INO_JAVA_HOME/include -INO_JAVA_HOME/include/linux 
-INO_JAVA_HOME/include/native_threads/include -I/usr/include  
-I/home/rene/OpenOffice.org/cws/mysqlnative/solver/300/unxlngppc.pro/inc/offuh 
-I. -I../../../res -I. -fsigned-char -pipe -frtti   -Wno-ctor-dtor-privacy   
-fPIC -DLINUX -DUNX -DVCL -DGCC -DC300 -DPOWERPC -DCVER=C300 -DNPTL -DGLIBC=2 
-D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 
-DPOWERPC -DPPC -DHAVE_GCC_VISIBILITY_FEATURE -D__DMAKE -DUNIX -DCPPU_ENV=gcc3 
-DGXX_INCLUDE_PATH=/usr/include/c++/4.3 -DSUPD=300 -DPRODUCT -DNDEBUG 
-DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE -DCUI   -DSHAREDLIB -D_DLL_   
-fexceptions -fno-enforce-eh-specs -DEXCEPTIONS_ON  -o 
../../../unxlngppc.pro/slo/mysqlc_driver.o 
/home/rene/OpenOffice.org/cws/mysqlnative/connectivity/source/drivers/mysqlc/mysqlc_driver.cxx
 
/home/rene/OpenOffice.org/cws/mysqlnative/connectivity/source/drivers/mysqlc/mysqlc_driver.cxx:40:36:
 error: cppconn/driver_manager.h: No such file or directory
/home/rene/OpenOffice.org/cws/mysqlnative/connectivity/source/drivers/mysqlc/mysqlc_driver.cxx:47:
 error: expected initializer before '*' token
/home/rene/OpenOffice.org/cws/mysqlnative/connectivity/source/drivers/mysqlc/mysqlc_driver.cxx:
 In member function 'virtual 
com::sun::star::uno::Reference<com::sun::star::sdbc::XConnection> 
connectivity::mysqlc::MysqlCDriver::connect(const rtl::OUString&, const 
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&)':
/home/rene/OpenOffice.org/cws/mysqlnative/connectivity/source/drivers/mysqlc/mysqlc_driver.cxx:157:
 error: 'driverManager' was not declared in this scope
/home/rene/OpenOffice.org/cws/mysqlnative/connectivity/source/drivers/mysqlc/mysqlc_driver.cxx:158:
 error: 'sql::DriverManager' has not been declared
/home/rene/OpenOffice.org/cws/mysqlnative/connectivity/source/drivers/mysqlc/mysqlc_driver.cxx:161:
 error: 'driverManager' was not declared in this scope
dmake:  Error code 1, while making 
'../../../unxlngppc.pro/slo/mysqlc_driver.obj'

Will this be fixed somewhen/until this cws is finished? Should we default
to  use internal libmysqlcppconn even though we use external libmysqlclient?

Regards,

Rene
Index: config_office/configure
===================================================================
--- config_office/configure	(Revision 264308)
+++ config_office/configure	(Arbeitskopie)
@@ -801,6 +801,11 @@
 SYSTEM_LUCENE
 LUCENE_CORE_JAR
 LUCENE_ANALYZERS_JAR
+MYSQLCONFIG
+SYSTEM_MYSQL
+MYSQL_INC
+MYSQL_LIB
+MYSQL_DEFINES
 SYSTEM_HSQLDB
 HSQLDB_JAR
 SYSTEM_BSH
@@ -1877,6 +1882,8 @@
 
   --with-lucene-core-jar=JARFILE   Specify path to jarfile manually
   --with-lucene-analyzers-jar=JARFILE   Specify path to jarfile manually
+  --with-system-mysql     Use MySQL libraries already on system
+
   --with-system-hsqldb    Use hsqldb already on system
 
   --with-hsqldb-jar=JARFILE   Specify path to jarfile manually
@@ -3066,6 +3073,12 @@
 fi
 
 
+# Check whether --with-system-mysql was given.
+if test "${with_system_mysql+set}" = set; then
+  withval=$with_system_mysql;
+fi
+
+
 # Check whether --with-system-hsqldb was given.
 if test "${with_system_hsqldb+set}" = set; then
   withval=$with_system_hsqldb;
@@ -15262,6 +15275,299 @@
 
 
 
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+{ echo "$as_me:$LINENO: checking which MySQL libraries to use" >&5
+echo $ECHO_N "checking which MySQL libraries to use... $ECHO_C" >&6; }
+if test -n "$with_system_mysql" -o -n "$with_system_libs" && \
+       test "$with_system_mysql" != "no" && test "$with_system_libs" != "no"; then
+	{ echo "$as_me:$LINENO: result: external" >&5
+echo "${ECHO_T}external" >&6; }
+	SYSTEM_MYSQL=YES
+	# Extract the first word of "mysql_config", so it can be a program name with args.
+set dummy mysql_config; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_MYSQLCONFIG+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MYSQLCONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_MYSQLCONFIG="$MYSQLCONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_MYSQLCONFIG="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+MYSQLCONFIG=$ac_cv_path_MYSQLCONFIG
+if test -n "$MYSQLCONFIG"; then
+  { echo "$as_me:$LINENO: result: $MYSQLCONFIG" >&5
+echo "${ECHO_T}$MYSQLCONFIG" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+	{ echo "$as_me:$LINENO: checking MySQL version" >&5
+echo $ECHO_N "checking MySQL version... $ECHO_C" >&6; }
+	MYSQL_VERSION=`mysql_config --version`
+	MYSQL_MAJOR=`mysql_config --version | cut -d"." -f1`
+	if test "$MYSQL_MAJOR" -ge "5"; then
+		{ echo "$as_me:$LINENO: result: OK" >&5
+echo "${ECHO_T}OK" >&6; }
+	else
+		{ { echo "$as_me:$LINENO: error: too old, use 5.0.x or 5.1.x" >&5
+echo "$as_me: error: too old, use 5.0.x or 5.1.x" >&2;}
+   { (exit 1); exit 1; }; }
+	fi
+	{ echo "$as_me:$LINENO: checking for MySQL Client library" >&5
+echo $ECHO_N "checking for MySQL Client library... $ECHO_C" >&6; }
+	MYSQL_INC=`mysql_config --include`
+	MYSQL_LIB=`mysql_config --libs`
+	MYSQL_DEFINES=`mysql_config --cflags | sed -e s,$MYSQL_INC,,`
+	{ echo "$as_me:$LINENO: result: includes $MYSQL_INC, libraries $MYSQL_LIB" >&5
+echo "${ECHO_T}includes $MYSQL_INC, libraries $MYSQL_LIB" >&6; }
+	# which §&§& though this too-generic cppconn dir was a good idea?
+        if test "${ac_cv_header_cppconn_driver_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for cppconn/driver.h" >&5
+echo $ECHO_N "checking for cppconn/driver.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_cppconn_driver_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_cppconn_driver_h" >&5
+echo "${ECHO_T}$ac_cv_header_cppconn_driver_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking cppconn/driver.h usability" >&5
+echo $ECHO_N "checking cppconn/driver.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <cppconn/driver.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking cppconn/driver.h presence" >&5
+echo $ECHO_N "checking cppconn/driver.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <cppconn/driver.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: cppconn/driver.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: cppconn/driver.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cppconn/driver.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: cppconn/driver.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: cppconn/driver.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: cppconn/driver.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cppconn/driver.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: cppconn/driver.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cppconn/driver.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: cppconn/driver.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cppconn/driver.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: cppconn/driver.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cppconn/driver.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: cppconn/driver.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cppconn/driver.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: cppconn/driver.h: in the future, the compiler will take precedence" >&2;}
+
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for cppconn/driver.h" >&5
+echo $ECHO_N "checking for cppconn/driver.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_cppconn_driver_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_cppconn_driver_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_cppconn_driver_h" >&5
+echo "${ECHO_T}$ac_cv_header_cppconn_driver_h" >&6; }
+
+fi
+if test $ac_cv_header_cppconn_driver_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: cppconn/driver.h not found. install MySQL C++ Connectivity" >&5
+echo "$as_me: error: cppconn/driver.h not found. install MySQL C++ Connectivity" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+{ echo "$as_me:$LINENO: checking for main in -lmysqlcppconn" >&5
+echo $ECHO_N "checking for main in -lmysqlcppconn... $ECHO_C" >&6; }
+if test "${ac_cv_lib_mysqlcppconn_main+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lmysqlcppconn  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+
+int
+main ()
+{
+return main ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  ac_cv_lib_mysqlcppconn_main=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_lib_mysqlcppconn_main=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_mysqlcppconn_main" >&5
+echo "${ECHO_T}$ac_cv_lib_mysqlcppconn_main" >&6; }
+if test $ac_cv_lib_mysqlcppconn_main = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBMYSQLCPPCONN 1
+_ACEOF
+
+  LIBS="-lmysqlcppconn $LIBS"
+
+else
+  { { echo "$as_me:$LINENO: error: MySQL C++ Connectivity lib not found or functional" >&5
+echo "$as_me: error: MySQL C++ Connectivity lib not found or functional" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+	{ echo "$as_me:$LINENO: result: internal" >&5
+echo "${ECHO_T}internal" >&6; }
+	SYSTEM_MYSQL=NO
+	# FIXME
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
 { echo "$as_me:$LINENO: checking which hsqldb to use" >&5
 echo $ECHO_N "checking which hsqldb to use... $ECHO_C" >&6; }
 if test -n "$with_system_hsqldb" -o -n "$with_system_libs" && \
@@ -27995,12 +28301,12 @@
 SYSTEM_LUCENE!$SYSTEM_LUCENE$ac_delim
 LUCENE_CORE_JAR!$LUCENE_CORE_JAR$ac_delim
 LUCENE_ANALYZERS_JAR!$LUCENE_ANALYZERS_JAR$ac_delim
+MYSQLCONFIG!$MYSQLCONFIG$ac_delim
+SYSTEM_MYSQL!$SYSTEM_MYSQL$ac_delim
+MYSQL_INC!$MYSQL_INC$ac_delim
+MYSQL_LIB!$MYSQL_LIB$ac_delim
+MYSQL_DEFINES!$MYSQL_DEFINES$ac_delim
 SYSTEM_HSQLDB!$SYSTEM_HSQLDB$ac_delim
-HSQLDB_JAR!$HSQLDB_JAR$ac_delim
-SYSTEM_BSH!$SYSTEM_BSH$ac_delim
-BSH_JAR!$BSH_JAR$ac_delim
-SERIALIZER_JAR!$SERIALIZER_JAR$ac_delim
-SYSTEM_SAXON!$SYSTEM_SAXON$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -28042,6 +28348,11 @@
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+HSQLDB_JAR!$HSQLDB_JAR$ac_delim
+SYSTEM_BSH!$SYSTEM_BSH$ac_delim
+BSH_JAR!$BSH_JAR$ac_delim
+SERIALIZER_JAR!$SERIALIZER_JAR$ac_delim
+SYSTEM_SAXON!$SYSTEM_SAXON$ac_delim
 SAXON_JAR!$SAXON_JAR$ac_delim
 CURLCONFIG!$CURLCONFIG$ac_delim
 SYSTEM_CURL!$SYSTEM_CURL$ac_delim
@@ -28134,11 +28445,6 @@
 UNZIP!$UNZIP$ac_delim
 ZIP_HOME!$ZIP_HOME$ac_delim
 WITH_GPC!$WITH_GPC$ac_delim
-ENABLE_GTK!$ENABLE_GTK$ac_delim
-ENABLE_KDE!$ENABLE_KDE$ac_delim
-GCONF_CFLAGS!$GCONF_CFLAGS$ac_delim
-GCONF_LIBS!$GCONF_LIBS$ac_delim
-ENABLE_GCONF!$ENABLE_GCONF$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -28180,6 +28486,11 @@
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+ENABLE_GTK!$ENABLE_GTK$ac_delim
+ENABLE_KDE!$ENABLE_KDE$ac_delim
+GCONF_CFLAGS!$GCONF_CFLAGS$ac_delim
+GCONF_LIBS!$GCONF_LIBS$ac_delim
+ENABLE_GCONF!$ENABLE_GCONF$ac_delim
 GNOMEVFS_CFLAGS!$GNOMEVFS_CFLAGS$ac_delim
 GNOMEVFS_LIBS!$GNOMEVFS_LIBS$ac_delim
 ENABLE_GNOMEVFS!$ENABLE_GNOMEVFS$ac_delim
@@ -28260,7 +28571,7 @@
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 78; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 83; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
Index: config_office/configure.in
===================================================================
--- config_office/configure.in	(Revision 264308)
+++ config_office/configure.in	(Arbeitskopie)
@@ -362,6 +362,9 @@
 [  --with-lucene-analyzers-jar=JARFILE   Specify path to jarfile manually ],
 [ LUCENE_ANALYZERS_JAR="$withval"
 ])
+AC_ARG_WITH(system-mysql,
+[  --with-system-mysql     Use MySQL libraries already on system
+],,)
 AC_ARG_WITH(system-hsqldb,
 [  --with-system-hsqldb    Use hsqldb already on system
 ],,)
@@ -3676,6 +3679,47 @@
 AC_SUBST(LUCENE_ANALYZERS_JAR)
 
 dnl ===================================================================
+dnl Check for system MySQL
+dnl ===================================================================
+AC_LANG_PUSH([C++])
+AC_MSG_CHECKING([which MySQL libraries to use])
+if test -n "$with_system_mysql" -o -n "$with_system_libs" && \
+       test "$with_system_mysql" != "no" && test "$with_system_libs" != "no"; then
+	AC_MSG_RESULT([external])
+	SYSTEM_MYSQL=YES
+	AC_PATH_PROG( MYSQLCONFIG, mysql_config)
+	AC_MSG_CHECKING([MySQL version])
+	MYSQL_VERSION=`mysql_config --version` 
+	MYSQL_MAJOR=`mysql_config --version | cut -d"." -f1`
+	if test "$MYSQL_MAJOR" -ge "5"; then
+		AC_MSG_RESULT([OK])
+	else
+		AC_MSG_ERROR([too old, use 5.0.x or 5.1.x])
+	fi
+	AC_MSG_CHECKING([for MySQL Client library])
+	MYSQL_INC=`mysql_config --include` 
+	MYSQL_LIB=`mysql_config --libs`
+	MYSQL_DEFINES=`mysql_config --cflags | sed -e s,$MYSQL_INC,,`
+	AC_MSG_RESULT([includes $MYSQL_INC, libraries $MYSQL_LIB])
+	# which §&§& though this too-generic cppconn dir was a good idea?
+	# And: Which version do we require? 1.0.0 does not build and bzr
+	# doesn't have driver_manager.h and the DriverManager class anymore
+        AC_CHECK_HEADER(cppconn/driver_manager.h, [],
+        [AC_MSG_ERROR(cppconn/driver_manager.h not found. install MySQL C++ Connectivity)], [])
+        AC_CHECK_LIB(mysqlcppconn, main, [],
+                   [AC_MSG_ERROR(MySQL C++ Connectivity lib not found or functional)], [])
+else
+	AC_MSG_RESULT([internal])
+	SYSTEM_MYSQL=NO
+	# FIXME
+fi
+AC_LANG_POP([C++])
+AC_SUBST(SYSTEM_MYSQL)
+AC_SUBST(MYSQL_INC)
+AC_SUBST(MYSQL_LIB)
+AC_SUBST(MYSQL_DEFINES)
+
+dnl ===================================================================
 dnl Check for system hsqldb
 dnl ===================================================================
 AC_MSG_CHECKING([which hsqldb to use])
Index: config_office/set_soenv.in
===================================================================
--- config_office/set_soenv.in	(Revision 264308)
+++ config_office/set_soenv.in	(Arbeitskopie)
@@ -1965,6 +1965,10 @@
 ToFile( "SYSTEM_DB",         "@SYSTEM_DB@",        "e" );
 ToFile( "DB_VERSION",        "@DB_VERSION@",       "e" );
 ToFile( "DB_INCLUDES",       "@DB_INCLUDES@",      "e" );
+ToFile( "SYSTEM_MYSQL",      "@SYSTEM_MYSQL@",     "e" );
+ToFile( "MYSQL_INC",         "@MYSQL_INC@",        "e" );
+ToFile( "MYSQL_LIB",         "@MYSQL_LIB@",        "e" );
+ToFile( "MYSQL_DEFINES",     "@MYSQL_DEFINES@",    "e" );
 ToFile( "SYSTEM_HSQLDB",     "@SYSTEM_HSQLDB@",    "e" );
 ToFile( "HSQLDB_JAR",        "@HSQLDB_JAR@",       "e" );
 ToFile( "SYSTEM_LUCENE",     "@SYSTEM_LUCENE@",    "e" );
Index: connectivity/source/drivers/mysqlc/makefile.mk
===================================================================
--- connectivity/source/drivers/mysqlc/makefile.mk	(Revision 264308)
+++ connectivity/source/drivers/mysqlc/makefile.mk	(Arbeitskopie)
@@ -75,12 +75,14 @@
 MYSQL_LIBFILE=$(MYSQL_LIBDIR)$/libmysql.dll
 MYSQL_CPPCONN_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlcppconn.dll
 .ELSE
+.IF "$(SYSTEM_MYSQL)" != "YES"
 MYSQL_INC=-I$(MYSQL_INCDIR)
 MYSQL_LIB=-L$(MYSQL_LIBDIR) -lmysqlclient -rdynamic -lz -lcrypt -lnsl -lm -lcppdrivermanager
 MYSQL_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlclient.so.15
 MYSQL_CPPCONN_LIBFILE=$(MYSQL_LIBDIR)$/libmysqlcppconn.so
 MYSQL_CPPDM_LIBFILE=$(MYSQL_LIBDIR)$/libcppdrivermanager.so
 .ENDIF
+.ENDIF
 
 .IF "$(GUI)"=="WNT"
   MYSQL_DEFINES = -D__LCC__ -DWIN
@@ -142,7 +144,11 @@
 COMPONENT_DESCRIPTION = \
             $(ZIP1DIR)$/description.xml
 
-ZIP1DEPS=$(COMPONENT_DESCRIPTION) $(COMPONENT_MANIFEST) $(COMPONENT_LIBRARY) $(COMPONENT_MYSQL_LIBFILE) $(COMPONENT_MYSQL_CPPCONN_LIBFILE) $(COMPONENT_MYSQL_CPPDM_LIBFILE) makefile.mk
+ZIP1DEPS=$(COMPONENT_DESCRIPTION) $(COMPONENT_MANIFEST) $(COMPONENT_LIBRARY) makefile.mk
+.IF "$(SYSTEM_MYSQL)" != "YES"
+ZIP1DEPS += $(COMPONENT_MYSQL_LIBFILE) $(COMPONENT_MYSQL_CPPCONN_LIBFILE) $(COMPONENT_MYSQL_CPPDM_LIBFILE)
+.ENDIF
+
 ZIP1TARGET=mysql-native
 ZIP1FLAGS=-r
 ZIP1LIST=*
@@ -165,6 +171,7 @@
     -$(MKDIRHIER) $(@:d)
     $(TYPE) manifest.xml | $(SED) "s/SHARED_EXTENSION/$(DLLPOST)/" > $@
 
+.IF "$(SYSTEM_MYSQL)" != "YES"
 # --- the MySQL client lib needs to be copied
 $(COMPONENT_MYSQL_LIBFILE):
     -$(MKDIRHIER) $(@:d)
@@ -177,8 +184,8 @@
 $(COMPONENT_MYSQL_CPPDM_LIBFILE):
     -$(MKDIRHIER) $(@:d)
     $(COPY) $(MYSQL_CPPDM_LIBFILE) $@
+.ENDIF
 
-
 # --- the lib is copied from the location where it had been built
 $(COMPONENT_LIBRARY) : $(DLLDEST)$/$$(@:f)
     @@-$(MKDIRHIER) $(@:d)
Index: connectivity/source/drivers/mysqlc/README
===================================================================
--- connectivity/source/drivers/mysqlc/README	(Revision 264308)
+++ connectivity/source/drivers/mysqlc/README	(Arbeitskopie)
@@ -64,3 +64,6 @@
 
 A common issue is libmysqlclient.so.15 vs. libmysqlclient.so.16 .
 
+If you already have those libraries on the system and want the extension use
+those, you can build with --with-system-mysql.
+

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to