/* Precomp.h -- precompilation file12024-01-25 : Igor Pavlov : Public domain */23#ifndef ZIP7_INC_PRECOMP_H4#define ZIP7_INC_PRECOMP_H56/*7this file must be included before another *.h files and before <windows.h>.8this file is included from the following files:9C\*.c10C\Util\*\Precomp.h <- C\Util\*\*.c11CPP\Common\Common.h <- *\StdAfx.h <- *\*.cpp1213this file can set the following macros:14Z7_LARGE_PAGES 115Z7_LONG_PATH 116Z7_WIN32_WINNT_MIN 0x0500 (or higher) : we require at least win2000+ for 7-Zip17_WIN32_WINNT 0x0500 (or higher)18WINVER _WIN32_WINNT19UNICODE 120_UNICODE 121*/2223#include "Compiler.h"2425#ifdef _MSC_VER26// #pragma warning(disable : 4206) // nonstandard extension used : translation unit is empty27#if _MSC_VER >= 191228// #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.29#endif30#endif3132/*33// for debug:34#define UNICODE 135#define _UNICODE 136#define _WIN32_WINNT 0x0500 // win200037#ifndef WINVER38#define WINVER _WIN32_WINNT39#endif40*/4142#ifdef _WIN3243/*44this "Precomp.h" file must be included before <windows.h>,45if we want to define _WIN32_WINNT before <windows.h>.46*/4748#ifndef Z7_LARGE_PAGES49#ifndef Z7_NO_LARGE_PAGES50#define Z7_LARGE_PAGES 151#endif52#endif5354#ifndef Z7_LONG_PATH55#ifndef Z7_NO_LONG_PATH56#define Z7_LONG_PATH 157#endif58#endif5960#ifndef Z7_DEVICE_FILE61#ifndef Z7_NO_DEVICE_FILE62// #define Z7_DEVICE_FILE 163#endif64#endif6566// we don't change macros if included after <windows.h>67#ifndef _WINDOWS_6869#ifndef Z7_WIN32_WINNT_MIN70#if defined(_M_ARM64) || defined(__aarch64__)71// #define Z7_WIN32_WINNT_MIN 0x0a00 // win1072#define Z7_WIN32_WINNT_MIN 0x0600 // vista73#elif defined(_M_ARM) && defined(_M_ARMT) && defined(_M_ARM_NT)74// #define Z7_WIN32_WINNT_MIN 0x0602 // win875#define Z7_WIN32_WINNT_MIN 0x0600 // vista76#elif defined(_M_X64) || defined(_M_AMD64) || defined(__x86_64__) || defined(_M_IA64)77#define Z7_WIN32_WINNT_MIN 0x0503 // win200378// #elif defined(_M_IX86) || defined(__i386__)79// #define Z7_WIN32_WINNT_MIN 0x0500 // win200080#else // x86 and another(old) systems81#define Z7_WIN32_WINNT_MIN 0x0500 // win200082// #define Z7_WIN32_WINNT_MIN 0x0502 // win2003 // for debug83#endif84#endif // Z7_WIN32_WINNT_MIN858687#ifndef Z7_DO_NOT_DEFINE_WIN32_WINNT88#ifdef _WIN32_WINNT89// #error Stop_Compiling_Bad_WIN32_WINNT90#else91#ifndef Z7_NO_DEFINE_WIN32_WINNT92Z7_DIAGNOSTIC_IGNORE_BEGIN_RESERVED_MACRO_IDENTIFIER93#define _WIN32_WINNT Z7_WIN32_WINNT_MIN94Z7_DIAGNOSTIC_IGNORE_END_RESERVED_MACRO_IDENTIFIER95#endif96#endif // _WIN32_WINNT9798#ifndef WINVER99#define WINVER _WIN32_WINNT100#endif101#endif // Z7_DO_NOT_DEFINE_WIN32_WINNT102103104#ifndef _MBCS105#ifndef Z7_NO_UNICODE106// UNICODE and _UNICODE are used by <windows.h> and by 7-zip code.107108#ifndef UNICODE109#define UNICODE 1110#endif111112#ifndef _UNICODE113Z7_DIAGNOSTIC_IGNORE_BEGIN_RESERVED_MACRO_IDENTIFIER114#define _UNICODE 1115Z7_DIAGNOSTIC_IGNORE_END_RESERVED_MACRO_IDENTIFIER116#endif117118#endif // Z7_NO_UNICODE119#endif // _MBCS120#endif // _WINDOWS_121122// #include "7zWindows.h"123124#endif // _WIN32125126#endif127128129