Blame src/noconfig.H

Packit Service 8bf002
/*
Packit Service 8bf002
 * noconfig.H
Packit Service 8bf002
 * Configurations for MCPP not using config.h.
Packit Service 8bf002
 *
Packit Service 8bf002
 * WARNING: These are default settings.  To configure for your system, you
Packit Service 8bf002
 *      must edit this file here and there.
Packit Service 8bf002
 */
Packit Service 8bf002
Packit Service 8bf002
#define TRUE                1
Packit Service 8bf002
#define FALSE               0
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 *  'Target' means the O.S. and the compiler to which cpp is implemented.
Packit Service 8bf002
 *  'Host' means the O.S. and the compiler with which cpp is compiled.
Packit Service 8bf002
 */
Packit Service 8bf002
Packit Service 8bf002
/* Define target operating-system.  */
Packit Service 8bf002
#define SYSTEM              SYS_FREEBSD
Packit Service 8bf002
Packit Service 8bf002
/* Define target compiler.          */
Packit Service 8bf002
#ifndef COMPILER
Packit Service 8bf002
#define COMPILER            INDEPENDENT /* compiler-independent-build   */
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/* Define host operating-system.    */
Packit Service 8bf002
#define HOST_SYSTEM         SYSTEM
Packit Service 8bf002
Packit Service 8bf002
/* Define host compiler.            */
Packit Service 8bf002
#define HOST_COMPILER       GNUC
Packit Service 8bf002
Packit Service 8bf002
/* Version message.                 */
Packit Service 8bf002
/* "MCPP V.2.* (200y/mm) compiled by " precedes VERSION_MSG */
Packit Service 8bf002
#define VERSION_MSG         "GCC 3.4"
Packit Service 8bf002
#if     0
Packit Service 8bf002
    "LCC-Win32 2006-03"
Packit Service 8bf002
    "Visual C 2005"
Packit Service 8bf002
    "Visual C 2008"
Packit Service 8bf002
    "BCC V.5.5"
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 *      P A R T   1     Configurations for target-operating-system
Packit Service 8bf002
 *                      and target-compiler.
Packit Service 8bf002
 */
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * Names of the SYSTEM (i.e. target operating system).  This is needed so that
Packit Service 8bf002
 * cpp can use appropriate filename conventions.
Packit Service 8bf002
 */
Packit Service 8bf002
#define SYS_UNKNOWN         0
Packit Service 8bf002
#define SYS_UNIX            0x1000
Packit Service 8bf002
#define SYS_LINUX           0x1800  /* (SYS_LINUX & 0xF000) == SYS_UNIX     */
Packit Service 8bf002
#define SYS_FREEBSD         0x1A00  /* (SYS_FREEBSD & 0xF000) == SYS_UNIX   */
Packit Service 8bf002
#define SYS_CYGWIN          0x1C00  /* (SYS_CYGWIN & 0xF000) == SYS_UNIX    */
Packit Service 8bf002
#define SYS_MAC             0x1E00  /* (SYS_MAC & 0xF000) == SYS_UNIX       */
Packit Service 8bf002
#define SYS_WIN             0x7000
Packit Service 8bf002
#define SYS_WIN32           0x7400  /* (SYS_WIN32 & 0xF000) == SYS_WIN      */
Packit Service 8bf002
#define SYS_WIN64           0x7800  /* (SYS_WIN64 & 0xF000) == SYS_WIN      */
Packit Service 8bf002
#define SYS_MINGW           0x7C00  /* (SYS_MINGW & 0xF000) == SYS_WIN      */
Packit Service 8bf002
Packit Service 8bf002
/* COMPILER */
Packit Service 8bf002
#define COMPILER_UNKNOWN    0
Packit Service 8bf002
#define MSC                 0x7400  /* Microsoft C, Visual C++      */
Packit Service 8bf002
#define BORLANDC            0x7440  /* Borland C    */
Packit Service 8bf002
#define LCC                 0x74C0  /* LCC-Win32    */
Packit Service 8bf002
#define GNUC                0x00E0  /* GNU C (GCC)  */
Packit Service 8bf002
#define INDEPENDENT         0xFFFF  /* No target, compiler-independent build*/
Packit Service 8bf002
Packit Service 8bf002
#define SYS_FAMILY          (SYSTEM & 0xF000)
Packit Service 8bf002
#define COMPILER_FAMILY     (COMPILER & 0xF0)
Packit Service 8bf002
#define HOST_SYS_FAMILY     (HOST_SYSTEM & 0xF000)
Packit Service 8bf002
Packit Service 8bf002
/* Default MBCHAR (multi-byte character) encoding.  */
Packit Service 8bf002
#define EUC_JP          0x10    /* Extended UNIX code of JIS X 0208 */
Packit Service 8bf002
#define GB2312          0x20    /* EUC-like encoding of Chinese GB 2312-80  */
Packit Service 8bf002
#define KSC5601         0x30    /* EUC-like encoding of Korean KS C 5601    */
Packit Service 8bf002
#define SJIS            0x80    /* Shift-JIS encoding of JIS X 0208 */
Packit Service 8bf002
#define BIGFIVE         0x90    /* Encoding of Taiwanese Big Five   */
Packit Service 8bf002
#define ISO2022_JP      0x100   /* ISO-2022-JP (ISO-2022-JP1) encoding      */
Packit Service 8bf002
#define UTF8            0x1000  /* UTF-8 encoding           */
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * MBCHAR means multi-byte character encoding.
Packit Service 8bf002
 * MBCHAR means the default encoding, and you can change the encoding by
