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