Skip to content

Commit 7e7a8f0

Browse files
committed
Use pkg-config to detect iodbc
1 parent 0c4ba51 commit 7e7a8f0

File tree

1 file changed

+27
-12
lines changed

1 file changed

+27
-12
lines changed

ext/odbc/config.m4

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -365,22 +365,37 @@ fi
365365

366366
if test -z "$ODBC_TYPE"; then
367367
PHP_ARG_WITH(iodbc,,
368-
[ --with-iodbc[=DIR] Include iODBC support [/usr/local]])
368+
[ --with-iodbc[=DIR] Include iODBC support])
369369

370370
if test "$PHP_IODBC" != "no"; then
371371
AC_MSG_CHECKING(for iODBC support)
372-
if test "$PHP_IODBC" = "yes"; then
373-
PHP_IODBC=/usr/local
372+
if test -z "$PKG_CONFIG"; then
373+
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
374+
fi
375+
if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libiodbc ; then
376+
PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR)
377+
ODBC_TYPE=iodbc
378+
ODBC_INCLUDE=`$PKG_CONFIG --cflags-only-I libiodbc`
379+
ODBC_LFLAGS=`$PKG_CONFIG --libs-only-L libiodbc`
380+
ODBC_LIBS=`$PKG_CONFIG --libs-only-l libiodbc`
381+
PHP_EVAL_INCLINE($ODBC_INCLUDE)
382+
AC_DEFINE(HAVE_IODBC,1,[ ])
383+
AC_DEFINE(HAVE_ODBC2,1,[ ])
384+
AC_MSG_RESULT([$ext_output])
385+
else
386+
if test "$PHP_IODBC" = "yes"; then
387+
PHP_IODBC=/usr/local
388+
fi
389+
PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR)
390+
PHP_ADD_INCLUDE($PHP_IODBC/include, 1)
391+
ODBC_TYPE=iodbc
392+
ODBC_INCLUDE=-I$PHP_IODBC/include
393+
ODBC_LFLAGS=-L$PHP_IODBC/$PHP_LIBDIR
394+
ODBC_LIBS=-liodbc
395+
AC_DEFINE(HAVE_IODBC,1,[ ])
396+
AC_DEFINE(HAVE_ODBC2,1,[ ])
397+
AC_MSG_RESULT([$ext_output])
374398
fi
375-
PHP_ADD_LIBRARY_WITH_PATH(iodbc, $PHP_IODBC/$PHP_LIBDIR)
376-
PHP_ADD_INCLUDE($PHP_IODBC/include, 1)
377-
ODBC_TYPE=iodbc
378-
ODBC_INCLUDE=-I$PHP_IODBC/include
379-
ODBC_LFLAGS=-L$PHP_IODBC/$PHP_LIBDIR
380-
ODBC_LIBS=-liodbc
381-
AC_DEFINE(HAVE_IODBC,1,[ ])
382-
AC_DEFINE(HAVE_ODBC2,1,[ ])
383-
AC_MSG_RESULT([$ext_output])
384399
fi
385400
fi
386401

0 commit comments

Comments
 (0)