diff options
author | Wez Furlong <wez@php.net> | 2005-07-12 12:16:02 +0000 |
---|---|---|
committer | Wez Furlong <wez@php.net> | 2005-07-12 12:16:02 +0000 |
commit | 04dd0e1094cebff3ea70bd065b78b4bbb95a2a0d (patch) | |
tree | d065289af5fafeb60dc3cb32a906ec0aa4ab921d /ext/pdo_dblib | |
parent | bf9288d457e592c5fe3e653fc14edd7f2547df18 (diff) | |
download | php-git-04dd0e1094cebff3ea70bd065b78b4bbb95a2a0d.tar.gz |
Enable unix build for dblib/sybase/freetds.
The extension is named pdo_dblib and the driver dblib on unix.
Diffstat (limited to 'ext/pdo_dblib')
-rw-r--r-- | ext/pdo_dblib/config.m4 | 57 | ||||
-rw-r--r-- | ext/pdo_dblib/dblib_driver.c | 4 | ||||
-rw-r--r-- | ext/pdo_dblib/pdo_dblib.c | 6 | ||||
-rw-r--r-- | ext/pdo_dblib/php_pdo_dblib_int.h | 4 |
4 files changed, 68 insertions, 3 deletions
diff --git a/ext/pdo_dblib/config.m4 b/ext/pdo_dblib/config.m4 new file mode 100644 index 0000000000..ee6f537010 --- /dev/null +++ b/ext/pdo_dblib/config.m4 @@ -0,0 +1,57 @@ +dnl +dnl $Id$ +dnl + +if test "$PHP_PDO" != "no"; then +PHP_ARG_WITH(pdo-dblib, for PDO_DBLIB support via FreeTDS, +[ --with-pdo-dblib[=DIR] Include PDO_DBLIB-DB support. DIR is the FreeTDS home + directory]) + + +if test "$PHP_PDO_DBLIB" != "no"; then + + PDO_FREETDS_INSTALLATION_DIR="" + if test "$PHP_PDO_DBLIB" = "yes"; then + + for i in /usr/local /usr; do + if test -f $i/include/tds.h; then + PDO_FREETDS_INSTALLATION_DIR=$i + break + fi + done + + if test -z "$PDO_FREETDS_INSTALLATION_DIR"; then + AC_MSG_ERROR(Cannot find FreeTDS in known installation directories) + fi + + elif test "$PHP_PDO_DBLIB" != "no"; then + + if test -f $PHP_PDO_DBLIB/include/tds.h; then + PDO_FREETDS_INSTALLATION_DIR=$PHP_PDO_DBLIB + else + AC_MSG_ERROR(Directory $PHP_PDO_DBLIB is not a FreeTDS installation directory) + fi + fi + + if test ! -r "$PDO_FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libtds.a" && test ! -r "$PDO_FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libtds.so"; then + AC_MSG_ERROR(Could not find $PDO_FREETDS_INSTALLATION_DIR/$PHP_LIBDIR/libtds.[a|so]) + fi + + PDO_DBLIB_INCDIR=$PDO_FREETDS_INSTALLATION_DIR/include + PDO_DBLIB_LIBDIR=$PDO_FREETDS_INSTALLATION_DIR/$PHP_LIBDIR + + PHP_ADD_INCLUDE($PDO_DBLIB_INCDIR) + PHP_ADD_LIBRARY_WITH_PATH(sybdb, $PDO_DBLIB_LIBDIR, PDO_DBLIB_SHARED_LIBADD) + PHP_CHECK_PDO_INCLUDES + PDO_DBLIB_DEFS="-DPDO_DBLIB_FLAVOUR=\\\"freetds\\\"" + PHP_NEW_EXTENSION(pdo_dblib, pdo_dblib.c dblib_driver.c dblib_stmt.c, $ext_shared,,-I$pdo_inc_path $PDO_DBLIB_DEFS) + AC_CHECK_LIB(dnet_stub, dnet_addr, + [ PHP_ADD_LIBRARY_WITH_PATH(dnet_stub,,PDO_DBLIB_SHARED_LIBADD) + AC_DEFINE(HAVE_LIBDNET_STUB,1,[ ]) + ]) + AC_DEFINE(HAVE_PDO_DBLIB,1,[ ]) + AC_DEFINE(HAVE_FREETDS,1,[ ]) + PHP_SUBST(PDO_DBLIB_SHARED_LIBADD) +fi + +fi diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c index 7b7c26d7f8..0b469d666d 100644 --- a/ext/pdo_dblib/dblib_driver.c +++ b/ext/pdo_dblib/dblib_driver.c @@ -257,8 +257,10 @@ cleanup: pdo_driver_t pdo_dblib_driver = { #if PDO_DBLIB_IS_MSSQL PDO_DRIVER_HEADER(mssql), -#else +#elif defined(PHP_WIN32) PDO_DRIVER_HEADER(sybase), +#else + PDO_DRIVER_HEADER(dblib), #endif pdo_dblib_handle_factory }; diff --git a/ext/pdo_dblib/pdo_dblib.c b/ext/pdo_dblib/pdo_dblib.c index 31de2c8ecd..6e55136de6 100644 --- a/ext/pdo_dblib/pdo_dblib.c +++ b/ext/pdo_dblib/pdo_dblib.c @@ -42,8 +42,10 @@ zend_module_entry pdo_dblib_module_entry = { STANDARD_MODULE_HEADER, #if PDO_DBLIB_IS_MSSQL "pdo_mssql", -#else +#elif define (PHP_WIN32) "pdo_sybase", +#else + "pdo_dblib" #endif pdo_dblib_functions, PHP_MINIT(pdo_dblib), @@ -197,7 +199,7 @@ PHP_MINFO_FUNCTION(pdo_dblib) #elif defined(PHP_WIN32) "FreeTDS/Sybase/MSSQL" #else - "Sybase" + "FreeTDS/Sybase" #endif " DB-lib", "enabled"); php_info_print_table_row(2, "Flavour", PDO_DBLIB_FLAVOUR); diff --git a/ext/pdo_dblib/php_pdo_dblib_int.h b/ext/pdo_dblib/php_pdo_dblib_int.h index f9b729962c..ec34c521f7 100644 --- a/ext/pdo_dblib/php_pdo_dblib_int.h +++ b/ext/pdo_dblib/php_pdo_dblib_int.h @@ -22,6 +22,10 @@ #ifndef PHP_PDO_DBLIB_INT_H #define PHP_PDO_DBLIB_INT_H +#ifndef PDO_DBLIB_FLAVOUR +# define PDO_DBLIB_FLAVOUR "Generic DB-lib" +#endif + #if PHP_DBLIB_IS_MSSQL # include <sqlfront.h> # include <sqldb.h> |