Next: , Previous: Configure Module Catalog, Up: Operations

6.2.5 Automatic C Preprocessor Definitions

These ‘#defines’ are automatically provided by preprocessors of various C compilers. SCM uses the presence or absence of these definitions to configure include file locations and aliases for library functions. If the definition(s) corresponding to your system type is missing as your system is configured, add -Dflag to the compilation command lines or add a #define flag line to scmfig.h or the beginning of scmfig.h.

     #define         Platforms:
     -------         ----------
     ARM_ULIB        Huw Rogers free unix library for acorn archimedes
     AZTEC_C         Aztec_C 5.2a
     __CYGWIN__      Cygwin
     __CYGWIN32__    Cygwin
     _DCC            Dice C on AMIGA
     __GNUC__        Gnu CC (and DJGPP)
     __EMX__         Gnu C port (gcc/emx 0.8e) to OS/2 2.0
     __HIGHC__       MetaWare High C
     __IBMC__        C-Set++ on OS/2 2.1
     _MSC_VER        MS VisualC++ 4.2
     MWC             Mark Williams C on COHERENT
     __MWERKS__      Metrowerks Compiler; Macintosh and WIN32 (?)
     _POSIX_SOURCE   ??
     _QC             Microsoft QuickC
     __STDC__        ANSI C compliant
     __TURBOC__      Turbo C and Borland C
     __USE_POSIX     ??
     __WATCOMC__     Watcom C on MS-DOS
     __ZTC__         Zortech C
     _AIX            AIX operating system
     __APPLE__       Apple Darwin
     AMIGA           SAS/C 5.10 or Dice C on AMIGA
     __amigaos__     Gnu CC on AMIGA
     atarist         ATARI-ST under Gnu CC
     __DragonflyBSD__ DragonflyBSD
     __FreeBSD__     FreeBSD
     GNUDOS          DJGPP (obsolete in version 1.08)
     __GO32__        DJGPP (future?)
     hpux            HP-UX
     linux           GNU/Linux
     macintosh       Macintosh (THINK_C and __MWERKS__ define)
     MCH_AMIGA       Aztec_c 5.2a on AMIGA
     __MACH__        Apple Darwin
     __MINGW32__     MinGW - Minimalist GNU for Windows
     MSDOS           Microsoft C 5.10 and 6.00A
     _MSDOS          Microsoft CLARM and CLTHUMB compilers.
     __MSDOS__       Turbo C, Borland C, and DJGPP
     __NetBSD__      NetBSD
     nosve           Control Data NOS/VE
     __OpenBSD__     OpenBSD
     SVR2            System V Revision 2.
     sun             SunOS
     __SVR4          SunOS
     THINK_C         developement environment for the Macintosh
     ultrix          VAX with ULTRIX operating system.
     unix            most Unix and similar systems and DJGPP (!?)
     __unix__        Gnu CC and DJGPP
     _UNICOS         Cray operating system
     vaxc            VAX C compiler
     VAXC            VAX C compiler
     vax11c          VAX C compiler
     VAX11           VAX C compiler
     _Windows        Borland C 3.1 compiling for Windows
     _WIN32          MS VisualC++ 4.2 and Cygwin (Win32 API)
     _WIN32_WCE      MS Windows CE
     vms             (and VMS) VAX-11 C under VMS.
     __alpha         DEC Alpha processor
     __alpha__       DEC Alpha processor
     __hppa__        HP RISC processor
     hp9000s800      HP RISC processor
     __ia64          GCC on IA64
     __ia64__        GCC on IA64
     _LONGLONG       GCC on IA64
     __i386__        DJGPP
     i386            DJGPP
     _M_ARM          Microsoft CLARM compiler defines as 4 for ARM.
     _M_ARMT         Microsoft CLTHUMB compiler defines as 4 for Thumb.
     MULTIMAX        Encore computer
     ppc             PowerPC
     __ppc__         PowerPC
     pyr             Pyramid 9810 processor
     __sgi__         Silicon Graphics Inc.
     sparc           SPARC processor
     sequent         Sequent computer
     tahoe           CCI Tahoe processor
     vax             VAX processor
     __x86_64        AMD Opteron