diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/vvcode/checkos.h |
Initial commit
Diffstat (limited to 'support/vvcode/checkos.h')
-rw-r--r-- | support/vvcode/checkos.h | 476 |
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 */ |