]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
zstd.exe has FileVersion and ProductVersion
authorinikep <inikep@gmail.com>
Tue, 13 Sep 2016 11:53:43 +0000 (13:53 +0200)
committerinikep <inikep@gmail.com>
Tue, 13 Sep 2016 11:53:43 +0000 (13:53 +0200)
.gitattributes
programs/Makefile
projects/VS2010/zstd/generate_res.bat [new file with mode: 0644]
projects/VS2010/zstd/verrsrc.h [new file with mode: 0644]
projects/VS2010/zstd/zstd.res [new file with mode: 0644]
projects/VS2010/zstd/zstd.vcxproj
projects/VS2010/zstdlib/zstdlib.rc

index 38708019805447b62ffe42545709a653f4c1dcbe..6212bd405b4a952331871f838c3b878609403e0c 100644 (file)
@@ -14,7 +14,7 @@
 *.vcxproj* text eol=crlf
 *.vcproj* text eol=crlf
 *.suo binary
-*.rc binary
+*.rc text eol=crlf
 
 # Windows
 *.bat text eol=crlf
index bfc7be37375885ad026fc6fd367795275febb0f1..ccd282c972c16414f5e290f621d0dbe43af5d535 100644 (file)
@@ -57,6 +57,7 @@ endif
 ifneq (,$(filter Windows%,$(OS)))
 EXT =.exe
 VOID = nul
+RES_FILE = ..\projects\VS2010\zstd\zstd.res
 else
 EXT =
 VOID = /dev/null
@@ -78,7 +79,7 @@ $(ZSTDDECOMP32_O): $(ZSTDDIR)/decompress/zstd_decompress.c
 
 zstd  : $(ZSTDDECOMP_O) $(ZSTD_FILES) $(ZSTDLEGACY_FILES) $(ZDICT_FILES) \
         zstdcli.c fileio.c bench.c datagen.c dibio.c
-       $(CC)      $(FLAGS) -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT) $^ -o $@$(EXT)
+       $(CC)      $(FLAGS) -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT) $^ $(RES_FILE) -o $@$(EXT)
 
 zstd32 : $(ZSTDDECOMP32_O) $(ZSTD_FILES) $(ZSTDLEGACY_FILES) $(ZDICT_FILES) \
         zstdcli.c fileio.c bench.c datagen.c dibio.c