Packit Service 8bf002
 *      #pragma MCPP setlocale, -e <encoding> option or environment variable
Packit Service 8bf002
 *      LC_ALL, LC_CTYPE, LANG.
Packit Service 8bf002
 * MBCHAR == 0 means not to recognize any multi-byte character encoding.
Packit Service 8bf002
 */
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * In order to predefine target-system-dependent macros,
Packit Service 8bf002
 * several macros are defined here:
Packit Service 8bf002
 * *_OLD define the macro beginning with an alphabetic letter,
Packit Service 8bf002
 * *_STD, *_STD?, *_EXT, *_EXT2 define the macro beginning with an '_'.
Packit Service 8bf002
 * *_STD1 define the macro beginning with '__' and ending with an alphanumeric
Packit Service 8bf002
 *      letter.
Packit Service 8bf002
 * *_STD2 define the macro beginning with '__' and ending with '__'.
Packit Service 8bf002
 * These may not be defined, if they are not needed.
Packit Service 8bf002
 * They should not be #defined to no token or to "".
Packit Service 8bf002
 *
Packit Service 8bf002
 * SYSTEM_OLD, SYSTEM_STD1, SYSTEM_STD2, SYSTEM_EXT, SYSTEM_EXT2
Packit Service 8bf002
 *      define the target operating system (by name).
Packit Service 8bf002
 * SYSTEM_SP_OLD, SYSTEM_SP_STD     define the target-OS specific macro name
Packit Service 8bf002
 * COMPILER_OLD, COMPILER_STD1, COMPILER_STD2, COMPILER_EXT, COMPILER_EXT2
Packit Service 8bf002
 *          , COMPILER_SP_OLD, COMPILER_SP_STD
Packit Service 8bf002
 *      define the target compiler (by name).
Packit Service 8bf002
 * COMPILER_CPLUS        defines the target C++ compiler.
Packit Service 8bf002
 * COMPILER_SP1, COMPILER_SP2, COMPILER_SP3
Packit Service 8bf002
 *      define the compiler-specific macros.
Packit Service 8bf002
 *
Packit Service 8bf002
 * <macro>_VAL      specify the value of the <macro>.
Packit Service 8bf002
 *      If not specified, these values default to "1".
Packit Service 8bf002
 *      To define the value of no-token, specify as "" rather than no-token.
Packit Service 8bf002
 * SYSTEM_OLD, SYSTEM_STD?, COMPILER_OLD have the value of "1".
Packit Service 8bf002
 */
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * target-compiler-dependent definitions:
Packit Service 8bf002
 *
Packit Service 8bf002
 * LINE_PREFIX  defines the output line prefix, if not "#line 123".
Packit Service 8bf002
 *              This should be defined as "# " to represent "# 123" format
Packit Service 8bf002
 *              ("#line " represents "#line 123" format).
Packit Service 8bf002
 *
Packit Service 8bf002
 * C_INCLUDE_DIR1, C_INCLUDE_DIR2   may be defined if you have a compiler-
Packit Service 8bf002
 *              specific include directory which is to be searched *before*
Packit Service 8bf002
 *              the operating-system specific directories (e.g. /usr/include).
Packit Service 8bf002
 * CPLUS_INCLUDE_DIR1, CPLUS_INCLUDE_DIR2, CPLUS_INCLUDE_DIR3
Packit Service 8bf002
 *      , CPLUS_INCLUDE_DIR4     are for C++ include directory which exist
Packit Service 8bf002
 *              other than C include directory.
Packit Service 8bf002
 * ENV_C_INCLUDE_DIR    may be defined to the name of environment-variable for
Packit Service 8bf002
 *              C include directory.
Packit Service 8bf002
 * ENV_CPLUS_INCLUDE_DIR    is name of environment-variable for C++ include
Packit Service 8bf002
 *              directory which exists other than ENV_C_INCLUDE_DIR.
Packit Service 8bf002
 * ENV_SEP      is the separator (other than space) of include-paths in an
Packit Service 8bf002
 *              environment-variable.  e.g. the ':' in
Packit Service 8bf002
 *              "/usr/abc/include:/usr/xyz/include"
Packit Service 8bf002
 *
