diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1996-12-29 06:03:54 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1996-12-29 06:03:54 +0000 |
commit | 645a9c1a4457349320e62d85af49f62e80da53c0 (patch) | |
tree | f53047e120c3fbf82484b3291737267f77c1d013 /ace | |
parent | d4ec3d9de204f069a6375e759589727398a0b925 (diff) | |
download | ATCD-645a9c1a4457349320e62d85af49f62e80da53c0.tar.gz |
foo
Diffstat (limited to 'ace')
-rw-r--r-- | ace/ACE.cpp | 91 | ||||
-rw-r--r-- | ace/ACE.h | 10 | ||||
-rw-r--r-- | ace/README | 1 | ||||
-rw-r--r-- | ace/SPIPE_Acceptor.cpp | 8 | ||||
-rw-r--r-- | ace/SPIPE_Acceptor.h | 2 | ||||
-rw-r--r-- | ace/config-win32-msvc2.0.h | 3 | ||||
-rw-r--r-- | ace/config-win32-msvc4.x.h | 232 | ||||
-rw-r--r-- | ace/config-winnt-4.0-msvc4.x.h | 236 |
8 files changed, 537 insertions, 46 deletions
diff --git a/ace/ACE.cpp b/ace/ACE.cpp index ed045a78707..353f0ebcb0c 100644 --- a/ace/ACE.cpp +++ b/ace/ACE.cpp @@ -110,6 +110,7 @@ ACE::strenvdup (const char *str) /* Examples: + Source NT UNIX =============================================================== netsvc netsvc.dll libnetsvc.so @@ -118,15 +119,15 @@ netsvc netsvc.dll libnetsvc.so libnetsvc.dll libnetsvc.dll libnetsvc.dll + warning netsvc.so netsvc.so + warning libnetsvc.so -..\../libs/netsvc ..\..\libs\netsvc.dll ../../libs/libnetsvc.so +..\../libs/netsvc ..\..\libs\netsvc.dll ../../libs/netsvc.so (absolute path used) (absolute path used) */ int -ACE::ldfind (const char *filename, - char *pathname, - size_t maxlen) +ACE::ldfind (const char filename[], + char pathname[], + size_t maxpathnamelen) { ACE_TRACE ("ACE::ldfind"); @@ -144,66 +145,78 @@ ACE::ldfind (const char *filename, else ACE_OS::strcpy (tempcopy, filename); - // Insert canonical directory separators + // Insert canonical directory separators. char *separator_ptr; - for (separator_ptr = tempcopy; *separator_ptr != '\0'; separator_ptr++) + for (separator_ptr = tempcopy; + *separator_ptr != '\0'; + separator_ptr++) if (*separator_ptr == '\\' || *separator_ptr == ACE_DIRECTORY_SEPARATOR_CHAR) *separator_ptr = '/'; + int got_prefix = 0; + + // Separate filename from pathname. + separator_ptr = ACE_OS::strrchr (tempcopy, '/'); - // Separate filename from pathname - if (separator_ptr != NULL) + // This is a relative path. + if (separator_ptr == 0) + { + searchpathname[0] = '\0'; + ACE_OS::strcpy (tempfilename, tempcopy); + + // Note that we only try to set the prefix if we're dealing with + // a relative path. + if (ACE_OS::strlen (ACE_DLL_PREFIX) == 0 + || ACE_OS::strncmp (tempfilename, ACE_DLL_PREFIX, + ACE_OS::strlen (ACE_DLL_PREFIX) == 0)) + got_prefix = 1; + } + else // This is an absolute path. { ACE_OS::strcpy (tempfilename, separator_ptr + 1); separator_ptr[1] = '\0'; ACE_OS::strcpy (searchpathname, tempcopy); - } - else - { - searchpathname[0] = '\0'; - ACE_OS::strcpy (tempfilename, tempcopy); } - // Determine, how the filename needs to be decorated. + // Determine how the filename needs to be decorated. - int got_prefix = 0; int got_suffix = 0; - if (ACE_OS::strchr (tempfilename, '.') != NULL) - got_suffix = -1; + // Check to see if this has an appropriate DLL suffix for the OS + // platform. + char *s = ACE_OS::strrchr (tempfilename, '.'); + if (s != 0 && ACE_OS::strcmp (s + 1, ACE_DLL_SUFFIX)) + got_suffix = 1; - if (ACE_OS::strlen(ACE_DLL_PREFIX) == 0 - || (ACE_OS::strncmp(tempfilename, ACE_DLL_PREFIX, - ACE_OS::strlen(ACE_DLL_PREFIX) == 0))) - got_prefix = -1; - - // Create the properly decorated filename + // Create the properly decorated filename. if (ACE_OS::strlen (tempfilename) + - (got_prefix) ? 0 : ACE_OS::strlen(ACE_DLL_PREFIX) + - (got_suffix) ? 0 : ACE_OS::strlen (ACE_DLL_SUFFIX) >= sizeof searchfilename) + got_prefix ? 0 : ACE_OS::strlen (ACE_DLL_PREFIX) + + got_suffix ? 0 : ACE_OS::strlen (ACE_DLL_SUFFIX) >= sizeof searchfilename) { errno = ENOMEM; return -1; } else ::sprintf (searchfilename, "%s%s%s", - (got_prefix) ? "" : ACE_DLL_PREFIX, + got_prefix ? "" : ACE_DLL_PREFIX, tempfilename, - (got_suffix) ? "" : ACE_DLL_SUFFIX); + got_suffix ? "" : ACE_DLL_SUFFIX); - if (ACE_OS::strcmp (searchfilename + ACE_OS::strlen (searchfilename) - ACE_OS::strlen (ACE_DLL_SUFFIX), + if (ACE_OS::strcmp (searchfilename + + ACE_OS::strlen (searchfilename) - ACE_OS::strlen (ACE_DLL_SUFFIX), ACE_DLL_SUFFIX)) ACE_ERROR ((LM_NOTICE, "CAUTION: improper name for a shared library on this patform: %s\n", searchfilename)); + // Use absolute pathname if there is one. if (ACE_OS::strlen (searchpathname) > 0) { - // Use absolute pathname. - if (ACE_OS::strlen (searchfilename) + ACE_OS::strlen (searchpathname) >= maxlen) + if (ACE_OS::strlen (searchfilename) + + ACE_OS::strlen (searchpathname) >= maxpathnamelen) { errno = ENOMEM; return -1; @@ -212,7 +225,9 @@ ACE::ldfind (const char *filename, { // Revert to native path name separators - for (separator_ptr = searchpathname; *separator_ptr != '\0'; separator_ptr++) + for (separator_ptr = searchpathname; + *separator_ptr != '\0'; + separator_ptr++) if (*separator_ptr == '/') *separator_ptr = ACE_DIRECTORY_SEPARATOR_CHAR; @@ -220,23 +235,25 @@ ACE::ldfind (const char *filename, return 0; } } - else + + // Use relative filenames via LD_LIBRARY_PATH or PATH (depending on + // OS platform). + else { - // Using LD_LIBRARY_PATH char *ld_path = ACE_OS::getenv (ACE_LD_SEARCH_PATH); if (ld_path != 0 && (ld_path = ACE_OS::strdup (ld_path)) != 0) { // Look at each dynamic lib directory in the search path. - char *path_entry = ACE_OS::strtok (ld_path, - ACE_LD_SEARCH_PATH_SEPARATOR_STR); + char *path_entry = ACE_OS::strtok + (ld_path, ACE_LD_SEARCH_PATH_SEPARATOR_STR); int result = 0; while (path_entry != 0) { - if (ACE_OS::strlen (path_entry) + 1 + ACE_OS::strlen - (searchfilename) >= maxlen) + if (ACE_OS::strlen (path_entry) + + 1 + ACE_OS::strlen (searchfilename) >= maxpathnamelen) { errno = ENOMEM; result = -1; diff --git a/ace/ACE.h b/ace/ACE.h index 0263b92fded..3bd4202f45f 100644 --- a/ace/ACE.h +++ b/ace/ACE.h @@ -250,9 +250,13 @@ public: static int ldfind (const char *filename, char *pathname, size_t maxlen); - // Finds the file <filename> either using absolute path or using - // ACE_LD_SEARCH_PATH (e.g., $LD_LIBRARY_PATH on UNIX or $PATH on - // Win32). + // Finds the file <filename> either using an absolute path or using + // a relative path in conjunction with ACE_LD_SEARCH_PATH (e.g., + // $LD_LIBRARY_PATH on UNIX or $PATH on Win32). This function will + // add appropriate suffix (e.g., .dll on Win32 or .so on UNIX) + // according to the OS platform. In addition, if a relative path is + // used, this function will prefix the appropriate prefix (e.g., + // "lib" on UNIX and "" on Win32). static FILE *ldopen (const char *filename, const char *type); // Uses <ldopen> to locate and open the appropriate <filename> and diff --git a/ace/README b/ace/README index a5be0ad87dc..e08ed010e38 100644 --- a/ace/README +++ b/ace/README @@ -25,6 +25,7 @@ ACE_HAS_BROKEN_SENDMSG OS/compiler omits the const from the sendmsg() prototyp ACE_HAS_BROKEN_SETRLIMIT OS/compiler omits the const from the rlimit parameter in the setrlimit() prototype. ACE_HAS_BROKEN_WRITEV OS/compiler omits the const from the iovec parameter in the writev() prototype. ACE_HAS_BSTRING Platform has <bstring.h> (which contains bzero() prototype) +ACE_HAS_CANCEL_IO Platform supports the Win32 CancelIO() function (WinNT 4.0 and beyond). ACE_HAS_CHARPTR_DL OS/platform uses char * for dlopen/dlsym args, rather than const char *. ACE_HAS_CHARPTR_SOCKOPT OS/platform uses char * for sockopt, rather than const char * ACE_HAS_COMPLEX_LOCK Platform supports non-standard readers/writer locks... diff --git a/ace/SPIPE_Acceptor.cpp b/ace/SPIPE_Acceptor.cpp index fddb16a2b8d..e89fdcdab6b 100644 --- a/ace/SPIPE_Acceptor.cpp +++ b/ace/SPIPE_Acceptor.cpp @@ -75,11 +75,11 @@ ACE_SPIPE_Acceptor::create_new_instance (int perms) // process is reused with a new client process, ::ConnectNamedPipe() // would fail. - ACE_UNUSED_ARG(perms); - ACE_TRACE ("ACE_SPIPE_Acceptor::create_new_instance"); + ACE_UNUSED_ARG(perms); + ACE_TRACE ("ACE_SPIPE_Acceptor::create_new_instance"); - // Create a new instance of the named pipe - ACE_HANDLE handle = ::CreateNamedPipe (this->local_addr_.get_path_name (), + // Create a new instance of the named pipe + ACE_HANDLE handle = ::CreateNamedPipe (this->local_addr_.get_path_name (), PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED, PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE, diff --git a/ace/SPIPE_Acceptor.h b/ace/SPIPE_Acceptor.h index 9ebc7847589..4035a6492e5 100644 --- a/ace/SPIPE_Acceptor.h +++ b/ace/SPIPE_Acceptor.h @@ -69,8 +69,8 @@ public: ACE_ALLOC_HOOK_DECLARE; // Declare the dynamic allocation hooks. -private: +private: int create_new_instance (int perms = 0); // Create a new instance of an SPIPE. }; diff --git a/ace/config-win32-msvc2.0.h b/ace/config-win32-msvc2.0.h index e68ead2d81f..1ea7f514dde 100644 --- a/ace/config-win32-msvc2.0.h +++ b/ace/config-win32-msvc2.0.h @@ -2,7 +2,8 @@ // $Id$ // The following configuration file is designed to work for Windows NT -// platforms using the Microsoft Visual C++ 2.0 compiler. +// 3.51 and Win95 platforms using the Microsoft Visual C++ 2.0 +// compiler. #if !defined (ACE_CONFIG_H) #define ACE_CONFIG_H diff --git a/ace/config-win32-msvc4.x.h b/ace/config-win32-msvc4.x.h new file mode 100644 index 00000000000..433f23d0e0f --- /dev/null +++ b/ace/config-win32-msvc4.x.h @@ -0,0 +1,232 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for Windows NT +// 3.51 and Win95 platforms using the Microsoft Visual C++ 4.x +// compiler. + +#if !defined (ACE_CONFIG_H) +#define ACE_CONFIG_H + +// 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 */ + +#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 */ + +// While digging the MSVC 4.0 include files, I found how to disable +// MSVC warnings: --Amos Shapira + +// Comment this out for now since it will break existing application +// code. +// #define ACE_HAS_STRICT + +// <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) +#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 */ + +#if defined (_UNICODE) +#if !defined (UNICODE) +#define UNICODE /* UNICODE is used by Windows headers */ +#endif /* UNICODE */ +#endif /* _UNICODE */ + +#if defined (UNICODE) +#if !defined (_UNICODE) +#define _UNICODE /* _UNICODE is used by C-runtime/MFC headers */ +#endif /* _UNICODE */ +#endif /* UNICODE */ +#endif /* !defined (_INC_INWDOWS) */ + +// Define the following macro if you're compiling with WinSock 2.0. +// #define ACE_HAS_WINSOCK2 + +#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 */ + +#define ACE_HAS_UNICODE +//#define ACE_HAS_STANDARD_CPP_LIBRARY + +// Uncomment these if you want to integrate ACE and Orbix in Win32. +// #define ACE_HAS_ORBIX +// #define ACE_HAS_MT_ORBIX + +#define ACE_HAS_TEMPLATE_TYPEDEFS +#define ACE_LACKS_SBRK +#define ACE_LACKS_UTSNAME_T +#define ACE_LACKS_SEMBUF_T +#define ACE_LACKS_MSGBUF_T +#define ACE_LACKS_SYSV_SHMEM + +// Build as as a DLL. Zap this line if you want to build a static +// lib. +#define ACE_HAS_DLL + +// 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 + +// 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 + +/* Turn off the following four defines if you want to disable threading. */ +// Compile using multi-thread libraries. +#define 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 + +#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 + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ +// #define ACE_NLOGGING + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// 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 + +// Compiler/Platform supports the "using" keyword. +#define ACE_HAS_USING_KEYWORD + +#define ACE_LACKS_COND_T +#define ACE_LACKS_RWLOCK_T +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-winnt-4.0-msvc4.x.h b/ace/config-winnt-4.0-msvc4.x.h new file mode 100644 index 00000000000..97625039c60 --- /dev/null +++ b/ace/config-winnt-4.0-msvc4.x.h @@ -0,0 +1,236 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for Windows NT +// 4.0 platforms using the Microsoft Visual C++ 4.x compiler. + +#if !defined (ACE_CONFIG_H) +#define ACE_CONFIG_H + +// 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 */ + +#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 */ + +// While digging the MSVC 4.0 include files, I found how to disable +// MSVC warnings: --Amos Shapira + +// Comment this out for now since it will break existing application +// code. +// #define ACE_HAS_STRICT + +// <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) +#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 */ + +#if defined (_UNICODE) +#if !defined (UNICODE) +#define UNICODE /* UNICODE is used by Windows headers */ +#endif /* UNICODE */ +#endif /* _UNICODE */ + +#if defined (UNICODE) +#if !defined (_UNICODE) +#define _UNICODE /* _UNICODE is used by C-runtime/MFC headers */ +#endif /* _UNICODE */ +#endif /* UNICODE */ +#endif /* !defined (_INC_INWDOWS) */ + +// Define the following macro if you're compiling with WinSock 2.0. +// #define ACE_HAS_WINSOCK2 + +#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 */ + +#define ACE_HAS_UNICODE +//#define ACE_HAS_STANDARD_CPP_LIBRARY + +// Uncomment these if you want to integrate ACE and Orbix in Win32. +// #define ACE_HAS_ORBIX +// #define ACE_HAS_MT_ORBIX + +#define ACE_HAS_TEMPLATE_TYPEDEFS +#define ACE_LACKS_SBRK +#define ACE_LACKS_UTSNAME_T +#define ACE_LACKS_SEMBUF_T +#define ACE_LACKS_MSGBUF_T +#define ACE_LACKS_SYSV_SHMEM + +// Build as as a DLL. Zap this line if you want to build a static +// lib. +#define ACE_HAS_DLL + +// 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 + +// 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 + +/* Turn off the following four defines if you want to disable threading. */ +// Compile using multi-thread libraries. +#define 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 + +#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 + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ +// #define ACE_NLOGGING + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// 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 + +// Compiler/Platform supports the "using" keyword. +#define ACE_HAS_USING_KEYWORD + +#define ACE_LACKS_COND_T +#define ACE_LACKS_RWLOCK_T + +// #define ACE_HAS_WIN32_TRYLOCK +// #define ACE_HAS_SIGNAL_OBJECT_AND_WAIT +// #define ACE_HAS_CANCEL_IO + +#endif /* ACE_CONFIG_H */ |