[xml] [PATCH] Windows build fixes



(Have to apologize for not building on Windows *before* the 2.9.0 release came out... >_<)

Building 2.9.0 on MSVC7.1 currently fails with

        cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS"  /D "NOLIBTOOL" /W1 /MD /I.. /I..\include /IC:\teragram\libxml2\include /D 
"_REENTRANT" /D "HAVE_WIN32_THREADS" /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /D "NDEBUG" /O2 /Foint.utils.msvc\ /c ..\testlimits.c
testlimits.c
        link.exe /nologo /VERSION:2.9 /LIBPATH:bin.msvc /LIBPATH:C:\teragram\libxml2\lib 
/OUT:bin.msvc\testlimits.exe libxml2.lib wsock32.lib ws2_32.lib kernel32.lib int.utils.msvc\testlimits.obj
testlimits.obj : error LNK2019: unresolved external symbol _vsnprintf referenced in function _channel
bin.msvc\testlimits.exe : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link.exe' : return code '0x460'
Stop.


This is because HAVE_CONFIG_H is not #defined, which is odd, because configure.js goes to the trouble of creating a config.h file.

An MSVC6 build fails with the following additional error:

timsort.h(75) : error C2059: syntax error : 'bad suffix on number'
timsort.h(75) : error C2146: syntax error : missing ')' before identifier 'L'
timsort.h(75) : error C2059: syntax error : ')'


(I.e. the compiler doesn't recognize the "ULL" integer-type suffix.)

The attached 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


--Daniel


--
Daniel Richard G. || danielg teragram com || Software Developer
Teragram Linguistic Technologies (a division of SAS)
http://www.teragram.com/

Attachment: libxml2-win32-fixes.patch
Description: Patch against git master



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