#ifndef ARABICA_PARSERCONFIG_H #define ARABICA_PARSERCONFIG_H #ifdef USE_LIBXML2 #include #undef DEF_SAX_P #define DEF_SAX_P libxml2_wrapper #ifdef _MSC_VER #pragma message("Including libxml2") #pragma comment(lib, "libxml2.lib") #endif #endif #ifdef USE_MSXML #ifndef _MSC_VER #error "Can only use MSXML on Windows" #endif #pragma message("Including MSXML") #include #undef DEF_SAX_P #define DEF_SAX_P msxml2_wrapper #endif #ifdef USE_XERCES #include #undef DEF_SAX_P #define DEF_SAX_P xerces_wrapper #ifdef _MSC_VER #pragma message("Including Xerces") #ifdef _DEBUG #pragma comment(lib, "xerces-c_2D.lib") #else #pragma comment(lib, "xerces-c_2.lib") #endif #endif #endif #ifdef USE_GARDEN #ifdef _MSC_VER #pragma message("Including Garden") #endif #include #undef DEF_SAX_P #define DEF_SAX_P Garden #endif #ifdef USE_EXPAT #include #undef DEF_SAX_P #define DEF_SAX_P expat_wrapper #ifdef _MSC_VER #pragma message("Including Expat") #ifndef XML_STATIC #pragma comment(lib, "libexpat.lib") #else #pragma comment(lib, "libexpatMT.lib") #endif #endif #endif #ifdef _MSC_VER #pragma comment(lib, "wsock32.lib") #endif #ifndef NO_DEFAULT_PARSER #ifdef DEF_SAX_P namespace Arabica { namespace SAX { #ifdef HAVE_BOOST template #else #ifndef USE_MSXML template #else template, class T1 = SAX::COMSingleThreadInitializer> #endif #endif class XMLReader : public DEF_SAX_P { }; } // namespace SAX } // namespace Arabica #else #error "No default parser defined." #endif #endif #undef DEF_P #endif