]> granicus.if.org Git - php/commitdiff
Tidy extension update to be able to either use tidy or tidyp at configure time
authorDavid Carlier <devnexen@gmail.com>
Mon, 15 Jan 2018 22:07:10 +0000 (22:07 +0000)
committerAnatol Belski <ab@php.net>
Thu, 25 Jan 2018 17:28:55 +0000 (18:28 +0100)
ext/tidy/config.m4
ext/tidy/config.w32
ext/tidy/tidy.c

index 88463fa8d45a296206ddc52deabcca49533314b6..7a45af954f631dc958c8534ae5607a3201b96d45 100644 (file)
@@ -14,13 +14,19 @@ if test "$PHP_TIDY" != "no"; then
   fi
 
   for i in $TIDY_SEARCH_DIRS; do
-    if test -f $i/include/tidy/tidy.h; then
-      TIDY_DIR=$i
-      TIDY_INCDIR=$i/include/tidy
-    elif test -f $i/include/tidy.h; then
-      TIDY_DIR=$i
-      TIDY_INCDIR=$i/include
-    fi
+    for j in tidy tidyp; do
+        if test -f $i/include/$j/$j.h; then
+            TIDY_DIR=$i
+            TIDY_INCDIR=$i/include/$j
+            TIDY_LIB_NAME=$j
+        break
+        elif test -f $i/include/$j.h; then
+            TIDY_DIR=$i
+            TIDY_INCDIR=$i/include
+            TIDY_LIB_NAME=$j
+        break
+        fi
+    done
   done
 
   if test -z "$TIDY_DIR"; then
@@ -36,9 +42,14 @@ if test "$PHP_TIDY" != "no"; then
   fi
 
   TIDY_LIBDIR=$TIDY_DIR/$PHP_LIBDIR
+  if test "$TIDY_LIB_NAME" == 'tidyp'; then
+    AC_DEFINE(HAVE_TIDYP_H,1,[defined if tidyp.h exists])
+  else
+    AC_DEFINE(HAVE_TIDY_H,1,[defined if tidy.h exists])
+  fi
 
-  TIDY_LIB_NAME=tidy
-  PHP_CHECK_LIBRARY(tidy,tidyOptGetDoc,
+
+  PHP_CHECK_LIBRARY($TIDY_LIB_NAME,tidyOptGetDoc,
   [
     AC_DEFINE(HAVE_TIDYOPTGETDOC,1,[ ])
   ],[
@@ -49,6 +60,11 @@ if test "$PHP_TIDY" != "no"; then
     ], [], [])
   ],[])
 
+  PHP_CHECK_LIBRARY($TIDY_LIB_NAME,tidyReleaseDate,
+  [
+    AC_DEFINE(HAVE_TIDYRELEASEDATE,1,[ ])
+  ], [], [])
+
   PHP_ADD_LIBRARY_WITH_PATH($TIDY_LIB_NAME, $TIDY_LIBDIR, TIDY_SHARED_LIBADD)
   PHP_ADD_INCLUDE($TIDY_INCDIR)
 
index 654c1590c986958b8e8f309b731b73d26eef8445..9b62db950bf07653d88823e32435ed16cda72210 100644 (file)
@@ -17,6 +17,7 @@ if (PHP_TIDY != "no") {
 
                EXTENSION("tidy", "tidy.c");
                AC_DEFINE('HAVE_TIDY', 1, 'Have TIDY library');
+               AC_DEFINE('HAVE_TIDY_H', 1, "tidy include header")
                ADD_FLAG('CFLAGS_TIDY', '/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1');
                if (!PHP_TIDY_SHARED) {
                        ADD_DEF_FILE("ext\\tidy\\php_tidy.def");
index 75c7a3f6c1c7ad23508bfd7b764513f8248add74..9cc0699a580771385ca911a5464ceca77cf0ca47 100644 (file)
 #include "php_ini.h"
 #include "ext/standard/info.h"
 
+#if HAVE_TIDY_H
 #include "tidy.h"
+#elif HAVE_TIDYP_H
+#include "tidyp.h"
+#endif
 
 #if HAVE_TIDYBUFFIO_H
 #include "tidybuffio.h"
@@ -1073,8 +1077,12 @@ static PHP_MINFO_FUNCTION(tidy)
        php_info_print_table_header(2, "Tidy support", "enabled");
 #if HAVE_TIDYBUFFIO_H
        php_info_print_table_row(2, "libTidy Version", (char *)tidyLibraryVersion());
+#elif HAVE_TIDYP_H
+       php_info_print_table_row(2, "libTidy Version", (char *)tidyVersion());
 #endif
+#if HAVE_TIDYRELEASEDATE
        php_info_print_table_row(2, "libTidy Release", (char *)tidyReleaseDate());
+#endif
        php_info_print_table_row(2, "Extension Version", PHP_TIDY_VERSION " ($Id$)");
        php_info_print_table_end();
 
@@ -1342,7 +1350,11 @@ static PHP_FUNCTION(tidy_get_release)
                return;
        }
 
+#if HAVE_TIDYRELEASEDATE
        RETURN_STRING((char *)tidyReleaseDate());
+#else
+       RETURN_STRING((char *)"unknown");
+#endif
 }
 /* }}} */