diff options
Diffstat (limited to 'imakemdep.h')
-rw-r--r-- | imakemdep.h | 86 |
1 files changed, 64 insertions, 22 deletions
diff --git a/imakemdep.h b/imakemdep.h index 5653209..e54d77c 100644 --- a/imakemdep.h +++ b/imakemdep.h @@ -65,16 +65,37 @@ in this Software without prior written authorization from The Open Group. #define imake_ccflags "-DSYSV" #endif -#if defined(USL) || defined(__USLC__) || defined(Oki) || defined(NCR) -#define imake_ccflags "-Xa -DSVR4" +/* + * SCO UnixWare and OpenServer 6 are both System V Release 5 based OSes. + * The native C compiler doesn't assert __UNIXWARE__ but gcc does, so + * we don't redefine it if we are using gcc (as it sets it to a specific + * value). On OpenServer 6, which is a multi-ABI world, if you attempt + * to build with -Kosr, then the C compiler will assert __OPENSERVER__ + * and set it to the value 507. That indicates an OSR5 compile, and + * is handled below. + */ + +#if defined(__UNIXWARE__) || defined(__USLC__) || defined(Oki) || defined(NCR) +# ifdef imake_ccflags +# undef imake_ccflags +# endif +# ifdef __UNIXWARE__ +# ifndef __GNUC__ +# define imake_ccflags "-Xa -DSVR4 -DSVR5 -D__UNIXWARE__" +# else +# define imake_ccflags "-Xa -DSVR4 -DSVR5" +# endif +# else +# define imake_ccflags "-Xa -DSVR4" +# endif #endif /* SCO may define __USLC__ so put this after the USL check */ -#if defined(M_UNIX) || defined(_SCO_DS) -#ifdef imake_ccflags -#undef imake_ccflags -#endif -#define imake_ccflags "-Dsco -DSYSV -DSCO -DSCO325" +#if defined(M_UNIX) || defined(_SCO_DS) || defined(__OPENSERVER__) +# ifdef imake_ccflags +# undef imake_ccflags +# endif +# define imake_ccflags "-DSYSV -DSCO325 -D__SCO__" #endif #ifdef sony @@ -204,7 +225,7 @@ in this Software without prior written authorization from The Open Group. * descriptor onto another, define such a mechanism here (if you don't * already fall under the existing category(ies). */ -#if defined(SYSV) && !defined(_CRAY) && !defined(Mips) && !defined(_SEQUENT_) && !defined(sco) +#if defined(SYSV) && !defined(_CRAY) && !defined(Mips) && !defined(_SEQUENT_) && !defined(__SCO__) #define dup2(fd1,fd2) ((fd1 == fd2) ? fd1 : (close(fd2), \ fcntl(fd1, F_DUPFD, fd2))) #endif @@ -219,7 +240,7 @@ in this Software without prior written authorization from The Open Group. * 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)) || defined(__QNX__) || defined(__sgi) || defined(__UNIXOS2__) +#if defined(sun) || defined(SYSV) || defined(SVR4) || defined(hcx) || defined(WIN32) || defined(__SCO__) || (defined(AMOEBA) && defined(CROSS_COMPILE)) || defined(__QNX__) || defined(__sgi) || defined(__UNIXOS2__) || defined(__UNIXWARE__) #define FIXUP_CPP_WHITESPACE #endif #ifdef WIN32 @@ -436,8 +457,9 @@ char *cpp_argv[ARGUMENTS] = { #if defined(macII) || defined(_AUX_SOURCE) "-DmacII", /* Apple A/UX */ #endif -#if defined(USL) || defined(__USLC__) - "-DUSL", /* USL */ +#if defined(USL) || defined(__UNIXWARE__) || \ + (defined(__USLC__) && !defined(_SCO_DS)) + "-D__UNIXWARE__", /* SCO UnixWare 7 */ #endif #ifdef sony "-Dsony", /* Sony */ @@ -495,8 +517,9 @@ char *cpp_argv[ARGUMENTS] = { "-DSVR4", # endif #endif /* MOTOROLA */ -#if defined(M_UNIX) || defined(sco) - "-Dsco", +#if defined(M_UNIX) || defined(sco) || defined(__SCO__) || \ + defined(_SCO_DS) || defined(__OPENSERVER__) + "-D__SCO__", "-DSYSV", #endif #ifdef i386 @@ -522,11 +545,11 @@ char *cpp_argv[ARGUMENTS] = { # endif # endif # endif -# ifdef SCO - "-DSCO", -# ifdef _SCO_DS +# if (_SCO_DS - 0 == 1) "-DSCO325", -# endif +# endif +# if (_SCO_DS - 0 > 1) + "-DSCO5V6", # endif # endif # ifdef ESIX @@ -560,12 +583,12 @@ char *cpp_argv[ARGUMENTS] = { # endif # endif # endif -# ifdef SCO - "-DSCO", -# ifdef _SCO_DS +# if (_SCO_DS - 0 == 1) "-DSCO325", -# endif # endif +# if (_SCO_DS - 0 > 1) + "-DSCO5V6", +# endif # ifdef ESIX "-DESIX", # endif @@ -783,7 +806,8 @@ char *cpp_argv[ARGUMENTS] = { # 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__) +# elif defined(USL) || defined(__USLC__) || defined(__UNIXWARE__) || \ + defined(__SCO__) || defined(__OPENSERVER__) || defined(_SCO_DS) /* 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" @@ -1116,6 +1140,24 @@ struct symtab predefs[] = { #ifdef __HIGHC__ {"__HIGHC__", "1"}, #endif +#ifdef __OPENSERVER__ + {"__OPENSERVER__", DEF_STRINGIFY(__OPENSERVER__)}, +#endif +#ifdef _SCO_DS + {"_SCO_DS", DEF_STRINGIFY(_SCO_DS)}, +#endif +#ifdef _SCO_DS_LL + {"_SCO_DS_LL", DEF_STRINGIFY(_SCO_DS_LL)}, +#endif +#ifdef __SCO_VERSION__ + {"__SCO_VERSION__", DEF_STRINGIFY(__SCO_VERSION__)}, +#endif +#ifdef __UNIXWARE__ + {"__UNIXWARE__", DEF_STRINGIFY(__UNIXWARE__)}, +#endif +#ifdef __USLC__ + {"__USLC__", DEF_STRINGIFY(__USLC__)}, +#endif #ifdef CMU {"CMU", "1"}, #endif |