Packit Service 8bf002
 * EMFILE       should be defined to the macro to represent errno of 'too many
Packit Service 8bf002
 *              open files' if the macro is different from EMFILE.
Packit Service 8bf002
 *
Packit Service 8bf002
 * ONE_PASS     should be set TRUE, if COMPILER is "one pass compiler".
Packit Service 8bf002
 *
Packit Service 8bf002
 * FNAME_FOLD   means that target-system folds upper and lower cases of
Packit Service 8bf002
 *              directory and file-name.
Packit Service 8bf002
 *
Packit Service 8bf002
 * SEARCH_INIT  specifies the default value of 'search_rule' (in system.c).
Packit Service 8bf002
 *              'search_rule' holds searching rule of #include "header.h" to
Packit Service 8bf002
 *              search first before searching user specified or system-
Packit Service 8bf002
 *              specific include directories.
Packit Service 8bf002
 *              CURRENT means to search the directory relative to "current
Packit Service 8bf002
 *              directory" which is current at cpp invocation.
Packit Service 8bf002
 *              SOURCE means to search the directory relative to that of the
Packit Service 8bf002
 *              source file (i.e. "includer").
Packit Service 8bf002
 *              (CURRENT & SOURCE) means to search current directory first
Packit Service 8bf002
 *              source directory next.
Packit Service 8bf002
 *              'search_rule' is initialized to SEARCH_INIT.
Packit Service 8bf002
 */
Packit Service 8bf002
#define CURRENT             1
Packit Service 8bf002
#define SOURCE              2
Packit Service 8bf002
Packit Service 8bf002
#if     SYS_FAMILY == SYS_UNIX
Packit Service 8bf002
#define SYSTEM_OLD          "unix"
Packit Service 8bf002
#define SYSTEM_STD1         "__unix"
Packit Service 8bf002
#define SYSTEM_STD2         "__unix__"
Packit Service 8bf002
Packit Service 8bf002
#if     SYSTEM == SYS_FREEBSD
Packit Service 8bf002
#define SYSTEM_EXT          "__FreeBSD__"
Packit Service 8bf002
#define SYSTEM_EXT_VAL      "6"     /* V.5.*: 5, V.6.*:6    */
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#if     SYSTEM == SYS_LINUX
Packit Service 8bf002
#define SYSTEM_EXT          "__linux__"
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#if     SYSTEM == SYS_MAC   /* Mac OS X */
Packit Service 8bf002
#define SYSTEM_EXT          "__APPLE__"
Packit Service 8bf002
#define FNAME_FOLD          TRUE    /* Case-insensitive file-system */
Packit Service 8bf002
#define FRAMEWORK1          "/System/Library/Frameworks"
Packit Service 8bf002
#define FRAMEWORK2          "/Library/Frameworks"
Packit Service 8bf002
#endif  /* SYSTEM == SYS_MAC    */
Packit Service 8bf002
Packit Service 8bf002
#if     SYSTEM == SYS_CYGWIN
Packit Service 8bf002
#define SYSTEM_EXT          "__CYGWIN__"
Packit Service 8bf002
#define SYSTEM_EXT2         "__CYGWIN32__"
Packit Service 8bf002
#define MBCHAR              SJIS
Packit Service 8bf002
#define FNAME_FOLD          TRUE
Packit Service 8bf002
#define CYGWIN_ROOT_DIRECTORY   "c:/pub/compilers/cygwin"
Packit Service 8bf002
#endif  /* SYSTEM == SYS_CYGWIN */
Packit Service 8bf002
Packit Service 8bf002
#ifndef MBCHAR
Packit Service 8bf002
#define MBCHAR              EUC_JP  /* UTF8 if you like */
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifndef FNAME_FOLD
Packit Service 8bf002
#define FNAME_FOLD          FALSE
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#endif  /* SYS_FAMILY == SYS_UNIX   */
Packit Service 8bf002
Packit Service 8bf002
#if     SYS_FAMILY == SYS_WIN
Packit Service 8bf002
Packit Service 8bf002
#define SYSTEM_SP_STD       "__FLAT__"
Packit Service 8bf002
#define SYSTEM_SP_STD_VAL   "1"
Packit Service 8bf002
Packit Service 8bf002
#ifndef MBCHAR
Packit Service 8bf002
#define MBCHAR              SJIS    /* Multi-byte char is encoded in SJIS   */
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#if     COMPILER == MSC
Packit Service 8bf002
#define CMP_NAME            "Visual C++"
Packit Service 8bf002
#if     _MSC_VER >= 1200    /* Visual C++ V.6.0 or later    */
Packit Service 8bf002
    /* When HOST == TARGET  */
Packit Service 8bf002
#define ONE_PASS            TRUE
Packit Service 8bf002
#endif
Packit Service 8bf002
#define COMPILER_EXT        "_MSC_VER"
Packit Service 8bf002
#define COMPILER_EXT_VAL    "1500"      /* VC 6.0: "1200"   */
Packit Service 8bf002
    /* VC 2002: "1300", VC 2003: "1310", VC 2005: "1400", VC 2008: "1500"   */
