Skip to content

Commit

Permalink
Fixed bug #73512 Fails to find firebird headers
Browse files Browse the repository at this point in the history
- use fb_config output instead of relying on hardoded path
  • Loading branch information
remicollet committed Nov 16, 2016
1 parent 5ae5ab8 commit 397bedc
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 42 deletions.
4 changes: 4 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
55 changes: 35 additions & 20 deletions ext/interbase/config.m4
Original file line number Diff line number Diff line change
Expand Up @@ -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

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
IBASE_INCDIR=$PHP_INTERBASE/include
IBASE_LIBDIR=$PHP_INTERBASE/$PHP_LIBDIR
fi
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,
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)
Expand Down
57 changes: 35 additions & 22 deletions ext/pdo_firebird/config.m4
Original file line number Diff line number Diff line change
Expand Up @@ -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=
AC_PATH_PROG(FB_CONFIG, fb_config, no)

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
FIREBIRD_INCDIR=$PHP_PDO_FIREBIRD/include
FIREBIRD_LIBDIR=$PHP_PDO_FIREBIRD/$PHP_LIBDIR
FIREBIRD_LIBDIR_FLAG=-L$FIREBIRD_LIBDIR
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

PHP_CHECK_LIBRARY(fbclient, isc_detach_database,
[
FIREBIRD_LIBNAME=fbclient
], [
PHP_CHECK_LIBRARY(gds, isc_detach_database,
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)
Expand Down

0 comments on commit 397bedc

Please sign in to comment.