Fixed bug #73512 Fails to find firebird headers

- use fb_config output instead of relying on hardoded path
This commit is contained in:
Remi Collet 2016-11-16 10:45:59 +01:00
parent 5ae5ab83fd
commit 397bedcc7c
3 changed files with 76 additions and 44 deletions

4
NEWS
View File

@ -35,6 +35,10 @@ PHP NEWS
. Fixed bug #73418 (Integer Overflow in "_php_imap_mail" leads to crash).
(Anatol)
- Interbase:
. Fixed bug #73512 (Fails to find firebird headers as don't use fb_config
output). (Remi)
- JSON:
. Introduced encoder struct instead of global which fixes bugs #66025 and
#73254 related to pretty print indentation. (Jakub Zelenka)

View File

@ -3,39 +3,54 @@ PHP_ARG_WITH(interbase,for Firebird support,
install directory [/opt/firebird]])
if test "$PHP_INTERBASE" != "no"; then
if test "$PHP_INTERBASE" = "yes"; then
IBASE_INCDIR=/opt/firebird/include
IBASE_LIBDIR=/opt/firebird/lib
else
IBASE_INCDIR=$PHP_INTERBASE/include
IBASE_LIBDIR=$PHP_INTERBASE/$PHP_LIBDIR
fi
PHP_CHECK_LIBRARY(fbclient, isc_detach_database,
[
IBASE_LIBNAME=fbclient
], [
PHP_CHECK_LIBRARY(gds, isc_detach_database,
AC_PATH_PROG(FB_CONFIG, fb_config, no)
if test -x "$FB_CONFIG" && test "$PHP_INTERBASE" = "yes"; then
AC_MSG_CHECKING(for libfbconfig)
FB_CFLAGS=`$FB_CONFIG --cflags`
FB_LIBDIR=`$FB_CONFIG --libs`
FB_VERSION=`$FB_CONFIG --version`
AC_MSG_RESULT(version $FB_VERSION)
PHP_EVAL_LIBLINE($FB_LIBDIR, INTERBASE_SHARED_LIBADD)
PHP_EVAL_INCLINE($FB_CFLAGS)
else
if test "$PHP_INTERBASE" = "yes"; then
IBASE_INCDIR=/opt/firebird/include
IBASE_LIBDIR=/opt/firebird/lib
else
IBASE_INCDIR=$PHP_INTERBASE/include
IBASE_LIBDIR=$PHP_INTERBASE/$PHP_LIBDIR
fi
PHP_CHECK_LIBRARY(fbclient, isc_detach_database,
[
IBASE_LIBNAME=gds
IBASE_LIBNAME=fbclient
], [
PHP_CHECK_LIBRARY(ib_util, isc_detach_database,
PHP_CHECK_LIBRARY(gds, isc_detach_database,
[
IBASE_LIBNAME=ib_util
IBASE_LIBNAME=gds
], [
AC_MSG_ERROR([libfbclient, libgds or libib_util not found! Check config.log for more information.])
PHP_CHECK_LIBRARY(ib_util, isc_detach_database,
[
IBASE_LIBNAME=ib_util
], [
AC_MSG_ERROR([libfbclient, libgds or libib_util not found! Check config.log for more information.])
], [
-L$IBASE_LIBDIR
])
], [
-L$IBASE_LIBDIR
])
], [
-L$IBASE_LIBDIR
])
], [
-L$IBASE_LIBDIR
])
PHP_ADD_LIBRARY_WITH_PATH($IBASE_LIBNAME, $IBASE_LIBDIR, INTERBASE_SHARED_LIBADD)
PHP_ADD_INCLUDE($IBASE_INCDIR)
PHP_ADD_LIBRARY_WITH_PATH($IBASE_LIBNAME, $IBASE_LIBDIR, INTERBASE_SHARED_LIBADD)
PHP_ADD_INCLUDE($IBASE_INCDIR)
fi
AC_DEFINE(HAVE_IBASE,1,[ ])
PHP_NEW_EXTENSION(interbase, interbase.c ibase_query.c ibase_service.c ibase_events.c ibase_blobs.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
PHP_SUBST(INTERBASE_SHARED_LIBADD)

View File

@ -8,43 +8,56 @@ if test "$PHP_PDO_FIREBIRD" != "no"; then
AC_MSG_ERROR([PDO is not enabled! Add --enable-pdo to your configure line.])
fi
if test "$PHP_PDO_FIREBIRD" = "yes"; then
FIREBIRD_INCDIR=
FIREBIRD_LIBDIR=
FIREBIRD_LIBDIR_FLAG=
else
FIREBIRD_INCDIR=$PHP_PDO_FIREBIRD/include
FIREBIRD_LIBDIR=$PHP_PDO_FIREBIRD/$PHP_LIBDIR
FIREBIRD_LIBDIR_FLAG=-L$FIREBIRD_LIBDIR
fi
AC_PATH_PROG(FB_CONFIG, fb_config, no)
PHP_CHECK_LIBRARY(fbclient, isc_detach_database,
[
FIREBIRD_LIBNAME=fbclient
], [
PHP_CHECK_LIBRARY(gds, isc_detach_database,
if test -x "$FB_CONFIG" && test "$PHP_PDO_FIREBIRD" = "yes"; then
AC_MSG_CHECKING(for libfbconfig)
FB_CFLAGS=`$FB_CONFIG --cflags`
FB_LIBDIR=`$FB_CONFIG --libs`
FB_VERSION=`$FB_CONFIG --version`
AC_MSG_RESULT(version $FB_VERSION)
PHP_EVAL_LIBLINE($FB_LIBDIR, PDO_FIREBIRD_SHARED_LIBADD)
PHP_EVAL_INCLINE($FB_CFLAGS)
else
if test "$PHP_PDO_FIREBIRD" = "yes"; then
FIREBIRD_INCDIR=
FIREBIRD_LIBDIR=
FIREBIRD_LIBDIR_FLAG=
else
FIREBIRD_INCDIR=$PHP_PDO_FIREBIRD/include
FIREBIRD_LIBDIR=$PHP_PDO_FIREBIRD/$PHP_LIBDIR
FIREBIRD_LIBDIR_FLAG=-L$FIREBIRD_LIBDIR
fi
PHP_CHECK_LIBRARY(fbclient, isc_detach_database,
[
FIREBIRD_LIBNAME=gds
FIREBIRD_LIBNAME=fbclient
], [
PHP_CHECK_LIBRARY(ib_util, isc_detach_database,
PHP_CHECK_LIBRARY(gds, isc_detach_database,
[
FIREBIRD_LIBNAME=ib_util
FIREBIRD_LIBNAME=gds
], [
AC_MSG_ERROR([libfbclient, libgds or libib_util not found! Check config.log for more information.])
PHP_CHECK_LIBRARY(ib_util, isc_detach_database,
[
FIREBIRD_LIBNAME=ib_util
], [
AC_MSG_ERROR([libfbclient, libgds or libib_util not found! Check config.log for more information.])
], [
$FIREBIRD_LIBDIR_FLAG
])
], [
$FIREBIRD_LIBDIR_FLAG
])
], [
$FIREBIRD_LIBDIR_FLAG
])
], [
$FIREBIRD_LIBDIR_FLAG
])
PHP_ADD_LIBRARY_WITH_PATH($FIREBIRD_LIBNAME, $FIREBIRD_LIBDIR, PDO_FIREBIRD_SHARED_LIBADD)
PHP_ADD_INCLUDE($FIREBIRD_INCDIR)
fi
PHP_CHECK_PDO_INCLUDES
PHP_ADD_LIBRARY_WITH_PATH($FIREBIRD_LIBNAME, $FIREBIRD_LIBDIR, PDO_FIREBIRD_SHARED_LIBADD)
PHP_ADD_INCLUDE($FIREBIRD_INCDIR)
AC_DEFINE(HAVE_PDO_FIREBIRD,1,[ ])
PHP_NEW_EXTENSION(pdo_firebird, pdo_firebird.c firebird_driver.c firebird_statement.c, $ext_shared,,-I$pdo_cv_inc_path)
PHP_SUBST(PDO_FIREBIRD_SHARED_LIBADD)