summaryrefslogtreecommitdiff
path: root/support/vvcode/checkos.h
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/vvcode/checkos.h
Initial commit
Diffstat (limited to 'support/vvcode/checkos.h')
-rw-r--r--support/vvcode/checkos.h476
1 files changed, 476 insertions, 0 deletions
diff --git a/support/vvcode/checkos.h b/support/vvcode/checkos.h
new file mode 100644
index 0000000000..630b1b15c3
--- /dev/null
+++ b/support/vvcode/checkos.h
@@ -0,0 +1,476 @@
+/*-
+******************************************************************************
+******************************************************************************
+**
+** ARCHIVE HEADER INFORMATION
+**
+** @C-file{
+** FILENAME = "checkos.h",
+** VERSION = "1.00",
+** DATE = "",
+** TIME = "",
+**
+** AUTHOR = "Niel Kempson",
+** ADDRESS = "25 Whitethorn Drive, Cheltenham, GL52 5LL, England",
+** TELEPHONE = "+44-242 579105",
+** EMAIL = "kempson@tex.ac.uk (Internet)",
+**
+** SUPPORTED = "yes",
+** ARCHIVED = "tex.ac.uk, ftp.tex.ac.uk",
+** KEYWORDS = "VVcode",
+**
+** CODETABLE = "ISO/ASCII",
+** CHECKSUM = "51492 1481 5732 57976",
+**
+** DOCSTRING = { This file is part of VVcode.
+** }
+** }
+**
+** MODULE CONTENTS
+**
+** [tbs]
+**
+** COPYRIGHT
+**
+** Copyright (c) 1991-1993 by Niel Kempson <kempson@tex.ac.uk>
+**
+** This program is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License as
+** published by the Free Software Foundation; either version 1, or
+** (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+** General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+**
+** In other words, you are welcome to use, share and improve this
+** program. You are forbidden to forbid anyone else to use, share
+** and improve what you give them. Help stamp out software-hoarding!
+**
+** CHANGE LOG
+**
+******************************************************************************
+******************************************************************************
+*/
+
+
+/*-
+******************************************************************************
+******************************************************************************
+**
+** OPERATING ENVIRONMENTS SUPPORTED
+**
+******************************************************************************
+******************************************************************************
+*/
+
+
+/*-
+**============================================================================
+** Reset the operating system macros
+**============================================================================
+*/
+#ifdef OS_MSDOS
+# undef OS_MSDOS
+#endif
+#define OS_MSDOS 0
+
+#ifdef OS_OS2
+# undef OS_OS2
+#endif
+#define OS_OS2 0
+
+#ifdef OS_UNIX
+# undef OS_UNIX
+#endif
+#define OS_UNIX 0
+
+#ifdef OS_VAXVMS
+# undef OS_VAXVMS
+#endif
+#define OS_VAXVMS 0
+
+#ifdef OS_VMCMS
+# undef OS_VMCMS
+#endif
+#define OS_VMCMS 0
+
+
+
+/*-
+******************************************************************************
+******************************************************************************
+**
+** MS-DOS implementations
+**
+******************************************************************************
+******************************************************************************
+*/
+
+/*-
+**----------------------------------------------------------------------------
+** Reset the MS-DOS specific macros
+**----------------------------------------------------------------------------
+*/
+#ifdef MSDOS_MSC
+# undef MSDOS_MSC
+#endif
+#define MSDOS_MSC 0
+
+#ifdef MSDOS_TURBOC
+# undef MSDOS_TURBOC
+#endif
+#define MSDOS_TURBOC 0
+
+/*-
+**----------------------------------------------------------------------------
+** Microsoft C defines the macros MSDOS and M_I86 but since it also defines
+** them under OS/2, we check also that OS2 is not defined.
+**----------------------------------------------------------------------------
+*/
+#ifndef OS2
+# ifdef MSDOS
+# ifdef M_I86
+# undef OS_MSDOS
+# define OS_MSDOS 1
+# undef MSDOS_MSC
+# define MSDOS_MSC 1
+# endif /* M_I86 */
+# endif /* MSDOS */
+#endif /* NOT OS2 */
+
+/*-
+**----------------------------------------------------------------------------
+** Borland Turbo C for MS-DOS defines the macros __MSDOS__ and __TURBOC__
+**----------------------------------------------------------------------------
+*/
+#ifdef __MSDOS__
+# ifdef __TURBOC__
+# undef OS_MSDOS
+# define OS_MSDOS 1
+# undef MSDOS_TURBOC
+# define MSDOS_TURBOC 1
+# endif /* __TURBOC__ */
+#endif /* __MSDOS__ */
+
+
+
+/*-
+******************************************************************************
+******************************************************************************
+**
+** OS/2 implementations
+**
+******************************************************************************
+******************************************************************************
+*/
+
+/*-
+**----------------------------------------------------------------------------
+** Reset the OS/2 specific macros
+**----------------------------------------------------------------------------
+*/
+#ifdef OS2_MSC
+# undef OS2_MSC
+#endif
+#define OS2_MSC 0
+
+#ifdef OS2_CSET
+# undef OS2_CSET
+#endif
+#define OS2_CSET 0
+
+#ifdef OS2_EMXGNUC
+# undef OS2_EMXGNUC
+#endif
+#define OS2_EMXGNUC 0
+
+#ifdef OS2_GNUC
+# undef OS2_GNUC
+#endif
+#define OS2_GNUC 0
+
+/*-
+**----------------------------------------------------------------------------
+** The IBM C Set/2 compiler defines the macros __OS2__, __IBMC__ & __32BIT__
+** When the migration library is being used, the macro __MIG__ is also
+** defined.
+**----------------------------------------------------------------------------
+*/
+#ifdef __OS2__
+# ifdef __IBMC__
+# ifdef __32BIT__
+# ifdef __MIG__
+# undef OS_OS2
+# define OS_OS2 1
+# undef OS2_CSET
+# define OS2_CSET 1
+# endif /* __MIG__ */
+# endif /* __32BIT__ */
+# endif /* __IBMC__ */
+#endif /* __OS2__ */
+
+/*-
+**----------------------------------------------------------------------------
+** The OS2 Makefile defines the macro OS2. Eberhard Mattes' implementation
+** of EMX and GCC 2.1 also defines the macros __GNUC__ and __EMX__.
+**----------------------------------------------------------------------------
+*/
+#ifdef OS2
+# ifdef __GNUC__
+# undef OS_OS2
+# define OS_OS2 1
+# undef OS2_GNUC
+# define OS2_GNUC 1
+# if __EMX__
+# undef OS2_EMX
+# define OS2_EMX 1
+# endif /* __EMX__ */
+# endif /* __GNUC__ */
+#endif /* OS2 */
+
+/*-
+**----------------------------------------------------------------------------
+** The OS2 Makefile defines the macro OS2. The Microsoft C v6.00 compiler
+** also defines the macros _MSC_VER and MSDOS (??).
+**----------------------------------------------------------------------------
+*/
+#ifdef OS2
+# ifdef MSDOS
+# ifdef _MSC_VER
+# undef OS_OS2
+# define OS_OS2 1
+# undef OS2_MSC
+# define OS2_MSC 1
+# endif /* _MSC_VER */
+# endif /* MSDOS */
+#endif /* OS2 */
+
+
+
+/*-
+******************************************************************************
+******************************************************************************
+**
+** Unix implementations
+**
+******************************************************************************
+******************************************************************************
+*/
+
+/*-
+**----------------------------------------------------------------------------
+** Reset the UNIX specific macros
+**----------------------------------------------------------------------------
+*/
+#ifdef UNIX_BSD
+# undef UNIX_BSD
+#endif
+#define UNIX_BSD 0
+
+#ifdef UNIX_BSD41
+# undef UNIX_BSD41
+#endif
+#define UNIX_BSD41 0
+
+#ifdef UNIX_BSD42
+# undef UNIX_BSD42
+#endif
+#define UNIX_BSD42 0
+
+#ifdef UNIX_BSD43
+# undef UNIX_BSD43
+#endif
+#define UNIX_BSD43 0
+
+#ifdef UNIX_GNUC
+# undef UNIX_GNUC
+#endif
+#define UNIX_GNUC 0
+
+#ifdef UNIX_MSC
+# undef UNIX_MSC
+#endif
+#define UNIX_MSC 0
+
+#ifdef UNIX_SYSV
+# undef UNIX_SYSV
+#endif
+#define UNIX_SYSV 0
+
+/*-
+**----------------------------------------------------------------------------
+** The Unix Makefile defines the macro BSD43 for BSD 4.3 systems.
+**----------------------------------------------------------------------------
+*/
+#ifdef BSD43
+# undef OS_UNIX
+# define OS_UNIX 1
+# undef UNIX_BSD43
+# define UNIX_BSD43 1
+#endif /* BSD43 */
+
+
+/*-
+**----------------------------------------------------------------------------
+** The Unix Makefile defines the macro BSD42 for BSD 4.2 systems.
+**----------------------------------------------------------------------------
+*/
+#ifdef BSD42
+# undef OS_UNIX
+# define OS_UNIX 1
+# undef UNIX_BSD42
+# define UNIX_BSD42 1
+#endif /* BSD42 */
+
+
+/*-
+**----------------------------------------------------------------------------
+** The Unix Makefile defines the macro BSD41 for BSD 4.1 systems
+**----------------------------------------------------------------------------
+*/
+#ifdef BSD41
+# undef OS_UNIX
+# define OS_UNIX 1
+# undef UNIX_BSD41
+# define UNIX_BSD41 1
+#endif /* BSD41 */
+
+
+/*-
+**----------------------------------------------------------------------------
+** The Unix Makefile defines the macro SYSV for Unix System V
+**----------------------------------------------------------------------------
+*/
+#ifdef SYSV
+# undef OS_UNIX
+# define OS_UNIX 1
+# undef UNIX_SYSV
+# define UNIX_SYSV 1
+#endif /* SYSV */
+
+
+/*-
+**----------------------------------------------------------------------------
+** If any of the UNIX_BSDxx macros were set, we define a the macro UNIX_BSD
+**----------------------------------------------------------------------------
+*/
+#if (UNIX_BSD41 || UNIX_BSD42 || UNIX_BSD43)
+# undef UNIX_BSD
+# define UNIX_BSD 1
+#endif /* (UNIX_BSD41 || UNIX_BSD42 || UNIX_BSD43) */
+
+
+/*-
+**----------------------------------------------------------------------------
+** The Unix GNU C compiler defines __GNUC__
+**----------------------------------------------------------------------------
+*/
+#if (OS_UNIX)
+# ifdef __GNUC__
+# undef UNIX_GNUC
+# define UNIX_GNUC 1
+# endif /* __GNUC__ */
+#endif /* (OS_UNIX) */
+
+
+/*-
+**----------------------------------------------------------------------------
+** The Unix Makefile defines MSC when the SCO Unix Microsoft C compiler
+** is used
+**----------------------------------------------------------------------------
+*/
+#if (OS_UNIX)
+# ifdef MSC
+# undef UNIX_MSC
+# define UNIX_MSC 1
+# endif /* MSC */
+#endif /* (OS_UNIX) */
+
+
+
+/*-
+******************************************************************************
+******************************************************************************
+**
+** VAX/VMS implementations
+**
+******************************************************************************
+******************************************************************************
+*/
+
+/*-
+**----------------------------------------------------------------------------
+** Reset the VMS specific macros
+**----------------------------------------------------------------------------
+*/
+#ifdef VMS_GNUC
+# undef VMS_GNUC
+#endif
+#define VMS_GNUC 0
+
+#ifdef VMS_VAXC
+# undef VMS_VAXC
+#endif
+#define VMS_VAXC 0
+
+/*-
+**----------------------------------------------------------------------------
+** The VAX/VMS C compiler defines the macros VMS and VAXC
+**----------------------------------------------------------------------------
+*/
+#ifdef VMS
+# ifdef VAXC
+# undef OS_VAXVMS
+# define OS_VAXVMS 1
+# undef VMS_VAXC
+# define VMS_VAXC 1
+# endif /* VAXC */
+#endif /* VMS */
+
+/*-
+**----------------------------------------------------------------------------
+** The VAX/VMS GNU C compiler defines the macros VMS and __GNUC__
+**----------------------------------------------------------------------------
+*/
+#ifdef VMS
+# ifdef __GNUC__
+# undef OS_VAXVMS
+# define OS_VAXVMS 1
+# undef VMS_GNUC
+# define VMS_GNUC 1
+# endif /* __GNUC__ */
+#endif /* VMS */
+
+
+
+/*-
+******************************************************************************
+******************************************************************************
+**
+** VM/CMS implementations
+**
+******************************************************************************
+******************************************************************************
+*/
+
+/*-
+**----------------------------------------------------------------------------
+** Reset the VM/CMS specific macros
+**----------------------------------------------------------------------------
+*/
+
+/*-
+**----------------------------------------------------------------------------
+** The VM/CMS make EXEC defines the macro VMCMS
+**----------------------------------------------------------------------------
+*/
+#ifdef VMCMS
+# undef OS_VMCMS
+# define OS_VMCMS 1
+#endif /* VMCMS */