Adapted for 5.6 from From 397bedcc7c3545510a22b7db8dc6444e0a05b085 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 16 Nov 2016 10:45:59 +0100 Subject: [PATCH] Fixed bug #73512 Fails to find firebird headers - use fb_config output instead of relying on hardoded path diff -up ./ext/interbase/config.m4.fb_config ./ext/interbase/config.m4 --- ./ext/interbase/config.m4.fb_config 2017-03-17 08:58:57.061708947 +0100 +++ ./ext/interbase/config.m4 2017-03-17 09:04:53.389584385 +0100 @@ -3,39 +3,54 @@ PHP_ARG_WITH(interbase,for InterBase sup install directory [/usr/interbase]]) if test "$PHP_INTERBASE" != "no"; then - if test "$PHP_INTERBASE" = "yes"; then - IBASE_INCDIR=/usr/interbase/include - IBASE_LIBDIR=/usr/interbase/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=/usr/interbase/include + IBASE_LIBDIR=/usr/interbase/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([libgds, libib_util or libfbclient not found! Check config.log for more information.]) + PHP_CHECK_LIBRARY(ib_util, isc_detach_database, + [ + IBASE_LIBNAME=ib_util + ], [ + AC_MSG_ERROR([libgds, libib_util or libfbclient 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) PHP_SUBST(INTERBASE_SHARED_LIBADD) diff -up ./ext/pdo_firebird/config.m4.fb_config ./ext/pdo_firebird/config.m4 --- ./ext/pdo_firebird/config.m4.fb_config 2017-01-19 01:17:47.000000000 +0100 +++ ./ext/pdo_firebird/config.m4 2017-03-17 08:58:57.061708947 +0100 @@ -8,43 +8,56 @@ if test "$PHP_PDO_FIREBIRD" != "no"; the 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)