[libxml2] Windows build fixes



commit bbe194518fbe67bb8d629c59bcd74f18fee3fd1c
Author: Daniel Richard <oss teragram com>
Date:   Tue Sep 18 11:15:06 2012 +0800

    Windows build fixes
    
    Building 2.9.0 on MSVC7.1 was failing
    
    This is because HAVE_CONFIG_H is not #defined
    The patch addresses the above, adds testrecurse.exe and the
    standard "make check" suite of tests to the MSVC makefile, and also
    fixes the following (MSVC7.1) warnings:
    buf.c(674) : warning C4028: formal parameter 1 different from
    declaration
    libxml2\timsort.h(71) : warning C4028: formal parameter 1 different from
    declaration

 include/libxml/tree.h |    2 +-
 timsort.h             |   12 ++++++++++--
 win32/Makefile.msvc   |   15 ++++++++++++---
 3 files changed, 23 insertions(+), 6 deletions(-)
---
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index da12daa..7e06686 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -118,7 +118,7 @@ typedef xmlBuf *xmlBufPtr;
  */
 XMLPUBFUN xmlChar* XMLCALL       xmlBufContent	(const xmlBufPtr buf);
 XMLPUBFUN xmlChar* XMLCALL       xmlBufEnd      (const xmlBufPtr buf);
-XMLPUBFUN size_t XMLCALL         xmlBufUse      (xmlBufPtr buf);
+XMLPUBFUN size_t XMLCALL         xmlBufUse      (const xmlBufPtr buf);
 XMLPUBFUN size_t XMLCALL         xmlBufShrink	(xmlBufPtr buf, size_t len);
 
 /*
diff --git a/timsort.h b/timsort.h
index 95f412b..b3a32f0 100644
--- a/timsort.h
+++ b/timsort.h
@@ -30,6 +30,14 @@ typedef unsigned __int64 uint64_t;
 #endif
 #endif
 
+#ifndef MK_UINT64
+#if defined(WIN32) && defined(_MSC_VER) && _MSC_VER < 1300
+#define MK_UINT64(x) ((uint64_t)(x))
+#else
+#define MK_UINT64(x) x##ULL
+#endif
+#endif
+
 #ifndef MAX
 #define MAX(x,y) (((x) > (y) ? (x) : (y)))
 #endif
@@ -67,12 +75,12 @@ int clzll(uint64_t x) /* {{{ */
 #endif
 #endif
 
-int compute_minrun(const uint64_t size) /* {{{ */
+int compute_minrun(uint64_t size) /* {{{ */
 {
   const int top_bit = 64 - CLZ(size);
   const int shift = MAX(top_bit, 6) - 6;
   const int minrun = size >> shift;
-  const uint64_t mask = (1ULL << shift) - 1;
+  const uint64_t mask = (MK_UINT64(1) << shift) - 1;
   if (mask & size) return minrun + 1;
   return minrun;
 }
diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc
index d917541..2b3d544 100644
--- a/win32/Makefile.msvc
+++ b/win32/Makefile.msvc
@@ -43,7 +43,7 @@ CPPFLAGS = $(CPPFLAGS) /D "_REENTRANT"
 
 # The compiler and its options.
 CC = cl.exe
-CFLAGS = /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS"  /D "NOLIBTOOL" /W1 $(CRUNTIME)
+CFLAGS = /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "HAVE_CONFIG_H" /D "NOLIBTOOL" /W1 $(CRUNTIME)
 CFLAGS = $(CFLAGS) /I$(XML_SRCDIR) /I$(XML_SRCDIR)\include /I$(INCPREFIX)
 !if "$(WITH_THREADS)" != "no"
 CFLAGS = $(CFLAGS) /D "_REENTRANT"
@@ -263,7 +263,8 @@ UTILS = $(BINDIR)\xmllint.exe\
 	$(BINDIR)\runtest.exe\
 	$(BINDIR)\runsuite.exe\
 	$(BINDIR)\testapi.exe\
-	$(BINDIR)\testlimits.exe
+	$(BINDIR)\testlimits.exe\
+	$(BINDIR)\testrecurse.exe
 	
 !if "$(WITH_THREADS)" == "yes" || "$(WITH_THREADS)" == "ctls" || "$(WITH_THREADS)" == "native"
 UTILS = $(UTILS) $(BINDIR)\testThreadsWin32.exe
@@ -416,7 +417,15 @@ $(UTILS) : $(UTILS_INTDIR) $(BINDIR) libxml libxmla libxmladll
 
 # TESTS
 
-tests :  XPathtests
+tests : checktests XPathtests
+
+checktests : $(UTILS)
+	cd .. && win32\$(BINDIR)\runtest.exe
+	cd .. && win32\$(BINDIR)\testrecurse.exe
+	cd .. && win32\$(BINDIR)\testapi.exe
+	cd .. && win32\$(BINDIR)\testchar.exe
+	cd .. && win32\$(BINDIR)\testdict.exe
+	cd .. && win32\$(BINDIR)\runxmlconf.exe
 
 XPathtests : $(BINDIR)\testXPath.exe
 	@echo. 2> .memdump



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]