From 342754575237da912874f781a24eefe76434ce5a Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 4 May 2020 08:27:31 +0200 Subject: [PATCH] Use libenchant-2 when available --- NEWS | 1 + UPGRADING | 5 +++++ ext/enchant/config.m4 | 44 +++++++++++++++++++++++++++---------------- 3 files changed, 34 insertions(+), 16 deletions(-) diff --git a/NEWS b/NEWS index 5536119a80..b8cb7be1e9 100644 --- a/NEWS +++ b/NEWS @@ -46,6 +46,7 @@ PHP NEWS . Deprecate enchant_broker_set_dict_path, enchant_broker_get_dict_path enchant_dict_add_to_personal and enchant_dict_is_in_session . Add enchant_dict_add and enchant_dict_is_added functions + . Use libenchant-2 when available - FPM: . Fixed bug #64865 (Search for .user.ini files from script dir up to diff --git a/UPGRADING b/UPGRADING index 5345111acc..dc97eb6cc4 100644 --- a/UPGRADING +++ b/UPGRADING @@ -607,6 +607,11 @@ PHP 8.0 UPGRADE NOTES - CURL: . The CURL extension now requires at least libcurl 7.29.0. +- Enchant: + . The enchant extension now uses libenchant-2 by default when available. + libenchant version 1 is still supported but is deprecated and could + be removed in the future. + - GD: . The $num_points parameter of imagepolygon(), imageopenpolygon() and imagefilledpolygon() is now optional, i.e. these functions may be called diff --git a/ext/enchant/config.m4 b/ext/enchant/config.m4 index f8d4f1b3e2..949db83247 100644 --- a/ext/enchant/config.m4 +++ b/ext/enchant/config.m4 @@ -4,26 +4,38 @@ PHP_ARG_WITH([enchant], [Include Enchant support])]) if test "$PHP_ENCHANT" != "no"; then - PKG_CHECK_MODULES([ENCHANT], [enchant >= 1.4.2]) + PKG_CHECK_MODULES([ENCHANT2], [enchant-2], [found_enchant_2=yes], [found_enchant_2=no]) - PHP_EVAL_INCLINE($ENCHANT_CFLAGS) - PHP_EVAL_LIBLINE($ENCHANT_LIBS, ENCHANT_SHARED_LIBADD) + if test "$found_enchant_2" = "yes"; then - AC_DEFINE(HAVE_ENCHANT, 1, [ ]) + PHP_EVAL_INCLINE($ENCHANT2_CFLAGS) + PHP_EVAL_LIBLINE($ENCHANT2_LIBS, ENCHANT_SHARED_LIBADD) - PHP_CHECK_LIBRARY(enchant, enchant_get_version, - [ AC_DEFINE(HAVE_ENCHANT_GET_VERSION, 1, [ enchant_get_version since 1.6.0 ]) - ], [ ], [ - $ENCHANT_LIBS - ]) - - PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param, - [ - AC_DEFINE(HAVE_ENCHANT_BROKER_SET_PARAM, 1, [ enchant_broker_set_param since 1.5.0 and removed in 2.x ]) - ], [ ], [ - $ENCHANT_LIBS - ]) + + else + AC_MSG_WARN([libenchant-2 not found trying with old libenchant]) + PKG_CHECK_MODULES([ENCHANT], [enchant >= 1.4.2]) + + PHP_EVAL_INCLINE($ENCHANT_CFLAGS) + PHP_EVAL_LIBLINE($ENCHANT_LIBS, ENCHANT_SHARED_LIBADD) + + PHP_CHECK_LIBRARY(enchant, enchant_get_version, + [ + AC_DEFINE(HAVE_ENCHANT_GET_VERSION, 1, [ enchant_get_version since 1.6.0 ]) + ], [ ], [ + $ENCHANT_LIBS + ]) + + PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param, + [ + AC_DEFINE(HAVE_ENCHANT_BROKER_SET_PARAM, 1, [ enchant_broker_set_param since 1.5.0 and removed in 2.x ]) + ], [ ], [ + $ENCHANT_LIBS + ]) + fi + + AC_DEFINE(HAVE_ENCHANT, 1, [ ]) PHP_NEW_EXTENSION(enchant, enchant.c, $ext_shared) PHP_SUBST(ENCHANT_SHARED_LIBADD) -- 2.40.0