win32-headers.h 2.07 KB
Newer Older
1
// Copyright 2012 the V8 project authors. All rights reserved.
2 3
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
4

5 6
#ifndef V8_BASE_WIN32_HEADERS_H_
#define V8_BASE_WIN32_HEADERS_H_
7

8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#ifndef WIN32_LEAN_AND_MEAN
// WIN32_LEAN_AND_MEAN implies NOCRYPT and NOGDI.
#define WIN32_LEAN_AND_MEAN
#endif
#ifndef NOMINMAX
#define NOMINMAX
#endif
#ifndef NOKERNEL
#define NOKERNEL
#endif
#ifndef NOUSER
#define NOUSER
#endif
#ifndef NOSERVICE
#define NOSERVICE
#endif
#ifndef NOSOUND
#define NOSOUND
#endif
#ifndef NOMCX
#define NOMCX
#endif
30 31
// Require Windows Vista or higher (this is required for the
// QueryThreadCycleTime function to be present).
32
#ifndef _WIN32_WINNT
33
#define _WIN32_WINNT 0x0600
34 35 36 37
#endif

#include <windows.h>

38
#include <mmsystem.h>  // For timeGetTime().
39
#include <signal.h>  // For raise().
40 41 42 43 44 45 46
#include <time.h>  // For LocalOffset() implementation.
#ifdef __MINGW32__
// Require Windows XP or higher when compiling with MinGW. This is for MinGW
// header files to expose getaddrinfo.
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x501
#endif  // __MINGW32__
47
#if !defined(__MINGW32__) || defined(__MINGW64_VERSION_MAJOR)
48 49 50
#include <dbghelp.h>         // For SymLoadModule64 and al.
#include <errno.h>           // For STRUNCATE
#include <versionhelpers.h>  // For IsWindows8OrGreater().
51
#endif  // !defined(__MINGW32__) || defined(__MINGW64_VERSION_MAJOR)
52 53 54 55 56 57 58
#include <limits.h>  // For INT_MAX and al.
#include <tlhelp32.h>  // For Module32First and al.

// These additional WIN32 includes have to be right here as the #undef's below
// makes it impossible to have them elsewhere.
#include <winsock2.h>
#include <ws2tcpip.h>
59 60 61
#ifndef __MINGW32__
#include <wspiapi.h>
#endif  // __MINGW32__
62
#include <process.h>  // For _beginthreadex().
63 64 65 66 67 68 69 70 71 72 73 74
#include <stdlib.h>

#undef VOID
#undef DELETE
#undef IN
#undef THIS
#undef CONST
#undef NAN
#undef UNKNOWN
#undef NONE
#undef ANY
#undef IGNORE
75
#undef STRICT
76 77
#undef GetObject
#undef CreateSemaphore
78
#undef Yield
bmeurer@chromium.org's avatar
bmeurer@chromium.org committed
79
#undef RotateRight32
ahaas's avatar
ahaas committed
80
#undef RotateLeft32
bmeurer@chromium.org's avatar
bmeurer@chromium.org committed
81
#undef RotateRight64
ahaas's avatar
ahaas committed
82
#undef RotateLeft64
83

84
#endif  // V8_BASE_WIN32_HEADERS_H_