home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cslio205.zip
/
INCLUDE
/
CSCMPLR.H
< prev
next >
Wrap
C/C++ Source or Header
|
1997-01-21
|
6KB
|
273 lines
/**********************************************************************
CSA Library, Free Evaluation Version 2.0.5
Release: January 22th 1997
Defining some compiler dependend variables,
indicating compiler, memory model, platform etc..
Copyright(c) 1994-1997
ComBits
The Netherlands
***********************************************************************
_CP_001 :Borland C++.
_CP_001a :Borland C++ for Dos
_CP_001b :Borland C++ for OS/2
_CP_001c :Borland C++ for Windows 16 bit.
_CP_001d :Borland C++ for Windows 32 bit.
_CP_002 :Microsoft Visual C++.
_CP_002a :Microsoft Visual C++ 16 bit Windows.
_CP_002b :Microsoft Visual C++ 32 bit Windows.
_CP_002c :Microsoft Visual C++ 16 bit Dos.
_CP_003 :GNU C++.
_CP_003a :GNU C++ for Linux.
_CP_004 :Watcom C++ 10.5
_CP_004a :Watcom C++ 10.5 for DOS
_CP_004b :Watcom C++ 10.5 for Windows 16 bit
_CP_004c :Watcom C++ 10.5 for Windows 32 bit
_CP_004d :Watcom C++ 10.5 for OS/2
_CP_010 :Compiling for MS-Dos.
_CP_020 :Compiling for MS-Windows.
_CP_021 :Compiling for MS-Windows 16 bit.
_CP_022 :Compiling for MS-Windows 32 bit.
_CP_030 :Compiling for UNIX.
_CP_031 :Compiling for Linux.
_CP_040 :Compiling for OS2
NOTE :The _CP_020 & _CP_022 flags are also set for
NT console applications.
_CP_100 :Flat Memory Model.
************************************************************************/
#ifndef __CSCMPLR_H
#define __CSCMPLR_H
////////////////////////////////////////////////////////////////////////
///////////////////////// Figuring out the compiler type. //////////////
////////////////////////////////////////////////////////////////////////
#ifdef __BORLANDC__
////////////////////////// Borland C++ ///////////////////////////////////
#define _CP_001
#define KnownCompiler
#ifdef __OS2__
#define _CP_001b
#define _CP_040
#define _CP_100
#define KnownPlatform
#endif
#if (defined( __MSDOS__) && !defined(_Windows))
#define _CP_001a
#define _CP_010
#define KnownPlatform
#endif
#if (defined(_Windows) && !defined(__WIN32__))
#define _CP_001c
#define _CP_020
#define _CP_021
#define KnownPlatform
#endif
#if defined(__WIN32__)
#define _CP_001d
#define _CP_020
#define _CP_022
#define _CP_100
#define KnownPlatform
#endif
#endif
#ifdef _MSC_VER
////////////////////////// Microssoft C++ ////////////////////////////////
#define _CP_002
#define KnownCompiler
#if defined(_WIN32)
// 32 bits
#define _CP_002b
#define _CP_020
#define _CP_022
#define _CP_100
#define KnownPlatform
#endif
#if defined(_WINDOWS)
// 16 bits Windows
#define _CP_002a
#define _CP_020
#define _CP_021
#define KnownPlatform
#endif
#if (!defined(_WINDOWS) && !defined(_WIN32))
// DOS
#define _CP_002c
#define _CP_010
#define KnownPlatform
#endif
#endif
#ifdef __GNUC__
////////////////////////// GNU C++ ///////////////////////////////////////
#define _CP_003
#define KnownCompiler
#ifdef __linux__
#define _CP_003a
#define _CP_100
#endif
#endif
#ifdef __WATCOMC__
////////////////////////// WATCOM C++ /////////////////////////////////////
#define _CP_004
#define KnownCompiler
#ifdef __DOS__
#define _CP_004a
#define _CP_010
#define KnownPlatform
#endif
#ifdef __WINDOWS__
#define _CP_004b
#define _CP_020
#define _CP_021
#define KnownPlatform
#endif
#ifdef __NT__
#define _CP_004c
#define _CP_020
#define _CP_022
#define _CP_100
#undef _CP_004b
#undef _CP_021
#define KnownPlatform
#endif
#ifdef __OS2__
#define _CP_004d
#define _CP_040
#define _CP_100
#define KnownPlatform
#endif
#endif
///////////////////////////////////////////////////////////////////////
//////////////////////// Test for a 'Known Compiler '//////////////////
//////////////////////////////////////////////////////////////////////
#ifdef KnownCompiler
#undef KnownCompiler
#else
#error UNKNOWN Compiler
#endif
///////////////////////////////////////////////////////////////////////
//////////////////////// Test for a 'Known Platform '//////////////////
//////////////////////////////////////////////////////////////////////
#ifdef KnownPlatform
#undef KnownPlatform
#else
#error UNKNOWN Platform
#endif
///////////////////////////////////////////////////////////////////////
//////////////////////// Set OS name //////////////////////////////////
///////////////////////////////////////////////////////////////////////
#ifdef _CP_010
#define _CP_PLATFORM "DOS"
#endif
#ifdef _CP_021
#define _CP_PLATFORM "Windows (16 bit)"
#endif
#ifdef _CP_022
#define _CP_PLATFORM "NT"
#endif
#ifdef _CP_031
#define _CP_PLATFORM "Linux"
#endif
#ifdef _CP_040
#define _CP_PLATFORM "OS/2"
#endif
#ifndef _CP_PLATFORM
#define _CP_PLATFORM ""
#endif
#endif