@@ -41,8 +41,10 @@ if test "$PHP_TIDY" != "no"; then
4141 TIDY_LIBDIR=$TIDY_DIR/$PHP_LIBDIR
4242 if test "$TIDY_LIB_NAME" == 'tidyp'; then
4343 AC_DEFINE ( HAVE_TIDYP_H ,1 ,[ defined if tidyp.h exists] )
44+ TIDY_HEADER='<tidyp.h>'
4445 else
4546 AC_DEFINE ( HAVE_TIDY_H ,1 ,[ defined if tidy.h exists] )
47+ TIDY_HEADER='<tidy.h>'
4648 fi
4749
4850
@@ -62,15 +64,35 @@ if test "$PHP_TIDY" != "no"; then
6264 AC_DEFINE ( HAVE_TIDYRELEASEDATE ,1 ,[ ] )
6365 ] , [ ] , [ ] )
6466
67+ PHP_ADD_LIBRARY_WITH_PATH($TIDY_LIB_NAME, $TIDY_LIBDIR, TIDY_SHARED_LIBADD)
68+ PHP_ADD_INCLUDE($TIDY_INCDIR)
69+
70+ old_CPPFLAGS=$CPPFLAGS
71+ CPPFLAGS=-I$TIDY_INCDIR
72+
6573 dnl The tidyOptGetCategory function (added in libtidy 5.4.0) if only useable
6674 dnl if TidyInternalCategory (added in libtidy 5.6.0) is also present.
67- PHP_CHECK_LIBRARY($TIDY_LIB_NAME,TidyInternalCategory,
68- [
69- AC_DEFINE ( HAVE_TIDYOPTGETCATEGORY ,1 ,[ ] )
70- ] , [ ] , [ ] )
75+ AC_CACHE_CHECK ( [ for tidyOptGetCategory] , php_ac_cv_have_tidyoptgetcategory , [
76+ AC_COMPILE_IFELSE ( [ AC_LANG_PROGRAM ( [ [
77+ #include $TIDY_HEADER
78+ ] ] ,[ [
79+ TidyDoc doc = tidyCreate();
80+ TidyOption badopt = tidyGetOptionByName(doc, "<bad>");
81+ Bool v = (tidyOptGetCategory(badopt) == TidyInternalCategory);
82+ (void)v;
83+ tidyRelease(doc);
84+ return 0;
85+ ] ] ) ] ,[
86+ php_ac_cv_have_tidyoptgetcategory=yes
87+ ] ,[
88+ php_ac_cv_have_tidyoptgetcategory=no
89+ ] )
90+ ] )
91+ if test "$php_ac_cv_have_tidyoptgetcategory" = yes; then
92+ AC_DEFINE ( HAVE_TIDYOPTGETCATEGORY , 1 , [ Whether tidyOptGetCatgegory is available] )
93+ fi
7194
72- PHP_ADD_LIBRARY_WITH_PATH($TIDY_LIB_NAME, $TIDY_LIBDIR, TIDY_SHARED_LIBADD)
73- PHP_ADD_INCLUDE($TIDY_INCDIR)
95+ CPPFLAGS=$old_CPPFLAGS
7496
7597 dnl Add -Wno-ignored-qualifiers as this is an issue upstream
7698 TIDY_COMPILER_FLAGS="$TIDY_CFLAGS -Wno-ignored-qualifiers -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
0 commit comments