Packit Service 8bf002
#define COMPILER_EXT2       "_MSC_FULL_VER"
Packit Service 8bf002
#define COMPILER_EXT2_VAL   "150021022" /* VC 6.0: "12008804"       */
Packit Service 8bf002
    /* VC 2002: "13009466", VC 2003: "13103077", VC 2005: "140050320"       */
Packit Service 8bf002
    /* VC 2008: "150021022" */
Packit Service 8bf002
#define COMPILER_SP1        "_MSC_EXTENSIONS"
Packit Service 8bf002
#define COMPILER_SP1_VAL    "1"
Packit Service 8bf002
#define COMPILER_SP2        "_INTEGRAL_MAX_BITS"
Packit Service 8bf002
#define COMPILER_SP2_VAL    "64"        /* VC 2003, VC2005, VC2008: 64      */
Packit Service 8bf002
#define TARGET_HAVE_LONG_LONG       TRUE
Packit Service 8bf002
    /* __int64 instead of long long (VC 2.0 through 8.0)    */
Packit Service 8bf002
#define EXPAND_PRAGMA       TRUE
Packit Service 8bf002
#define HAVE_DIGRAPHS       TRUE
Packit Service 8bf002
#define BIGFIVE_IS_ESCAPE_FREE      TRUE 
Packit Service 8bf002
#define SEARCH_INIT         SOURCE
Packit Service 8bf002
Packit Service 8bf002
#elif   COMPILER == BORLANDC                /* Borland C 5.* and C++Builder */
Packit Service 8bf002
#define CMP_NAME            "Borland C"
Packit Service 8bf002
#define ONE_PASS            TRUE
Packit Service 8bf002
#define COMPILER_STD2       "__TURBOC__"
Packit Service 8bf002
#if     __BORLANDC__        /* Borland C    */
Packit Service 8bf002
#define COMPILER_STD2_VAL   "0x0550"
Packit Service 8bf002
    /* BC 5.5: "0x0550", BC 5.9: "0x5930"   */
Packit Service 8bf002
#define COMPILER_EXT        "__BORLANDC__"
Packit Service 8bf002
#define COMPILER_EXT_VAL    "0x0550"
Packit Service 8bf002
    /* BC 5.5: "0x0550", BC 5.9: "0x5930"   */
Packit Service 8bf002
#define COMPILER_CPLUS      "__BCPLUSPLUS__"
Packit Service 8bf002
#define COMPILER_CPLUS_VAL  "0x0550"
Packit Service 8bf002
    /* BC 5.5: "0x0550", BC 5.9: "0x5930"   */
