summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-04-05 19:21:40 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-04-05 19:21:40 +0000
commit405f0bd2d803566d8ac18b28b4898a321fcc08a8 (patch)
treec74adb5f57485af3a66c49c43722f32788920fc8
parent72247c7ef68c21decd208d433aecea869c487310 (diff)
downloadATCD-405f0bd2d803566d8ac18b28b4898a321fcc08a8.tar.gz
new, consolidated Win32 config files from Matthias
-rw-r--r--ace/config-win32-common.h288
-rw-r--r--ace/config-win32.h66
2 files changed, 354 insertions, 0 deletions
diff --git a/ace/config-win32-common.h b/ace/config-win32-common.h
new file mode 100644
index 00000000000..8dd9061148a
--- /dev/null
+++ b/ace/config-win32-common.h
@@ -0,0 +1,288 @@
+/* -*- C++ -*- */
+// $Id$
+
+// The following configuration file contains the defines
+// common to all Win32/MSVC/MFC combinations.
+
+#if !defined (ACE_WIN32_COMMON_H)
+#define ACE_WIN32_COMMON_H
+
+// ---------------- platform features or lack of them -------------
+
+#define ACE_HAS_EXCEPTIONS
+#define ACE_LACKS_SIGACTION
+#define ACE_LACKS_SIGSET
+#define ACE_LACKS_EXEC
+
+#define ACE_LACKS_SBRK
+#define ACE_LACKS_UTSNAME_T
+#define ACE_LACKS_SEMBUF_T
+#define ACE_LACKS_MSGBUF_T
+#define ACE_LACKS_SYSV_SHMEM
+
+// Compiler/platform correctly calls init()/fini() for shared
+// libraries. - applied for DLLs ?
+//define ACE_HAS_AUTOMATIC_INIT_FINI
+
+// Compiler doesn't support static data member templates.
+#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+
+#define ACE_LACKS_RECVMSG
+#define ACE_LACKS_SENDMSG
+
+// Platform supports POSIX O_NONBLOCK semantics.
+//define ACE_HAS_POSIX_NONBLOCK
+
+#define ACE_LACKS_MODE_MASKS
+#define ACE_LACKS_STRRECVFD
+
+// Compiler/platform has correctly prototyped header files.
+#define ACE_HAS_CPLUSPLUS_HEADERS
+
+// Platform supports IP multicast
+#define ACE_HAS_IP_MULTICAST
+
+// Sockets may be called in multi-threaded programs.
+#define ACE_HAS_MT_SAFE_SOCKETS
+
+// Platform contains <poll.h>.
+//define ACE_HAS_POLL
+
+// Platform supports POSIX timers via timestruc_t.
+//define ACE_HAS_POSIX_TIME
+
+// Platform supports the /proc file system.
+//define ACE_HAS_PROC_FS
+
+//#define ACE_HAS_STANDARD_CPP_LIBRARY
+
+// Platform supports the rusage struct.
+#define ACE_HAS_GETRUSAGE
+
+// Compiler/platform supports strerror ().
+#define ACE_HAS_STRERROR
+
+// Andreas Ueltschi tells me this is a good thing...
+#define ACE_HAS_SVR5_GETTIMEOFDAY
+
+// Compiler/platform supports poll().
+//define ACE_HAS_SVR4_POLL
+
+// Compiler/platform supports SVR4 signal typedef.
+//define ACE_HAS_SVR4_SIGNAL_T
+
+// Platform provides <sys/filio.h> header.
+//define ACE_HAS_SYS_FILIO_H
+
+// Compiler/platform supports sys_siglist array.
+//define ACE_HAS_SYS_SIGLIST
+
+#define ACE_WIN32
+#define ACE_HAS_TEMPLATE_INSTANTIATION
+
+//#define ACE_HAS_ALLOC_HOOKS
+#define ACE_TEMPLATES_REQUIRE_SOURCE
+
+// Platform supports ACE_TLI timod STREAMS module.
+//define ACE_HAS_TIMOD_H
+
+// Platform supports ACE_TLI tiuser header.
+//define ACE_HAS_TIUSER_H
+
+// Platform provides ACE_TLI function prototypes.
+// For Win32, this is not really true, but saves a lot of hassle!
+#define ACE_HAS_TLI_PROTOTYPES
+#define ACE_HAS_GNU_CSTRING_H
+// Platform supports ACE_TLI.
+//define ACE_HAS_TLI
+
+// I'm pretty sure NT lacks these
+#define ACE_LACKS_UNIX_DOMAIN_SOCKETS
+
+// Windows NT needs readv() and writev()
+#define ACE_NEEDS_WRITEV
+#define ACE_NEEDS_READV
+
+#define ACE_LACKS_COND_T
+#define ACE_LACKS_RWLOCK_T
+
+#define ACE_LACKS_KEY_T
+
+// Platform support for non-blocking connects is broken
+#define ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS
+
+// Platform support linebuffered streaming is broken
+#define ACE_LACKS_LINEBUFFERED_STREAMBUF
+
+// iostream header lacks ipfx (), isfx (), etc., declarations
+#define ACE_LACKS_IOSTREAM_FX
+
+// Turns off the tracing feature.
+#if !defined (ACE_NTRACE)
+ #define ACE_NTRACE 1
+#endif /* ACE_NTRACE */
+// #define ACE_NLOGGING
+
+// ----------------- "derived" defines and includes -----------
+
+// It seems that this works only with MSVC 4.1 and 4.2
+#if (1010 <= _MSC_VER) && (_MSC_VER <= 1020)
+ #define ACE_HAS_TEMPLATE_TYPEDEFS
+#endif
+
+// MFC itself defines STRICT.
+#if defined ACE_HAS_MFC
+ #if !defined(ACE_HAS_STRICT)
+ #define ACE_HAS_STRICT
+ #endif
+#endif
+
+// If you want to use highres timers, ensure that
+// Build.Settings.C++.CodeGeneration.Processor is
+// set to Pentium !
+#if (_M_IX86 > 400)
+ // Used for high resolution timers
+ #define ACE_HAS_PENTIUM
+#endif
+
+#if defined(ACE_MT_SAFE)
+ // Platform supports threads.
+ #define ACE_HAS_THREADS
+
+ // Platform supports Windows32 threads.
+ #define ACE_HAS_WTHREADS
+
+ // Compiler/platform has thread-specific storage
+ #define ACE_HAS_THREAD_SPECIFIC_STORAGE
+
+ // must have _MT defined to include multithreading
+ // features from win32 headers
+ #if !defined(_MT)
+ #define _MT
+ #endif
+
+ // use DLLs instead of static libs
+ #if !defined(_DLL)
+ #define _DLL
+ #endif
+#endif
+
+// We are using STL's min and max (in algobase.h). Therefore the
+// macros in window.h are extra
+#if !defined NOMINMAX
+ #define NOMINMAX
+#endif /* NOMINMAX */
+
+// While digging the MSVC 4.0 include files, I found how to disable
+// MSVC warnings: --Amos Shapira
+
+#if defined (_MSC_VER)
+ // "C4355: 'this' : used in base member initializer list"
+ #pragma warning(disable:4355) /* disable C4514 warning */
+ // #pragma warning(default:4355) // use this to reenable, if desired
+
+ #pragma warning(disable:4201) /* winnt.h uses nameless structs */
+#endif /* _MSC_VER */
+
+
+
+#if defined (ACE_HAS_UNICODE) && !defined (UNICODE)
+ #define UNICODE
+#endif
+
+#if defined (ACE_HAS_UNICODE) && !defined (_UNICODE)
+ #define _UNICODE
+#endif
+
+#ifdef _DEBUG
+ #include <crtdbg.h>
+#endif
+
+// We are build ACE and want to use MFC (multithreaded)
+#if defined(ACE_BUILD_DLL) && defined(ACE_HAS_MFC) && defined (_MT)
+ // force multithreaded MFC DLL
+ #define _AFXDLL
+#endif
+
+// <windows.h> and MFC's <afxwin.h> are mutually
+// incompatible. <windows.h> is brain-dead about MFC; it doesn't check
+// to see whether MFC stuff is anticipated or already in progress
+// before doing its thing. ACE needs (practically always) <winsock.h>,
+// and winsock in turn needs support either from windows.h or from
+// afxwin.h. One or the other, not both.
+//
+// The MSVC++ V4.0 environment defines preprocessor macros that
+// indicate the programmer has chosen something from the
+// Build-->Settings-->General-->MFC combo-box. <afxwin.h> defines a
+// macro itself to protect against double inclusion. We'll take
+// advantage of all this to select the proper support for winsock. -
+// trl 26-July-1996
+
+// This is necessary since MFC users apparently can't #include
+// <windows.h> directly.
+#if defined (_AFXDLL) || defined (_WINDLL) || ( defined(ACE_BUILD_DLL) && defined(ACE_HAS_MFC))
+ #include /**/ <afxwin.h> /* He is doing MFC */
+ // Windows.h will be included via afxwin.h->afx.h->afx_ver_.h->afxv_w32.h
+ // #define _INC_WINDOWS // Prevent winsock.h from including windows.h
+#endif
+
+#if !defined (_INC_WINDOWS) /* Already include windows.h ? */
+ // Must define strict before including windows.h !
+ #if defined (ACE_HAS_STRICT)
+ #define STRICT 1
+ #endif /* ACE_HAS_STRICT */
+
+ #if !defined (WIN32_LEAN_AND_MEAN)
+ #define WIN32_LEAN_AND_MEAN
+ #endif /* WIN32_LEAN_AND_MEAN */
+#endif /* !defined (_INC_INWDOWS) */
+
+#if defined (ACE_HAS_WINSOCK2)
+ #if !defined (_WINSOCK2API_)
+
+ #include /**/ <winsock2.h> /* will also include windows.h, if not present */
+
+ #if defined (_MSC_VER)
+ #pragma comment(lib, "ws2_32.lib")
+ #endif /* _MSC_VER */
+ #endif /* _WINSOCK2API */
+
+ #define ACE_WSOCK_VERSION 2, 0
+#else
+ #if !defined (_WINSOCKAPI_)
+ #include /**/ <winsock.h> /* will also include windows.h, if not present */
+
+ #if defined (_MSC_VER)
+ #pragma comment(lib, "wsock32.lib")
+ #endif /* _MSC_VER */
+ #endif /* _WINSOCKAPI */
+
+ // Version 1.1 of WinSock
+ #define ACE_WSOCK_VERSION 1, 1
+#endif /* ACE_HAS_WINSOCK2 */
+
+#if defined (_MSC_VER)
+ #pragma warning(default: 4201) /* winnt.h uses nameless structs */
+#endif /* _MSC_VER */
+
+#if(_WIN32_WINNT >= 0x0400)
+ #define ACE_HAS_WIN32_TRYLOCK
+ #define ACE_HAS_SIGNAL_OBJECT_AND_WAIT
+
+ // If CancelIO is undefined get the updated sp2-sdk
+ // from MS
+ #define ACE_HAS_CANCEL_IO
+#endif
+
+#if (_MSC_VER >= 1000)
+ // Compiler/Platform supports the "using" keyword.
+ #define ACE_HAS_USING_KEYWORD
+#endif
+
+#if (_MSC_VER < 1000)
+ // This needs to be here since MSVC++ 2.0 seems to have forgotten to
+ // include it. Does anybody know which MSC_VER MSVC 2.0 has ?
+ inline void *operator new (unsigned int, void *p) { return p; }
+#endif
+
+#endif /* ACE_WIN32_COMMON_H */
diff --git a/ace/config-win32.h b/ace/config-win32.h
new file mode 100644
index 00000000000..a72555ca972
--- /dev/null
+++ b/ace/config-win32.h
@@ -0,0 +1,66 @@
+/* -*- C++ -*- */
+// $Id$
+
+// The following configuration file is designed to work for Windows 95,
+// Windows NT 3.51 and Windows NT 4.0 platforms using the Microsoft Visual C++
+// compilers 2.0, 4.0, 4.1, and 4.2.
+// It should work with MSVC 5.0, but this has not been tested.
+
+#if !defined (ACE_CONFIG_H)
+#define ACE_CONFIG_H
+
+// ----------------------- user configuration defines --------------------
+
+// Define this if you're running NT 4.x
+// Setting applies to : building ACE
+// Runtime restrictions: System must be Windows NT > 4.0
+// #define _WIN32_WINNT 0x0400
+
+// Uncomment this, if you want ACE to use CWinThread. This should
+// be defined, if your application uses MFC.
+// Setting applies to : building ACE
+// Runtime restrictions: MFC DLLs must be installed
+// Additonal notes : If both ACE_HAS_MFC and ACE_MT_SAFE are
+// defined, the MFC DLL (not the static lib)
+// will be used from ACE.
+// #define ACE_HAS_MFC
+
+// Comment this out if you don't want to use STRICT type checking.
+// Setting applies to : building ACE, linking with ACE
+// Runtime restrictions: -
+// Additonal notes : ACE_HAS_MFC implies ACE_HAS_STRICT
+#define ACE_HAS_STRICT
+
+// Turn off the following define if you want to disable threading.
+// Compile using multi-thread libraries.
+// Setting applies to : building ACE, linking with ACE
+// Runtime restrictions: multithreaded runtime DLL must be installed
+#define ACE_MT_SAFE
+
+// Build as as a DLL. Zap this line if you want to build a static
+// lib.
+// Setting applies to : building ACE, linking with ACE
+// Runtime restrictions: ACE DLL must be installed :-)
+#define ACE_HAS_DLL
+
+// Define the following macro if you're compiling with WinSock 2.0.
+// Setting applies to : building ACE
+// Runtime restrictions: winsock2 must be installed.
+// #define ACE_HAS_WINSOCK2
+
+// Define this, if you are using UNICODE.
+// Setting applies to : building ACE, linking with ACE
+// Runtime restrictions: system must be WinNT (any version)
+// #define ACE_HAS_UNICODE
+
+// Uncomment these if you want to integrate ACE and Orbix in Win32.
+// Setting applies to : building ACE, linking with ACE
+// Runtime restrictions: system must have Orbix DLLs
+// #define ACE_HAS_ORBIX
+// #define ACE_HAS_MT_ORBIX
+
+// ----------------------- platform specific defines --------------------
+
+#include <ace/config-win32-common.h>
+
+#endif /* ACE_CONFIG_H */