diff --git a/projects/VS2010/zstd/generate_res.bat b/projects/VS2010/zstd/generate_res.bat
new file mode 100644 (file)
index 0000000..4dfa075
--- /dev/null
@@ -0,0 +1,3 @@
+REM http://stackoverflow.com/questions/708238/how-do-i-add-an-icon-to-a-mingw-gcc-compiled-executable
+REM copy "c:\Program Files (x86)\Windows Kits\8.1\Include\um\verrsrc.h" .
+windres -I ..\..\..\lib -O coff -i zstd.rc -o zstd.res
diff --git a/projects/VS2010/zstd/verrsrc.h b/projects/VS2010/zstd/verrsrc.h
new file mode 100644 (file)
index 0000000..37e48d3
--- /dev/null
@@ -0,0 +1,172 @@
+#include <winapifamily.h>
+
+/*****************************************************************************\
+*                                                                             *
+* verrsrc.h -   Version Resource definitions                                  *
+*                                                                             *
+*               Include file declaring version resources in rc files          *
+*                                                                             *
+*               Copyright (c) Microsoft Corporation. All rights reserved.     *
+*                                                                             *
+\*****************************************************************************/
+
+#pragma region Application Family
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
+
+/* ----- Symbols ----- */
+#define VS_FILE_INFO            RT_VERSION
+#define VS_VERSION_INFO         1
+#define VS_USER_DEFINED         100
+
+/* ----- VS_VERSION.dwFileFlags ----- */
+#ifndef _MAC
+#define VS_FFI_SIGNATURE        0xFEEF04BDL
+#else
+#define VS_FFI_SIGNATURE        0xBD04EFFEL
+#endif
+#define VS_FFI_STRUCVERSION     0x00010000L
+#define VS_FFI_FILEFLAGSMASK    0x0000003FL
+
+/* ----- VS_VERSION.dwFileFlags ----- */
+#define VS_FF_DEBUG             0x00000001L
+#define VS_FF_PRERELEASE        0x00000002L
+#define VS_FF_PATCHED           0x00000004L
+#define VS_FF_PRIVATEBUILD      0x00000008L
+#define VS_FF_INFOINFERRED      0x00000010L
+#define VS_FF_SPECIALBUILD      0x00000020L
+
+/* ----- VS_VERSION.dwFileOS ----- */
+#define VOS_UNKNOWN             0x00000000L
+#define VOS_DOS                 0x00010000L
+#define VOS_OS216               0x00020000L
+#define VOS_OS232               0x00030000L
+#define VOS_NT                  0x00040000L
+#define VOS_WINCE               0x00050000L
+
+#define VOS__BASE               0x00000000L
+#define VOS__WINDOWS16          0x00000001L
+#define VOS__PM16               0x00000002L
+#define VOS__PM32               0x00000003L
+#define VOS__WINDOWS32          0x00000004L
+
+#define VOS_DOS_WINDOWS16       0x00010001L
+#define VOS_DOS_WINDOWS32       0x00010004L
+#define VOS_OS216_PM16          0x00020002L
+#define VOS_OS232_PM32          0x00030003L
+#define VOS_NT_WINDOWS32        0x00040004L
+
+/* ----- VS_VERSION.dwFileType ----- */
+#define VFT_UNKNOWN             0x00000000L
+#define VFT_APP                 0x00000001L
+#define VFT_DLL                 0x00000002L
+#define VFT_DRV                 0x00000003L
+#define VFT_FONT                0x00000004L
+#define VFT_VXD                 0x00000005L
+#define VFT_STATIC_LIB          0x00000007L
+
+/* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_DRV ----- */
+#define VFT2_UNKNOWN            0x00000000L
+#define VFT2_DRV_PRINTER        0x00000001L
+#define VFT2_DRV_KEYBOARD       0x00000002L
+#define VFT2_DRV_LANGUAGE       0x00000003L
+#define VFT2_DRV_DISPLAY        0x00000004L
+#define VFT2_DRV_MOUSE          0x00000005L
+#define VFT2_DRV_NETWORK        0x00000006L
+#define VFT2_DRV_SYSTEM         0x00000007L
+#define VFT2_DRV_INSTALLABLE    0x00000008L
+#define VFT2_DRV_SOUND          0x00000009L
+#define VFT2_DRV_COMM           0x0000000AL
+#define VFT2_DRV_INPUTMETHOD    0x0000000BL
+#define VFT2_DRV_VERSIONED_PRINTER    0x0000000CL
+
+/* ----- VS_VERSION.dwFileSubtype for VFT_WINDOWS_FONT ----- */
+#define VFT2_FONT_RASTER        0x00000001L
+#define VFT2_FONT_VECTOR        0x00000002L
+#define VFT2_FONT_TRUETYPE      0x00000003L
+
+#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
+#pragma endregion
+
+#pragma region Desktop Family
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
+
+/* ----- VerFindFile() flags ----- */
+#define VFFF_ISSHAREDFILE       0x0001
+
+#define VFF_CURNEDEST           0x0001
+#define VFF_FILEINUSE           0x0002
+#define VFF_BUFFTOOSMALL        0x0004
+
+/* ----- VerInstallFile() flags ----- */
+#define VIFF_FORCEINSTALL       0x0001
+#define VIFF_DONTDELETEOLD      0x0002
+
+#define VIF_TEMPFILE            0x00000001L
+#define VIF_MISMATCH            0x00000002L
+#define VIF_SRCOLD              0x00000004L
+
+#define VIF_DIFFLANG            0x00000008L
+#define VIF_DIFFCODEPG          0x00000010L
+#define VIF_DIFFTYPE            0x00000020L
+
+#define VIF_WRITEPROT           0x00000040L
+#define VIF_FILEINUSE           0x00000080L
+#define VIF_OUTOFSPACE          0x00000100L
+#define VIF_ACCESSVIOLATION     0x00000200L
+#define VIF_SHARINGVIOLATION    0x00000400L
+#define VIF_CANNOTCREATE        0x00000800L
+#define VIF_CANNOTDELETE        0x00001000L
+#define VIF_CANNOTRENAME        0x00002000L
+#define VIF_CANNOTDELETECUR     0x00004000L
+#define VIF_OUTOFMEMORY         0x00008000L
+
+#define VIF_CANNOTREADSRC       0x00010000L
+#define VIF_CANNOTREADDST       0x00020000L
+
+#define VIF_BUFFTOOSMALL        0x00040000L
+#define VIF_CANNOTLOADLZ32      0x00080000L
+#define VIF_CANNOTLOADCABINET   0x00100000L
+
+#ifndef RC_INVOKED              /* RC doesn't need to see the rest of this */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+    
+/* 
+    FILE_VER_GET_... flags are for use by 
+    GetFileVersionInfoSizeEx
+    GetFileVersionInfoExW
+*/
+#define FILE_VER_GET_LOCALISED  0x01
+#define FILE_VER_GET_NEUTRAL    0x02
+#define FILE_VER_GET_PREFETCHED 0x04
+
+/* ----- Types and structures ----- */
+
+typedef struct tagVS_FIXEDFILEINFO
+{
+    DWORD   dwSignature;            /* e.g. 0xfeef04bd */
+    DWORD   dwStrucVersion;         /* e.g. 0x00000042 = "0.42" */
+    DWORD   dwFileVersionMS;        /* e.g. 0x00030075 = "3.75" */
+    DWORD   dwFileVersionLS;        /* e.g. 0x00000031 = "0.31" */
+    DWORD   dwProductVersionMS;     /* e.g. 0x00030010 = "3.10" */
+    DWORD   dwProductVersionLS;     /* e.g. 0x00000031 = "0.31" */
+    DWORD   dwFileFlagsMask;        /* = 0x3F for version "0.42" */
+    DWORD   dwFileFlags;            /* e.g. VFF_DEBUG | VFF_PRERELEASE */
+    DWORD   dwFileOS;               /* e.g. VOS_DOS_WINDOWS16 */
+    DWORD   dwFileType;             /* e.g. VFT_DRIVER */
+    DWORD   dwFileSubtype;          /* e.g. VFT2_DRV_KEYBOARD */
+    DWORD   dwFileDateMS;           /* e.g. 0 */
+    DWORD   dwFileDateLS;           /* e.g. 0 */
+} VS_FIXEDFILEINFO;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif  /* !RC_INVOKED */
+
+#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
+#pragma endregion
+
diff --git a/projects/VS2010/zstd/zstd.res b/projects/VS2010/zstd/zstd.res
new file mode 100644 (file)
index 0000000..d726146
Binary files /dev/null and b/projects/VS2010/zstd/zstd.res differ
index 5922d925e2f2404920ffa8bbf0abea5170a6ca1d..0f4e06aa2e3b853cb4c2c98887b6ed2b5d800179 100644 (file)
@@ -69,6 +69,9 @@
     <ClInclude Include="..\..\..\programs\fileio.h" />
     <ClInclude Include="..\..\..\programs\util.h" />
   </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="zstd.rc" />
