]> granicus.if.org Git - php/commitdiff
Use libenchant2 if available on Windows
authorChristoph M. Becker <cmbecker69@gmx.de>
Mon, 4 May 2020 09:25:28 +0000 (11:25 +0200)
committerChristoph M. Becker <cmbecker69@gmx.de>
Mon, 4 May 2020 09:27:00 +0000 (11:27 +0200)
This is basically the same as commit 3427545[1], but for Windows.

[1] <http://git.php.net/?p=php-src.git;a=commitdiff;h=342754575237da912874f781a24eefe76434ce5a>

ext/enchant/config.w32
win32/build/mkdist.php

index 2418d99206323b37ebe2ad2d12ee1a69f1f41db1..73aca99ef79a8a62b68489cd0c87c45cdf2dc2f0 100644 (file)
@@ -4,13 +4,23 @@ ARG_WITH("enchant", "Enchant Support", "no");
 
 if (PHP_ENCHANT == "yes") {
        if (CHECK_HEADER_ADD_INCLUDE("enchant.h", "CFLAGS_ENCHANT", PHP_ENCHANT+ ";" + PHP_PHP_BUILD + "\\include\\enchant") &&
-                       CHECK_HEADER_ADD_INCLUDE("glib.h", "CFLAGS_ENCHANT", PHP_ENCHANT+ ";" + PHP_PHP_BUILD + "\\include\\glib-2.0") &&
-                       CHECK_LIB("libenchant.lib", "enchant", PHP_ENCHANT) ) {
-               EXTENSION("enchant", "enchant.c");
-               AC_DEFINE('HAVE_ENCHANT', 1, 'Have Enchant support', false);
-               AC_DEFINE('HAVE_ENCHANT_GET_VERSION', 1);
-               AC_DEFINE('HAVE_ENCHANT_BROKER_SET_PARAM', 1);
-               ADD_FLAG("CFLAG_ENCHANT", "/D _WIN32");
+                       CHECK_HEADER_ADD_INCLUDE("glib.h", "CFLAGS_ENCHANT", PHP_ENCHANT+ ";" + PHP_PHP_BUILD + "\\include\\glib-2.0")) {
+               if (CHECK_LIB("libenchant2.lib", "enchant", PHP_ENCHANT)) {
+                       have_enchant = true;
+                       AC_DEFINE('HAVE_ENCHANT_BROKER_SET_PARAM', 0);
+               } else if (CHECK_LIB("libenchant.lib", "enchant", PHP_ENCHANT)) {
+                       have_enchant = true;
+                       AC_DEFINE('HAVE_ENCHANT_BROKER_SET_PARAM', 1);
+               } else {
+                       have_enchant = false;
+                       WARNING('Could not find libenchant.lib; skipping');
+               }
+               if (have_enchant) {
+                       EXTENSION("enchant", "enchant.c");
+                       AC_DEFINE('HAVE_ENCHANT', 1, 'Have Enchant support', false);
+                       AC_DEFINE('HAVE_ENCHANT_GET_VERSION', 1);
+                       ADD_FLAG("CFLAG_ENCHANT", "/D _WIN32");
+               }
        } else {
                WARNING('Could not find enchant.h; skipping');
        }
index be8b7a564293eafd3eb5e5be87de79fdec5325fd..51da4d8e94dfce85bfdc173da0f055edf5e5d4f5 100644 (file)
@@ -335,9 +335,13 @@ libenchant_ispell.dll
 $ENCHANT_DLLS = array(
     array('', 'glib-2.dll'),
     array('', 'gmodule-2.dll'),
-    array('lib/enchant', 'libenchant_myspell.dll'),
-    array('lib/enchant', 'libenchant_ispell.dll'),
 );
+if (file_exists("$php_build_dir/bin/libenchant2.dll")) {
+    $ENCHANT_DLLS[] = array('lib/enchant', 'libenchant2_hunspell.dll');
+} else {
+    $ENCHANT_DLLS[] = array('lib/enchant', 'libenchant_myspell.dll');
+    $ENCHANT_DLLS[] = array('lib/enchant', 'libenchant_ispell.dll');
+}
 foreach ($ENCHANT_DLLS as $dll) {
     $dest  = "$dist_dir/$dll[0]";
     $filename = $dll[1];