libextractor

GNU libextractor
Log | Files | Refs | Submodules | README | LICENSE

commit 030ee3197daf59a906f4bc6f289a39c16aa189cd
parent a75f40b64b5868967c95ea214e8eaac4f7088b23
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date:   Mon, 11 Mar 2024 09:36:26 -0400

html_extractor: Add support for modern tidy-html.

* configure.ac: Use PKG_PROG_PKG_CONFIG to initialize pkg-config detection.
<tidy>: Check for library via pkg-config.
* src/plugins/html_extractor.c: Standardize tidy include file names.

Diffstat:
Mconfigure.ac | 28+++++++++-------------------
Msrc/plugins/html_extractor.c | 4++--
2 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/configure.ac b/configure.ac @@ -176,6 +176,8 @@ AS_CASE(["$target_os"], AM_ICONV +PKG_PROG_PKG_CONFIG() + # We define the paths here, because MinGW/GCC expands paths # passed through the command line ("-DLOCALEDIR=..."). This would # lead to hard-coded paths ("C:\mingw\mingw\bin...") that do @@ -424,25 +426,13 @@ AC_CHECK_LIB(magic, magic_open, AM_CONDITIONAL(HAVE_MAGIC, false))], AM_CONDITIONAL(HAVE_MAGIC, false)) -AC_MSG_CHECKING(for tidyNodeGetValue -ltidy) -AC_LANG_PUSH(C++) -SAVED_LIBS=$LIBS -LIBS="$LIBS -ltidy" -AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[#include <tidy/tidy.h>]], - [[ Bool b = tidyNodeGetValue (NULL, NULL, NULL); ]])], - [AC_MSG_RESULT(yes) - AM_CONDITIONAL(HAVE_TIDY, true) - AC_DEFINE(HAVE_TIDY,1,[Have tidyNodeGetValue in libtidy])], - [AC_MSG_RESULT(no) - AM_CONDITIONAL(HAVE_TIDY, false)]) -LIBS=$SAVED_LIBS -AC_LANG_POP(C++) - -# restore LIBS -LIBS=$LIBSOLD - - +dnl tidyNodeGetValue was already available in 5.0.0, released in 2015. +PKG_CHECK_MODULES([TIDY], [tidy >= 5.0.0], + [AC_DEFINE(HAVE_TIDY, 1, [Have tidy]) + AM_CONDITIONAL(HAVE_TIDY, true)], + [AM_CONDITIONAL(HAVE_TIDY, false)]) +CFLAGS="$CFLAGS $TIDY_CFLAGS" +LIBS="$LIBS $TIDY_LIBS" # should 'make check' run tests? AC_MSG_CHECKING(whether to run tests) diff --git a/src/plugins/html_extractor.c b/src/plugins/html_extractor.c @@ -26,8 +26,8 @@ #include "platform.h" #include "extractor.h" #include <magic.h> -#include <tidy/tidy.h> -#include <tidy/tidybuffio.h> +#include <tidy.h> +#include <tidybuffio.h> /** * Mapping of HTML META names to LE types.