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

Reply via email to