mirror of
https://github.com/php/php-src.git
synced 2024-12-15 04:45:03 +08:00
a552ac5bd5
Our existing libtidy support is based on the legacy "HTML tidy" project. That project now has a successor called tidy-html5, where all new features and bugfixes happen. Of particular note are the fixes for two security vulnerabilities, CVE-2015-5522 and CVE-2015-5523. The API is largely unchanged in the new project (which is truly the successor of the original -- not a fork), and so it is almost a drop-in replacement as far as PHP is concerned. However, one file has changed in the new project: "buffio.h" has been moved to "tidybuffio.h". This commit detects the presence of tidybuffio.h at build time, and then adjusts the import statement in tidy.c accordingly. The result is a build that works against either the legacy project or the new tidy-html5 project, although the test suite for the tidy extension now fails. Those failures are not critical and will be fixed. Gentoo-Bug: 561452 Gentoo-Bug: 585474 PHP-Bug: 72379
53 lines
1.3 KiB
Plaintext
53 lines
1.3 KiB
Plaintext
dnl
|
|
dnl $Id$
|
|
dnl
|
|
|
|
PHP_ARG_WITH(tidy,for TIDY support,
|
|
[ --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
|
|
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
|
|
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)
|
|
dnl which indicates that we are building against tidy-html5
|
|
dnl and not the legacy htmltidy. The two are compatible,
|
|
dnl 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
|
|
|
|
PHP_ADD_LIBRARY_WITH_PATH(tidy, $TIDY_LIBDIR, TIDY_SHARED_LIBADD)
|
|
PHP_ADD_INCLUDE($TIDY_INCDIR)
|
|
|
|
PHP_CHECK_LIBRARY(tidy,tidyOptGetDoc,
|
|
[
|
|
AC_DEFINE(HAVE_TIDYOPTGETDOC,1,[ ])
|
|
],[],[])
|
|
|
|
|
|
PHP_NEW_EXTENSION(tidy, tidy.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
|
|
PHP_SUBST(TIDY_SHARED_LIBADD)
|
|
AC_DEFINE(HAVE_TIDY,1,[ ])
|
|
fi
|