cvs: php-src /ext/pdo_odbc config.m4

From: Date: Tue, 14 Jun 2005 01:42:31 +0000
Subject: cvs: php-src /ext/pdo_odbc config.m4
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-32254@lists.php.net to get a copy of this message
sniper Mon Jun 13 21:42:31 2005 EDT Modified files: /php-src/ext/pdo_odbc config.m4 Log: - Fixed some places which might cause problems - Changed the "general" flavour to have libname parameter (given without the lib prefix of course) # bug #33316 should be fixed now too http://cvs.php.net/diff.php/php-src/ext/pdo_odbc/config.m4?r1=1.18&r2=1.19&ty=u Index: php-src/ext/pdo_odbc/config.m4 diff -u php-src/ext/pdo_odbc/config.m4:1.18 php-src/ext/pdo_odbc/config.m4:1.19 --- php-src/ext/pdo_odbc/config.m4:1.18 Mon Jun 13 20:00:53 2005 +++ php-src/ext/pdo_odbc/config.m4 Mon Jun 13 21:42:31 2005 @@ -1,4 +1,4 @@ -dnl $Id: config.m4,v 1.18 2005/06/14 00:00:53 sniper Exp $ +dnl $Id: config.m4,v 1.19 2005/06/14 01:42:31 sniper Exp $ dnl config.m4 for extension pdo_odbc dnl vim:et:sw=2:ts=2: @@ -13,7 +13,7 @@ will check for unixODBC under /usr/local. You may attempt to use an otherwise unsupported driver using the \"generic\" flavour. The syntax for generic ODBC support is: - --with-pdo-odbc=generic,dir,ldflags,cflags + --with-pdo-odbc=generic,dir,libname,ldflags,cflags This extension will always be created as a shared extension named pdo_odbc.so]]) @@ -21,13 +21,41 @@ [ --with-pdo-odbc=flavour,dir PDO: Support for 'flavour' ODBC driver.]PDO_ODBC_HELP_TEXT) -AC_DEFUN([PDO_ODBC_CHECK_HEADER],[ - if test -f $PDO_ODBC_INCDIR/$1 ; then - AC_DEFINE([HAVE_]translit($1,a-z_.-,A-Z___), 1, [ ]) +AC_DEFUN([PDO_ODBC_CHECK_HEADERS],[ + php_pdo_have_header=no + for i in odbc.h \ + odbcsdk.h \ + iodbc.h \ + sqlunix.h \ + sqltypes.h \ + sqlucode.h \ + sql.h \ + isql.h \ + sqlext.h \ + isqlext.h \ + udbcext.h \ + sqlcli1.h \ + LibraryManager.h \ + cli0core.h \ + cli0ext.h \ + cli0cli.h \ + cli0defs.h \ + cli0env.h + do + if test -f "$PDO_ODBC_INCDIR/$i"; then + php_pdo_have_header=yes + PHP_DEF_HAVE([$i]) + fi + done + if test "$php_pdo_have_header" = "no"; then + AC_MSG_ERROR([Cannot find any header file(s)!]) fi ]) if test "$PHP_PDO_ODBC" != "no"; then + + PHP_CHECK_PDO_INCLUDES + AC_MSG_CHECKING([for selected PDO ODBC flavour]) pdo_odbc_flavour="echo $PHP_PDO_ODBC | cut -d, -f1" @@ -41,24 +69,25 @@ ibm-db2) pdo_odbc_def_libdir=/home/db2inst1/sqllib/lib pdo_odbc_def_incdir=/home/db2inst1/sqllib/include - pdo_odbc_def_lib=-ldb2 + pdo_odbc_def_lib=db2 ;; unixODBC|unixodbc) pdo_odbc_def_libdir=/usr/local/lib pdo_odbc_def_incdir=/usr/local/include - pdo_odbc_def_lib=-lodbc + pdo_odbc_def_lib=odbc ;; ODBCRouter|odbcrouter) pdo_odbc_def_libdir=/usr/lib pdo_odbc_def_incdir=/usr/include - pdo_odbc_def_lib=-lodbcsdk + pdo_odbc_def_lib=odbcsdk ;; generic) pdo_odbc_def_lib="echo $PHP_PDO_ODBC | cut -d, -f3" - pdo_odbc_def_cflags="echo $PHP_PDO_ODBC | cut -d, -f4" + pdo_odbc_def_ldflags="echo $PHP_PDO_ODBC | cut -d, -f4" + pdo_odbc_def_cflags="echo $PHP_PDO_ODBC | cut -d, -f5" pdo_odbc_flavour="$pdo_odbc_flavour ($pdo_odbc_def_lib)" ;; @@ -83,53 +112,32 @@ AC_MSG_WARN([library dir $PDO_ODBC_LIBDIR does not exist]) fi - dnl yick time - PDO_ODBC_CHECK_HEADER(odbc.h) - PDO_ODBC_CHECK_HEADER(odbcsdk.h) - PDO_ODBC_CHECK_HEADER(iodbc.h) - PDO_ODBC_CHECK_HEADER(sqlunix.h) - PDO_ODBC_CHECK_HEADER(sqltypes.h) - PDO_ODBC_CHECK_HEADER(sqlucode.h) - PDO_ODBC_CHECK_HEADER(sql.h) - PDO_ODBC_CHECK_HEADER(isql.h) - PDO_ODBC_CHECK_HEADER(sqlext.h) - PDO_ODBC_CHECK_HEADER(isqlext.h) - PDO_ODBC_CHECK_HEADER(udbcext.h) - PDO_ODBC_CHECK_HEADER(sqlcli1.h) - PDO_ODBC_CHECK_HEADER(LibraryManager.h) - PDO_ODBC_CHECK_HEADER(cli0core.h) - PDO_ODBC_CHECK_HEADER(cli0ext.h) - PDO_ODBC_CHECK_HEADER(cli0cli.h) - PDO_ODBC_CHECK_HEADER(cli0defs.h) - PDO_ODBC_CHECK_HEADER(cli0env.h) - - PDO_ODBC_INCLUDE="$pdo_odbc_def_cflags -I$PDO_ODBC_INCDIR -DPDO_ODBC_TYPE=\\\"$pdo_odbc_flavour\\\"" - PDO_ODBC_LFLAGS="-L$PDO_ODBC_LIBDIR" - PDO_ODBC_LIBS="$pdo_odbc_def_lib" - - save_old_LDFLAGS="$LDFLAGS" - LDFLAGS="$PDO_ODBC_LFLAGS $PDO_ODBC_LIBS -lm -ldl" - dnl Check for an ODBC 1.0 function to assert that the libraries work - AC_TRY_LINK_FUNC([SQLBindCol],[],[ - AC_MSG_ERROR([[Your ODBC library does not exist]]) - ]) - dnl And now check for an ODBC 3.0 function to assert that they're - dnl *good* libraries. - AC_TRY_LINK_FUNC([SQLAllocHandle],[],[ - AC_MSG_ERROR([[ + PDO_ODBC_CHECK_HEADERS + + PDO_ODBC_INCLUDE="$pdo_odbc_def_cflags -I$PDO_ODBC_INCDIR -DPDO_ODBC_TYPE=\\"$pdo_odbc_flavour\\"" + PDO_ODBC_LDFLAGS="$pdo_odbc_def_ldflags -L$PDO_ODBC_LIBDIR -l$pdo_odbc_def_lib" + + PHP_EVAL_LIBLINE([$PDO_ODBC_LDFLAGS], [PDO_ODBC_SHARED_LIBADD]) + + dnl Check first for an ODBC 1.0 function to assert that the libraries work + PHP_CHECK_LIBRARY($pdo_odbc_def_lib, SQLBindCol, + [ + dnl And now check for an ODBC 3.0 function to assert that they're + dnl *good* libraries. + PHP_CHECK_LIBRARY($pdo_odbc_def_lib, SQLAllocHandle, + [], [ + AC_MSG_ERROR([ Your ODBC library does not appear to be ODBC 3 compatible. You should consider using unixODBC instead, and loading your libraries as a driver in that environment; it will emulate the functions required for PDO support. -]]) +])]) + ],[ + AC_MSG_ERROR([Your ODBC library does not exist or there was an error. Check config.log for more information]) ]) - LDFLAGS=$save_old_LDFLAGS - PHP_EVAL_LIBLINE($PDO_ODBC_LIBS $PDO_ODBC_LFLAGS, [PDO_ODBC_SHARED_LIBADD]) - PHP_SUBST(PDO_ODBC_SHARED_LIBADD) - - PHP_CHECK_PDO_INCLUDES PHP_NEW_EXTENSION(pdo_odbc, pdo_odbc.c odbc_driver.c odbc_stmt.c, $ext_shared,,-I$pdo_inc_path $PDO_ODBC_INCLUDE) + PHP_SUBST(PDO_ODBC_SHARED_LIBADD) PHP_ADD_EXTENSION_DEP(pdo_odbc, pdo) fi

« previous php.cvs (#32254) next »