Ok, done, is this better?

In config.m4 I am doing 2 things.

First, I am using "uname" to get the platform being compiled on, then using 
this info to set the appropriate define needed by RDM Server, i.e. LINUX, 
SOLARIS, etc.

Secondly, because RDM Server library names changed when 64-bit support was 
added, I added a test to figure out which libraries to link to.

In php_odbc.h I simply added birdstep to the list of db's for which 
PHP_ODBC_HAVE_FETCH_HASH  needs to be define.....

cvs diff: Diffing ext/odbc
Index: ext/odbc/config.m4
===================================================================
RCS file: /repository/php-src/ext/odbc/config.m4,v
retrieving revision 1.55.2.10
diff -u -r1.55.2.10 config.m4
--- ext/odbc/config.m4  18 Jan 2005 21:21:16 -0000      1.55.2.10
+++ ext/odbc/config.m4  5 Apr 2005 22:25:01 -0000
@@ -1,11 +1,11 @@
 dnl
-dnl $Id: config.m4,v 1.55.2.10 2005/01/18 21:21:16 tony2001 Exp $
+dnl $Id: config.m4,v 1.55.2.8 2003/11/25 08:08:30 sniper Exp $
 dnl

 dnl
 dnl Figure out which library file to link with for the Solid support.
 dnl
