summaryrefslogtreecommitdiff
path: root/ACE/ace/config-win32-mingw64.h
blob: 7c0971be1fe31d5c4280de5341bdbf0e74fb1b72 (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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// -*- C++ -*-
// $Id$

//
// The following configuration file is designed to work for win32 and win64
// platforms using gcc/g++ with mingw64 (http://http://mingw-w64.sourceforge.net/).
//

#ifndef ACE_CONFIG_WIN32_MINGW64_H
#define ACE_CONFIG_WIN32_MINGW64_H
#include /**/ "ace/pre.h"

#ifndef ACE_CONFIG_WIN32_H
#  error Use config-win32.h in config.h instead of this header
#endif /* ACE_CONFIG_WIN32_H */

#define ACE_CC_PREPROCESSOR "cpp"
#define ACE_CC_PREPROCESOR_ARGS ""

#if !defined(__MINGW32__) || !defined (__MINGW64_VERSION_MAJOR)
#  error You do not seem to be using mingw64
#endif

#if defined (WIN64) || defined (__WIN64__)
# define ACE_SIZEOF_LONG_DOUBLE 16
#else
# define ACE_SIZEOF_LONG_DOUBLE 12
#endif

#include "ace/config-g++-common.h"

#include /**/ <_mingw.h>
#include /**/ <w32api.h>

#if defined (exception_info)
# undef exception_info
#endif

#define ACE_HAS_USER_MODE_MASKS

#if (!defined (__MINGW64_VERSION_MAJOR) || (__MINGW64_VERSION_MAJOR < 2))
# error You need a newer version (>= 2.0) of mingw32/w32api
#endif

#include <stdio.h>

#if defined (fileno)
# undef fileno
#endif
#if (__MINGW64_VERSION_MAJOR >= 3)
# define ACE_FILENO_EQUIVALENT ::_fileno
#endif

#if (__MINGW64_VERSION_MAJOR >= 2)

# define ACE_HAS_SSIZE_T
# undef ACE_LACKS_STRUCT_DIR
# undef ACE_LACKS_OPENDIR
# undef ACE_LACKS_CLOSEDIR
# undef ACE_LACKS_READDIR
# undef ACE_LACKS_TELLDIR
# undef ACE_LACKS_SEEKDIR
# undef ACE_LACKS_REWINDDIR
# undef ACE_LACKS_USECONDS_T

# define ACE_HAS_POSIX_TIME 1
# define ACE_LACKS_TIMESPEC_T 1
# define ACE_HAS_NONCONST_SELECT_TIMEVAL 1

# if defined (ACE_HAS_QOS) && !defined (ACE_HAS_WINSOCK2_GQOS)
#   define ACE_HAS_WINSOCK2_GQOS
# endif

# if defined (WIN64) || defined (__WIN64__)
#   define ACE_LACKS_INLINE_ASSEMBLY
# endif

# include <stdlib.h>
# if defined (strtod)
#  undef strtod
# endif

#else
#  define ACE_LACKS_DIRENT_H
#endif // __MINGW64_VERSION_MAJOR >= 3

#undef ACE_HAS_WTOF

#define ACE_LACKS_SYS_SHM_H
#define ACE_LACKS_TERMIOS_H
#define ACE_LACKS_NETINET_TCP_H
#define ACE_LACKS_STRRECVFD
#define ACE_LACKS_STRPTIME
#define ACE_LACKS_POLL_H
#define ACE_LACKS_REGEX_H
#define ACE_LACKS_SYS_MSG_H
#define ACE_LACKS_PWD_H
#define ACE_LACKS_SEMAPHORE_H
#define ACE_LACKS_UCONTEXT_H
#define ACE_LACKS_SYS_SELECT_H
#define ACE_LACKS_SYS_RESOURCE_H
#define ACE_LACKS_SYS_WAIT_H
#define ACE_LACKS_DLFCN_H
#define ACE_LACKS_SYS_MMAN_H
#define ACE_LACKS_SYS_UIO_H
#define ACE_LACKS_SYS_SOCKET_H
#define ACE_LACKS_NETINET_IN_H
#define ACE_LACKS_NETDB_H
#define ACE_LACKS_NET_IF_H
#define ACE_LACKS_SYS_IPC_H
#define ACE_LACKS_SYS_SEM_H
#define ACE_LACKS_STROPTS_H
#define ACE_LACKS_SYS_IOCTL_H
#define ACE_LACKS_PDH_H
#define ACE_LACKS_PDHMSG_H
#define ACE_LACKS_STRTOK_R
#define ACE_LACKS_LOCALTIME_R
#define ACE_HAS_NONCONST_WCSDUP
#define ACE_ISCTYPE_EQUIVALENT ::_isctype

#define ACE_INT64_FORMAT_SPECIFIER_ASCII "%I64d"
#define ACE_UINT64_FORMAT_SPECIFIER_ASCII "%I64u"

#define ACE_ENDTHREADEX(STATUS)  ::_endthreadex ((DWORD) (STATUS))

#define ACE_DLL_PREFIX ACE_TEXT ("lib")

#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_WIN32_MINGW64_H */