diff options
Diffstat (limited to 'imakemdep.h')
-rw-r--r-- | imakemdep.h | 769 |
1 files changed, 676 insertions, 93 deletions
diff --git a/imakemdep.h b/imakemdep.h index b6ebd42..c31a000 100644 --- a/imakemdep.h +++ b/imakemdep.h @@ -24,6 +24,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. */ +/* $XFree86: xc/config/imake/imakemdep.h,v 3.68 2002/12/24 17:42:58 tsi Exp $ */ /* @@ -39,6 +40,10 @@ in this Software without prior written authorization from The Open Group. * These will be passed to the compile along with the contents of the * make variable BOOTSTRAPCFLAGS. */ +#if defined(clipper) || defined(__clipper__) +#define imake_ccflags "-O -DSYSV -DBOOTSTRAPCFLAGS=-DSYSV" +#endif + #ifdef hpux #ifdef hp9000s800 #define imake_ccflags "-DSYSV" @@ -64,7 +69,7 @@ in this Software without prior written authorization from The Open Group. #ifdef imake_ccflags #undef imake_ccflags #endif -#define imake_ccflags "-Dsco" +#define imake_ccflags "-Dsco -DSYSV -DSCO -DSCO325" #endif #ifdef sony @@ -81,7 +86,6 @@ in this Software without prior written authorization from The Open Group. #endif #endif #endif - #ifdef _CRAY #define imake_ccflags "-DSYSV -DUSG" #endif @@ -122,6 +126,10 @@ in this Software without prior written authorization from The Open Group. # endif #endif +#if defined(Lynx) || defined(__Lynx__) +#define imake_ccflags "-DLynx" +#endif /* Lynx */ + #ifdef __convex__ #define imake_ccflags "-fn -tm c1" #endif @@ -162,15 +170,23 @@ in this Software without prior written authorization from The Open Group. #define imake_ccflags "-DSVR4" #endif -#ifdef MACH +#if defined(MACH) && !defined(__GNU__) #define imake_ccflags "-DNOSTDHDRS" #endif -/* this is for OS/2 under EMX. This won't work with DOS */ -#if defined(__EMX__) +/* this is for OS/2 under UNIXOS2. This won't work with DOS */ +#if defined(__UNIXOS2__) #define imake_ccflags "-DBSD43" #endif +#if defined(__QNX__) && !defined(__QNXNTO__) +#define imake_ccflags "-D__QNX__ -D_i386" +#endif + +#if defined(__QNXNTO__) +#define imake_ccflags "-D__QNXNTO__" +#endif + #else /* not CCIMAKE */ #ifndef MAKEDEPEND /* @@ -187,14 +203,14 @@ in this Software without prior written authorization from The Open Group. /* * Step 3: FIXUP_CPP_WHITESPACE - * If your cpp collapses tabs macro expansions into a single space and + * If your cpp collapses tabs in macro expansions into a single space and * replaces escaped newlines with a space, define this symbol. This will * cause imake to attempt to patch up the generated Makefile by looking * for lines that have colons in them (this is why the rules file escapes * all colons). One way to tell if you need this is to see whether or not * your Makefiles have no tabs in them and lots of @@ strings. */ -#if defined(sun) || defined(SYSV) || defined(SVR4) || defined(hcx) || defined(WIN32) || defined(sco) || (defined(AMOEBA) && defined(CROSS_COMPILE)) +#if defined(sun) || defined(SYSV) || defined(SVR4) || defined(hcx) || defined(WIN32) || defined(sco) || (defined(AMOEBA) && defined(CROSS_COMPILE)) || defined(__QNX__) || defined(__sgi) || defined(__UNIXOS2__) #define FIXUP_CPP_WHITESPACE #endif #ifdef WIN32 @@ -202,6 +218,18 @@ in this Software without prior written authorization from The Open Group. #define INLINE_SYNTAX #define MAGIC_MAKE_VARS #endif +#ifdef __minix_vmd +#define FIXUP_CPP_WHITESPACE +#endif + +#if defined(Lynx) +/* On LynxOS 2.4.0 imake gets built with the old "legacy" + * /bin/cc which has a rather pedantic builtin preprocessor. + * Using a macro which is not #defined (as in Step 5 + * below) flags an *error* + */ +#define __NetBSD_Version__ 0 +#endif /* * Step 4: USE_CC_E, DEFAULT_CC, DEFAULT_CPP @@ -209,6 +237,16 @@ in this Software without prior written authorization from The Open Group. * If use cc -E but want a different compiler, define DEFAULT_CC. * If the cpp you need is not in /lib/cpp, define DEFAULT_CPP. */ +#if !defined (CROSSCOMPILE) || defined (CROSSCOMPILE_CPP) + +#if defined(__APPLE__) +#define DEFAULT_CPP "/usr/bin/cpp" +#define DEFAULT_CC "cc" +#endif +#if defined(Lynx) || defined(__Lynx__) +#define DEFAULT_CC "gcc" +#define USE_CC_E +#endif #ifdef hpux #define USE_CC_E #endif @@ -219,6 +257,9 @@ in this Software without prior written authorization from The Open Group. #ifdef apollo #define DEFAULT_CPP "/usr/lib/cpp" #endif +#if defined(clipper) || defined(__clipper__) +#define DEFAULT_CPP "/usr/lib/cpp" +#endif #if defined(_IBMR2) && !defined(DEFAULT_CPP) #define DEFAULT_CPP "/usr/ccs/lib/cpp" #endif @@ -237,23 +278,44 @@ in this Software without prior written authorization from The Open Group. #ifdef _CRAY #define DEFAULT_CPP "/lib/pcpp" #endif -#if defined(__386BSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) +#if defined(__386BSD__) #define DEFAULT_CPP "/usr/libexec/cpp" #endif +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +#define USE_CC_E +#endif #if defined(__sgi) && defined(__ANSI_CPP__) #define USE_CC_E #endif -#ifdef MACH +#if defined(MACH) && !defined(__GNU__) #define USE_CC_E #endif #ifdef __minix_vmd #define DEFAULT_CPP "/usr/lib/cpp" #endif -#if defined(__EMX__) +#if defined(__UNIXOS2__) /* expects cpp in PATH */ #define DEFAULT_CPP "cpp" #endif +#ifdef __CYGWIN__ +#define DEFAULT_CC "gcc" +#define DEFAULT_CPP "/usr/bin/cpp" +#endif +#if defined (__QNX__) +#ifdef __QNXNTO__ +#define DEFAULT_CPP "/usr/bin/cpp" +#else +#define DEFAULT_CPP "/usr/X11R6/bin/cpp" +#endif +#endif +#if defined(__GNUC__) && !defined(USE_CC_E) +#define USE_CC_E +#ifndef DEFAULT_CC +#define DEFAULT_CC "gcc" +#endif +#endif +#endif /* !defined (CROSSCOMPILE) || defined (CROSSCOMPILE_CPP) */ /* * Step 5: cpp_argv * The following table contains the flags that should be passed @@ -261,7 +323,7 @@ in this Software without prior written authorization from The Open Group. * doesn't predefine any unique symbols, choose one and add it to the * end of this table. Then, do the following: * - * a. Use this symbol in Imake.tmpl when setting MacroFile. + * a. Use this symbol in Imake.cf when setting MacroFile. * b. Put this symbol in the definition of BootstrapCFlags in your * <platform>.cf file. * c. When doing a make World, always add "BOOTSTRAPCFLAGS=-Dsymbol" @@ -272,15 +334,74 @@ in this Software without prior written authorization from The Open Group. */ #define ARGUMENTS 50 /* number of arguments in various arrays */ +#if !defined (CROSSCOMPILE) || defined (CROSSCOMPILE_CPP) char *cpp_argv[ARGUMENTS] = { "cc", /* replaced by the actual program to exec */ "-I.", /* add current directory to include path */ +#if !defined(__NetBSD_Version__) || __NetBSD_Version__ < 103080000 #ifdef unix "-Uunix", /* remove unix symbol so that filename unix.c okay */ #endif -#if defined(__386BSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(MACH) +#endif +#if defined(__386BSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || \ + defined(__FreeBSD__) || defined(MACH) || defined(linux) || \ + defined(__GNU__) || defined(__bsdi__) || defined(__GNUC__) # ifdef __i386__ "-D__i386__", +# if defined(__GNUC__) && (__GNUC__ >= 3) + "-m32", +# endif +# endif +# ifdef __i486__ + "-D__i486__", +# endif +# ifdef __i586__ + "-D__i586__", +# endif +# ifdef __i686__ + "-D__i686__", +# endif +# ifdef __k6__ + "-D__k6__", +# endif +# ifdef __ia64__ + "-D__ia64__", +# endif +# ifdef __x86_64__ + "-D__x86_64__", +# endif +# ifdef __s390__ + "-D__s390__", +# endif +# ifdef __alpha__ + "-D__alpha__", +# endif +# ifdef __arm__ + "-D__arm__", +# endif +# ifdef __s390x__ + "-D__s390x__", +# endif +# ifdef __sparc__ + "-D__sparc__", +# endif +# ifdef __m68k__ + "-D__m68k__", +# endif +# ifdef __sh__ + "-D__sh__", +# endif +# ifdef __sh3__ + "-D__sh3__", +# endif +# ifdef __SH3__ + "-D__SH3__", +# endif +# ifdef __SH4__ + "-D__SH4__", +# endif +# ifdef __SH4NOFPU__ + "-D__SH4_NOFPU__", # endif # ifdef __GNUC__ "-traditional", @@ -356,9 +477,7 @@ char *cpp_argv[ARGUMENTS] = { #endif /* MOTOROLA */ #if defined(M_UNIX) || defined(sco) "-Dsco", -# if defined(sco324) - "-Dsco324", -# endif + "-DSYSV", #endif #ifdef i386 "-Di386", @@ -385,59 +504,56 @@ char *cpp_argv[ARGUMENTS] = { # endif # ifdef SCO "-DSCO", -# ifdef SCO324 - "-DSCO324", +# ifdef _SCO_DS + "-DSCO325", # endif # endif -# ifdef ESIX +# endif +# ifdef ESIX "-DESIX", -# endif -# ifdef ATT +# endif +# ifdef ATT "-DATT", -# endif -# ifdef DELL +# endif +# ifdef DELL "-DDELL", -# endif # endif #endif -#ifdef SYSV386 /* System V/386 folks, obsolete */ +#ifdef SYSV386 /* System V/386 folks, obsolete */ "-Di386", # ifdef SVR4 "-DSVR4", # endif -# ifdef SYSV - "-DSYSV", -# ifdef ISC +# ifdef ISC "-DISC", -# ifdef ISC40 +# ifdef ISC40 "-DISC40", /* ISC 4.0 */ -# else -# ifdef ISC202 +# else +# ifdef ISC202 "-DISC202", /* ISC 2.0.2 */ -# else -# ifdef ISC30 +# else +# ifdef ISC30 "-DISC30", /* ISC 3.0 */ -# else +# else "-DISC22", /* ISC 2.2.1 */ -# endif # endif # endif # endif -# ifdef SCO +# endif +# ifdef SCO "-DSCO", -# ifdef SCO324 - "-DSCO324", -# endif +# ifdef _SCO_DS + "-DSCO325", # endif -# ifdef ESIX +# endif +# ifdef ESIX "-DESIX", -# endif -# ifdef ATT +# endif +# ifdef ATT "-DATT", -# endif -# ifdef DELL +# endif +# ifdef DELL "-DDELL", -# endif # endif #endif #ifdef __osf__ @@ -448,6 +564,12 @@ char *cpp_argv[ARGUMENTS] = { # ifdef __alpha "-D__alpha", # endif +# ifdef __amiga__ + "-D__amiga__", +# endif +# ifdef __alpha__ + "-D__alpha__", +# endif # ifdef __i386__ "-D__i386__", # endif @@ -475,9 +597,28 @@ char *cpp_argv[ARGUMENTS] = { "-DNCR", /* NCR */ #endif #ifdef linux - "-traditional", "-Dlinux", #endif +#if defined(__CYGWIN__) + "-traditional", +#endif +#if defined(Lynx) || defined(__Lynx__) + "-traditional", +#if 0 + "-DLYNX", /* do we really need this?? */ +#endif + "-DLynx", +# ifdef ppc + "-Dppc", +# endif +# if defined(m68k) || defined(M68k) || defined(m68040) + "-Dm68k", + "-DM68k", +# endif +# ifdef uSPARC1 + "-Dsparc", +# endif +#endif #ifdef __uxp__ "-D__uxp__", #endif @@ -492,13 +633,13 @@ char *cpp_argv[ARGUMENTS] = { # ifdef CROSS_COMPILE "-DCROSS_COMPILE", # ifdef CROSS_i80386 - "-DCROSS_i80386", + "-Di80386", # endif # ifdef CROSS_sparc - "-DCROSS_sparc", + "-Dsparc", # endif # ifdef CROSS_mc68000 - "-DCROSS_mc68000", + "-Dmc68000", # endif # else # ifdef i80386 @@ -519,76 +660,309 @@ char *cpp_argv[ARGUMENTS] = { "-Dminix", #endif -#if defined(__EMX__) +#if defined(__UNIXOS2__) "-traditional", "-Demxos2", #endif +#ifdef MetroLink + "-DMetroLink", +# ifdef SVR4 + "-DSVR4", +# endif +# ifdef __powerpc__ + "-D__powerpc__", +# endif +# ifdef PowerMAX_OS + "-DPowerMAX_OS", +# endif +#endif +#if defined (__QNX__) && !defined(__QNXNTO__) + "-traditional", + "-D__QNX__", +#endif +#if defined(__QNXNTO__) + "-traditional", + "-D__QNXNTO__", +#if defined(i386) + "-Di386", +#endif +#if defined(__i386__) + "-D__i386__", +#endif +#if defined(PPC) + "-DPPC", +#endif +#if defined(MIPS) + "-DMIPS", +#endif +#endif + +#if defined(__APPLE__) + "-D__APPLE__", + "-D__DARWIN__", +# ifdef __ppc__ + "-D__ppc__", +# endif +# ifdef __i386__ + "-D__i386__", +# endif +#endif }; +#endif /* CROSSCOMPILE */ /* * Step 6: DEFAULT_OS_MAJOR_REV, DEFAULT_OS_MINOR_REV, DEFAULT_OS_TEENY_REV, * and DEFAULT_OS_NAME. - * If your systems provides a way to generate the default major, + * If your system provides a way to generate the default major, * minor, teeny, or system names at runtime add commands below. * The syntax of the _REV strings is 'f fmt' where 'f' is an argument * you would give to uname, and "fmt" is a scanf() format string. * Supported uname arguments are "snrvm", and if you specify multiple * arguments they will be separated by spaces. No more than 5 arguments * may be given. Unlike uname() order of arguments matters. + * + * DEFAULT_OS_MAJOR_REV_FROB, DEFAULT_OS_MINOR_REV_FROB, + * DEFAULT_OS_TEENY_REV_FROB, and DEFAULT_OS_NAME_FROB can be used to + * modify the results of the use of the various strings. */ -#if defined(aix) +#if !defined CROSSCOMPILE || defined CROSSCOMPILE_CPP +# if defined(aix) /* uname -v returns "x" (e.g. "4"), and uname -r returns "y" (e.g. "1") */ -# define DEFAULT_OS_MAJOR_REV "v %[0-9]" -# define DEFAULT_OS_MINOR_REV "r %[0-9]" +# define DEFAULT_OS_MAJOR_REV "v %[0-9]" +# define DEFAULT_OS_MINOR_REV "r %[0-9]" /* No information available to generate default OSTeenyVersion value. */ -# define DEFAULT_OS_NAME "srvm %[^\n]" -#elif defined(sun) || defined(sgi) || defined(ultrix) || defined(__uxp__) || defined(linux) || defined(sony) +# define DEFAULT_OS_NAME "srvm %[^\n]" +# elif defined(sun) || defined(sgi) || defined(ultrix) || defined(__uxp__) || defined(sony) /* uname -r returns "x.y[.z]", e.g. "5.4" or "4.1.3" */ -# define DEFAULT_OS_MAJOR_REV "r %[0-9]" -# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" -# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]" -# define DEFAULT_OS_NAME "srvm %[^\n]" -#elif defined(hpux) +# define DEFAULT_OS_MAJOR_REV "r %[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" +# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]" +# define DEFAULT_OS_NAME "srvm %[^\n]" +# elif defined(hpux) /* uname -r returns "W.x.yz", e.g. "B.10.01" */ -# define DEFAULT_OS_MAJOR_REV "r %*[^.].%[0-9]" -# define DEFAULT_OS_MINOR_REV "r %*[^.].%*d.%1s" -# define DEFAULT_OS_TEENY_REV "r %*[^.].%*d.%*c%[0-9]" -# define DEFAULT_OS_NAME "srvm %[^\n]" -#elif defined(USL) || defined(__USLC__) +# define DEFAULT_OS_MAJOR_REV "r %*[^.].%[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*[^.].%*d.%1s" +# define DEFAULT_OS_TEENY_REV "r %*[^.].%*d.%*c%[0-9]" +# define DEFAULT_OS_NAME "srvm %[^\n]" +# elif defined(USL) || defined(__USLC__) +/* uname -v returns "x.yz" or "x.y.z", e.g. "2.02" or "2.1.2". */ +# define DEFAULT_OS_MAJOR_REV "v %[0-9]" +# define DEFAULT_OS_MINOR_REV "v %*d.%1s" +# define DEFAULT_OS_TEENY_REV "v %*d.%*c%[.0-9]" +# define DEFAULT_OS_NAME "srvm %[^\n]" +# elif defined(__APPLE__) /* uname -v returns "x.yz" or "x.y.z", e.g. "2.02" or "2.1.2". */ -# define DEFAULT_OS_MAJOR_REV "v %[0-9]" -# define DEFAULT_OS_MINOR_REV "v %*d.%1s" -# define DEFAULT_OS_TEENY_REV "v %*d.%*c%[.0-9]" -# define DEFAULT_OS_NAME "srvm %[^\n]" -#elif defined(__osf__) +# define DEFAULT_OS_MAJOR_REV "r %[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" +# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]" /* this will just get 0 */ +# define DEFAULT_OS_NAME "s %[^\n]" +# elif defined(__osf__) /* uname -r returns "Wx.y", e.g. "V3.2" or "T4.0" */ -# define DEFAULT_OS_MAJOR_REV "r %*[^0-9]%[0-9]" -# define DEFAULT_OS_MINOR_REV "r %*[^.].%[0-9]" -# define DEFAULT_OS_NAME "srvm %[^\n]" -#elif defined(__uxp__) +# define DEFAULT_OS_MAJOR_REV "r %*[^0-9]%[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*[^.].%[0-9]" +# define DEFAULT_OS_NAME "srvm %[^\n]" +# elif defined(__uxp__) /* NOTE: "x.y[.z]" above handles UXP/DF. This is a sample alternative. */ /* uname -v returns "VxLy Yzzzzz ....", e.g. "V20L10 Y95021 Increment 5 ..." */ -# define DEFAULT_OS_MAJOR_REV "v V%[0-9]" -# define DEFAULT_OS_MINOR_REV "v V%*dL%[0-9]" -# define DEFAULT_OS_NAME "srvm %[^\n]" -#elif defined(__FreeBSD__) -/* NetBSD, OpenBSD, 386BSD, and BSD/OS too? */ +# define DEFAULT_OS_MAJOR_REV "v V%[0-9]" +# define DEFAULT_OS_MINOR_REV "v V%*dL%[0-9]" +# define DEFAULT_OS_NAME "srvm %[^\n]" +# elif defined(linux) || defined(__bsdi__) +# define DEFAULT_OS_MAJOR_REV "r %[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" +# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]" +# define DEFAULT_OS_NAME "srm %[^\n]" +# if defined(linux) && defined (CROSSCOMPILE_CPP) +# define CROSS_UTS_SYSNAME "Linux" +# include <linux/version.h> +# define CROSS_UTS_RELEASE UTS_RELEASE +# endif +# elif defined(__CYGWIN__) +# define DEFAULT_OS_MAJOR_REV "r %[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" +# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]" +# define DEFAULT_OS_NAME "srm %[^\n]" +# if defined(__CYGWIN__) && defined (CROSSCOMPILE_CPP) +# define CROSS_UTS_SYSNAME "Cygwin" +# include <cygwin/version.h> +# define CROSS_UTS_RELEASE "1.3.12" +# endif +# elif defined(__GNU__) +# define DEFAULT_OS_MAJOR_REV "r %[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" +# define DEFAULT_OS_NAME "srm %[^\n]" +# elif defined(ISC) +/* ISC all Versions ? */ +/* uname -r returns "x.y", e.g. "3.2" ,uname -v returns "x" e.g. "2" */ +# define DEFAULT_OS_MAJOR_REV "r %[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" +# define DEFAULT_OS_TEENY_REV "v %[0-9]" +/* # define DEFAULT_OS_NAME "srm %[^\n]" */ /* Not useful on ISC */ +# elif defined(__FreeBSD__) || defined(__OpenBSD__) +/* BSD/OS too? */ /* uname -r returns "x.y[.z]-mumble", e.g. "2.1.5-RELEASE" or "2.2-0801SNAP" */ -# define DEFAULT_OS_MAJOR_REV "r %[0-9]" -# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" -# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]" -# define DEFAULT_OS_NAME "srm %[^\n]" -#elif defined(_SEQUENT_) +# define DEFAULT_OS_MAJOR_REV "r %[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" +# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]" +# define DEFAULT_OS_NAME "srm %[^\n]" +# if defined(__FreeBSD__) +/* Use an alternate way to find the teeny version for -STABLE, -SNAP versions */ +# ifndef CROSSCOMPILE_CPP +# define DEFAULT_OS_TEENY_REV_FROB(buf, size) \ + do { \ + if (*buf == 0) { \ + int __mib[2]; \ + size_t __len; \ + int __osrel; \ + \ + __mib[0] = CTL_KERN; \ + __mib[1] = KERN_OSRELDATE; \ + __len = sizeof(__osrel); \ + sysctl(__mib, 2, &__osrel, &__len, NULL, 0); \ + if (__osrel < 210000) { \ + if (__osrel < 199607) \ + buf[0] = '0'; \ + else if (__osrel < 199612) \ + buf[0] = '5'; \ + else if (__osrel == 199612) \ + buf[0] = '6'; \ + else \ + buf[0] = '8'; /* guess */ \ + } else { \ + buf[0] = ((__osrel / 1000) % 10) + '0'; \ + } \ + buf[1] = 0; \ + } \ + } while (0) +# endif +# else + /* OpenBSD - Add DEFAULT_MACHINE_ARCHITECTURE */ +# define DEFAULT_MACHINE_ARCHITECTURE "m %[^\n]" +# endif +# elif defined(__NetBSD__) +/* + * uname -r returns "x.y([ABCD...]|_mumble)", e.g.: + * 1.2 1.2_BETA 1.2A 1.2B + * + * That means that we have to do something special to turn the + * TEENY revision into a form that we can use (i.e., a string of + * decimal digits). + * + * We also frob the name DEFAULT_OS_NAME so that it looks like the + * 'standard' NetBSD name for the version, e.g. "NetBSD/i386 1.2B" for + * NetBSD 1.2B on an i386. + */ +# define DEFAULT_OS_MAJOR_REV "r %[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" +# define DEFAULT_OS_TEENY_REV "r %*d.%*d%[A-Z]" +# define DEFAULT_OS_TEENY_REV_FROB(buf, size) \ + do { \ + int teeny = 0; \ + char *ptr = (buf); \ + \ + while (*ptr >= 'A' && *ptr <= 'Z') /* sanity check */ \ + teeny = teeny * 26 + (int)(*ptr++ - 'A'); \ + \ + snprintf((buf), (size), "%d", teeny + 1); \ + } while (0) +# define DEFAULT_OS_NAME "smr %[^\n]" +# define DEFAULT_OS_NAME_FROB(buf, size) \ + do { \ + char *__sp; \ + if ((__sp = strchr((buf), ' ')) != NULL) \ + *__sp = '/'; \ + } while (0) +# elif defined(__Lynx__) || defined(Lynx) +/* Lynx 2.4.0 /bin/cc doesn't like #elif */ +# define DEFAULT_OS_MAJOR_REV "r %[0-9]" +# define DEFAULT_OS_MINOR_REV "r %*d.%[0-9]" +# define DEFAULT_OS_TEENY_REV "r %*d.%*d.%[0-9]" +# define DEFAULT_OS_NAME "srm %[^\n]" +# elif defined(_SEQUENT_) /* uname -v returns 'Vx.y.z', e.g. 'V4.4.2' */ -# define DEFAULT_OS_MAJOR_REV "v V%[0-9]" -# define DEFAULT_OS_MINOR_REV "v V%*d.%[0-9]" -# define DEFAULT_OS_TEENY_REV "v V%*d.%*d.%[0-9]" -# define DEFAULT_OS_NAME "s %[^\n]" -#endif +# define DEFAULT_OS_MAJOR_REV "v V%[0-9]" +# define DEFAULT_OS_MINOR_REV "v V%*d.%[0-9]" +# define DEFAULT_OS_TEENY_REV "v V%*d.%*d.%[0-9]" +# define DEFAULT_OS_NAME "s %[^\n]" +# endif +#endif /* !defined CROSSCOMPILE || defined CROSSCOMPILE_CPP */ + +# if defined (CROSSCOMPILE_CPP) +# ifndef CROSS_UTS_SYSNAME +char *cross_uts_sysname = ""; +# else +char *cross_uts_sysname = CROSS_UTS_SYSNAME; +# endif +# ifndef CROSS_UTS_RELEASE +char* cross_uts_release = ""; +# else +char* cross_uts_release = CROSS_UTS_RELEASE; +# endif +# ifndef CROSS_UTS_MACHINE +char *cross_uts_machine = ""; +# else +char *cross_uts_machine = CROSS_UTS_MACHINE; +# endif +# ifndef CROSS_UTS_VERSION +char * cross_uts_version = ""; +# else +char * cross_uts_version = CROSS_UTS_VERSION; +# endif +# ifdef DEFAULT_OS_NAME +char *defaultOsName = DEFAULT_OS_NAME; +# else +char *defaultOsName = NULL; +# endif +# ifdef DEFAULT_OS_MAJOR_REV +char *defaultOsMajorRev = DEFAULT_OS_MAJOR_REV; +# else +char *defaultOsMajorRev = NULL; +# endif +# ifdef DEFAULT_OS_MINOR_REV +char *defaultOsMinorRev = DEFAULT_OS_MINOR_REV; +# else +char *defaultOsMinorRev = NULL; +# endif +# ifdef DEFAULT_OS_TEENY_REV +char *defaultOsTeenyRev = DEFAULT_OS_TEENY_REV; +# else +char *defaultOsTeenyRev = NULL; +# endif +# ifdef DEFAULT_MACHINE_ARCHITECTURE +char *defaultMachineArchitecture = DEFAULT_MACHINE_ARCHITECTURE; +# else +char *defaultMachineArchitecture = NULL; +# endif +# ifdef DEFAULT_OS_NAME_FROB +void defaultOsNameFrob(char *buf, int size) +{DEFAULT_OS_NAME_FROB(buf,size)} +# else +void (*defaultOsNameFrob)(char *buf, int size) = NULL; +# endif +# ifdef DEFAULT_OS_MAJOR_REV_FROB +void defaultOsMajorRevFrob(char *buf, int size) +{DEFAULT_OS_MAJOR_REV_FROB(buf,size)} +# else +void (*defaultOsMajorRevFrob)(char *buf, int size) = NULL; +# endif +# ifdef DEFAULT_OS_MINOR_REV_FROB +void defaultOsMinorRevFrob(char *buf, int size) +{DEFAULT_OS_MINOR_REV_FROB(buf,size)} +# else +void (*defaultOsMinorRevFrob)(char *buf, int size) = NULL; +# endif +# ifdef DEFAULT_OS_TEENY_REV_FROB +void defaultOsTeenyRevFrob(char *buf, int size) +{DEFAULT_OS_TEENY_REV_FROB(buf,size)} +# else +void (*defaultOsTeenyRevFrob)(char *buf, int size) = NULL; +# endif +# endif /* CROSSCOMPILE_CPP */ #else /* else MAKEDEPEND */ +#if !defined (CROSSCOMPILE) || defined (CROSSCOMPILE_CPP) /* * Step 7: predefs * If your compiler and/or preprocessor define any specific symbols, add @@ -599,6 +973,12 @@ struct symtab predefs[] = { #ifdef apollo {"apollo", "1"}, #endif +#if defined(clipper) || defined(__clipper__) + {"clipper", "1"}, + {"__clipper__", "1"}, + {"clix", "1"}, + {"__clix__", "1"}, +#endif #ifdef ibm032 {"ibm032", "1"}, #endif @@ -675,10 +1055,25 @@ struct symtab predefs[] = { {"mc68020", "1"}, #endif #ifdef __GNUC__ +# if __GNUC__ == 1 {"__GNUC__", "1"}, +# elif __GNUC__ == 2 + {"__GNUC__", "2"}, +# elif __GNUC__ == 3 + {"__GNUC__", "3"}, +# endif +#endif +#ifdef __STRICT_ANSI__ + {"__STRICT_ANSI__", "1"}, #endif -#if __STDC__ +#ifdef __STDC__ +# if __STDC__ == 0 + {"__STDC__", "0"}, +# elif __STDC__ == 1 {"__STDC__", "1"}, +# elif __STDC__ == 2 + {"__STDC__", "2"}, +# endif #endif #ifdef __HIGHC__ {"__HIGHC__", "1"}, @@ -713,6 +1108,12 @@ struct symtab predefs[] = { #ifdef m68k {"m68k", "1"}, #endif +#ifdef M68k + {"M68k", "1"}, +#endif +#ifdef __m68k__ + {"__m68k__", "1"}, +#endif #ifdef m88k {"m88k", "1"}, #endif @@ -740,9 +1141,15 @@ struct symtab predefs[] = { #ifdef __osf__ {"__osf__", "1"}, #endif +#ifdef __amiga__ + {"__amiga__", "1"}, +#endif #ifdef __alpha {"__alpha", "1"}, #endif +#ifdef __alpha__ + {"__alpha__", "1"}, +#endif #ifdef __DECC {"__DECC", "1"}, #endif @@ -804,12 +1211,188 @@ struct symtab predefs[] = { #ifdef __NetBSD__ {"__NetBSD__", "1"}, #endif -#ifdef __EMX__ - {"__EMX__", "1"}, +#ifdef __GNU__ + {"__GNU__", "1"}, +#endif +#ifdef __ELF__ + {"__ELF__", "1"}, +#endif +#ifdef __UNIXOS2__ + {"__UNIXOS2__", "1"}, +#endif +#if defined(__QNX__) + {"__QNX__", "1"}, +#endif +#ifdef __QNXNTO__ + {"__QNXNTO__", "1"}, +#endif +# ifdef __powerpc__ + {"__powerpc__", "1"}, +# endif +# ifdef PowerMAX_OS + {"PowerMAX_OS", "1"}, +# endif +# ifdef ia64 + {"ia64", "1"}, +# endif +# ifdef __ia64__ + {"__ia64__", "1"}, +# endif +# ifdef x86_64 + {"x86_64", "1"}, +# endif +# ifdef __x86_64__ + {"__x86_64__", "1"}, +# endif +# ifdef __i386__ + {"__i386__", "1"}, +# endif +# ifdef __i486__ + {"__i486__", "1"}, +# endif +# ifdef __i586__ + {"__i586__", "1"}, +# endif +# ifdef __i686__ + {"__i686__", "1"}, +# endif +# ifdef __k6__ + {"__k6__", "1"}, +# endif +# ifdef i386 + {"i386", "1"}, +# endif +# ifdef i486 + {"i486", "1"}, +# endif +# ifdef i586 + {"i586", "1"}, +# endif +# ifdef i686 + { "i686", "1"}, +# endif +# ifdef k6 + {"k6", "1"}, +# endif +# ifdef sparc + {"sparc", "1"}, +# endif +# ifdef __sparc__ + {"__sparc__", "1"}, +# endif +# ifdef __s390__ + {"__s390__", "1"}, +# endif +# ifdef __sh__ + {"__sh__", "1"}, +# endif +# ifdef __sh3_ + {"__sh3__", "1"}, +# endif +# ifdef __SH3__ + {"__SH3__", "1"}, +# endif +# ifdef __SH4__ + {"__SH4__", "1"}, +# endif +# ifdef __SH4NOFPU__ + {"__SH4NOFPU__", "1"}, +# endif +#if defined(__ppc__) + {"__ppc__", "1"}, +#endif +#if defined(__BIG_ENDIAN__) + {"__BIG_ENDIAN__", "1"}, +#endif +#if defined(__LITTLE_ENDIAN__) + {"__LITTLE_ENDIAN__", "1"}, #endif + + /* add any additional symbols before this line */ {NULL, NULL} }; - +#endif /* CROSSCOMPILE */ #endif /* MAKEDEPEND */ + +# ifndef MAKEDEPEND +# if defined (CROSSCOMPILE_CPP) +# ifdef USE_CC_E +boolean crosscompile_use_cc_e = TRUE; +# ifdef DEFAULT_CC +char* crosscompile_cpp = DEFAULT_CC; +# else +char* crosscompile_cpp = "cc"; +# endif +# else +boolean crosscompile_use_cc_e = FALSE; +# ifdef DEFAULT_CPP +char* crosscompile_cpp = DEFAULT_CPP; +# else +char* crosscompile_cpp = "cpp"; +# endif +# endif +# ifdef FIXUP_CPP_WHITESPACE +boolean fixup_whitespace = TRUE; +# else +boolean fixup_whitespace = FALSE; +# endif +# ifdef REMOVE_CPP_LEADSPACE +boolean remove_cpp_leadspace = TRUE; +# else +boolean remove_cpp_leadspace = FALSE; +# endif +# ifdef INLINE_SYNTAX +boolean inline_syntax = TRUE; +# else +boolean inline_syntax = FALSE; +# endif +# ifdef MAGIC_MAKE_VARS +boolean magic_make_vars = TRUE; +# else +boolean magic_make_vars = FALSE; +# endif + +typedef enum { + unknown, + freeBSD, + netBSD, + LinuX, + emx, + win32 +} System; + +# ifdef linux +System sys = LinuX; +# elif defined __FreeBSD__ +System sys = freebsd; +# elif defined __NetBSD__ +System sys = netBSD; +# elif defined __EMX__ +System sys = emx; +# elif defined WIN32 +System sys = win32; +# else +System sys = unknown; +# endif + +# if defined __GNUC__ +int gnu_c = __GNUC__; +int gnu_c_minor = __GNUC_MINOR__; +# else +int gnu_c = 0; +int gnu_c_minor = -1; +# endif +# if defined linux +# include <features.h> +int glibc_major = __GLIBC__ + 4; +int glibc_minor = __GLIBC_MINOR__; +# else +int glibc_major = 0; +int glibc_minor = -1; +# endif +# endif /* !CROSSCOMPILE || CROSSCOMPILE_CPP */ + +# endif /* MAKEDEPEND */ + #endif /* CCIMAKE */ |