-AC_DEFUN([AC_FIND_SOLID_LIBS],[
+AC_DEFUN(AC_FIND_SOLID_LIBS,[
   AC_MSG_CHECKING([Solid library file])
   ac_solid_uname_r=`uname -r 2>/dev/null`
   ac_solid_uname_s=`uname -s 2>/dev/null`
@@ -71,7 +71,7 @@
 dnl
 dnl Figure out which library file to link with for the Empress support.
 dnl
-AC_DEFUN([AC_FIND_EMPRESS_LIBS],[
+AC_DEFUN(AC_FIND_EMPRESS_LIBS,[
   AC_MSG_CHECKING([Empress library file])
   ODBC_LIBS=`echo $1/libempodbccl.so | cut -d' ' -f1`
   if test ! -f $ODBC_LIBS; then
@@ -80,7 +80,7 @@
   AC_MSG_RESULT(`echo $ODBC_LIBS | sed -e 's!.*/!!'`)
 ])

-AC_DEFUN([AC_FIND_EMPRESS_BCS_LIBS],[
+AC_DEFUN(AC_FIND_EMPRESS_BCS_LIBS,[
   AC_MSG_CHECKING([Empress local access library file])
   ODBCBCS_LIBS=`echo $1/libempodbcbcs.a | cut -d' ' -f1`
   if test ! -f $ODBCBCS_LIBS; then
@@ -194,15 +194,6 @@
       ODBC_INCDIR=$withval/include
       ODBC_LIBDIR=$withval/lib
     fi
-
-    if ! test -f "$ODBC_INCDIR/sqlcli1.h"; then
-      AC_MSG_ERROR([IBM DB2 header files not found])
-    fi
-
-    if ! test -f "$ODBC_LIBDIR/libdb2.so"; then
-      AC_MSG_ERROR([IBM DB2 required libraries not found])
-    fi
-
     ODBC_INCLUDE=-I$ODBC_INCDIR
     ODBC_LFLAGS=-L$ODBC_LIBDIR
     ODBC_TYPE=db2
@@ -304,7 +295,21 @@
                           install directory, defaults to 
/usr/local/birdstep.],
 [
   PHP_WITH_SHARED
-
+  ac_birdstep_uname_s=`uname -s 2>/dev/null`
+  ac_birdstep_uname_p=`uname -p 2>/dev/null`
+  case $ac_birdstep_uname_s in
+    AIX) AC_DEFINE(AIX,1,[ ]);;
+    HP-UX) AC_DEFINE(HPUX,1,[ ]);;
+    Linux) AC_DEFINE(LINUX,1,[ ]);;
+    QNX) AC_DEFINE(NEUTRINO,1,[ ]);;
+    SunOS)
+      if test "$ac_birdstep_uname_p" == "i386"; then
+        AC_DEFINE(ISOLARIS,1,[ ])
+      elif test "$ac_birdstep_uname_p" == "sparc"; then
+        AC_DEFINE(SOLARIS,1,[ ])
+      fi;;
+    UnixWare) AC_DEFINE(UNIXWARE,1,[ ]);;
+  esac
   if test "$withval" != "no"; then
     if test "$withval" = "yes"; then
         ODBC_INCDIR=/usr/local/birdstep/include
@@ -316,9 +321,12 @@
     ODBC_INCLUDE=-I$ODBC_INCDIR
     ODBC_TYPE=birdstep
     ODBC_LFLAGS=-L$ODBC_LIBDIR
- 
   ODBC_LIBS="-lCadm -lCdict -lCenc -lCrdm -lCrpc -lCrdbc -lCrm -lCuapi -lutil"
+    if test -e "$ODBC_LIBDIR/libCrdbc32.so" -o -e 
"$ODBC_LIBDIR/libCrdbc32.sl"; then
+ 
     ODBC_LIBS="-lCrdbc32 -lCadm32 -lCncp32 -lCrm32 -lCsql32 -lCdict32 -lCrdm32 
 -lCrpc32 -lutil"
+    elif test -e "$ODBC_LIBDIR/libCrdbc.so" -o -e 
"$ODBC_LIBDIR/libCrdbc.sl"; then
+ 
     ODBC_LIBS="-lCrdbc -lCadm -lCncp -lCrm -lCsql -lCdict -lCrdm -lCrpc -lutil"
+    fi
     AC_DEFINE(HAVE_BIRDSTEP,1,[ ])
-
     AC_MSG_RESULT(yes)
   else
     AC_MSG_RESULT(no)
@@ -512,9 +520,11 @@

 if test -n "$ODBC_TYPE"; then
   if test "$ODBC_TYPE" != "dbmaker"; then
-    ext_shared=$shared
-    PHP_EVAL_LIBLINE([$ODBC_LFLAGS $ODBC_LIBS], ODBC_SHARED_LIBADD)
-    AC_DEFINE(HAVE_SQLDATASOURCES,1,[ ])
+      ext_shared=$shared
+      PHP_EVAL_LIBLINE([$ODBC_LFLAGS $ODBC_LIBS], ODBC_SHARED_LIBADD)
+    if test "$ODBC_TYPE" != "birdstep"; then
+      AC_DEFINE(HAVE_SQLDATASOURCES,1,[ ])
+    fi
   fi

   AC_DEFINE(HAVE_UODBC,1,[ ])
Index: ext/odbc/php_odbc.h
===================================================================
RCS file: /repository/php-src/ext/odbc/php_odbc.h,v
retrieving revision 1.48.4.5
diff -u -r1.48.4.5 php_odbc.h
--- ext/odbc/php_odbc.h 14 Jul 2003 16:13:30 -0000      1.48.4.5
+++ ext/odbc/php_odbc.h 5 Apr 2005 22:25:01 -0000
@@ -33,7 +33,7 @@
 extern zend_module_entry odbc_module_entry;
 #define odbc_module_ptr &odbc_module_entry

-#if defined(HAVE_DBMAKER) || defined(PHP_WIN32) || defined(HAVE_IBMDB2) || 
defined(HAVE_UNIXODBC)
+#if defined(HAVE_DBMAKER) || defined(PHP_WIN32) || defined(HAVE_IBMDB2) || 
defined(HAVE_UNIXODBC) || defined(HAVE_BIRDSTEP)
 # define PHP_ODBC_HAVE_FETCH_HASH 1
 #endif


"Derick Rethans" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> On Tue, 5 Apr 2005, John Higgins wrote:
>
>> Hi all,
>>     I would like to submit a patch for PHP 4 as well as PHP 5.  The patch
>> will update PHP's UODBC
>> module to work with more recent versions of Birdstep Technology's RDM 
>> Server
>> product.  The files
>> affected are ext/odbc/config.m4 & ext/odbc/php_odbc.h.  Below is the diff
>> output for the two files
>> based on the PHP 4 version, but the changes are the same for PHP 4 & PHP 
>> 5.
>
> Please do "cvs diff" in the source of the tree, and put that file
> online. Makes things much easier to read...
>
> regards,
> Derick
>
> -- 
> Derick Rethans
> http://derickrethans.nl | http://ez.no | http://xdebug.org 

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to