2 //=============================================================================
4 * @file config-win32-msvc-14.h
6 * @brief Microsoft Visual C++ 14.0 configuration file.
8 * This file is the ACE configuration file for Microsoft Visual C++ version 2015.
10 * @note Do not include this file directly, include config-win32.h instead.
12 //=============================================================================
14 #ifndef ACE_CONFIG_WIN32_MSVC_14_H
15 #define ACE_CONFIG_WIN32_MSVC_14_H
16 #include /**/ "ace/pre.h"
18 #ifndef ACE_CONFIG_WIN32_H
19 #error Use config-win32.h in config.h instead of this header
20 #endif /* ACE_CONFIG_WIN32_H */
22 #ifndef ACE_WIN32_VC14
23 # define ACE_WIN32_VC14
26 // Windows' timeval is non-conformant (defined in terms of long instead of
27 // time_t) and VC8 changed time_t to a 64-bit value even when compiling a
28 // 32-bit application. Therefore, ace/Time_Value needs to rearrange a few
29 // things for this compiler. See Time_Value.h for complete details.
30 #if !defined (_USE_32BIT_TIME_T)
31 # define ACE_HAS_TIME_T_LONG_MISMATCH
36 #define ACE_ITOA_EQUIVALENT ::_itoa
37 #define ACE_STRCASECMP_EQUIVALENT ::_stricmp
38 #define ACE_STRNCASECMP_EQUIVALENT ::_strnicmp
39 #define ACE_WCSDUP_EQUIVALENT ::_wcsdup
40 #define ACE_FILENO_EQUIVALENT(X) (_get_osfhandle (::_fileno (X)))
42 #define ACE_HAS_SIG_ATOMIC_T
44 #define ACE_LACKS_STRPTIME
46 #define ACE_HAS_INTRIN_H
47 #define ACE_HAS_INTRINSIC_INTERLOCKED
49 #define ACE_HAS_INTRINSIC_BYTESWAP
51 #define ACE_LACKS_STRRECVFD
53 // Platform provides ACE_TLI function prototypes.
54 // For Win32, this is not really true, but saves a lot of hassle!
55 #define ACE_HAS_TLI_PROTOTYPES
57 // Platform support linebuffered streaming is broken
58 #define ACE_LACKS_LINEBUFFERED_STREAMBUF
60 // ace/iostream.h does not work with the standard cpp library (yet).
61 #if !defined (ACE_USES_OLD_IOSTREAMS)
62 # define ACE_LACKS_ACE_IOSTREAM
63 #endif /* ! ACE_USES_OLD_IOSTREAMS */
65 // There are too many instances of this warning to fix it right now.
66 // Maybe in the future.
68 // Disable warning of using Microsoft Extension.
69 #pragma warning(disable:4231)
71 // 'class1' : inherits 'class2::member' via dominance
72 #pragma warning(disable:4250)
74 #if !defined (ACE_HAS_TR24731_2005_CRT)
75 # define ACE_HAS_TR24731_2005_CRT
78 // A template can not be exported. Only an instantiation may be exported.
79 #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT
81 // Windows Vista and Windows Server 2008 and newer do have native condition
82 // variables, but this is commented out because the support in ACE hasn't
84 // #if defined (_WIN32_WINNT) && (_WIN32_WINNT >= 0x0600)
85 // # define ACE_HAS_WTHREADS_CONDITION_VARIABLE
86 // # undef ACE_LACKS_COND_T
89 #define ACE_HAS_POSIX_TIME 1
90 #define ACE_LACKS_TIMESPEC_T 1
92 // According to MS the Visual Studio 2015 C-runtime has a
93 // C99 compliant vsnprintf/vsnwprintf, this is a change compared to
95 #define ACE_HAS_C99_VSNPRINTF
96 #define ACE_HAS_C99_VSNWPRINTF
98 // Visual Studio 2015 has 3 parameter wcstok
99 #define ACE_HAS_3_PARAM_WCSTOK
101 // Visual Studio 2015 has adequate C++11 support
102 #define ACE_HAS_CPP11
104 #define ACE_PUTENV_EQUIVALENT ::_putenv
105 #define ACE_TEMPNAM_EQUIVALENT ::_tempnam
106 #define ACE_STRDUP_EQUIVALENT ::_strdup
107 #define ACE_MKDIR_EQUIVALENT ::_mkdir
108 #define ACE_ACCESS_EQUIVALENT ::_access
109 #define ACE_CHDIR_EQUIVALENT ::_chdir
110 #define ACE_RMDIR_EQUIVALENT ::_rmdir
111 #define ACE_GETCWD_EQUIVALENT ::_getcwd
112 #define ACE_SWAB_EQUIVALENT ::_swab
113 #define ACE_UNLINK_EQUIVALENT ::_unlink
115 #define ACE_HAS_STRNLEN
116 #define ACE_HAS_WCSNLEN
118 #define ACE_LACKS_STRUCT_DIR
119 #define ACE_LACKS_OPENDIR
120 #define ACE_LACKS_CLOSEDIR
121 #define ACE_LACKS_READDIR
123 #define ACE_LACKS_MODE_T
124 #define ACE_LACKS_PID_T
126 #define ACE_LACKS_NLINK_T
127 #define ACE_LACKS_UID_T
128 #define ACE_LACKS_GID_T
130 #include /**/ "ace/post.h"
131 #endif /* ACE_CONFIG_WIN32_MSVC_14_H */