Packit Service 8bf002
#define EXPAND_PRAGMA       TRUE
Packit Service 8bf002
#define SEARCH_INIT         (CURRENT & SOURCE)
Packit Service 8bf002
#define TARGET_HAVE_LONG_LONG       TRUE    /* __int64 instead of long long */
Packit Service 8bf002
#endif  /* __BORLANDC__ */
Packit Service 8bf002
Packit Service 8bf002
#elif     COMPILER == LCC
Packit Service 8bf002
#define CMP_NAME            "LCC-Win32"
Packit Service 8bf002
#define COMPILER_STD2       "__LCC__"
Packit Service 8bf002
#define COMPILER_SP1        "__LCCDEBUGLEVEL"
Packit Service 8bf002
#define COMPILER_SP1_VAL    "0"
Packit Service 8bf002
#define COMPILER_SP2        "__LCCOPTIMLEVEL"
Packit Service 8bf002
#define COMPILER_SP2_VAL    "0"
Packit Service 8bf002
#define ONE_PASS            TRUE
Packit Service 8bf002
#define TARGET_HAVE_LONG_LONG       TRUE
Packit Service 8bf002
#define SJIS_IS_ESCAPE_FREE         FALSE 
Packit Service 8bf002
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#if     SYSTEM == SYS_MINGW
Packit Service 8bf002
#define SYSTEM_EXT          "__MINGW__"
Packit Service 8bf002
#define SYSTEM_EXT2         "__MINGW32__"
Packit Service 8bf002
#define MSYS_ROOT_DIRECTORY "c:/pub/compilers/msys/1.0"
Packit Service 8bf002
#define MINGW_DIRECTORY     "c:/pub/compilers/mingw"
Packit Service 8bf002
#if     COMPILER == GNUC
Packit Service 8bf002
#define SJIS_IS_ESCAPE_FREE FALSE
Packit Service 8bf002
#define INC_DIR             C_INCLUDE_DIR2
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif  /* SYSTEM == SYS_MINGW  */
Packit Service 8bf002
Packit Service 8bf002
#ifndef SJIS_IS_ESCAPE_FREE
Packit Service 8bf002
#define SJIS_IS_ESCAPE_FREE TRUE    /* or FALSE following your compiler     */
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#endif  /* SYS_FAMILY == SYS_WIN    */
Packit Service 8bf002
Packit Service 8bf002
#if     COMPILER_FAMILY == GNUC
Packit Service 8bf002
#define CMP_NAME            "GCC"
Packit Service 8bf002
#define COMPILER_EXT        "__GNUC__"
Packit Service 8bf002
#define COMPILER_EXT_VAL    "3"     /* "3" for V.3.* "4" for V.4.*  */
Packit Service 8bf002
#define COMPILER_EXT2       "__GNUC_MINOR__"
Packit Service 8bf002
#define COMPILER_EXT2_VAL   "4"     /* "4" for V.3.4, "1" for V.4.1 */
Packit Service 8bf002
#define COMPILER_CPLUS      "__GNUG__"
Packit Service 8bf002
#define COMPILER_CPLUS_VAL  "3"     /* "3" for V.3.*, "4" for V.4.* */
Packit Service 8bf002
#define GCC_MAJOR_VERSION   3       /* Value of __GNUC__ as a digit */
Packit Service 8bf002
#define LINE_PREFIX         "# "
Packit Service 8bf002
#ifndef HAVE_DIGRAPHS
Packit Service 8bf002
#define HAVE_DIGRAPHS       TRUE
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifndef TARGET_HAVE_LONG_LONG
Packit Service 8bf002
#define TARGET_HAVE_LONG_LONG       TRUE
Packit Service 8bf002
#endif
Packit Service 8bf002
#define STDC_VERSION        0L  /* 199409L for V.2.9, 0L for V.3.*,V.4.*    */
Packit Service 8bf002
#define CPLUS_INCLUDE_DIR1  "/usr/include/c++/3.4"  /* "/usr/include/c++/3.3.6" */  /* "/usr/include/c++/4.1.2" */
Packit Service 8bf002
#define CPLUS_INCLUDE_DIR2  "/usr/include/c++/3.4/backward"     /* "/usr/include/c++/3.3.6/i386-vine-linux" */  /* "/usr/include/c++/4.1.2/i486-linux-gnu" */
Packit Service 8bf002
/* #define CPLUS_INCLUDE_DIR3   */  /* "/usr/include/c++/3.3.6/backward"    */  /* "/usr/include/c++/4.1.2/backward"    */
Packit Service 8bf002
/* #define C_INCLUDE_DIR1 */    /* "/usr/lib/gcc-lib/i386-vine-linux/3.3.6/include" */  /* "/usr/lib/gcc/i486-linux-gnu/4.1.2/include" */
Packit Service 8bf002
/* #define C_INCLUDE_DIR2   */
Packit Service 8bf002
#ifndef INC_DIR
Packit Service 8bf002
#ifdef  C_INCLUDE_DIR1
Packit Service 8bf002
#define INC_DIR             C_INCLUDE_DIR1  /* GNUC version specific dir    */
Packit Service 8bf002
#else
Packit Service 8bf002
#define INC_DIR             "/usr/local/include"    /* "/usr/include"   */
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifndef ENV_C_INCLUDE_DIR
Packit Service 8bf002
#define ENV_C_INCLUDE_DIR   "C_INCLUDE_PATH"
Packit Service 8bf002
#define ENV_CPLUS_INCLUDE_DIR   "CPLUS_INCLUDE_PATH"
Packit Service 8bf002
#endif
Packit Service 8bf002
#define SEARCH_INIT         SOURCE  /* Include directory relative to source */
Packit Service 8bf002
/*
Packit Service 8bf002
 * __SIZE_TYPE__, __PTRDIFF_TYPE__ and __WCHAR_TYPE__ are predefines of GCC.
Packit Service 8bf002
 */
Packit Service 8bf002
#if GCC_MAJOR_VERSION < 3
Packit Service 8bf002
#define COMPILER_SP1        "__SIZE_TYPE__"
Packit Service 8bf002
#define COMPILER_SP2        "__PTRDIFF_TYPE__"
Packit Service 8bf002
#define COMPILER_SP3        "__WCHAR_TYPE__"
Packit Service 8bf002
#define COMPILER_SP1_VAL    "unsigned int"
Packit Service 8bf002
#define COMPILER_SP2_VAL    "int"
Packit Service 8bf002
#define COMPILER_SP3_VAL    "int"
Packit Service 8bf002
    /* SYS_FREEBSD: "int", SYS_CYGWIN, SYS_MINGW: "short unsigned int"
Packit Service 8bf002
            , others: "long int"  */
