New patch. Tested OK in vc2003 compiler
Author string: "ccpaging <ccpag...@gmail.com>"
Thanks,
ccpaging
On 2017/11/8 19:16, Nick Wellnhofer wrote:
On 06/11/2017 08:40, ccpaging wrote:
Test OK in VC2003 complier.
Looks good. Can you please:
- Rename "libxml2.res.src" to "libxml2.rc". It seems that the .rc
extension
is standard for resource definition scripts:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa380599(v=vs.85).aspx
- Rename "version.h.msvc" to "rcVersion.h". This file isn't really
specific
to MSVC. At some point, it might be used for GCC builds as well.
- The same for libxslt.
- Tell me the author string I should use for the commits. Something
like "first-name last-name <email>". Otherwise I'll simply use
"ccpaging <ccpag...@gmail.com>". (I prefer patches formatted
with git-format, but if you're primarily working with MS tools,
I understand that this may not be an option.)
Thanks,
Nick
--
Best regards
ccpaging
diff --git a/libxml2-2.9.7/win32/Makefile.msvc b/libxml2/win32/Makefile.msvc
index 115a451..610b854 100755
--- a/libxml2-2.9.7/win32/Makefile.msvc
+++ b/libxml2/win32/Makefile.msvc
@@ -22,6 +22,8 @@ AUTOCONF = .\config.msvc
XML_NAME = xml2
XML_BASENAME = lib$(XML_NAME)
XML_SO = $(XML_BASENAME).dll
+XML_RES = $(XML_BASENAME).res
+XML_RC = $(XML_BASENAME).rc
XML_IMP = $(XML_BASENAME).lib
XML_DEF = $(XML_BASENAME).def
XML_A = $(XML_BASENAME)_a.lib
@@ -373,11 +375,13 @@ $(XML_OBJS_A_DLL) : $(XML_INTDIR_A_DLL)
# Creates the export definition file (DEF) for libxml.
$(XML_INTDIR)\$(XML_DEF) : $(XML_INTDIR) $(XML_DEF).src
$(CPP) $(CPPFLAGS) $(XML_DEF).src > $(XML_INTDIR)\$(XML_DEF)
+$(XML_INTDIR)\$(XML_RES) : $(XML_INTDIR) $(XML_RC)
+ rc -Fo $(XML_INTDIR)\$(XML_RES) $(XML_RC)
# Creates the libxml shared object.
-$(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF)
+$(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF)
$(XML_INTDIR)\$(XML_RES)
$(LD) $(LDFLAGS) /DLL \
- /IMPLIB:$(BINDIR)\$(XML_IMP) /OUT:$(BINDIR)\$(XML_SO)
$(XML_OBJS) $(LIBS)
+ /IMPLIB:$(BINDIR)\$(XML_IMP) /OUT:$(BINDIR)\$(XML_SO)
$(XML_OBJS) $(XML_INTDIR)\$(XML_RES) $(LIBS)
@$(_VC_MANIFEST_EMBED_DLL)
#$(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF)
diff --git a/libxml2-2.9.7/win32/configure.js b/libxml2/win32/configure.js
index 92b9ba0..a00ee21 100755
--- a/libxml2-2.9.7/win32/configure.js
+++ b/libxml2/win32/configure.js
@@ -280,6 +280,18 @@ function discoverVersion()
vf.WriteLine("DYNRUNTIME=" + (dynruntime? "1" : "0"));
}
vf.Close();
+ versionFile = "rcVersion.h"
+ vf = fso.CreateTextFile(versionFile, true);
+ vf.WriteLine("/*");
+ vf.WriteLine(" " + versionFile);
+ vf.WriteLine(" This file is generated automatically by " +
WScript.ScriptName + ".");
+ vf.WriteLine("*/");
+ vf.WriteBlankLines(1);
+ vf.WriteLine("#define LIBXML_MAJOR_VERSION " + verMajor);
+ vf.WriteLine("#define LIBXML_MINOR_VERSION " + verMinor);
+ vf.WriteLine("#define LIBXML_MICRO_VERSION " + verMicro);
+ vf.WriteLine("#define LIBXML_DOTTED_VERSION " + "\"" + verMajor + "." +
verMinor + "." + verMicro + "\"");
+ vf.Close()
}
/* Configures libxml. This one will generate xmlversion.h from xmlversion.h.in
diff --git a/libxml2/win32/libxml2.rc b/libxml2/win32/libxml2.rc
new file mode 100755
index 0000000..f0cc4a0
--- /dev/null
+++ b/libxml2/win32/libxml2.rc
@@ -0,0 +1,36 @@
+#include <winver.h>
+#include "version.h.msvc"
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION
LIBXML_MAJOR_VERSION,LIBXML_MINOR_VERSION,LIBXML_MICRO_VERSION,0
+ PRODUCTVERSION
LIBXML_MAJOR_VERSION,LIBXML_MINOR_VERSION,LIBXML_MICRO_VERSION,0
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE VFT2_UNKNOWN // not used
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "04090000" /* Lang = US English, Charset = ASCII */
+ BEGIN
+ VALUE "FileDescription", "libxml2 library\0"
+ VALUE "FileVersion", LIBXML_DOTTED_VERSION "\0"
+ VALUE "InternalName", "libxml2.dll\0"
+ VALUE "LegalCopyright", "Copyright (C) 1998-2012 Daniel Veillard\0"
+ VALUE "LegalTrademarks", "\0"
+ VALUE "OriginalFilename", "libxml2.dll\0"
+ VALUE "ProductName", "libxml2\0"
+ VALUE "ProductVersion", LIBXML_DOTTED_VERSION "\0"
+ VALUE "Comments", "For more information visit
http://xmlsoft.org/\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 0 /* US English, ASCII */
+ END
+END
diff --git a/libxslt-1.1.32/libxslt/win32config.h
b/libxslt/libxslt/win32config.h
index 8fe7042..00d9a97 100755
--- a/libxslt-1.1.32/libxslt/win32config.h
+++ b/libxslt/libxslt/win32config.h
@@ -80,7 +80,10 @@ static int isnan (double d) {
/* snprintf emulation taken from http://stackoverflow.com/a/8712996/1956010 */
#if defined(_MSC_VER) && _MSC_VER < 1900
-
+#if _MSC_VER < 1500
+#define snprintf _snprintf
+#define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a)
+#else
#include <stdarg.h>
#include <stdio.h>
@@ -110,7 +113,7 @@ __inline int c99_snprintf(char *outBuf, size_t size, const
char *format, ...)
return count;
}
-
+#endif /* _MSC_VER < 1500 */
#endif /* defined(_MSC_VER) && _MSC_VER < 1900 */
#define HAVE_SYS_STAT_H
diff --git a/libxslt-1.1.32/win32/Makefile.msvc b/libxslt/win32/Makefile.msvc
index a6d57a1..f8a81a5 100755
--- a/libxslt-1.1.32/win32/Makefile.msvc
+++ b/libxslt/win32/Makefile.msvc
@@ -28,12 +28,16 @@ BINDIR = bin.msvc
XSLT_NAME = xslt
XSLT_BASENAME = lib$(XSLT_NAME)
XSLT_SO = $(XSLT_BASENAME).dll
+XSLT_RES = $(XSLT_BASENAME).res
+XSLT_RC = $(XSLT_BASENAME).rc
XSLT_IMP = $(XSLT_BASENAME).lib
XSLT_DEF = $(XSLT_BASENAME).def
XSLT_A = $(XSLT_BASENAME)_a.lib
EXSLT_NAME = exslt
EXSLT_BASENAME = lib$(EXSLT_NAME)
EXSLT_SO = $(EXSLT_BASENAME).dll
+EXSLT_RES = $(EXSLT_BASENAME).res
+EXSLT_RC = $(EXSLT_BASENAME).rc
EXSLT_IMP = $(EXSLT_BASENAME).lib
EXSLT_DEF = $(EXSLT_BASENAME).def
EXSLT_A = $(EXSLT_BASENAME)_a.lib
@@ -237,12 +241,15 @@ $(XSLT_OBJS_A) : $(XSLT_INTDIR_A)
$(XSLT_INTDIR)\$(XSLT_DEF) : $(XSLT_INTDIR) $(XSLT_DEF).src
$(CPP) $(CPPFLAGS) $(XSLT_DEF).src > $(XSLT_INTDIR)\$(XSLT_DEF)
+$(XSLT_INTDIR)\$(XSLT_RES) : $(XSLT_INTDIR) $(XSLT_RC)
+ rc -Fo $(XSLT_INTDIR)\$(XSLT_RES) $(XSLT_RC)
+
# Creates the libxslt shared object.
-$(BINDIR)\$(XSLT_SO) : $(BINDIR) $(XSLT_OBJS) $(XSLT_INTDIR)\$(XSLT_DEF)
+$(BINDIR)\$(XSLT_SO) : $(BINDIR) $(XSLT_OBJS) $(XSLT_INTDIR)\$(XSLT_DEF)
$(XSLT_INTDIR)\$(XSLT_RES)
$(LD) $(LDFLAGS) /DLL \
/VERSION:$(LIBXSLT_MAJOR_VERSION).$(LIBXSLT_MINOR_VERSION) \
/IMPLIB:$(BINDIR)\$(XSLT_IMP) /OUT:$(BINDIR)\$(XSLT_SO) \
- $(XSLT_OBJS) $(LIBS) libxml2.lib
+ $(XSLT_OBJS) $(XSLT_INTDIR)\$(XSLT_RES) $(LIBS) libxml2.lib
@$(_VC_MANIFEST_EMBED_DLL)
#$(BINDIR)\$(XSLT_SO) : $(BINDIR) $(XSLT_OBJS) $(XSLT_INTDIR)\$(XSLT_DEF)
@@ -283,12 +290,15 @@ $(EXSLT_OBJS_A) : $(EXSLT_INTDIR_A)
$(EXSLT_INTDIR)\$(EXSLT_DEF) : $(EXSLT_INTDIR) $(EXSLT_DEF).src
$(CPP) $(CPPFLAGS) $(EXSLT_DEF).src > $(EXSLT_INTDIR)\$(EXSLT_DEF)
+$(EXSLT_INTDIR)\$(EXSLT_RES) : $(EXSLT_INTDIR) $(EXSLT_RC)
+ rc -Fo $(EXSLT_INTDIR)\$(EXSLT_RES) $(EXSLT_RC)
+
# Creates the libexslt shared object.
-$(BINDIR)\$(EXSLT_SO) : $(BINDIR) $(EXSLT_OBJS) $(EXSLT_INTDIR)\$(EXSLT_DEF)
libxslt
+$(BINDIR)\$(EXSLT_SO) : $(BINDIR) $(EXSLT_OBJS) $(EXSLT_INTDIR)\$(EXSLT_DEF)
$(EXSLT_INTDIR)\$(EXSLT_RES) libxslt
$(LD) $(LDFLAGS) /DLL \
/VERSION:$(LIBEXSLT_MAJOR_VERSION).$(LIBEXSLT_MINOR_VERSION) \
/IMPLIB:$(BINDIR)\$(EXSLT_IMP) /OUT:$(BINDIR)\$(EXSLT_SO) \
- $(EXSLT_OBJS) $(XSLT_IMP) $(LIBS) libxml2.lib
+ $(EXSLT_OBJS) $(EXSLT_INTDIR)\$(EXSLT_RES) $(XSLT_IMP) $(LIBS)
libxml2.lib
@$(_VC_MANIFEST_EMBED_DLL)
#$(BINDIR)\$(EXSLT_SO) : $(BINDIR) $(EXSLT_OBJS) $(EXSLT_INTDIR)\$(EXSLT_DEF)
libxslt
diff --git a/libxslt-1.1.32/win32/configure.js b/libxslt/win32/configure.js
index 56694cc..04f1b8e 100755
--- a/libxslt-1.1.32/win32/configure.js
+++ b/libxslt/win32/configure.js
@@ -209,6 +209,22 @@ function discoverVersion()
vf.WriteLine("LIB+=;" + buildLib);
}
vf.Close();
+ versionFile = "rcVersion.h"
+ vf = fso.CreateTextFile(versionFile, true);
+ vf.WriteLine("/*");
+ vf.WriteLine(" " + versionFile);
+ vf.WriteLine(" This file is generated automatically by " +
WScript.ScriptName + ".");
+ vf.WriteLine("*/");
+ vf.WriteBlankLines(1);
+ vf.WriteLine("#define LIBXSLT_MAJOR_VERSION " + verMajorXslt);
+ vf.WriteLine("#define LIBXSLT_MINOR_VERSION " + verMinorXslt);
+ vf.WriteLine("#define LIBXSLT_MICRO_VERSION " + verMicroXslt);
+ vf.WriteLine("#define LIBXSLT_DOTTED_VERSION " + "\"" + verMajorXslt +
"." + verMinorXslt + "." + verMicroXslt + "\"");
+ vf.WriteLine("#define LIBEXSLT_MAJOR_VERSION " + verMajorExslt);
+ vf.WriteLine("#define LIBEXSLT_MINOR_VERSION " + verMinorExslt);
+ vf.WriteLine("#define LIBEXSLT_MICRO_VERSION " + verMicroExslt);
+ vf.WriteLine("#define LIBEXSLT_DOTTED_VERSION " + "\"" + verMajorExslt
+ "." + verMinorExslt + "." + verMicroExslt + "\"");
+ vf.Close()
}
/* Configures libxslt. This one will generate xsltconfig.h from xsltconfig.h.in
diff --git a/libxslt/win32/libexslt.rc b/libxslt/win32/libexslt.rc
new file mode 100755
index 0000000..801774b
--- /dev/null
+++ b/libxslt/win32/libexslt.rc
@@ -0,0 +1,36 @@
+#include <winver.h>
+#include "rcVersion.h"
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION
LIBEXSLT_MAJOR_VERSION,LIBEXSLT_MINOR_VERSION,LIBEXSLT_MICRO_VERSION,0
+ PRODUCTVERSION
LIBEXSLT_MAJOR_VERSION,LIBEXSLT_MINOR_VERSION,LIBEXSLT_MICRO_VERSION,0
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE VFT2_UNKNOWN // not used
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "04090000" /* Lang = US English, Charset = ASCII */
+ BEGIN
+ VALUE "FileDescription", "libexslt library\0"
+ VALUE "FileVersion", LIBEXSLT_DOTTED_VERSION "\0"
+ VALUE "InternalName", "libexslt.dll\0"
+ VALUE "LegalCopyright", "Copyright (C) 1998-2012 Daniel Veillard\0"
+ VALUE "LegalTrademarks", "\0"
+ VALUE "OriginalFilename", "libexslt.dll\0"
+ VALUE "ProductName", "libexslt\0"
+ VALUE "ProductVersion", LIBEXSLT_DOTTED_VERSION "\0"
+ VALUE "Comments", "For more information visit
http://xmlsoft.org/\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 0 /* US English, ASCII */
+ END
+END
diff --git a/libxslt/win32/libxslt.rc b/libxslt/win32/libxslt.rc
new file mode 100755
index 0000000..f55f899
--- /dev/null
+++ b/libxslt/win32/libxslt.rc
@@ -0,0 +1,36 @@
+#include <winver.h>
+#include "rcVersion.h"
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION
LIBXSLT_MAJOR_VERSION,LIBXSLT_MINOR_VERSION,LIBXSLT_MICRO_VERSION,0
+ PRODUCTVERSION
LIBXSLT_MAJOR_VERSION,LIBXSLT_MINOR_VERSION,LIBXSLT_MICRO_VERSION,0
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE VFT2_UNKNOWN // not used
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "04090000" /* Lang = US English, Charset = ASCII */
+ BEGIN
+ VALUE "FileDescription", "libxslt library\0"
+ VALUE "FileVersion", LIBXSLT_DOTTED_VERSION "\0"
+ VALUE "InternalName", "libxslt.dll\0"
+ VALUE "LegalCopyright", "Copyright (C) 1998-2012 Daniel Veillard\0"
+ VALUE "LegalTrademarks", "\0"
+ VALUE "OriginalFilename", "libxslt.dll\0"
+ VALUE "ProductName", "libxslt\0"
+ VALUE "ProductVersion", LIBXSLT_DOTTED_VERSION "\0"
+ VALUE "Comments", "For more information visit
http://xmlsoft.org/\0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0409, 0 /* US English, ASCII */
+ END
+END
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
xml@gnome.org
https://mail.gnome.org/mailman/listinfo/xml