1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef V8_BASE_WIN32_HEADERS_H_
6 #define V8_BASE_WIN32_HEADERS_H_
8 #ifndef WIN32_LEAN_AND_MEAN
9 // WIN32_LEAN_AND_MEAN implies NOCRYPT and NOGDI.
10 #define WIN32_LEAN_AND_MEAN
30 // Require Windows XP or higher (this is required for the RtlCaptureContext
31 // function to be present).
33 #define _WIN32_WINNT 0x501
38 #include <mmsystem.h> // For timeGetTime().
39 #include <signal.h> // For raise().
40 #include <time.h> // For LocalOffset() implementation.
42 // Require Windows XP or higher when compiling with MinGW. This is for MinGW
43 // header files to expose getaddrinfo.
45 #define _WIN32_WINNT 0x501
47 #if !defined(__MINGW32__) || defined(__MINGW64_VERSION_MAJOR)
48 #include <dbghelp.h> // For SymLoadModule64 and al.
49 #include <errno.h> // For STRUNCATE
50 #endif // !defined(__MINGW32__) || defined(__MINGW64_VERSION_MAJOR)
51 #include <limits.h> // For INT_MAX and al.
52 #include <tlhelp32.h> // For Module32First and al.
54 // These additional WIN32 includes have to be right here as the #undef's below
55 // makes it impossible to have them elsewhere.
61 #include <process.h> // For _beginthreadex().
76 #undef CreateSemaphore
79 #endif // V8_BASE_WIN32_HEADERS_H_