summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank M. Kromann <fmk@php.net>2003-01-09 22:35:16 +0000
committerFrank M. Kromann <fmk@php.net>2003-01-09 22:35:16 +0000
commit8e0535bcd5a6d3f53cf8a73ecf825b0a485e92f6 (patch)
tree0c87d6978ed47de54eed32127570ded7019af332
parent9b560970f8fde79995d1570d41635b4df4b5e858 (diff)
downloadphp-git-8e0535bcd5a6d3f53cf8a73ecf825b0a485e92f6.tar.gz
Adding extended checks for where FreeTDS is installed
-rw-r--r--ext/mssql/config.m436
1 files changed, 31 insertions, 5 deletions
diff --git a/ext/mssql/config.m4 b/ext/mssql/config.m4
index 67d27e3a26..f9121dbf39 100644
--- a/ext/mssql/config.m4
+++ b/ext/mssql/config.m4
@@ -8,13 +8,39 @@ PHP_ARG_WITH(mssql,for MSSQL support via FreeTDS,
if test "$PHP_MSSQL" != "no"; then
+
+ FREETDS_INSTALLATION_DIR=""
if test "$PHP_MSSQL" = "yes"; then
- MSSQL_INCDIR=/usr/local/freetds/include
- MSSQL_LIBDIR=/usr/local/freetds/lib
- else
- MSSQL_INCDIR=$PHP_MSSQL/include
- MSSQL_LIBDIR=$PHP_MSSQL/lib
+
+ for i in /usr/local /usr; do
+ if test -f $i/freetds/include/tds.h; then
+ FREETDS_INSTALLATION_DIR=$i/freetds
+ break
+ fi
+ done
+
+ if test -z "$FREETDS_INSTALLATION_DIR"; then
+ AC_MSG_ERROR(Cannot find FreeTDS in known installation directories)
+ fi
+
+ elif test "$PHP_MSSQL" != "no"; then
+
+ if test -f $PHP_MSSQL/include/tds.h; then
+ FREETDS_INSTALLATION_DIR=$PHP_MSSQL
+ elif test -f $PHP_MSSQL/freetds/include/tds.h; then
+ FREETDS_INSTALLATION_DIR=$PHP_MSSQL/freetds
+ else
+ AC_MSG_ERROR(Directory $PHP_MSSQL is not a FreeTDS installation directory)
+ fi
+ fi
+
+ if test ! -r "$FREETDS_INSTALLATION_DIR/lib/libtds.a"; then
+ AC_MSG_ERROR(Could not find $FREETDS_INSTALLATION_DIR/lib/libtds.a)
fi
+
+ MSSQL_INCDIR=$FREETDS_INSTALLATION_DIR/include
+ MSSQL_LIBDIR=$FREETDS_INSTALLATION_DIR/lib
+
PHP_ADD_INCLUDE($MSSQL_INCDIR)
PHP_ADD_LIBRARY_WITH_PATH(sybdb, $MSSQL_LIBDIR, MSSQL_SHARED_LIBADD)
PHP_NEW_EXTENSION(mssql, php_mssql.c, $ext_shared)