@@ -57,19 +57,34 @@ if test "$PHP_TIDY" != "no"; then
5757 [ ] ,
5858 [ -L$TIDY_LIBDIR] )
5959
60- dnl The tidyOptGetCategory function (added in libtidy 5.4.0) if only useable
61- dnl if TidyInternalCategory (added in libtidy 5.6.0) is also present.
62- PHP_CHECK_LIBRARY([ $TIDY_LIB_NAME] , [ tidyInternalCategory] ,
63- [ AC_DEFINE ( [ HAVE_TIDYOPTGETCATEGORY] , [ 1] ,
64- [ Define to 1 if Tidy library has the 'tidyOptGetCategory' function.] ) ] ,
65- [ ] ,
66- [ -L$TIDY_LIBDIR] )
67-
6860 PHP_ADD_LIBRARY_WITH_PATH([ $TIDY_LIB_NAME] ,
6961 [ $TIDY_LIBDIR] ,
7062 [ TIDY_SHARED_LIBADD] )
7163 PHP_ADD_INCLUDE([ $TIDY_INCDIR] )
7264
65+ old_CPPFLAGS=$CPPFLAGS
66+ CPPFLAGS=-I$TIDY_INCDIR
67+
68+ dnl The tidyOptGetCategory function (added in tidy-html5 5.4.0) is only
69+ dnl useable if TidyInternalCategory (added in tidy-html5 5.6.0) is also
70+ dnl present.
71+ AC_CACHE_CHECK ( [ for tidyOptGetCategory] , [ php_ac_cv_have_tidyoptgetcategory] ,
72+ [ AC_COMPILE_IFELSE ( [ AC_LANG_PROGRAM ( [ #include <tidy.h>] ,[
73+ TidyDoc doc = tidyCreate();
74+ TidyOption badopt = tidyGetOptionByName(doc, "<bad>");
75+ Bool v = (tidyOptGetCategory(badopt) == TidyInternalCategory);
76+ (void)v;
77+ tidyRelease(doc);
78+ ] ) ] ,
79+ [ php_ac_cv_have_tidyoptgetcategory=yes] ,
80+ [ php_ac_cv_have_tidyoptgetcategory=no] )
81+ ] )
82+ AS_VAR_IF ( [ php_ac_cv_have_tidyoptgetcategory] , [ yes] ,
83+ [ AC_DEFINE ( [ HAVE_TIDYOPTGETCATEGORY] , [ 1] ,
84+ [ Define to 1 if tidyOptGetCategory is available.] ) ] )
85+
86+ CPPFLAGS=$old_CPPFLAGS
87+
7388 dnl Add -Wno-ignored-qualifiers as this is an issue upstream. Fixed in
7489 dnl tidy-html5 5.7.20: https://github.com/htacg/tidy-html5/issues/866
7590 PHP_NEW_EXTENSION([ tidy] ,
0 commit comments