[ 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]