php-src/ext/tidy/config.m4
Arjen de Korte a97717d23e
Some checks are pending
Push / WINDOWS_X64_ZTS (push) Waiting to run
Push / MACOS_DEBUG_NTS (push) Waiting to run
Push / LINUX_X64_RELEASE_NTS (push) Has been skipped
Push / LINUX_X64_DEBUG_ZTS_ASAN (push) Has been skipped
Push / LINUX_X32_DEBUG_ZTS (push) Has been skipped
Push / BENCHMARKING (push) Has been skipped
Push / FREEBSD (push) Has been skipped
Fix GH-19021: deprecation for tidyOptIsReadOnly
The tidyOptGetCategory function (added in libtidy 5.4.0) if only useable if TidyInternalCategory (added in libtidy 5.6.0) is also present, so check for the latter instead.

close GH-19053
2025-08-16 19:24:47 +01:00

80 lines
2.3 KiB
Text

PHP_ARG_WITH([tidy],
[for TIDY support],
[AS_HELP_STRING([[--with-tidy[=DIR]]],
[Include TIDY support])])
if test "$PHP_TIDY" != "no"; then
if test "$PHP_TIDY" != "yes"; then
TIDY_SEARCH_DIRS=$PHP_TIDY
else
TIDY_SEARCH_DIRS="/usr/local /usr"
fi
for i in $TIDY_SEARCH_DIRS; do
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
AC_MSG_ERROR(Cannot find libtidy)
else
dnl Check for tidybuffio.h (as opposed to simply buffio.h) which indicates
dnl that we are building against tidy-html5 and not the legacy htmltidy. The
dnl two are compatible, except for with regard to this header file.
if test -f "$TIDY_INCDIR/tidybuffio.h"; then
AC_DEFINE(HAVE_TIDYBUFFIO_H,1,[defined if tidybuffio.h exists])
fi
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
PHP_CHECK_LIBRARY($TIDY_LIB_NAME,tidyOptGetDoc,
[
AC_DEFINE(HAVE_TIDYOPTGETDOC,1,[ ])
],[
PHP_CHECK_LIBRARY(tidy5,tidyOptGetDoc,
[
TIDY_LIB_NAME=tidy5
AC_DEFINE(HAVE_TIDYOPTGETDOC,1,[ ])
], [], [])
],[])
PHP_CHECK_LIBRARY($TIDY_LIB_NAME,tidyReleaseDate,
[
AC_DEFINE(HAVE_TIDYRELEASEDATE,1,[ ])
], [], [])
dnl The tidyOptGetCategory function (added in libtidy 5.4.0) if only useable
dnl if TidyInternalCategory (added in libtidy 5.6.0) is also present.
PHP_CHECK_LIBRARY($TIDY_LIB_NAME,TidyInternalCategory,
[
AC_DEFINE(HAVE_TIDYOPTGETCATEGORY,1,[ ])
], [], [])
PHP_ADD_LIBRARY_WITH_PATH($TIDY_LIB_NAME, $TIDY_LIBDIR, TIDY_SHARED_LIBADD)
PHP_ADD_INCLUDE($TIDY_INCDIR)
dnl Add -Wno-ignored-qualifiers as this is an issue upstream
TIDY_COMPILER_FLAGS="$TIDY_CFLAGS -Wno-ignored-qualifiers -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1"
PHP_NEW_EXTENSION(tidy, tidy.c, $ext_shared,, $TIDY_COMPILER_FLAGS)
PHP_SUBST(TIDY_SHARED_LIBADD)
AC_DEFINE(HAVE_TIDY,1,[ ])
fi