2024-10-22 09:40:00 +00:00
/* Precomp.h -- precompilation file
2024 - 01 - 25 : Igor Pavlov : Public domain */
2020-01-30 05:47:11 +00:00
2024-10-22 09:40:00 +00:00
# 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
*/
2020-01-30 05:47:11 +00:00
# include "Compiler.h"
2024-10-22 09:40:00 +00:00
# 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
2020-01-30 05:47:11 +00:00
# endif