/* 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 . 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 , if we want to define _WIN32_WINNT before . */ #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 #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 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