summaryrefslogtreecommitdiff
path: root/ace
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-07-09 12:28:04 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-07-09 12:28:04 +0000
commitd9478ee45d21cd3ac15b8ba03a4c9a5771a5e0c3 (patch)
treef8a8403193ab0b8422077cb41d2ad050ad0de7d8 /ace
parente5b95291cde31c11b5818e746107c25979e92ab9 (diff)
downloadATCD-d9478ee45d21cd3ac15b8ba03a4c9a5771a5e0c3.tar.gz
added ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION
Diffstat (limited to 'ace')
-rw-r--r--ace/README1
-rw-r--r--ace/config-vxworks5.x-g++.h46
2 files changed, 28 insertions, 19 deletions
diff --git a/ace/README b/ace/README
index fd8cb90eda4..e05d1e23edc 100644
--- a/ace/README
+++ b/ace/README
@@ -62,6 +62,7 @@ ACE_HAS_LIMITED_RUSAGE_T The rusage_t structure has only two fields.
ACE_HAS_LONGLONG_T Compiler/platform supports the "long long" datatype.
ACE_HAS_LONG_FDMASK Compiler/platform has typedef u_long fdmask (e.g., Linux).
ACE_HAS_LONG_MAP_FAILED Platform defines MAP_FAILED as a long constant.
+ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION Avoid #including iostream.h except where needed. Some platforms, such as g++/VxWorks, have trouble with it. See config-vxworks5.x-g++.h for gory details.
ACE_HAS_MFC Platform supports Microsoft Foundation Classes
ACE_HAS_MSG Platform supports recvmsg and sendmsg
ACE_HAS_MT_SAFE_MKTIME Platform supports MT safe mktime() call (do any of them?)
diff --git a/ace/config-vxworks5.x-g++.h b/ace/config-vxworks5.x-g++.h
index 63751710a96..dd54618a56e 100644
--- a/ace/config-vxworks5.x-g++.h
+++ b/ace/config-vxworks5.x-g++.h
@@ -2,7 +2,8 @@
// $Id$
// The following configuration file is designed to work for VxWorks
-// 5.2/5.3 platforms using the GNU g++ 2.7.2 compiler, without repo patch
+// 5.2/5.3 platforms using the GNU/Cygnus g++ 2.7.2 compiler, without
+// repo patch.
#if !defined (ACE_CONFIG_H)
#define ACE_CONFIG_H
@@ -11,54 +12,63 @@
#define __ACE_INLINE__
#endif /* ! __ACE_INLINE__ */
-#define ACE_LACKS_ACCESS
-#define ACE_LACKS_GETSERVBYNAME
-#define ACE_LACKS_COND_T
-#define ACE_LACKS_EXEC
-#define ACE_LACKS_KEY_T
-#define ACE_LACKS_FILELOCKS
-#define ACE_LACKS_IOSTREAM_FX
-#define ACE_LACKS_LINEBUFFERED_STREAMBUF
-#define ACE_LACKS_MEMORY_H
-#define ACE_LACKS_PWD_FUNCTIONS
-#define ACE_LACKS_RWLOCK_T
-#define ACE_LACKS_SIGNED_CHAR
-#define ACE_LACKS_STRCASECMP
-#define ACE_LACKS_SYSV_MSG_H
-#define ACE_LACKS_SYS_NERR
#define ACE_HAS_BROKEN_SENDMSG
#define ACE_HAS_BROKEN_WRITEV
#define ACE_HAS_CHARPTR_SOCKOPT
#define ACE_HAS_CLOCK_GETTIME
#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
#define ACE_HAS_CPLUSPLUS_HEADERS
+// On g++/VxWorks, iostream.h defines a static instance (yes, instance)
+// of the Iostream_init class. That causes all files that #include it
+// to put in the global constructor/destructor hooks. For files that
+// don't have any static instances of non-class (built-in) types, the
+// hooks refer to the file name, e.g., "foo.cpp". That file name gets
+// embedded in a variable name by munch. The output from munch won't
+// compile, though, because of the period! So, let g++/VxWorks users
+// include iostream.h only where they need it.
+#define ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION
#define ACE_HAS_MSG
#define ACE_HAS_MT_SAFE_SOCKETS
#define ACE_HAS_POSIX_NONBLOCK
#define ACE_HAS_POSIX_SEM
#define ACE_HAS_POSIX_TIME
-#define ACE_HAS_SIG_ATOMIC_T
#define ACE_HAS_SIGINFO_T
#define ACE_HAS_SIGWAIT
+#define ACE_HAS_SIG_ATOMIC_T
#define ACE_HAS_STRERROR
#define ACE_HAS_THREADS
+#define ACE_LACKS_ACCESS
+#define ACE_LACKS_COND_T
+#define ACE_LACKS_EXEC
+#define ACE_LACKS_FILELOCKS
+#define ACE_LACKS_GETSERVBYNAME
+#define ACE_LACKS_IOSTREAM_FX
+#define ACE_LACKS_KEY_T
+#define ACE_LACKS_LINEBUFFERED_STREAMBUF
#define ACE_LACKS_MADVISE
#define ACE_LACKS_MALLOC_H
+#define ACE_LACKS_MEMORY_H
#define ACE_LACKS_MKTEMP
#define ACE_LACKS_MMAP
#define ACE_LACKS_MPROTECT
#define ACE_LACKS_MSYNC
#define ACE_LACKS_PARAM_H
+#define ACE_LACKS_PWD_FUNCTIONS
#define ACE_LACKS_RLIMIT
+#define ACE_LACKS_RWLOCK_T
#define ACE_LACKS_SBRK
#define ACE_LACKS_SEMBUF_T
#define ACE_LACKS_SIGINFO_H
+#define ACE_LACKS_SIGNED_CHAR
#define ACE_LACKS_SI_ADDR
#define ACE_LACKS_SOCKETPAIR
#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+#define ACE_LACKS_STRCASECMP
#define ACE_LACKS_STRRECVFD
#define ACE_LACKS_SYSCALL
+#define ACE_LACKS_SYSV_MSG_H
#define ACE_LACKS_SYSV_SHMEM
+#define ACE_LACKS_SYS_NERR
#define ACE_LACKS_UCONTEXT_H
#define ACE_LACKS_UTSNAME_T
#define ACE_MT_SAFE
@@ -74,5 +84,3 @@
#endif /* ACE_NTRACE */
#endif /* ACE_CONFIG_H */
-
-