Packit Service 8bf002
#endif  /* GCC_MAJOR_VERSION < 3    */
Packit Service 8bf002
/* On GCC V.3.*, V.4.*, these macros are known by mcpp_g*_predef_*.h files. */
Packit Service 8bf002
#endif  /* COMPILER_FAMILY == GNUC  */
Packit Service 8bf002
Packit Service 8bf002
#if     COMPILER == INDEPENDENT
Packit Service 8bf002
/* specifications of compiler-independent build  */
Packit Service 8bf002
#define LINE_PREFIX         "#line "
Packit Service 8bf002
#define STD_LINE_PREFIX     TRUE    /* Output #line by C source format      */
Packit Service 8bf002
#define HAVE_DIGRAPHS       TRUE    /* Output digraphs as it is     */
Packit Service 8bf002
#define SEARCH_INIT         SOURCE  /* Include directory relative to source */
Packit Service 8bf002
#define SJIS_IS_ESCAPE_FREE         TRUE    /* Do not treat SJIS specially  */
Packit Service 8bf002
#define BIGFIVE_IS_ESCAPE_FREE      TRUE    /* Do not treat specially       */
Packit Service 8bf002
#define ISO2022_JP_IS_ESCAPE_FREE   TRUE    /* Do not treat specially       */
Packit Service 8bf002
#define TARGET_HAVE_LONG_LONG       TRUE    /* dummy    */
Packit Service 8bf002
#define STDC_VERSION        199409L /* Initial value of __STDC_VERSION__    */
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * Each OS has some different target architectures.  The followings define
Packit Service 8bf002
 * the target CPU.
Packit Service 8bf002
 * MCPP defines some predefined macros based on the CPU macro, and possibly
Packit Service 8bf002
 * redefine them on an execution time by some options.
Packit Service 8bf002
 */
Packit Service 8bf002
#if     defined (__x86_64__) || defined (__amd64__) || defined (_M_AMD64)    \
Packit Service 8bf002
            || defined (_AMD64_) || defined (_X64_)
Packit Service 8bf002
#define CPU                 "x86_64"
Packit Service 8bf002
#elif   defined (__ppc64__) || defined (__powerpc64__)
Packit Service 8bf002
#define CPU                 "ppc64"
Packit Service 8bf002
#elif   defined (__ppc__) || defined (__powerpc__)
Packit Service 8bf002
#define CPU                 "ppc"
Packit Service 8bf002
#else   /* Defaults to i386 */
Packit Service 8bf002
#define CPU                 "i386"
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * defaults
Packit Service 8bf002
 */
Packit Service 8bf002
Packit Service 8bf002
#ifdef  SYSTEM_EXT
Packit Service 8bf002
#ifndef SYSTEM_EXT_VAL
Packit Service 8bf002
#define SYSTEM_EXT_VAL      "1"
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifdef  SYSTEM_EXT2
Packit Service 8bf002
#ifndef SYSTEM_EXT2_VAL
Packit Service 8bf002
#define SYSTEM_EXT2_VAL     "1"
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifdef  COMPILER_STD1
Packit Service 8bf002
#ifndef COMPILER_STD1_VAL
Packit Service 8bf002
#define COMPILER_STD1_VAL   "1"
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifdef  COMPILER_STD2
Packit Service 8bf002
#ifndef COMPILER_STD2_VAL
Packit Service 8bf002
#define COMPILER_STD2_VAL   "1"
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifdef  COMPILER_EXT
Packit Service 8bf002
#ifndef COMPILER_EXT_VAL
Packit Service 8bf002
#define COMPILER_EXT_VAL    "1"
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifdef  COMPILER_EXT2
Packit Service 8bf002
#ifndef COMPILER_EXT2_VAL
Packit Service 8bf002
#define COMPILER_EXT2_VAL   "1"
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifdef  COMPILER_CPLUS
Packit Service 8bf002
#ifndef COMPILER_CPLUS_VAL
Packit Service 8bf002
#define COMPILER_CPLUS_VAL  "1"
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#ifndef LINE_PREFIX
Packit Service 8bf002
#define LINE_PREFIX         "#line "
Packit Service 8bf002
#define STD_LINE_PREFIX     TRUE    /* C source format              */
Packit Service 8bf002
#else
Packit Service 8bf002
#ifndef STD_LINE_PREFIX
Packit Service 8bf002
#define STD_LINE_PREFIX     FALSE   /* Compiler-dependent format    */
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#ifndef HAVE_DIGRAPHS
Packit Service 8bf002
#define HAVE_DIGRAPHS       FALSE
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#ifndef ENV_C_INCLUDE_DIR
Packit Service 8bf002
#define ENV_C_INCLUDE_DIR   "INCLUDE"
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifndef ENV_CPLUS_INCLUDE_DIR
Packit Service 8bf002
#define ENV_CPLUS_INCLUDE_DIR   "CPLUS_INCLUDE"
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#ifndef ENV_SEP
Packit Service 8bf002
#if     SYS_FAMILY == SYS_WIN
Packit Service 8bf002
#define ENV_SEP             ';'
Packit Service 8bf002
#else
Packit Service 8bf002
#define ENV_SEP             ':'
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#ifndef ONE_PASS
Packit Service 8bf002
#define ONE_PASS            FALSE
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#ifndef FNAME_FOLD
Packit Service 8bf002
#define FNAME_FOLD          TRUE
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#ifndef SEARCH_INIT
Packit Service 8bf002
#define SEARCH_INIT         CURRENT
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * CHARBIT, UCHARMAX are respectively CHAR_BIT, UCHAR_MAX of target compiler.
Packit Service 8bf002
 * CHARBIT should be defined to the number of bits per character.
