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

Reply via email to