summaryrefslogtreecommitdiffstats
path: root/contrib/src/boost/config/platform/win32.hpp
blob: 8fc3ba36492cf6c1f05b3d28a52d52ea1228d567 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
//  (C) Copyright John Maddock 2001 - 2003. 

//  (C) Copyright Bill Kempf 2001. 

//  (C) Copyright Aleksey Gurtovoy 2003. 

//  (C) Copyright Rene Rivera 2005.

//  Use, modification and distribution are subject to the 

//  Boost Software License, Version 1.0. (See accompanying file 

//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)


//  See http://www.boost.org for most recent version.


//  Win32 specific config options:


#define BOOST_PLATFORM "Win32"


//  Get the information about the MinGW runtime, i.e. __MINGW32_*VERSION.

#if defined(__MINGW32__)

#  include <_mingw.h>

#endif


#if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF)

#  define BOOST_NO_SWPRINTF

#endif


//  Default defines for BOOST_SYMBOL_EXPORT and BOOST_SYMBOL_IMPORT

//  If a compiler doesn't support __declspec(dllexport)/__declspec(dllimport),

//  its boost/config/compiler/ file must define BOOST_SYMBOL_EXPORT and

//  BOOST_SYMBOL_IMPORT

#ifndef BOOST_SYMBOL_EXPORT

#  define BOOST_HAS_DECLSPEC

#  define BOOST_SYMBOL_EXPORT __declspec(dllexport)

#  define BOOST_SYMBOL_IMPORT __declspec(dllimport)

#endif


#if defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 2) || ((__MINGW32_MAJOR_VERSION == 2) && (__MINGW32_MINOR_VERSION >= 0)))

#  define BOOST_HAS_STDINT_H

#  ifndef __STDC_LIMIT_MACROS

#     define __STDC_LIMIT_MACROS

#  endif

#  define BOOST_HAS_DIRENT_H

#  define BOOST_HAS_UNISTD_H

#endif


#if defined(__MINGW32__) && (__GNUC__ >= 4)

// Mingw has these functions but there are persistent problems

// with calls to these crashing, so disable for now:

//#  define BOOST_HAS_EXPM1

//#  define BOOST_HAS_LOG1P

#  define BOOST_HAS_GETTIMEOFDAY

#endif

//

// Win32 will normally be using native Win32 threads,

// but there is a pthread library avaliable as an option,

// we used to disable this when BOOST_DISABLE_WIN32 was 

// defined but no longer - this should allow some

// files to be compiled in strict mode - while maintaining

// a consistent setting of BOOST_HAS_THREADS across

// all translation units (needed for shared_ptr etc).

//


#ifndef BOOST_HAS_PTHREADS

#  define BOOST_HAS_WINTHREADS

#endif


//

// WinCE configuration:

//

#if defined(_WIN32_WCE) || defined(UNDER_CE)

#  define BOOST_NO_ANSI_APIS

// Windows CE does not have a conforming signature for swprintf

#  define BOOST_NO_SWPRINTF

#else

#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME

#  define BOOST_HAS_THREADEX

#  define BOOST_HAS_GETSYSTEMTIMEASFILETIME

#endif


//

// Windows Runtime

//

#if defined(WINAPI_FAMILY) && \

  (WINAPI_FAMILY == WINAPI_FAMILY_APP || WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
#  define BOOST_NO_ANSI_APIS

#endif


#ifndef BOOST_DISABLE_WIN32

// WEK: Added

#define BOOST_HAS_FTIME

#define BOOST_WINDOWS 1


#endif