/* $Id: sun.cf,v 1.11 1999/03/10 16:49:06 mclareni Exp $ * * $Log: sun.cf,v $ * Revision 1.11 1999/03/10 16:49:06 mclareni * Add -KPIC option for f77 and cc * * Revision 1.10 1998/02/03 09:46:40 mclareni * Mathlib needs cpp, not fpp, with f77 SC4.2 * * Revision 1.9 1996/04/23 12:57:28 cernlib * Do not use LDRUNPATH by setting LdRunPath to NO * * Revision 1.8 1996/04/02 21:05:42 thakulin * Add support for Apogee and EPC C and Fortran compilers. * * Revision 1.7 1996/03/08 17:12:15 cernlib * *** empty log message *** * * Revision 1.6 1996/03/06 11:04:23 cernlib * Imake.tmpl : Correct rule to run kuipc * fortran.rules: echo makedepend * site.def: undef MakeCmd before #define ( Sun has this defined to ..openwin...) * *.cf : small mods * * Revision 1.5 1996/03/04 17:31:03 cernlib * Parametrize Ansi C compiel options. other small mods * * Revision 1.4 1996/02/29 10:38:57 cernlib * Add DoIncludePackage to Imake.rules * Correct compiel options in osf1.cf,sun.cf * * Revision 1.3 1996/02/01 16:08:46 cernlib * Various changes in FOTRANDEFINES ( for IBM, and Makedepend) * make cc default c compiler in aix * use /usr/lib/X11/bin/makedepend on SunOS and Solaris * * Revision 1.2 1995/12/21 11:32:42 cernlib * Imake files end 1995 * * Revision 1.1.1.1 1995/12/20 15:26:43 cernlib * X11R6 config files unmodified * * */ XCOMM platform: $XConsortium: sun.cf,v 1.139.1.1 95/06/19 18:22:21 gildea Exp $ #ifdef SVR4Architecture #ifdef i386Architecture #ifndef OSName #define OSName SunOS 5.1 x86 #endif XCOMM operating system: OSName #ifndef OSMajorVersion #define OSMajorVersion 5 #endif #ifndef OSMinorVersion #define OSMinorVersion 1 #endif #ifndef OSTeenyVersion #define OSTeenyVersion 0 #endif #else #ifndef OSName #define OSName SunOS 5.3 #endif XCOMM operating system: OSName #ifndef OSMajorVersion #define OSMajorVersion 5 #endif #ifndef OSMinorVersion #define OSMinorVersion 3 #endif #ifndef OSTeenyVersion #define OSTeenyVersion 0 #endif #endif #else #ifndef OSName #define OSName SunOS 4.1.3 #endif XCOMM operating system: OSName #ifndef OSMajorVersion #define OSMajorVersion 4 #endif #ifndef OSMinorVersion #define OSMinorVersion 1 #endif #ifndef OSTeenyVersion #define OSTeenyVersion 3 #endif #endif /* * Compiler setup. This sun.cf file knows what options to use with * certain compilers, including Sun C, CenterLine C, and gcc. It * also understands how to set some of the options for various C++ * compilers, including Sun C++ and CenterLine C++. * * === C Compiler Setup ========================================== * * For SunPro C, define HasSunC to YES in site.def. * For CenterLine C, define HasCenterLineC to YES in site.def * For gcc or gcc2, define HasGcc or HasGcc2 to YES in site.def * For other compilers, define HasSunC to NO in site.def, then * provide appropriate values for the various compiler related * configuration varibles used here. * * If you say you have the SunPro C compiler, we assume you have * version 2.0.x of the compiler. If you have version 3.0.x instead, * define CCompilerMajorVersion as 3 in site.def * * If you don't tell us which C compiler you have, we assume you have * the SunPro C compiler under Solaris 2.x, and the bundled /bin/cc * under SunOS 4.1.x * * === C++ Compiler Setup ========================================== * * For SunPro C++, define HasSunCplusplus to YES in site.def * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def * For Gnu g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def * For other compilers, define HasCplusplus to YES in site.def, and * check to see if you need to provide values for CplusplusOptions * and/or DefaultCplusplusOptions. * * In any case, you may also need to set CplusplusDependIncludes. * * If you say you have the SunPro C++ compiler, we assume you have * version 3.0.x of the compiler. If you have version 4.0.x instead, * define CplusplusCompilerMajorVersion as 4 in site.def. * */ #ifndef HasSunC #if (HasCenterLineC || HasGcc || HasGcc2 || HasApogee || HasEPC || OSMajorVersion < 5) #define HasSunC NO #else #define HasSunC YES #endif #endif #if HasSunC #ifndef CCompilerMajorVersion #define CCompilerMajorVersion 2 #endif #endif #if HasSunCplusplus #ifndef HasCplusplus #define HasCplusplus YES #endif #ifndef CplusplusCompilerMajorVersion #define CplusplusCompilerMajorVersion 3 #endif #endif #if HasCenterLineC #ifndef CcCmd #define CcCmd clcc #endif #endif #if HasCenterLineCplusplus #ifndef HasCplusplus #define HasCplusplus YES #endif #ifndef DefaultCplusplusOptions #define DefaultCplusplusOptions -Xa #endif #ifndef CplusplusOptions #define CplusplusOptions -Xa #endif #endif /* * Gnu g++ 2.6.0 cannot build working C++ shared libraries under Solaris 2 */ #if HasGcc2ForCplusplus && OSMajorVersion > 4 #ifndef SharedLibFresco #define SharedLibFresco NO #endif #ifndef SharedLibXtf #define SharedLibXtf NO #endif #endif #if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1) /* We do not guarantee this will work */ #define BootstrapCFlags -DNOSTDHDRS #define StandardDefines -DNOSTDHDRS #define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC #endif #if OSMajorVersion == 4 #if OSMinorVersion == 1 #define HasPoll YES #endif #if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1) /* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */ #define SunPost411FCSLd YES #endif #endif #ifdef i386Architecture #if OSMajorVersion > 4 #define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines #define ServerOSDefines XFree86ServerOSDefines #else #define ServerExtraDefines AllocateLocalDefines #define ServerOSDefines -DDDXOSINIT #endif #else #define ServerExtraDefines AllocateLocalDefines #define ServerOSDefines -DDDXOSINIT #endif #if OSMajorVersion > 4 #define BootstrapCFlags -DSVR4 #ifndef XawI18nDefines #define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS #endif #ifdef i386Architecture #define StandardDefines -Dsun -Di386 -DSVR4 -D__i386 #define ToolkitStringsABIOptions -intelabi #else #define StandardDefines -Dsun -DSVR4 #define ToolkitStringsABIOptions -sparcabi #endif #define ExtraLibraries -lsocket -lnsl #if OSMinorVersion > 1 #define ThreadedX YES #if HasSunC && CCompilerMajorVersion > 2 #define ThreadsCompileFlags -mt #else #define SystemMTDefines -D_REENTRANT #define ThreadsLibraries -lthread #endif #if HasSunCplusplus && CplusplusCompilerMajorVersion > 3 #define ThreadsCplusplusCompileFlags -mt #else #define CplusplusSystemMTDefines -D_REENTRANT #define ThreadsCplusplusLibraries -lthread #endif #endif /* OSMinorVersion > 1 */ #define HasVFork NO #define InstKmemFlags -g sys -m 2755 #define ShLibIncludeFile /* * Set flags for position independent code before including sv4Lib.rules * if the compiler in use doesn't use standard SVR4 flags */ #if HasSunC || HasCenterLineC || HasEPC #define PositionIndependentCFlags -KPIC #endif #if HasApogee #define PositionIndependentCFlags -PIC #endif #if HasSunCplusplus || HasCenterLineCplusplus #define PositionIndependentCplusplusFlags -pic #endif #else #define InstKmemFlags -g kmem -m 2755 #include #endif #define HasNdbm YES #define HasShm YES #define HasSecureRPC YES #define SetTtyGroup YES #define HasPutenv YES #ifndef i386Architecture #ifndef Xsun24Server #define Xsun24Server NO /* color, mono, multiple depths */ #endif #ifndef XsunServer #define XsunServer YES /* color and mono, 8 bit only */ #endif #ifndef XsunMonoServer #define XsunMonoServer NO /* monochrome only */ #endif #endif /* not i386Architecture */ #ifndef BuildPexExt #define BuildPexExt (XsunServer || Xsun24Server) #endif #ifndef BuildXKB #define BuildXKB YES #endif #if HasGcc #if OSMajorVersion > 4 && defined(i386Architecture) #ifndef DefaultCCOptions #if OSMinorVersion == 1 #define DefaultCCOptions -DNO_ASM #else #define DefaultCCOptions -ansi -DNO_ASM #endif #endif #endif #if HasGcc2 #define OptimizedCDebugFlags -O2 #else #define SharedLibraryCcCmd cc #define ExtraLoadFlags -B/usr/bin/ #define AllocateLocalDefines /**/ .c.o: $(CC) -c $(CFLAGS) $*.c #endif /* HasGcc2 (else) */ #else /* not HasGcc */ #define AllocateLocalDefines -DINCLUDE_ALLOCA_H /* Set up compiler-dependent options for Sun C */ #if HasSunC #ifdef Sun3Architecture #ifndef DefaultCCOptions #define DefaultCCOptions -f68881 -pipe #endif #else /* not defined(Sun3Architecture) */ #if OSMajorVersion < 5 #ifndef DefaultCCOptions #define DefaultCCOptions -pipe #endif #else /* OSMajorVersion >= 5*/ #ifndef DefaultCCOptions #define DefaultCCOptions -Xa #endif #endif #endif #endif /* Set compiler-dependent options for CenterLine C */ #if HasCenterLineC #ifndef DefaultCCOptions #define DefaultCCOptions -Xt -w1 -DANSICPP -U__HIGHC__ #endif #ifndef NeedConstPrototypes #define NeedConstPrototypes YES #endif #ifndef NeedNestedPrototypes #define NeedNestedPrototypes YES #endif #ifndef NeedVarargsPrototypes #define NeedVarargsPrototypes YES #endif #endif #define PexCCOptions DefaultCCOptions #endif /* HasGcc (else) */ #if OSMajorVersion < 5 #define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H #define LibraryCCOptions /* don't want special floating point */ #endif #if OSMajorVersion > 4 #include #endif /* CERNLIB additions */ #ifdef HasLdRunPath #undef HasLdRunPath #endif #define HasLdRunPath NO #define DependCmd /usr/local/bin/X11/makedepend #if OSMajorVersion > 4 /* SOLARIS */ #undef DefaultCCOptions #define DefaultCCOptions -KPIC #define FortranSaveFlags /* None */ #define CernlibSystem -DCERNLIB_SUN -DCERNLIB_SOLARIS -DCERNLIB_UNIX #define CERNLIB_SUN #define CERNLIB_SOLARIS #define CERNLIB_UNIX #define X11Includes -I/usr/openwin/share/include #define MotifIncludes -I/usr/dt/include #if HasApogee #define CcAnsiMode -Xc=mixed #define CcStrictAnsiMode -Xc=ansi /* suppress warnings about commons having different sizes in different object modules */ #define DefaultFCOptions /**/ #define FortranLoadFlags -Wl,-t # ifndef OptimizedCDebugFlags #define OptimizedCDebugFlags -fast # endif # ifndef OptimisedFortranFlags #define OptimisedFortranFlags -fast # endif #else # if HasEPC #define CcAnsiMode -Xa #define CcStrictAnsiMode -Xc /* EPC tokenizing cpp gets confused about the .F files */ #define FortranDoesCpp NO #define FortranCannotRedirectObject # ifndef OptimizedCDebugFlags #define OptimizedCDebugFlags /**/ # endif # ifndef OptimisedFortranFlags #define OptimisedFortranFlags -fast # endif # else #define CcAnsiMode -Xa #define CcStrictAnsiMode -Xc #define DefaultFCOptions -xpp=cpp -KPIC # ifndef OptimisedFortranFlags #define OptimisedFortranFlags -O # endif # endif #endif #else /* SunOS */ #define CcCmd acc #define OptimisedFortranFlags -O #define FortranSaveFlags /* None */ #define CernlibSystem -DCERNLIB_SUN -DCERNLIB_UNIX #define CERNLIB_SUN #define CERNLIB_UNIX #define X11Includes -I/usr/local/include #define MotifIncludes -I/usr/motif12/usr/include #endif