+  </ItemGroup>
   <PropertyGroup Label="Globals">
     <ProjectGuid>{4E52A41A-F33B-4C7A-8C36-A1A6B4F4277C}</ProjectGuid>
     <Keyword>Win32Proj</Keyword>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
index 6c4dde486e6b609ef13a3fddf0729d5fcbbb4a6f..de8ecbcf8a1ec452cb4692a7c63145f5aece17ae 100644 (file)
@@ -1,51 +1,51 @@
-// Microsoft Visual C++ generated resource script.\r
-//\r
-\r
-#include "zstd.h" /* ZSTD_VERSION_STRING */\r
-#define APSTUDIO_READONLY_SYMBOLS\r
-#include "verrsrc.h"\r
-#undef APSTUDIO_READONLY_SYMBOLS\r
-\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r
-LANGUAGE 9, 1\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Version\r
-//\r
-\r
-VS_VERSION_INFO     VERSIONINFO\r
-  FILEVERSION       ZSTD_LIB_VERSION\r
-  PRODUCTVERSION    ZSTD_LIB_VERSION\r
- FILEFLAGSMASK VS_FFI_FILEFLAGSMASK\r
-#ifdef _DEBUG\r
- FILEFLAGS VS_FF_DEBUG\r
-#else\r
- FILEFLAGS 0x0L\r
-#endif\r
- FILEOS VOS_NT_WINDOWS32\r
- FILETYPE VFT_DLL\r
- FILESUBTYPE VFT2_UNKNOWN\r
-BEGIN\r
-    BLOCK "StringFileInfo"\r
-    BEGIN\r
-        BLOCK "040904B0"\r
-        BEGIN\r
-            VALUE "CompanyName", "Yann Collet"\r
-            VALUE "FileDescription", "Fast and efficient compression algorithm"\r
-            VALUE "FileVersion", ZSTD_VERSION_STRING\r
-            VALUE "InternalName", "zstdlib.dll"\r
-            VALUE "LegalCopyright", "Copyright (C) 2013-2015, Yann Collet"\r
-            VALUE "OriginalFilename", "zstdlib.dll"\r
-            VALUE "ProductName", "Zstandard"\r
-            VALUE "ProductVersion", ZSTD_VERSION_STRING\r
-        END\r
-    END\r
-    BLOCK "VarFileInfo"\r
-    BEGIN\r
-        VALUE "Translation", 0x0409, 1200\r
-    END\r
-END\r
-\r
-#endif\r
+// Microsoft Visual C++ generated resource script.
+//
+
+#include "zstd.h" /* ZSTD_VERSION_STRING */
+#define APSTUDIO_READONLY_SYMBOLS
+#include "verrsrc.h"
+#undef APSTUDIO_READONLY_SYMBOLS
+
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+LANGUAGE 9, 1
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO     VERSIONINFO
+  FILEVERSION       ZSTD_VERSION_MAJOR,ZSTD_VERSION_MINOR,ZSTD_VERSION_RELEASE,0
+  PRODUCTVERSION    ZSTD_VERSION_MAJOR,ZSTD_VERSION_MINOR,ZSTD_VERSION_RELEASE,0
+ FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS VOS_NT_WINDOWS32
+ FILETYPE VFT_DLL
+ FILESUBTYPE VFT2_UNKNOWN
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904B0"
+        BEGIN
+            VALUE "CompanyName", "Yann Collet"
+            VALUE "FileDescription", "Fast and efficient compression algorithm"
+            VALUE "FileVersion", ZSTD_VERSION_STRING
+            VALUE "InternalName", "zstdlib.dll"
+            VALUE "LegalCopyright", "Copyright (C) 2013-2016, Yann Collet"
+            VALUE "OriginalFilename", "zstdlib.dll"
+            VALUE "ProductName", "Zstandard"
+            VALUE "ProductVersion", ZSTD_VERSION_STRING
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x0409, 1200
+    END
+END
+
+#endif