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