| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- /* Precomp.h -- precompilation file
- 2024-01-25 : Igor Pavlov : Public domain */
- #ifndef ZIP7_INC_PRECOMP_H
- #define ZIP7_INC_PRECOMP_H
- /*
- this file must be included before another *.h files and before <windows.h>.
- this file is included from the following files:
- C\*.c
- C\Util\*\Precomp.h <- C\Util\*\*.c
- CPP\Common\Common.h <- *\StdAfx.h <- *\*.cpp
- this file can set the following macros:
- Z7_LARGE_PAGES 1
- Z7_LONG_PATH 1
- Z7_WIN32_WINNT_MIN 0x0500 (or higher) : we require at least win2000+ for 7-Zip
- _WIN32_WINNT 0x0500 (or higher)
- WINVER _WIN32_WINNT
- UNICODE 1
- _UNICODE 1
- */
- #include "Compiler.h"
- #ifdef _MSC_VER
- // #pragma warning(disable : 4206) // nonstandard extension used : translation unit is empty
- #if _MSC_VER >= 1912
- // #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.
- #endif
- #endif
- /*
- // for debug:
- #define UNICODE 1
- #define _UNICODE 1
- #define _WIN32_WINNT 0x0500 // win2000
- #ifndef WINVER
- #define WINVER _WIN32_WINNT
- #endif
- */
- #ifdef _WIN32
- /*
- this "Precomp.h" file must be included before <windows.h>,
- if we want to define _WIN32_WINNT before <windows.h>.
- */
- #ifndef Z7_LARGE_PAGES
- #ifndef Z7_NO_LARGE_PAGES
- #define Z7_LARGE_PAGES 1
- #endif
- #endif
- #ifndef Z7_LONG_PATH
- #ifndef Z7_NO_LONG_PATH
- #define Z7_LONG_PATH 1
- #endif
- #endif
- #ifndef Z7_DEVICE_FILE
- #ifndef Z7_NO_DEVICE_FILE
- // #define Z7_DEVICE_FILE 1
- #endif
- #endif
- // we don't change macros if included after <windows.h>
- #ifndef _WINDOWS_
- #ifndef Z7_WIN32_WINNT_MIN
- #if defined(_M_ARM64) || defined(__aarch64__)
- // #define Z7_WIN32_WINNT_MIN 0x0a00 // win10
- #define Z7_WIN32_WINNT_MIN 0x0600 // vista
- #elif defined(_M_ARM) && defined(_M_ARMT) && defined(_M_ARM_NT)
- // #define Z7_WIN32_WINNT_MIN 0x0602 // win8
- #define Z7_WIN32_WINNT_MIN 0x0600 // vista
- #elif defined(_M_X64) || defined(_M_AMD64) || defined(__x86_64__) || defined(_M_IA64)
- #define Z7_WIN32_WINNT_MIN 0x0503 // win2003
- // #elif defined(_M_IX86) || defined(__i386__)
- // #define Z7_WIN32_WINNT_MIN 0x0500 // win2000
- #else // x86 and another(old) systems
- #define Z7_WIN32_WINNT_MIN 0x0500 // win2000
- // #define Z7_WIN32_WINNT_MIN 0x0502 // win2003 // for debug
- #endif
- #endif // Z7_WIN32_WINNT_MIN
- #ifndef Z7_DO_NOT_DEFINE_WIN32_WINNT
- #ifdef _WIN32_WINNT
- // #error Stop_Compiling_Bad_WIN32_WINNT
- #else
- #ifndef Z7_NO_DEFINE_WIN32_WINNT
- Z7_DIAGNOSTIC_IGNORE_BEGIN_RESERVED_MACRO_IDENTIFIER
- #define _WIN32_WINNT Z7_WIN32_WINNT_MIN
- Z7_DIAGNOSTIC_IGNORE_END_RESERVED_MACRO_IDENTIFIER
- #endif
- #endif // _WIN32_WINNT
- #ifndef WINVER
- #define WINVER _WIN32_WINNT
- #endif
- #endif // Z7_DO_NOT_DEFINE_WIN32_WINNT
- #ifndef _MBCS
- #ifndef Z7_NO_UNICODE
- // UNICODE and _UNICODE are used by <windows.h> and by 7-zip code.
- #ifndef UNICODE
- #define UNICODE 1
- #endif
- #ifndef _UNICODE
- Z7_DIAGNOSTIC_IGNORE_BEGIN_RESERVED_MACRO_IDENTIFIER
- #define _UNICODE 1
- Z7_DIAGNOSTIC_IGNORE_END_RESERVED_MACRO_IDENTIFIER
- #endif
- #endif // Z7_NO_UNICODE
- #endif // _MBCS
- #endif // _WINDOWS_
- // #include "7zWindows.h"
- #endif // _WIN32
- #endif
|