Date: Wednesday, December 20, 2006 @ 16:26:04
Author: csaba
Path: /cvsroot/carob/libmysequoia
Modified: Makefile.am (1.12 -> 1.13) configure.ac (1.18 -> 1.19)
include/CarobMySQL.hpp (1.41 -> 1.42) src/CarobMySQL.cpp (1.96
-> 1.97) src/CarobStmt.cpp (1.44 -> 1.45) src/Converter.cpp (1.2
-> 1.3) src/Makefile.am (1.12 -> 1.13) src/MySQLAPI.cpp (1.63 ->
1.64) test/Makefile.am (1.9 -> 1.10)
FreeBSD port, fixes for LMS-37
------------------------+
Makefile.am | 8 +++++---
configure.ac | 39 ++++++++++++++++++++++++++++++++++-----
include/CarobMySQL.hpp | 2 +-
src/CarobMySQL.cpp | 2 +-
src/CarobStmt.cpp | 4 ++++
src/Converter.cpp | 8 ++++++++
src/Makefile.am | 4 ++--
src/MySQLAPI.cpp | 14 +++++++-------
test/Makefile.am | 4 ++--
9 files changed, 64 insertions(+), 21 deletions(-)
Index: libmysequoia/Makefile.am
diff -u libmysequoia/Makefile.am:1.12 libmysequoia/Makefile.am:1.13
--- libmysequoia/Makefile.am:1.12 Wed Nov 22 11:55:11 2006
+++ libmysequoia/Makefile.am Wed Dec 20 16:26:04 2006
@@ -86,9 +86,11 @@
endif
install-data-local:
- $(INSTALL_DATA) -D $(srcdir)/config/logger.conf
$(DESTDIR)$(sysconfdir)/logger.conf
- $(INSTALL_DATA) -D $(srcdir)/config/mysequoia.conf
$(DESTDIR)$(sysconfdir)/mysequoia.conf
- $(INSTALL_SCRIPT) -D $(srcdir)/config/mysequoia_config
$(DESTDIR)$(bindir)/mysequoia_config
+ $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ $(INSTALL_DATA) $(srcdir)/config/logger.conf
$(DESTDIR)$(sysconfdir)/logger.conf
+ $(INSTALL_DATA) $(srcdir)/config/mysequoia.conf
$(DESTDIR)$(sysconfdir)/mysequoia.conf
+ $(INSTALL_SCRIPT) $(srcdir)/config/mysequoia_config
$(DESTDIR)$(bindir)/mysequoia_config
clean-local:
rm -rf $(DOC_OUT_HTML) $(DOC_OUT_PDF) $(LCOV_TMP) $(LCOV_HTML)
Index: libmysequoia/configure.ac
diff -u libmysequoia/configure.ac:1.18 libmysequoia/configure.ac:1.19
--- libmysequoia/configure.ac:1.18 Wed Nov 29 14:08:45 2006
+++ libmysequoia/configure.ac Wed Dec 20 16:26:04 2006
@@ -84,15 +84,44 @@
# Check for Carob headers and library
AC_MSG_CHECKING([for Carob])
-CXXFLAGS="$CXXFLAGS -I/usr/include/carob"
-LIBS="$LIBS -lcarob"
+carob_header_dir="/usr/include/carob"
+AC_ARG_WITH(carob-headers,
+ [ --with-carob-headers=DIR Carob header files directory.],
+ [
+ carob_header_dir="$withval"
+ ]
+)
+if test -f "$carob_header_dir/ConnectionParameters.hpp"
+then
+ CAROB_CFLAGS="-I$carob_header_dir"
+else
+ AC_MSG_ERROR([You need to install the Carob development package or use
--with-carob-headers=DIR if the headers are in an unusual place.])
+fi
+AC_MSG_RESULT([$carob_header_dir])
+AC_SUBST(CAROB_CFLAGS)
+
+AC_MSG_CHECKING([for Carob library])
+carob_lib_dir="/usr/lib"
+AC_ARG_WITH(carob-lib,
+ [ --with-carob-lib=DIR Carob library directory.],
+ [
+ carob_lib_dir="$withval"
+ ]
+)
+save_CXXFLAGS="$CXXFLAGS"
+save_LIBS="$LIBS"
+CXXFLAGS="-I$carob_header_dir"
+LIBS="-L$carob_lib_dir -lcarob"
AC_TRY_LINK([#include <ConnectionParameters.hpp>],
[using namespace CarobNS; ControllerInfo ci; ],
- ,AC_MSG_ERROR([Carob header files or library not found.
Please install a carob package or use CXXFLAGS/LDFLAGS]))
+ ,AC_MSG_ERROR([You need to install the Carob development
packages or use --with-carob-lib=DIR if the library is in an unusual place.]))
+CXXFLAGS="$save_CXXFLAGS"
+LIBS="$save_LIBS"
+CAROB_LDADD="-L$carob_lib_dir -lcarob"
+AC_SUBST(CAROB_LDADD)
AC_MSG_RESULT([yes])
# Checks for libraries.
-AC_CHECK_LIB([dl], [dlopen],, AC_MSG_ERROR([dl library not found. Please
install it.]))
AC_CHECK_LIB([log4cxx], [main], LOG4CXX_LDADD="-llog4cxx",
AC_MSG_ERROR([log4cxx library not found. Please install it.]))
AC_SUBST(LOG4CXX_LDADD)
@@ -116,7 +145,7 @@
AC_SUBST(MYSQL_CFLAGS)
AC_MSG_CHECKING([for MySQL version])
-mysql_version=`grep MYSQL_VERSION_ID $mysql_header_dir/mysql_version.h | $SED
-e 's/.*\(\<@<:@0-9@:>@*\>\).*/\1/'`
+mysql_version=`grep MYSQL_VERSION_ID $mysql_header_dir/mysql_version.h | awk
'{printf $3;}'`
if test $mysql_version -ge 50000
then
major_version=15
Index: libmysequoia/include/CarobMySQL.hpp
diff -u libmysequoia/include/CarobMySQL.hpp:1.41
libmysequoia/include/CarobMySQL.hpp:1.42
--- libmysequoia/include/CarobMySQL.hpp:1.41 Wed Nov 29 16:24:12 2006
+++ libmysequoia/include/CarobMySQL.hpp Wed Dec 20 16:26:04 2006
@@ -109,7 +109,7 @@
* @return true if the query was executed otherwise false and set the
* corresponding mysql error
*/
- bool real_query (const char *query, ulong length, bool parse = true);
+ bool real_query (const char *query, unsigned long int length, bool parse =
true);
/**
* Returns the number of warnings
Index: libmysequoia/src/CarobMySQL.cpp
diff -u libmysequoia/src/CarobMySQL.cpp:1.96
libmysequoia/src/CarobMySQL.cpp:1.97
--- libmysequoia/src/CarobMySQL.cpp:1.96 Wed Nov 29 16:39:08 2006
+++ libmysequoia/src/CarobMySQL.cpp Wed Dec 20 16:26:04 2006
@@ -308,7 +308,7 @@
}
bool
-CarobMYSQL::real_query (const char *query, ulong length, bool parse)
+CarobMYSQL::real_query (const char *query, unsigned long int length, bool
parse)
{
LOG4CXX_DEBUG(logger, "Entering real_query: query=" << query << " length="
<< length);
Index: libmysequoia/src/CarobStmt.cpp
diff -u libmysequoia/src/CarobStmt.cpp:1.44 libmysequoia/src/CarobStmt.cpp:1.45
--- libmysequoia/src/CarobStmt.cpp:1.44 Fri Nov 17 19:34:23 2006
+++ libmysequoia/src/CarobStmt.cpp Wed Dec 20 16:26:04 2006
@@ -35,6 +35,10 @@
#include <my_alloc.h>
#include <errmsg.h>
+#ifdef __FreeBSD__
+#include <roken.h> // for strnlen()
+#endif
+
using namespace CarobNS;
using namespace std;
Index: libmysequoia/src/Converter.cpp
diff -u libmysequoia/src/Converter.cpp:1.2 libmysequoia/src/Converter.cpp:1.3
--- libmysequoia/src/Converter.cpp:1.2 Fri Mar 3 13:39:34 2006
+++ libmysequoia/src/Converter.cpp Wed Dec 20 16:26:04 2006
@@ -73,7 +73,11 @@
std::wstring result;
+#ifdef __FreeBSD__
+ const char *inbuf = (char *)s.data();
+#else
char *inbuf = (char *)s.data();
+#endif
size_t inbytesleft = s.length();
wchar_t convertbuf[CONVERTER_BUFFER_SIZE];
@@ -115,7 +119,11 @@
std::string result;
+#ifdef __FreeBSD__
+ const char *inbuf = (char *)w.data();
+#else
char *inbuf = (char *)w.data();
+#endif
size_t inbytesleft = w.length() * sizeof(wchar_t);
char convertbuf[CONVERTER_BUFFER_SIZE];
Index: libmysequoia/src/Makefile.am
diff -u libmysequoia/src/Makefile.am:1.12 libmysequoia/src/Makefile.am:1.13
--- libmysequoia/src/Makefile.am:1.12 Fri Nov 24 18:30:37 2006
+++ libmysequoia/src/Makefile.am Wed Dec 20 16:26:04 2006
@@ -33,8 +33,8 @@
Converter.cpp \
HostTokenizer.cpp
-libmysequoia_la_CXXFLAGS = @MYSQL_CFLAGS@ @GCOV_CFLAGS@
-libmysequoia_la_LDFLAGS = -version-info @SHARED_LIB_VERSION@ @GCOV_LDADD@
@LOG4CXX_LDADD@
+libmysequoia_la_CXXFLAGS = @CAROB_CFLAGS@ @MYSQL_CFLAGS@ @GCOV_CFLAGS@
+libmysequoia_la_LDFLAGS = -version-info @SHARED_LIB_VERSION@ @GCOV_LDADD@
@CAROB_LDADD@ @LOG4CXX_LDADD@
clean-local:
rm -f *.gcno *.gcda
Index: libmysequoia/src/MySQLAPI.cpp
diff -u libmysequoia/src/MySQLAPI.cpp:1.63 libmysequoia/src/MySQLAPI.cpp:1.64
--- libmysequoia/src/MySQLAPI.cpp:1.63 Fri Nov 17 19:34:23 2006
+++ libmysequoia/src/MySQLAPI.cpp Wed Dec 20 16:26:04 2006
@@ -1337,16 +1337,16 @@
switch (option)
{
case STMT_ATTR_UPDATE_MAX_LENGTH:
- *(ulong *)arg = stmt->update_max_length;
+ *(unsigned long int *)arg = stmt->update_max_length;
break;
#ifdef MYSQL5
case STMT_ATTR_CURSOR_TYPE:
- *(ulong *)arg = stmt->flags;
+ *(unsigned long int *)arg = stmt->flags;
break;
case STMT_ATTR_PREFETCH_ROWS:
- *(ulong *)arg = stmt->prefetch_rows;
+ *(unsigned long int *)arg = stmt->prefetch_rows;
break;
#endif
@@ -1383,8 +1383,8 @@
#ifdef MYSQL5
case STMT_ATTR_CURSOR_TYPE:
- ulong flags;
- flags = arg ? *(ulong *)arg : (ulong) CURSOR_TYPE_NO_CURSOR;
+ unsigned long int flags;
+ flags = arg ? *(unsigned long int *)arg : (unsigned long int)
CURSOR_TYPE_NO_CURSOR;
if (flags == CURSOR_TYPE_NO_CURSOR || flags == CURSOR_TYPE_READ_ONLY)
stmt->flags = flags;
else
@@ -1392,8 +1392,8 @@
break;
case STMT_ATTR_PREFETCH_ROWS:
- ulong prefetch_rows;
- prefetch_rows = arg ? *(ulong *)arg : (ulong) 1;
+ unsigned long int prefetch_rows;
+ prefetch_rows = arg ? *(unsigned long int *)arg : (unsigned long int)
1;
if (prefetch_rows >= 1 && prefetch_rows <= ULONG_MAX)
{
stmt->prefetch_rows = prefetch_rows;
Index: libmysequoia/test/Makefile.am
diff -u libmysequoia/test/Makefile.am:1.9 libmysequoia/test/Makefile.am:1.10
--- libmysequoia/test/Makefile.am:1.9 Fri Nov 3 14:52:30 2006
+++ libmysequoia/test/Makefile.am Wed Dec 20 16:26:04 2006
@@ -30,8 +30,8 @@
TestIniParser.cpp \
TestConverter.cpp
-runTests_CXXFLAGS = @CPPUNIT_CFLAGS@ @MYSQL_CFLAGS@ @GCOV_CFLAGS@
-runTests_LDADD = $(top_builddir)/src/libmysequoia.la @CPPUNIT_LDADD@
@GCOV_LDADD@ -lpthread
+runTests_CXXFLAGS = @CPPUNIT_CFLAGS@ @CAROB_CFLAGS@ @MYSQL_CFLAGS@
@GCOV_CFLAGS@
+runTests_LDADD = $(top_builddir)/src/libmysequoia.la @CPPUNIT_LDADD@
@GCOV_LDADD@ @CAROB_LDADD@ -lpthread
TESTS = $(check_PROGRAMS)
_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits