-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | include/opkele/tidy.h | 7 | ||||
-rw-r--r-- | lib/discovery.cc | 3 |
3 files changed, 12 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index 0aa1272..a66e53d 100644 --- a/configure.ac +++ b/configure.ac @@ -136,43 +136,44 @@ LIBCURL_CHECK_CONFIG(,,,[ AC_MSG_ERROR([no required libcurl library. get one from http://curl.haxx.se/]) ]) AC_CHECK_HEADER([expat.h],[ AC_CHECK_LIB([expat],[XML_ParserCreate],[ EXPAT_LIBS=-lexpat EXPAT_CFLAGS= AC_SUBST([EXPAT_LIBS]) AC_SUBST([EXPAT_CFLAGS]) ],[ AC_MSG_ERROR([no required expat library. get one from http://expat.sourceforge.net/]) ]) ],[ AC_MSG_ERROR([no required expat library. get one from http://expat.sourceforge.net/]) ]) -AC_CHECK_HEADER([tidy.h],[ +AC_CHECK_HEADERS([tidy.h tidy/tidy.h],[ AC_CHECK_LIB([tidy],[tidyParseBuffer],[ TIDY_LIBS=-ltidy TIDY_CFLAGS= AC_SUBST([TIDY_LIBS]) AC_SUBST([TIDY_CFLAGS]) ],[ AC_MSG_ERROR([no required htmltidy library found. get one from http://tidy.sourceforge.net/]) ]) ],[ - AC_MSG_ERROR([no required htmltidy library found. get one from http://tidy.sourceforge.net/]) + test "$ac_header" = "tidy/tidy.h" \ + && AC_MSG_ERROR([no required htmltidy library found. get one from http://tidy.sourceforge.net/]) ]) if test -n "$PCRE_LIBS" -a -n "$PCRE_CFLAGS" ; then AC_SUBST([PCRE_CFLAGS]) AC_SUBST([PCRE_LIBS]) : else PKG_CHECK_MODULES([PCRE],[libpcre],,[ AC_MSG_ERROR([no libpcre found, go get it at http://www.pcre.org/]) ]) fi PKG_CHECK_MODULES([SQLITE3],[sqlite3],[have_sqlite3=true],[have_sqlite3=false]) AM_CONDITIONAL([HAVE_SQLITE3],[$have_sqlite3]) PKG_CHECK_MODULES([KINGATE],[kingate-plaincgi],[have_kingate=true],[have_kingate=false]) AM_CONDITIONAL([HAVE_KINGATE],[$have_kingate]) diff --git a/include/opkele/tidy.h b/include/opkele/tidy.h index 888e7d4..059656d 100644 --- a/include/opkele/tidy.h +++ b/include/opkele/tidy.h @@ -1,22 +1,29 @@ #ifndef __OPKELE_TIDY_H #define __OPKELE_TIDY_H #include <cassert> +#ifdef HAVE_TIDY_H #include <tidy.h> #include <buffio.h> +#elif HAVE_TIDY_TIDY_H +# include <tidy/tidy.h> +# include <tidy/buffio.h> +#else +# error "Don't know where to look for htmltidy headers" +#endif namespace opkele { namespace util { class tidy_buf_t { public: TidyBuffer _x; tidy_buf_t() { tidyBufInit(&_x); } virtual ~tidy_buf_t() throw() { tidyBufFree(&_x); } inline operator const TidyBuffer&(void) const { return _x; } inline operator TidyBuffer&(void) { return _x; } inline operator const char*(void) const { return (const char*)_x.bp; } diff --git a/lib/discovery.cc b/lib/discovery.cc index 3b90977..d1989ec 100644 --- a/lib/discovery.cc +++ b/lib/discovery.cc @@ -1,29 +1,30 @@ #include <list> #include <opkele/curl.h> #include <opkele/expat.h> #include <opkele/uris.h> #include <opkele/discovery.h> #include <opkele/exception.h> #include <opkele/util.h> -#include <opkele/tidy.h> #include <opkele/data.h> #include <opkele/debug.h> #include "config.h" +#include <opkele/tidy.h> + #define XRDS_HEADER "X-XRDS-Location" #define CT_HEADER "Content-Type" namespace opkele { using std::list; using xrd::XRD_t; using xrd::service_t; /* TODO: the whole discovery thing needs cleanup and optimization due to * many changes of concept. */ static const size_t max_html = 16384; static const struct service_type_t { const char *uri; const char *forceid; |