summaryrefslogtreecommitdiff
path: root/src/include/port/solaris.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/port/solaris.h')
-rw-r--r--src/include/port/solaris.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/include/port/solaris.h b/src/include/port/solaris.h
new file mode 100644
index 00000000000..83e3d6f8c15
--- /dev/null
+++ b/src/include/port/solaris.h
@@ -0,0 +1,64 @@
+/* $Header: /cvsroot/pgsql/src/include/port/solaris.h,v 1.1 2000/10/10 21:22:26 petere Exp $ */
+
+#define USE_POSIX_TIME
+#define NO_EMPTY_STMTS
+#define SYSV_DIRENT
+#define HAS_TEST_AND_SET
+typedef unsigned char slock_t;
+
+/*
+ * Sort this out for all operting systems some time. The __xxx
+ * symbols are defined on both GCC and Solaris CC, although GCC
+ * doesn't document them. The __xxx__ symbols are only on GCC.
+ */
+#if defined(__i386) && !defined(__i386__)
+# define __i386__
+#endif
+
+#if defined(__sparc) && !defined(__sparc__)
+# define __sparc__
+#endif
+
+#if defined(__i386__)
+# include <sys/isa_defs.h>
+#endif
+
+#ifndef BIG_ENDIAN
+#define BIG_ENDIAN 4321
+#endif
+#ifndef LITTLE_ENDIAN
+#define LITTLE_ENDIAN 1234
+#endif
+#ifndef PDP_ENDIAN
+#define PDP_ENDIAN 3412
+#endif
+
+#ifndef BYTE_ORDER
+# ifdef __sparc__
+# define BYTE_ORDER BIG_ENDIAN
+# endif
+# ifdef __i386__
+# define BYTE_ORDER LITTLE_ENDIAN
+# endif
+#endif
+
+
+#ifndef NAN
+
+# if defined(__GNUC__) && defined(__i386__)
+
+# ifndef __nan_bytes
+# define __nan_bytes { 0, 0, 0, 0, 0, 0, 0xf8, 0x7f }
+# endif
+
+# define NAN \
+ (__extension__ ((union { unsigned char __c[8]; double __d; }) \
+ { __nan_bytes }).__d)
+
+# else /* not GNUC and i386 */
+
+# define NAN (0.0/0.0)
+
+# endif /* GCC. */
+
+#endif /* not NAN */