add patch to fix firebird include path (using fb_config)

This commit is contained in:
Remi Collet 2016-11-14 13:39:43 +01:00
parent ff07d595f4
commit 9aec47823d
2 changed files with 170 additions and 4 deletions

162
php-7.1.0-firebird.patch Normal file
View File

@ -0,0 +1,162 @@
diff --git a/ext/interbase/config.m4 b/ext/interbase/config.m4
index ace3047..5b4cde5 100644
--- a/ext/interbase/config.m4
+++ b/ext/interbase/config.m4
@@ -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)
diff --git a/ext/pdo_firebird/config.m4 b/ext/pdo_firebird/config.m4
index f9188a0..e6362cd 100644
--- a/ext/pdo_firebird/config.m4
+++ b/ext/pdo_firebird/config.m4
@@ -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)

View File

@ -100,6 +100,7 @@ Patch5: php-7.0.0-includedir.patch
Patch6: php-5.6.3-embed.patch
Patch7: php-5.3.0-recode.patch
Patch8: php-7.0.2-libdb.patch
Patch9: php-7.1.0-firebird.patch
# Functional changes
Patch40: php-7.0.0-dlopen.patch
@ -442,6 +443,7 @@ Summary: A module for PHP applications that use Interbase/Firebird databases
Group: Development/Languages
# All files licensed under PHP version 3.01
License: PHP
# for fb_config command
BuildRequires: firebird-devel
# Workaround for https://bugzilla.redhat.com/1394750
BuildRequires: libfbclient2-devel
@ -713,6 +715,7 @@ httpd -V | grep -q 'threaded:.*yes' && exit 1
%patch6 -p1 -b .embed
%patch7 -p1 -b .recode
%patch8 -p1 -b .libdb
%patch9 -p1 -b .firebird
%patch40 -p1 -b .dlopen
%patch42 -p1 -b .systzdata
@ -939,8 +942,8 @@ build --libdir=%{_libdir}/php \
--with-mysqli=shared,mysqlnd \
--with-mysql-sock=%{mysql_sock} \
%if %{with_firebird}
--with-interbase=shared,%{_libdir}/firebird \
--with-pdo-firebird=shared,%{_libdir}/firebird \
--with-interbase=shared \
--with-pdo-firebird=shared \
%endif
--enable-dom=shared \
--with-pgsql=shared \
@ -1066,8 +1069,8 @@ build --includedir=%{_includedir}/php-zts \
--with-mysql-sock=%{mysql_sock} \
--enable-mysqlnd-threading \
%if %{with_firebird}
--with-interbase=shared,%{_libdir}/firebird \
--with-pdo-firebird=shared,%{_libdir}/firebird \
--with-interbase=shared \
--with-pdo-firebird=shared \
%endif
--enable-dom=shared \
--with-pgsql=shared \
@ -1510,6 +1513,7 @@ rm -f README.{Zeus,QNX,CVS-RULES}
* Mon Nov 14 2016 Remi Collet <remi@fedoraproject.org> 7.1.0-0.2.RC6
- re-enable interbase sub package
see http://bugzilla.redhat.com/1394750 sub package inconsistency
- add patch to fix firebird include path (using fb_config)
* Mon Nov 14 2016 Remi Collet <remi@fedoraproject.org> 7.1.0-0.1.RC6
- Update to 7.1.0RC6