From 3c5ed91ac39fd5c946875e6856b366dd60463dfb Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Tue, 8 Jan 2002 10:36:16 +0000 Subject: [PATCH] Applied following patches from Robert Collins and make sure IN_LIBXML is * libxml.h: Applied following patches from Robert Collins and make sure IN_LIBXML is defined when compiling it ------- * include/libxml/xmlversion.h.in (LIBXML_DLL_IMPORT): Use on Cygwin as well as Visual C. * parser.c (XML_DIR_SEP): Don't use '\\' for Cygwin. * parserInternals.c (XML_DIR_SEP): Don't use '\\' for Cygwin. * strio.c (PLATFORM_UNIX): Define for Cygwin. * triodef.h (TRIO_PLATFORM_UNIX): Define for Cygwin. * xmlIO.c (xmlFileOpen): Use unix behaviour for Cygwin. Use binary mode opens for Cygwin (xmlFileOpenW xmlParserGetDirectory xmlSysIDExists xmlNoNetExists). * xmllint.c: Don't include winsock2.h for Cygwin. Daniel --- ChangeLog | 16 ++++++++++++++++ include/libxml/xmlversion.h.in | 2 +- libxml.h | 1 + parser.c | 2 +- parserInternals.c | 2 +- strio.c | 2 +- triodef.h | 2 ++ xmlIO.c | 16 ++++++++-------- xmllint.c | 2 +- 9 files changed, 32 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index b99e1e81..cc82c8e8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +Tue Jan 8 11:32:30 CET 2002 Daniel Veillard + + * libxml.h: Applied following patches from Robert Collins + and make sure IN_LIBXML is defined when compiling it + ------- + * include/libxml/xmlversion.h.in (LIBXML_DLL_IMPORT): Use on Cygwin + as well as Visual C. + * parser.c (XML_DIR_SEP): Don't use '\\' for Cygwin. + * parserInternals.c (XML_DIR_SEP): Don't use '\\' for Cygwin. + * strio.c (PLATFORM_UNIX): Define for Cygwin. + * triodef.h (TRIO_PLATFORM_UNIX): Define for Cygwin. + * xmlIO.c (xmlFileOpen): Use unix behaviour for Cygwin. + Use binary mode opens for Cygwin (xmlFileOpenW xmlParserGetDirectory + xmlSysIDExists xmlNoNetExists). + * xmllint.c: Don't include winsock2.h for Cygwin. + Mon Jan 7 17:52:48 CET 2002 Daniel Veillard * parser.c: Jirka Kosek pointer out a bug in xmlParseTextDecl() diff --git a/include/libxml/xmlversion.h.in b/include/libxml/xmlversion.h.in index 651d6930..b5c20ca7 100644 --- a/include/libxml/xmlversion.h.in +++ b/include/libxml/xmlversion.h.in @@ -198,7 +198,7 @@ extern void xmlCheckVersion(int version); * code which links against libxml statically. */ #ifndef LIBXML_DLL_IMPORT -#if defined(_MSC_VER) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC) +#if (defined(_MSC_VER) || defined(__CYGWIN__)) && !defined(IN_LIBXML) && !defined(LIBXML_STATIC) #define LIBXML_DLL_IMPORT __declspec(dllimport) #else #define LIBXML_DLL_IMPORT diff --git a/libxml.h b/libxml.h index 6b7476f5..eaec6540 100644 --- a/libxml.h +++ b/libxml.h @@ -30,5 +30,6 @@ #define TRIO_REPLACE_STDIO #include "trio.h" #endif +#define IN_LIBXML #endif /* ! __XML_LIBXML_H__ */ diff --git a/parser.c b/parser.c index 9e788193..8122e199 100644 --- a/parser.c +++ b/parser.c @@ -32,7 +32,7 @@ #include "libxml.h" -#ifdef WIN32 +#if defined(WIN32) && !defined (__CYGWIN__) #define XML_DIR_SEP '\\' #else #define XML_DIR_SEP '/' diff --git a/parserInternals.c b/parserInternals.c index f7ca6464..9a570c91 100644 --- a/parserInternals.c +++ b/parserInternals.c @@ -9,7 +9,7 @@ #include "libxml.h" -#ifdef WIN32 +#if defined(WIN32) && !defined (__CYGWIN__) #define XML_DIR_SEP '\\' #else #define XML_DIR_SEP '/' diff --git a/strio.c b/strio.c index f1ab5b86..58a9a263 100644 --- a/strio.c +++ b/strio.c @@ -22,7 +22,7 @@ static const char rcsid[] = "@(#)$Id$"; -#if defined(unix) || defined(__xlC__) || defined(__QNX__) +#if defined(unix) || defined(__xlC__) || defined(__QNX__) || defined(__CYGWIN__) # define PLATFORM_UNIX #elif defined(WIN32) || defined(_WIN32) # define PLATFORM_WIN32 diff --git a/triodef.h b/triodef.h index 407ea039..a3ca8b6d 100644 --- a/triodef.h +++ b/triodef.h @@ -48,6 +48,8 @@ # define TRIO_PLATFORM_UNIX #elif defined(__QNX__) # define TRIO_PLATFORM_UNIX +#elif defined(__CYGWIN__) +# define TRIO_PLATFORM_UNIX #elif defined(AMIGA) && defined(TRIO_COMPILER_GCC) # define TRIO_PLATFORM_UNIX #elif defined(TRIO_COMPILER_MSVC) || defined(WIN32) || defined(_WIN32) diff --git a/xmlIO.c b/xmlIO.c index bfa80963..1bad043a 100644 --- a/xmlIO.c +++ b/xmlIO.c @@ -294,7 +294,7 @@ xmlFileOpen (const char *filename) { if (!strncmp(filename, "file://localhost", 16)) path = &filename[16]; else if (!strncmp(filename, "file:///", 8)) { -#ifdef _WIN32 +#if defined (_WIN32) && !defined(__CYGWIN__) path = &filename[8]; #else path = &filename[7]; @@ -307,7 +307,7 @@ xmlFileOpen (const char *filename) { if (!xmlCheckFilename(path)) return(NULL); -#ifdef WIN32 +#if defined(WIN32) || defined (__CYGWIN__) fd = fopen(path, "rb"); #else fd = fopen(path, "r"); @@ -337,7 +337,7 @@ xmlFileOpenW (const char *filename) { if (!strncmp(filename, "file://localhost", 16)) path = &filename[16]; else if (!strncmp(filename, "file:///", 8)) { -#ifdef _WIN32 +#if defined (_WIN32) && !defined(__CYGWIN__) path = &filename[8]; #else path = &filename[7]; @@ -454,7 +454,7 @@ xmlGzfileOpen (const char *filename) { if (!strncmp(filename, "file://localhost", 16)) path = &filename[16]; else if (!strncmp(filename, "file:///", 8)) { -#ifdef _WIN32 +#if defined (_WIN32) && !defined(__CYGWIN__) path = &filename[8]; #else path = &filename[7]; @@ -496,7 +496,7 @@ xmlGzfileOpenW (const char *filename, int compression) { if (!strncmp(filename, "file://localhost", 16)) path = &filename[16]; else if (!strncmp(filename, "file:///", 8)) { -#ifdef _WIN32 +#if defined (_WIN32) && !defined(__CYGWIN__) path = &filename[8]; #else path = &filename[7]; @@ -2387,7 +2387,7 @@ xmlParserGetDirectory(const char *filename) { xmlRegisterDefaultInputCallbacks(); if (filename == NULL) return(NULL); -#ifdef WIN32 +#if defined(WIN32) && !defined(__CYGWIN__) sep = '\\'; #endif @@ -2430,7 +2430,7 @@ static int xmlSysIDExists(const char *URL) { if (!strncmp(URL, "file://localhost", 16)) path = &URL[16]; else if (!strncmp(URL, "file:///", 8)) { -#ifdef _WIN32 +#if defined (_WIN32) && !defined(__CYGWIN__) path = &URL[8]; #else path = &URL[7]; @@ -2617,7 +2617,7 @@ xmlNoNetExists(const char *URL) if (!xmlStrncmp(BAD_CAST URL, BAD_CAST "file://localhost", 16)) path = &URL[16]; else if (!xmlStrncmp(BAD_CAST URL, BAD_CAST "file:///", 8)) { -#ifdef _WIN32 +#if defined (_WIN32) && !defined(__CYGWIN__) path = &URL[8]; #else path = &URL[7]; diff --git a/xmllint.c b/xmllint.c index 6cdcef3c..70ec276e 100644 --- a/xmllint.c +++ b/xmllint.c @@ -11,7 +11,7 @@ #include #include -#ifdef _WIN32 +#if defined (_WIN32) && !defined(__CYGWIN__) #ifdef _MSC_VER #include #pragma comment(lib, "ws2_32.lib")