128 lines
3.2 KiB
C
128 lines
3.2 KiB
C
/* 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
|