diff options
Diffstat (limited to 'C/Precomp.h')
-rw-r--r-- | C/Precomp.h | 123 |
1 files changed, 120 insertions, 3 deletions
diff --git a/C/Precomp.h b/C/Precomp.h index 69afb2f..7747fdd 100644 --- a/C/Precomp.h +++ b/C/Precomp.h | |||
@@ -1,10 +1,127 @@ | |||
1 | /* Precomp.h -- StdAfx | 1 | /* Precomp.h -- precompilation file |
2 | 2023-04-02 : Igor Pavlov : Public domain */ | 2 | 2024-01-25 : Igor Pavlov : Public domain */ |
3 | 3 | ||
4 | #ifndef ZIP7_INC_PRECOMP_H | 4 | #ifndef ZIP7_INC_PRECOMP_H |
5 | #define ZIP7_INC_PRECOMP_H | 5 | #define ZIP7_INC_PRECOMP_H |
6 | 6 | ||
7 | /* | ||
8 | this file must be included before another *.h files and before <windows.h>. | ||
9 | this file is included from the following files: | ||
10 | C\*.c | ||
11 | C\Util\*\Precomp.h <- C\Util\*\*.c | ||
12 | CPP\Common\Common.h <- *\StdAfx.h <- *\*.cpp | ||
13 | |||
14 | this file can set the following macros: | ||
15 | Z7_LARGE_PAGES 1 | ||
16 | Z7_LONG_PATH 1 | ||
17 | Z7_WIN32_WINNT_MIN 0x0500 (or higher) : we require at least win2000+ for 7-Zip | ||
18 | _WIN32_WINNT 0x0500 (or higher) | ||
19 | WINVER _WIN32_WINNT | ||
20 | UNICODE 1 | ||
21 | _UNICODE 1 | ||
22 | */ | ||
23 | |||
7 | #include "Compiler.h" | 24 | #include "Compiler.h" |
8 | /* #include "7zTypes.h" */ | 25 | |
26 | #ifdef _MSC_VER | ||
27 | // #pragma warning(disable : 4206) // nonstandard extension used : translation unit is empty | ||
28 | #if _MSC_VER >= 1912 | ||
29 | // #pragma warning(disable : 5039) // pointer or reference to potentially throwing function passed to 'extern "C"' function under - EHc.Undefined behavior may occur if this function throws an exception. | ||
30 | #endif | ||
31 | #endif | ||
32 | |||
33 | /* | ||
34 | // for debug: | ||
35 | #define UNICODE 1 | ||
36 | #define _UNICODE 1 | ||
37 | #define _WIN32_WINNT 0x0500 // win2000 | ||
38 | #ifndef WINVER | ||
39 | #define WINVER _WIN32_WINNT | ||
40 | #endif | ||
41 | */ | ||
42 | |||
43 | #ifdef _WIN32 | ||
44 | /* | ||
45 | this "Precomp.h" file must be included before <windows.h>, | ||
46 | if we want to define _WIN32_WINNT before <windows.h>. | ||
47 | */ | ||
48 | |||
49 | #ifndef Z7_LARGE_PAGES | ||
50 | #ifndef Z7_NO_LARGE_PAGES | ||
51 | #define Z7_LARGE_PAGES 1 | ||
52 | #endif | ||
53 | #endif | ||
54 | |||
55 | #ifndef Z7_LONG_PATH | ||
56 | #ifndef Z7_NO_LONG_PATH | ||
57 | #define Z7_LONG_PATH 1 | ||
58 | #endif | ||
59 | #endif | ||
60 | |||
61 | #ifndef Z7_DEVICE_FILE | ||
62 | #ifndef Z7_NO_DEVICE_FILE | ||
63 | // #define Z7_DEVICE_FILE 1 | ||
64 | #endif | ||
65 | #endif | ||
66 | |||
67 | // we don't change macros if included after <windows.h> | ||
68 | #ifndef _WINDOWS_ | ||
69 | |||
70 | #ifndef Z7_WIN32_WINNT_MIN | ||
71 | #if defined(_M_ARM64) || defined(__aarch64__) | ||
72 | // #define Z7_WIN32_WINNT_MIN 0x0a00 // win10 | ||
73 | #define Z7_WIN32_WINNT_MIN 0x0600 // vista | ||
74 | #elif defined(_M_ARM) && defined(_M_ARMT) && defined(_M_ARM_NT) | ||
75 | // #define Z7_WIN32_WINNT_MIN 0x0602 // win8 | ||
76 | #define Z7_WIN32_WINNT_MIN 0x0600 // vista | ||
77 | #elif defined(_M_X64) || defined(_M_AMD64) || defined(__x86_64__) || defined(_M_IA64) | ||
78 | #define Z7_WIN32_WINNT_MIN 0x0503 // win2003 | ||
79 | // #elif defined(_M_IX86) || defined(__i386__) | ||
80 | // #define Z7_WIN32_WINNT_MIN 0x0500 // win2000 | ||
81 | #else // x86 and another(old) systems | ||
82 | #define Z7_WIN32_WINNT_MIN 0x0500 // win2000 | ||
83 | // #define Z7_WIN32_WINNT_MIN 0x0502 // win2003 // for debug | ||
84 | #endif | ||
85 | #endif // Z7_WIN32_WINNT_MIN | ||
86 | |||
87 | |||
88 | #ifndef Z7_DO_NOT_DEFINE_WIN32_WINNT | ||
89 | #ifdef _WIN32_WINNT | ||
90 | // #error Stop_Compiling_Bad_WIN32_WINNT | ||
91 | #else | ||
92 | #ifndef Z7_NO_DEFINE_WIN32_WINNT | ||
93 | Z7_DIAGNOSTIC_IGNORE_BEGIN_RESERVED_MACRO_IDENTIFIER | ||
94 | #define _WIN32_WINNT Z7_WIN32_WINNT_MIN | ||
95 | Z7_DIAGNOSTIC_IGNORE_END_RESERVED_MACRO_IDENTIFIER | ||
96 | #endif | ||
97 | #endif // _WIN32_WINNT | ||
98 | |||
99 | #ifndef WINVER | ||
100 | #define WINVER _WIN32_WINNT | ||
101 | #endif | ||
102 | #endif // Z7_DO_NOT_DEFINE_WIN32_WINNT | ||
103 | |||
104 | |||
105 | #ifndef _MBCS | ||
106 | #ifndef Z7_NO_UNICODE | ||
107 | // UNICODE and _UNICODE are used by <windows.h> and by 7-zip code. | ||
108 | |||
109 | #ifndef UNICODE | ||
110 | #define UNICODE 1 | ||
111 | #endif | ||
112 | |||
113 | #ifndef _UNICODE | ||
114 | Z7_DIAGNOSTIC_IGNORE_BEGIN_RESERVED_MACRO_IDENTIFIER | ||
115 | #define _UNICODE 1 | ||
116 | Z7_DIAGNOSTIC_IGNORE_END_RESERVED_MACRO_IDENTIFIER | ||
117 | #endif | ||
118 | |||
119 | #endif // Z7_NO_UNICODE | ||
120 | #endif // _MBCS | ||
121 | #endif // _WINDOWS_ | ||
122 | |||
123 | // #include "7zWindows.h" | ||
124 | |||
125 | #endif // _WIN32 | ||
9 | 126 | ||
10 | #endif | 127 | #endif |