Packit Service 8bf002
 * It is needed only for processing of multi-byte character constants.
Packit Service 8bf002
 * UCHARMAX should be defined to the maximum value of type unsigned char
Packit Service 8bf002
 * or maximum value of unsigned int which is converted from type (signed)
Packit Service 8bf002
 * char.
Packit Service 8bf002
 *
Packit Service 8bf002
 * LONGMAX      should be defined to the LONG_MAX in <limits.h>.
Packit Service 8bf002
 * ULONGMAX     should be defined to the ULONG_MAX in <limits.h> or LONG_MAX
Packit Service 8bf002
 *              for the compiler which does not have unsigned long.
Packit Service 8bf002
 */
Packit Service 8bf002
Packit Service 8bf002
#ifndef CHARBIT
Packit Service 8bf002
#define CHARBIT             8
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifndef UCHARMAX
Packit Service 8bf002
#define UCHARMAX            0xFF
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifndef LONGMAX
Packit Service 8bf002
#define LONGMAX             0x7FFFFFFFL
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifndef ULONGMAX
Packit Service 8bf002
#define ULONGMAX            0xFFFFFFFFUL
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * Define MBCHAR (multi-byte character encoding) to SJIS, EUC_JP or other.
Packit Service 8bf002
 */
Packit Service 8bf002
#ifndef MBCHAR
Packit Service 8bf002
#define MBCHAR              0
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * SJIS_IS_ESCAPE_FREE means the compiler does not escape '0x5c' ('\\') in
Packit Service 8bf002
 * shift-JIS encoded multi-byte character.  SJIS_IS_ESCAPE_FREE == FALSE 
Packit Service 8bf002
 * enables cpp to insert * '\\' before '\\' of the 2nd byte of SJIS code in
Packit Service 8bf002
 * literal.  This insertion is for the compiler-proper which can't recognize
Packit Service 8bf002
 * SJIS literal.
Packit Service 8bf002
 * BIGFIVE_IS_ESCAPE_FREE means similar case on BIGFIVE encoding.
Packit Service 8bf002
 * ISO2022_JP_IS_ESCAPE_FREE means similar case on ISO2022_JP encoding.
Packit Service 8bf002
 */
Packit Service 8bf002
#ifndef SJIS_IS_ESCAPE_FREE
Packit Service 8bf002
#define SJIS_IS_ESCAPE_FREE     FALSE   /* or TRUE following your compiler  */
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifndef BIGFIVE_IS_ESCAPE_FREE
Packit Service 8bf002
#define BIGFIVE_IS_ESCAPE_FREE  FALSE   /* or TRUE following your compiler  */
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifndef ISO2022_JP_IS_ESCAPE_FREE
Packit Service 8bf002
#define ISO2022_JP_IS_ESCAPE_FREE   FALSE   /* or TRUE following compiler   */
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 *      P A R T   2     Configurations for host-compiler.
Packit Service 8bf002
 *
Packit Service 8bf002
 *      WARNING: In case of HOST_COMPILER differs from COMPILER, you must
Packit Service 8bf002
 *          edit here and there of this part.
Packit Service 8bf002
 */
Packit Service 8bf002
#if     HOST_COMPILER == GNUC
Packit Service 8bf002
#if     __GNUC__ >= 3
Packit Service 8bf002
#define HAVE_INTMAX_T               TRUE
Packit Service 8bf002
#define HAVE_INTTYPES_H             TRUE
Packit Service 8bf002
#define HAVE_STDINT_H               TRUE
Packit Service 8bf002
#endif
Packit Service 8bf002
#define HOST_HAVE_LONG_LONG         TRUE 
Packit Service 8bf002
#if     HOST_SYSTEM == SYS_LINUX
Packit Service 8bf002
#define HOST_HAVE_STPCPY            TRUE
Packit Service 8bf002
#endif
Packit Service 8bf002
#if     HOST_SYSTEM == SYS_MAC
Packit Service 8bf002
#define HOST_HAVE_STPCPY            TRUE
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#elif   HOST_COMPILER == LCC
Packit Service 8bf002
#define HOST_HAVE_LONG_LONG         TRUE 
Packit Service 8bf002
Packit Service 8bf002
#elif   HOST_COMPILER == MSC
Packit Service 8bf002
#define HOST_HAVE_LONG_LONG         TRUE 
Packit Service 8bf002
Packit Service 8bf002
#elif   HOST_COMPILER == BORLANDC
Packit Service 8bf002
#if     __BORLANDC__ >= 0x550
Packit Service 8bf002
#define HOST_HAVE_LONG_LONG         TRUE 
Packit Service 8bf002
#endif
Packit Service 8bf002
#define HOST_HAVE_STPCPY            TRUE
Packit Service 8bf002
#if     __STDC__
Packit Service 8bf002
#define stpcpy( dest, src)  __stpcpy__( dest, src)
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#ifndef HAVE_INTMAX_T
Packit Service 8bf002
#define HAVE_INTMAX_T               FALSE
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/* The host compiler has the type long long int ?   */
Packit Service 8bf002
#ifndef HOST_HAVE_LONG_LONG
Packit Service 8bf002
#define HOST_HAVE_LONG_LONG         FALSE
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * This definitions should be set TRUE, if *both* of the target
Packit Service 8bf002
 * and the host compilers have long long type.
