aboutsummaryrefslogtreecommitdiff
path: root/tools/bison++/system.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/bison++/system.h')
-rw-r--r--tools/bison++/system.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/tools/bison++/system.h b/tools/bison++/system.h
new file mode 100644
index 000000000..607e558f5
--- /dev/null
+++ b/tools/bison++/system.h
@@ -0,0 +1,34 @@
+#ifdef MSDOS
+#ifndef _MSDOS
+#define _MSDOS
+#endif
+#endif
+
+#if defined(HAVE_STDLIB_H) || defined(_MSDOS)
+#include <stdlib.h>
+#endif
+
+#if (defined(VMS) || defined(MSDOS)) && !defined(HAVE_STRING_H)
+#define HAVE_STRING_H 1
+#endif
+
+#ifdef _MSDOS
+#include <io.h>
+
+#define strlwr _strlwr
+#define strupr _strupr
+#define unlink _unlink
+#define mktemp _mktemp
+#endif /* MSDOS */
+
+#if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
+#include <string.h>
+/* An ANSI string.h and pre-ANSI memory.h might conflict. */
+#if !defined(STDC_HEADERS) && defined(HAVE_MEMORY_H)
+#include <memory.h>
+#endif /* not STDC_HEADERS and HAVE_MEMORY_H */
+#define bcopy(src, dst, num) memcpy((dst), (src), (num))
+#else /* not STDC_HEADERS and not HAVE_STRING_H */
+#include <strings.h>
+/* memory.h and strings.h conflict on some systems. */
+#endif /* not STDC_HEADERS and not HAVE_STRING_H */