summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog16
-rw-r--r--include/libxml/xmlversion.h.in2
-rw-r--r--libxml.h1
-rw-r--r--parser.c2
-rw-r--r--parserInternals.c2
-rw-r--r--strio.c2
-rw-r--r--triodef.h2
-rw-r--r--xmlIO.c16
-rw-r--r--xmllint.c2
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 <daniel@veillard.com>
+
+ * 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 <daniel@veillard.com>
* 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 <string.h>
#include <stdarg.h>
-#ifdef _WIN32
+#if defined (_WIN32) && !defined(__CYGWIN__)
#ifdef _MSC_VER
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")