summaryrefslogtreecommitdiff
path: root/ace/config-kcc-common.h
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-05-08 03:32:00 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-05-08 03:32:00 +0000
commitf91594df9f79bb734cf3eafc24d71954c91553d9 (patch)
tree99a560b14fe0d01c750fe0a75fb683e5795f761b /ace/config-kcc-common.h
parent2ed4830aadbdc4984607a28ad1d6898c138fdcf9 (diff)
downloadATCD-f91594df9f79bb734cf3eafc24d71954c91553d9.tar.gz
updated KCC/Linux support, and integrated into config-linux-common.h
Diffstat (limited to 'ace/config-kcc-common.h')
-rw-r--r--ace/config-kcc-common.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/ace/config-kcc-common.h b/ace/config-kcc-common.h
new file mode 100644
index 00000000000..9fddb7ee129
--- /dev/null
+++ b/ace/config-kcc-common.h
@@ -0,0 +1,60 @@
+/* -*- C++ -*- */
+// $Id$
+
+// This configuration file is designed to be included by another,
+// specific configuration file. It provides config information common
+// to all KAI C++ platforms (KCC version 3.3a).
+//
+// KAI C++ 3.2d for Linux had a known problem with being unable to call
+// static object constructors and destructors within shared libraries.
+//
+// KAI C++ 3.3a requires glibc 2. This configuration was tested with
+// egcs 1.0.2 and glibc-2.0.7-7. The KCC_BASE/bin/KCC script requires
+// the following settings for i386-linux to work:
+//
+//case i386-linux:
+// set common_na = "-Dlinux -Dunix -Di386"
+// set cpp_defines = "-D__CPLUSPLUS -D__inline__=inline -D__inline=inline -D__signed__=signed"
+// set c_defines = "-D__inline__= -D__inline= -D__signed__=signed"
+// set knr_c_defines = "-D__inline__= -D__inline= -D__signed__="
+// set ansi_c_defines = ""
+// breaksw
+//
+
+#if !defined (ACE_KCC_COMMON_H)
+#define ACE_KCC_COMMON_H
+
+#if (defined (i386) || defined (__i386__)) && !defined (ACE_SIZEOF_LONG_DOUBLE)
+# define ACE_SIZEOF_LONG_DOUBLE 12
+#endif /* i386 */
+
+#if defined (i386) || defined (__i386__)
+ // If running an Intel, assume that it's a Pentium so that
+ // ACE_OS::gethrtime () can use the RDTSC instruction. If
+ // running a 486 or lower, be sure to comment this out.
+ // (If not running an Intel CPU, this #define will not be seen
+ // because of the i386 protection, so it can be ignored.)
+# define ACE_HAS_PENTIUM
+#endif /* i386 */
+
+#define ACE_TEMPLATES_REQUIRE_SOURCE
+
+#define ACE_HAS_TEMPLATE_SPECIALIZATION
+#define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
+//#define ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR
+
+// Compiler doesn't support static data member templates.
+//#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+
+// Define this if you want to use the standard C++ library
+#define ACE_HAS_STANDARD_CPP_LIBRARY 1
+#define ACE_HAS_STDCPP_STL_INCLUDES 1
+#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
+#define ACE_LACKS_IOSTREAM_FX 1
+#define ACE_LACKS_LINEBUFFERED_STREAMBUF 1
+#define ACE_LACKS_UNBUFFERED_STREAMBUF 1
+#define ACE_HAS_EXCEPTIONS 1
+
+//#define ACE_HAS_NONSTATIC_OBJECT_MANAGER 1
+
+#endif /* ACE_KCC_COMMON_H */