Packit Service 8bf002
 */
Packit Service 8bf002
#if TARGET_HAVE_LONG_LONG && HOST_HAVE_LONG_LONG
Packit Service 8bf002
#define HAVE_LONG_LONG      TRUE
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * Define the format specifier of intmax_t or long long for
Packit Service 8bf002
 * fprintf( fp_debug,).
Packit Service 8bf002
 * Both of target COMPILER and HOST_COMPILER should have long long.
Packit Service 8bf002
 */
Packit Service 8bf002
#if     HAVE_LONG_LONG
Packit Service 8bf002
#if     HOST_COMPILER == BORLANDC   \
Packit Service 8bf002
        || (HOST_COMPILER == MSC && _MSC_VER < 1400)    \
Packit Service 8bf002
        || HOST_SYSTEM == SYS_MINGW
Packit Service 8bf002
#define LL_FORM             "I64"   /* Format specifier for __int64 */
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifndef LL_FORM
Packit Service 8bf002
#define LL_FORM             "ll"    /* C99: for long long, "j" for intmax_t */
Packit Service 8bf002
#endif
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
#ifndef HOST_HAVE_STPCPY
Packit Service 8bf002
#define HOST_HAVE_STPCPY            FALSE
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/*
Packit Service 8bf002
 * Declaration of standard library functions and macros.
Packit Service 8bf002
 */
Packit Service 8bf002
Packit Service 8bf002
/* stdin, stdout, stderr, FILE, NULL, fgets(), fputs() and other functions. */
Packit Service 8bf002
#include    "stdio.h"
Packit Service 8bf002
Packit Service 8bf002
/* PATHMAX is the maximum length of path-list on the host system.   */
Packit Service 8bf002
/* _POSIX_* only to get PATH_MAX    */
Packit Service 8bf002
#define _POSIX_             1
Packit Service 8bf002
#define _POSIX_SOURCE       1
Packit Service 8bf002
#ifndef _POSIX_C_SOURCE
Packit Service 8bf002
#define _POSIX_C_SOURCE     1
Packit Service 8bf002
#define _POSIX_C_SOURCE_defined     1
Packit Service 8bf002
#endif
Packit Service 8bf002
#include    "limits.h"
Packit Service 8bf002
#undef  _POSIX_
Packit Service 8bf002
#undef  _POSIX_SOURCE
Packit Service 8bf002
#ifdef  _POSIX_C_SOURCE_defined
Packit Service 8bf002
#undef  _POSIX_C_SOURCE
Packit Service 8bf002
#undef  _POSIX_C_SOURCE_defined
Packit Service 8bf002
#endif
Packit Service 8bf002
#ifdef  PATH_MAX
Packit Service 8bf002
#define PATHMAX     PATH_MAX        /* Posix macro  */
Packit Service 8bf002
#else
Packit Service 8bf002
#define PATHMAX     FILENAME_MAX
Packit Service 8bf002
#endif
Packit Service 8bf002
Packit Service 8bf002
/* islower(), isupper(), toupper(), isdigit(), isxdigit(), iscntrl()        */
Packit Service 8bf002
#include    "ctype.h"
Packit Service 8bf002
Packit Service 8bf002
/* errno    */
Packit Service 8bf002
#include    "errno.h"
Packit Service 8bf002
Packit Service 8bf002
#include    "string.h"
Packit Service 8bf002
#include    "stdlib.h"
Packit Service 8bf002
#include    "time.h"
Packit Service 8bf002
#include    "setjmp.h"
Packit Service 8bf002
Packit Service 8bf002
/* For debugging malloc systems by kmatsui  */
Packit Service 8bf002
#if     KMMALLOC && _MEM_DEBUG
Packit Service 8bf002
#include        "xalloc.h"
Packit Service 8bf002
#endif
Packit Service 8bf002