sun.cf revision 1c80d5b0
14c61c93dSmrgXCOMM $XdotOrg: xc/config/cf/sun.cf,v 1.9 2004/08/19 16:28:42 kem Exp $ 211d341caSmrgXCOMM platform: $Xorg: sun.cf,v 1.4 2000/08/17 19:41:48 cpqbld Exp $ 311d341caSmrg 411d341caSmrg 511d341caSmrg 611d341caSmrg 711d341caSmrgXCOMM platform: $XFree86: xc/config/cf/sun.cf,v 3.70 2004/01/13 02:42:51 tsi Exp $ 811d341caSmrg 911d341caSmrg#ifndef OSName 1011d341caSmrg# define OSName DefaultOSName 1111d341caSmrg#endif 1211d341caSmrg#ifndef OSMajorVersion 1311d341caSmrg# define OSMajorVersion DefaultOSMajorVersion 1411d341caSmrg#endif 1511d341caSmrg#ifndef OSMinorVersion 1611d341caSmrg# define OSMinorVersion DefaultOSMinorVersion 1711d341caSmrg#endif 1811d341caSmrg#ifndef OSTeenyVersion 1911d341caSmrg# define OSTeenyVersion DefaultOSTeenyVersion 2011d341caSmrg#endif 2111d341caSmrgXCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) 2211d341caSmrg 231c80d5b0Smrg/* For various reasons, Sun uses different settings when compiling the 2411d341caSmrg * X Window System packages included in Solaris than are normally used 2511d341caSmrg * by most people building the X.Org software releases. Sun also has 2611d341caSmrg * two different X server hierarchies in Solaris - Xsun in /usr/openwin 2711d341caSmrg * and Xorg in /usr/X11. 2811d341caSmrg * 2911d341caSmrg * If you want to try to match Sun's settings as closely as possible 3011d341caSmrg * add this setting to your host.def: 3111d341caSmrg * #define BuildLikeSun YES 3211d341caSmrg * 331c80d5b0Smrg * If you're trying to match the openwin directory layout as well, you'll 3411d341caSmrg * need to also add: 3511d341caSmrg * #define ProjectRoot /usr/openwin 3611d341caSmrg * otherwise it will use /usr/X11. (Note that these settings match closer 3711d341caSmrg * to Sun's Xorg delivery in /usr/X11 than the older X11R6.6-based delivery 3811d341caSmrg * in /usr/openwin though.) 3911d341caSmrg */ 4011d341caSmrg#ifndef BuildLikeSun 4111d341caSmrg# define BuildLikeSun NO 4211d341caSmrg#endif 4311d341caSmrg 4411d341caSmrg#if BuildLikeSun 4511d341caSmrg# ifndef ProjectRoot 4611d341caSmrg# define ProjectRoot /usr/X11 4711d341caSmrg# endif 4811d341caSmrg# ifndef DocDir 4911d341caSmrg# define DocDir Concat(ProjectRoot,/share/doc) 5011d341caSmrg# endif 5111d341caSmrg# ifndef ManDirectoryRoot 5211d341caSmrg# define ManDirectoryRoot Concat(ProjectRoot,/share/man) 5311d341caSmrg# endif 5411d341caSmrg# ifndef ManSuffix 5511d341caSmrg# define ManSuffix 1 5611d341caSmrg# endif 5711d341caSmrg# ifndef LibraryCCOptions 5811d341caSmrg# if DoSharedLib && defined(SharedLibraryCCOptions) 5911d341caSmrg# define LibraryCCOptions SharedLibraryCCOptions ArchLibraryCCOptions 6011d341caSmrg# else 6111d341caSmrg# define LibraryCCOptions DefaultCCOptions ArchLibraryCCOptions 6211d341caSmrg# endif 6311d341caSmrg# endif 6411d341caSmrg#endif 6511d341caSmrg 6611d341caSmrg/* Flag passed to makestrs in Xt build to control string array names in the 671c80d5b0Smrg * libXt headers. -solarisabinames matches those used in the libXt in 6811d341caSmrg * Solaris, but not in other OS'es. 6911d341caSmrg */ 7011d341caSmrg#ifndef SolarisABIFlag 7111d341caSmrg# if BuildLikeSun 7211d341caSmrg# define SolarisABIFlag -solarisabinames 7311d341caSmrg# else 7411d341caSmrg# define SolarisABIFlag /**/ 7511d341caSmrg# endif 7611d341caSmrg#endif 7711d341caSmrg 7811d341caSmrg/* 791c80d5b0Smrg * Compiler setup. This sun.cf file knows what options to use with 801c80d5b0Smrg * certain compilers, including Sun C, CenterLine C, and gcc. It 8111d341caSmrg * also understands how to set some of the options for various C++ 8211d341caSmrg * compilers, including Sun C++ and CenterLine C++. 8311d341caSmrg * 8411d341caSmrg * === C Compiler Setup ========================================== 8511d341caSmrg * 861c80d5b0Smrg * For SunPro C, define HasSunC to YES in site.def. 8711d341caSmrg * For CenterLine C, define HasCenterLineC to YES in site.def 8811d341caSmrg * For gcc, gcc2 or gcc3, define HasGcc, HasGcc2 or HasGcc3 to YES in site.def 891c80d5b0Smrg * For other compilers, define HasSunC to NO in site.def, then 9011d341caSmrg * provide appropriate values for the various compiler related 9111d341caSmrg * configuration varibles used here. 921c80d5b0Smrg * 931c80d5b0Smrg * If you don't tell us which C compiler you have, we assume you have 941c80d5b0Smrg * the SunPro C compiler under Solaris 2.x, and the bundled /bin/cc 9511d341caSmrg * under SunOS 4.1.x 9611d341caSmrg * 9711d341caSmrg * === C++ Compiler Setup ========================================== 9811d341caSmrg * 9911d341caSmrg * For SunPro C++, define HasSunCplusplus to YES in site.def 10011d341caSmrg * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def 10111d341caSmrg * For Gnu g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def 1021c80d5b0Smrg * For other compilers, define HasCplusplus to YES in site.def, and 10311d341caSmrg * check to see if you need to provide values for CplusplusOptions 10411d341caSmrg * and/or DefaultCplusplusOptions. 10511d341caSmrg * 10611d341caSmrg * In any case, you may also need to set CplusplusDependIncludes. 10711d341caSmrg * 1081c80d5b0Smrg * If you say you have the SunPro C++ compiler, we assume you have 1091c80d5b0Smrg * version 3.0.x of the compiler. If you have version 4.0.x instead, 11011d341caSmrg * define CplusplusCompilerMajorVersion as 4 in site.def. 11111d341caSmrg * 11211d341caSmrg */ 11311d341caSmrg 11411d341caSmrg#ifndef HasGcc3 11511d341caSmrg#define HasGcc3 NO 11611d341caSmrg#endif 11711d341caSmrg#ifndef HasGcc2 11811d341caSmrg#define HasGcc2 HasGcc3 11911d341caSmrg#endif 12011d341caSmrg#ifndef HasGcc 12111d341caSmrg#define HasGcc HasGcc2 12211d341caSmrg#endif 12311d341caSmrg 12411d341caSmrg#ifndef HasSunC 12511d341caSmrg# if HasCenterLineC || HasGcc || HasGcc2 || HasGcc3 || (OSMajorVersion < 5) 12611d341caSmrg# define HasSunC NO 12711d341caSmrg# else 12811d341caSmrg# define HasSunC YES 12911d341caSmrg# endif 13011d341caSmrg#endif 13111d341caSmrg 1321c80d5b0Smrg#if HasSunC 13311d341caSmrg# ifndef CCompilerMajorVersion 13411d341caSmrg# define CCompilerMajorVersion DefaultSunProCCompilerMajorVersion 13511d341caSmrg# endif 13611d341caSmrg# ifndef CCompilerMinorVersion 13711d341caSmrg# define CCompilerMinorVersion DefaultSunProCCompilerMinorVersion 13811d341caSmrg# endif 13911d341caSmrgXCOMM SunPro C CCompilerMajorVersion./**/CCompilerMinorVersion 14011d341caSmrg 1411c80d5b0Smrg/* Choose some reasonable default optimizer flags based on compiler & 14211d341caSmrg OS versions */ 14311d341caSmrg# ifndef OptimizedCDebugFlags 14411d341caSmrg# if (CCompilerMajorVersion > 5) || \ 14511d341caSmrg (CCompilerMajorVersion == 5 && CCompilerMinorVersion > 2) 14611d341caSmrg# define OptimizedCDebugFlags -xO4 -xbuiltin=%all -xlibmil -xstrconst ArchOptimizedFlags 14711d341caSmrg# else 14811d341caSmrg# define OptimizedCDebugFlags -xO4 -xstrconst ArchOptimizedFlags 14911d341caSmrg# endif 15011d341caSmrg# endif 15111d341caSmrg# ifndef ArchOptimizedFlags 1521c80d5b0Smrg# if OSMajorVersion == 5 15311d341caSmrg# if defined(SparcArchitecture) && !defined(Sparc64Architecture) 15411d341caSmrg# if OSMinorVersion > 9 /* Solaris 10 and later only run on UltraSPARC's */ 15511d341caSmrg# define ArchOptimizedFlags -xarch=v8plus 15611d341caSmrg# else 15711d341caSmrg# define ArchOptimizedFlags -xarch=v8 15811d341caSmrg# endif 15911d341caSmrg# elif defined(i386Architecture) || defined(AMD64Architecture) 16011d341caSmrg# if (CCompilerMajorVersion > 5) || \ 16111d341caSmrg (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 7) 16211d341caSmrg/* -xregs=no%frameptr is required on x86 when compiling at -xO4 or higher to 16311d341caSmrg * avoid losing stack frame pointers so you can't get stack traces or debug. 16411d341caSmrg * This may lose a small bit of performance, so you can override by adding 1651c80d5b0Smrg * #define FramePtrFlags -xregs=frameptr if you care about performance more 16611d341caSmrg * than debuggability. 16711d341caSmrg */ 16811d341caSmrg# ifndef FramePtrFlags 16911d341caSmrg# define FramePtrFlags -xregs=no%frameptr 17011d341caSmrg# endif 17111d341caSmrg# endif 17211d341caSmrg# ifndef FramePtrFlags 17311d341caSmrg# define FramePtrFlags /* */ 17411d341caSmrg# endif 17511d341caSmrg# if defined(i386Architecture) && (OSMinorVersion > 8) 17611d341caSmrg /* Solaris 9 and later require Pentium or better */ 17711d341caSmrg# define ArchOptimizedFlags -xpentium FramePtrFlags 17811d341caSmrg# else 17911d341caSmrg# define ArchOptimizedFlags FramePtrFlags 18011d341caSmrg# endif 18111d341caSmrg# endif 18211d341caSmrg# endif 18311d341caSmrg# ifndef ArchOptimizedFlags 18411d341caSmrg# define ArchOptimizedFlags /**/ 18511d341caSmrg# endif 18611d341caSmrg# endif 18711d341caSmrg# ifndef DefaultCDebugFlags 18811d341caSmrg# define DefaultCDebugFlags OptimizedCDebugFlags 18911d341caSmrg# endif 19011d341caSmrg# ifndef SharedLibraryLdCmd 19111d341caSmrg# define SharedLibraryLdCmd $(CC) 19211d341caSmrg# endif 19311d341caSmrg/* Flags for lint version included with Sun C compilers */ 19411d341caSmrg# if OSMajorVersion >= 5 19511d341caSmrg# ifndef LintLibFlag 19611d341caSmrg# define LintLibFlag -y -o 19711d341caSmrg# endif 19811d341caSmrg# ifndef LintOpts 19911d341caSmrg# define LintOpts -b -h -u -erroff=E_INDISTING_FROM_TRUNC2 $(LINTSECFLAG) ExtraLibraries MathLibrary -lc 20011d341caSmrg# endif 20111d341caSmrg# ifndef LintSecFlag 20211d341caSmrg# if (CCompilerMajorVersion > 5) || \ 20311d341caSmrg (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 6) 20411d341caSmrg# define LintSecFlag -errsecurity=standard 20511d341caSmrg# else 20611d341caSmrg# define LintSecFlag /**/ 20711d341caSmrg# endif 20811d341caSmrg# endif 20911d341caSmrg LINTSECFLAG = LintSecFlag 21011d341caSmrg# ifndef LintLibReferences 21111d341caSmrg# define LintLibReferences(varname,libname,libsource) @@\ 21211d341caSmrg Concat(LINT,varname) = _UseCat(-L $(LINTLIBDIR) -l, -L libsource -l,libname) 21311d341caSmrg# endif 21411d341caSmrg 21511d341caSmrg# endif /* Lint Flags for Solaris */ 21611d341caSmrg 21711d341caSmrg#endif /* HasSunC */ 21811d341caSmrg 21911d341caSmrg#ifndef ArchLibraryCCOptions 22011d341caSmrg# if HasSunC && defined(SparcArchitecture) && CCompilerMajorVersion > 3 22111d341caSmrg# define ArchLibraryCCOptions -xregs=no%appl 22211d341caSmrg# else 22311d341caSmrg# define ArchLibraryCCOptions 22411d341caSmrg# endif 22511d341caSmrg#endif /* ArchLibraryCCOptions */ 22611d341caSmrg 22711d341caSmrg/* we used to have this here : 22811d341caSmrg * 2291c80d5b0Smrg * #if HasSunC 23011d341caSmrg * # ifndef CCompilerMajorVersion 23111d341caSmrg * # define CCompilerMajorVersion 3 23211d341caSmrg * # define DefaultCDebugFlags -xO3 23311d341caSmrg * # define OptimizedCDebugFlags -xO3 23411d341caSmrg * # endif 23511d341caSmrg * #endif 23611d341caSmrg */ 23711d341caSmrg 23811d341caSmrg#ifndef HasSunCplusplus 23911d341caSmrg# define HasSunCplusplus HasSunC /* ??? */ 24011d341caSmrg#endif 24111d341caSmrg#if HasSunCplusplus 24211d341caSmrg# ifndef HasCplusplus 24311d341caSmrg# define HasCplusplus YES 24411d341caSmrg# define OptimizedCplusplusDebugFlags -xO4 -xbuiltin=%all -xlibmil 24511d341caSmrg# endif 24611d341caSmrg# ifndef CplusplusCompilerMajorVersion 24711d341caSmrg# ifdef DefaultSunProCplusplusCompilerMajorVersion 24811d341caSmrg# define CplusplusCompilerMajorVersion DefaultSunProCplusplusCompilerMajorVersion 24911d341caSmrg# else 25011d341caSmrg# define CplusplusCompilerMajorVersion 3 25111d341caSmrg# endif 25211d341caSmrg# endif 25311d341caSmrg# ifndef CplusplusCompilerMinorVersion 25411d341caSmrg# ifdef DefaultSunProCplusplusCompilerMinorVersion 25511d341caSmrg# define CplusplusCompilerMinorVersion DefaultSunProCplusplusCompilerMinorVersion 25611d341caSmrg# else 25711d341caSmrg# define CplusplusCompilerMinorVersion 0 25811d341caSmrg# endif 25911d341caSmrg# endif 26011d341caSmrg# ifndef CplusplusLibC 26111d341caSmrg# if CplusplusCompilerMajorVersion >= 5 26211d341caSmrg# define CplusplusLibC -norunpath -lCrun 26311d341caSmrg# endif 26411d341caSmrg# endif 26511d341caSmrgXCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion 26611d341caSmrg#endif 26711d341caSmrg 26811d341caSmrg/* we used to have this here : 26911d341caSmrg * 27011d341caSmrg * # ifndef CplusplusCompilerMajorVersion 27111d341caSmrg * # define CplusplusCompilerMajorVersion 4 27211d341caSmrg * # endif 27311d341caSmrg */ 27411d341caSmrg 27511d341caSmrg#if HasCenterLineC 27611d341caSmrg# ifndef CcCmd 27711d341caSmrg# define CcCmd clcc 27811d341caSmrg# endif 27911d341caSmrg#endif 28011d341caSmrg 28111d341caSmrg#if HasCenterLineCplusplus 28211d341caSmrg# ifndef HasCplusplus 28311d341caSmrg# define HasCplusplus YES 28411d341caSmrg# endif 28511d341caSmrg# ifndef DefaultCplusplusOptions 28611d341caSmrg# define DefaultCplusplusOptions -Xa 28711d341caSmrg# endif 28811d341caSmrg# ifndef CplusplusOptions 28911d341caSmrg# define CplusplusOptions -Xa 29011d341caSmrg# endif 29111d341caSmrg#endif 29211d341caSmrg 29311d341caSmrg#if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1) 29411d341caSmrg/* We do not guarantee this will work */ 29511d341caSmrg# define BootstrapCFlags -DNOSTDHDRS 29611d341caSmrg# define StandardDefines -DNOSTDHDRS 29711d341caSmrg# define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC 29811d341caSmrg#endif 29911d341caSmrg 3001c80d5b0Smrg#if OSMajorVersion == 4 30111d341caSmrg# if OSMinorVersion == 1 30211d341caSmrg# define HasPoll YES 30311d341caSmrg# endif 30411d341caSmrg# if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1) 30511d341caSmrg/* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */ 30611d341caSmrg# define SunPost411FCSLd YES 30711d341caSmrg# endif 30811d341caSmrg#endif 30911d341caSmrg 3101c80d5b0Smrg/* The Xsun server was not building for SunOS 5.7 due to 3111c80d5b0Smrg includes of <sys/cg2reg.h>. 31211d341caSmrg*/ 3131c80d5b0Smrg#if OSMajorVersion < 5 31411d341caSmrg# define IncludeCG2HeaderDefine -DINCLUDE_CG2_HEADER 31511d341caSmrg#else 31611d341caSmrg# define IncludeCG2HeaderDefine /**/ 31711d341caSmrg#endif 31811d341caSmrg 31911d341caSmrg#if defined(i386Architecture) || defined(AMD64Architecture) 32011d341caSmrg# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8)) 32111d341caSmrg# define OSServerExtraDefines -D__SOL8__ 32211d341caSmrg# endif 32311d341caSmrg#endif 32411d341caSmrg 3251c80d5b0Smrg#if !HasGcc 32611d341caSmrg# if HasSunC 32711d341caSmrg# if defined(AMD64Architecture) 32811d341caSmrg# define AsmArch amd64 32911d341caSmrg# define AsmFlags -xarch=amd64 33011d341caSmrg# elif defined(i386Architecture) 33111d341caSmrg# define AsmArch ia32 33211d341caSmrg# define AsmFlags /**/ 33311d341caSmrg# elif defined(Sparc64Architecture) 33411d341caSmrg# define AsmArch sparcv8plus 33511d341caSmrg# define AsmFlags -xarch=v9 33611d341caSmrg# elif defined(SparcArchitecture) 33711d341caSmrg# define AsmArch sparcv8plus 33811d341caSmrg# define AsmFlags -xarch=v8plus 33911d341caSmrg# endif 34011d341caSmrg# ifndef CompilerServerExtraDefines 34111d341caSmrg# define CompilerServerExtraDefines $(SERVERSRC)/hw/xfree86/os-support/sunos/AsmArch.il 34211d341caSmrg# endif 34311d341caSmrg# endif 34411d341caSmrg#endif 34511d341caSmrg 34611d341caSmrg#ifndef CompilerServerExtraDefines 34711d341caSmrg# define CompilerServerExtraDefines /**/ 34811d341caSmrg#endif 34911d341caSmrg 35011d341caSmrg#ifndef OSServerExtraDefines 35111d341caSmrg# define OSServerExtraDefines /**/ 35211d341caSmrg#endif 35311d341caSmrg 35411d341caSmrg#ifndef ArchServerExtraDefines 35511d341caSmrg# if defined(Sparc64Architecture) || defined(AMD64Architecture) 35611d341caSmrg# define ArchServerExtraDefines -D_XSERVER64 35711d341caSmrg# else 35811d341caSmrg# define ArchServerExtraDefines /**/ 35911d341caSmrg# endif 36011d341caSmrg#endif 36111d341caSmrg 36211d341caSmrg#define ServerOSDefines XFree86ServerOSDefines IncludeCG2HeaderDefine 36311d341caSmrg#define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines \ 36411d341caSmrg CompilerServerExtraDefines \ 36511d341caSmrg OSServerExtraDefines ArchServerExtraDefines 36611d341caSmrg 36711d341caSmrg#ifndef HasPerl 36811d341caSmrg/* Solaris 8 comes with perl. Earlier versions don't. */ 36911d341caSmrg# if (OSMajorVersion == 5) && (OSMinorVersion >= 8) 37011d341caSmrg# define HasPerl YES 37111d341caSmrg# else 37211d341caSmrg# define HasPerl NO 37311d341caSmrg# endif 37411d341caSmrg#endif 37511d341caSmrg 37611d341caSmrg#ifndef XkbServerDefines 37711d341caSmrg# if BuildLikeSun 37811d341caSmrg# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT \ 37911d341caSmrg -DXKM_OUTPUT_DIR='"/var/run/xkb/"' -DXKM_OUTPUT_DIR_MODE=0775 \ 38011d341caSmrg -DMAKE_XKM_OUTPUT_DIR 38111d341caSmrg# else 38211d341caSmrg# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT 38311d341caSmrg# endif 38411d341caSmrg#endif 38511d341caSmrg 38611d341caSmrg#if OSMajorVersion > 4 38711d341caSmrg# define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN 38811d341caSmrg# if HasSunC 38911d341caSmrg# ifdef DefaultSunProCCompilerDir 39011d341caSmrg# ifndef CcCmd 39111d341caSmrg# define CcCmd DefaultSunProCCompilerDir/cc 39211d341caSmrg# endif 39311d341caSmrg# endif 39411d341caSmrg# ifdef DefaultSunProCplusplusCompilerDir 39511d341caSmrg# ifndef CplusplusCmd 39611d341caSmrg# define CplusplusCmd DefaultSunProCplusplusCompilerDir/CC 39711d341caSmrg# endif 39811d341caSmrg# ifndef CplusplusFilt 39911d341caSmrg# define CplusplusFilt DefaultSunProCplusplusCompilerDir/c++filt 40011d341caSmrg# endif 40111d341caSmrg# ifndef CplusplusWhatdir 40211d341caSmrg# define CplusplusWhatdir DefaultSunProCplusplusCompilerDir/whatdir 40311d341caSmrg# endif 40411d341caSmrg# else /* DefaultSunProCplusplusCompilerDir not defined */ 40511d341caSmrg# ifndef CplusplusWhatdir 40611d341caSmrg# define CplusplusWhatdir whatdir 40711d341caSmrg# endif 40811d341caSmrg# endif /* DefaultSunProCplusplusCompilerDir */ 40911d341caSmrg# ifndef CplusplusDependIncludes 41011d341caSmrg# if CplusplusCompilerMajorVersion > 3 41111d341caSmrg# define CplusplusDependIncludes -I`CplusplusWhatdir CC`/../include/CC 41211d341caSmrg# elif CplusplusCompilerMajorVersion > 2 41311d341caSmrg# define CplusplusDependIncludes -I/opt/SUNWspro/SC3.0/include/CC 41411d341caSmrg# else 41511d341caSmrg# define CplusplusDependIncludes -I/opt/SUNWspro/SC2.0.1/include/CC 41611d341caSmrg# endif 4171c80d5b0Smrg# endif 41811d341caSmrg# endif /* HasSunC */ 41911d341caSmrg 42011d341caSmrg# if HasSunC && (CCompilerMajorVersion < 3) 42111d341caSmrg# define BootstrapCFlags -DSVR4 42211d341caSmrg# else 42311d341caSmrg# define BootstrapCFlags /* none needed */ 42411d341caSmrg# endif 42511d341caSmrg# ifndef XawI18nDefines 42611d341caSmrg# if OSMinorVersion < 4 42711d341caSmrg# define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS 42811d341caSmrg# else 42911d341caSmrg# define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS 43011d341caSmrg# endif 43111d341caSmrg# endif 4321c80d5b0Smrg# if OSMinorVersion > 10 4331c80d5b0Smrg# define InstallCmd /usr/gnu/bin/install 4341c80d5b0Smrg# elif OSMinorVersion > 3 43511d341caSmrg# define InstallCmd /usr/ucb/install 43611d341caSmrg# endif 43711d341caSmrg#ifndef LargefileDefines 43811d341caSmrg# if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6) 43911d341caSmrg# define LargefileDefines -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 44011d341caSmrg# else 44111d341caSmrg# define LargefileDefines /* */ 44211d341caSmrg# endif 44311d341caSmrg#endif 44411d341caSmrg# ifdef AMD64Architecture 44511d341caSmrg# define StandardDefines -Dsun -DSVR4 -D__EXTENSIONS__ -D__amd64 44611d341caSmrg# define ToolkitStringsABIOptions -intelabi SolarisABIFlag 44711d341caSmrg# elif defined(i386Architecture) 44811d341caSmrg# if (OSMajorVersion < 4) || ((OSMajorVersion == 5) && (OSMinorVersion <= 5)) 44911d341caSmrg# define StandardDefines -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \ 45011d341caSmrg -D__SOL64__ LargefileDefines 45111d341caSmrg# else 45211d341caSmrg# define StandardDefines -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \ 45311d341caSmrg LargefileDefines 45411d341caSmrg# endif 45511d341caSmrg# define ToolkitStringsABIOptions -intelabi SolarisABIFlag 45611d341caSmrg# else 45711d341caSmrg# define StandardDefines -Dsun -Dsparc -DSVR4 -D__EXTENSIONS__ LargefileDefines 45811d341caSmrg# define ToolkitStringsABIOptions -sparcabi SolarisABIFlag 45911d341caSmrg# endif 4601c80d5b0Smrg/* Socket support was in separate libraries before 5.12, then merged to libc */ 4611c80d5b0Smrg# if (OSMajorVersion == 5) && (OSMinorVersion < 12) 4621c80d5b0Smrg# define ExtraLibraries -lsocket -lnsl 4631c80d5b0Smrg# else 4641c80d5b0Smrg# define ExtraLibraries /**/ 4651c80d5b0Smrg# endif 46611d341caSmrg# define HasWeakSymbols YES 46711d341caSmrg# if OSMinorVersion > 1 46811d341caSmrg# ifndef ThreadedX 46911d341caSmrg# define ThreadedX YES 47011d341caSmrg# endif 47111d341caSmrg# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API 4721c80d5b0Smrg/* Thread support was in separate library before 5.10, then merged to libc */ 4731c80d5b0Smrg# if (OSMajorVersion == 5) && (OSMinorVersion < 10) 4741c80d5b0Smrg# if HasSunC && CCompilerMajorVersion > 2 4751c80d5b0Smrg# define ThreadsCompileFlags -mt 4761c80d5b0Smrg# else 4771c80d5b0Smrg# define ThreadsLibraries -lthread 4781c80d5b0Smrg# endif 4791c80d5b0Smrg# if HasSunCplusplus && CplusplusCompilerMajorVersion > 3 4801c80d5b0Smrg# define ThreadsCplusplusCompileFlags -mt 4811c80d5b0Smrg# else 4821c80d5b0Smrg# define ThreadsCplusplusLibraries -lthread 4831c80d5b0Smrg# endif 48411d341caSmrg# define SystemMTDefines -D_REENTRANT 48511d341caSmrg# else 4861c80d5b0Smrg /* Solaris 10 & later */ 4871c80d5b0Smrg# define SystemMTDefines -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS 48811d341caSmrg# endif 4891c80d5b0Smrg# define CplusplusSystemMTDefines SystemMTDefines 49011d341caSmrg# endif /* OSMinorVersion > 1 */ 49111d341caSmrg# ifndef UseExportLists 49211d341caSmrg# if (OSMinorVersion > 4) && !HasGcc2 49311d341caSmrg# define UseExportLists YES 49411d341caSmrg# else 49511d341caSmrg# define UseExportLists NO 49611d341caSmrg# endif 49711d341caSmrg# endif 49811d341caSmrg# if OSMinorVersion > 5 /* Solaris 2.6 and later */ 49911d341caSmrg# define HasSnprintf YES 50011d341caSmrg# endif 50111d341caSmrg# if OSMinorVersion > 7 /* Solaris 8 and later */ 50211d341caSmrg# define HasStrlcat YES 50311d341caSmrg# define HasStrcasecmp YES 50411d341caSmrg# define HasVarRun YES 50511d341caSmrg# endif 50611d341caSmrg# if OSMinorVersion > 9 /* Solaris 10 and later */ 50711d341caSmrg# define HasSetenv YES 50811d341caSmrg# define HasGetpeerucred YES 50911d341caSmrg# define HasGetoptLong YES 51011d341caSmrg# define DlLibrary -lc /* dlopen() is in libc in Solaris 10 */ 51111d341caSmrg# endif 51211d341caSmrg# define HasVFork NO 51311d341caSmrg# define HasDlopen YES 51411d341caSmrg# define InstallXloadSetGID NO /* libkstat doesn't require gid kmem */ 51511d341caSmrg# define InstKmemFlags -g sys -m 2711 51611d341caSmrg# define ShLibIncludeFile <sunLib.tmpl> 51711d341caSmrg# define LinkerRuntimeLibraryPathFlag(path) Concat(-R,path) 51811d341caSmrg# define RpathLoadFlags LinkerRuntimeLibraryPathFlag($(USRLIBDIRPATH)) 51911d341caSmrg/* 52011d341caSmrg * Set flags for position independent code before including sv4Lib.rules 52111d341caSmrg * if the compiler in use doesn't use standard SVR4 flags 52211d341caSmrg */ 52311d341caSmrg# if HasSunC || HasCenterLineC 52411d341caSmrg# define PositionIndependentCFlags -Kpic 52511d341caSmrg# define LargePositionIndependentCFlags -KPIC 52611d341caSmrg# ifdef Sparc64Architecture 52711d341caSmrg# define LargePICTable YES 52811d341caSmrg# endif 52911d341caSmrg# endif 53011d341caSmrg# if HasSunCplusplus || HasCenterLineCplusplus 53111d341caSmrg# define PositionIndependentCplusplusFlags -pic 53211d341caSmrg# define LargePositionIndependentCplusplusFlags -PIC 53311d341caSmrg# endif 53411d341caSmrg/* As is done in sco5.cf, we lie and say Solaris has NCURSES, since 53511d341caSmrg * the system curses is close enough for xorgcfg's purposes. xorgcfg 5361c80d5b0Smrg * should not depend on the NCURSES package but rather on a "capable curses", 53711d341caSmrg * of which NCURSES is just one. 53811d341caSmrg */ 53911d341caSmrg#define HasNCurses YES 54011d341caSmrg#define NCursesLibName -lcurses 54111d341caSmrg#else /* not OSMajorVersion > 4 */ 54211d341caSmrg#define InstKmemFlags -g kmem -m 2711 54311d341caSmrg#include <sunLib.rules> 54411d341caSmrg#endif /* OSMajorVersion > 4 (else) */ 54511d341caSmrg 54611d341caSmrg/* Solaris 10 includes FreeType already. It's also available in GNOME 2.0 for 54711d341caSmrg * Solaris 8 & 9, and in Solaris 9 4/03 and later, but there's no easy way to 5481c80d5b0Smrg * detect that in imake, so users of those releases who want to use the 54911d341caSmrg * installed FreeType instead of the one in this tree should copy the following 55011d341caSmrg * two settings to their host.def. Those who want to use the in-tree copy 55111d341caSmrg * regardless of OS version should add "#define HasFreetype2 NO" to host.def. 55211d341caSmrg */ 55311d341caSmrg#ifndef HasFreetype2 55411d341caSmrg# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10)) 5551c80d5b0Smrg# define HasFreetype2 YES 55611d341caSmrg# ifndef Freetype2Dir 55711d341caSmrg# define Freetype2Dir /usr/sfw 55811d341caSmrg# endif 55911d341caSmrg# else 56011d341caSmrg# define HasFreetype2 NO 56111d341caSmrg# endif 56211d341caSmrg#endif 56311d341caSmrg 56411d341caSmrg#ifndef HasExpat 56511d341caSmrg# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10)) 5661c80d5b0Smrg# define HasExpat YES 56711d341caSmrg# ifndef ExpatDir 56811d341caSmrg# define ExpatDir /usr/sfw 56911d341caSmrg# endif 57011d341caSmrg# else 57111d341caSmrg# define HasExpat NO 57211d341caSmrg# endif 57311d341caSmrg#endif 57411d341caSmrg 57511d341caSmrg/* Solaris 10 includes fontconfig, but not the fcprivate.h header needed by 57611d341caSmrg * Xft1 library. 57711d341caSmrg */ 57811d341caSmrg#ifndef HasFontconfig 57911d341caSmrg# define HasFontconfig NO 58011d341caSmrg#endif 58111d341caSmrg 58211d341caSmrg/* libpng was in /usr/sfw/lib on Solaris 9, moved to /usr/lib in Solaris 10 */ 58311d341caSmrg#ifndef HasLibpng 58411d341caSmrg# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9)) 5851c80d5b0Smrg# define HasLibpng YES 58611d341caSmrg# if !defined(LibpngDir) && ((OSMajorVersion == 5) && (OSMinorVersion == 9)) 58711d341caSmrg# define LibpngDir /usr/sfw 58811d341caSmrg# endif 58911d341caSmrg# else 59011d341caSmrg# define HasLibpng NO 59111d341caSmrg# endif 59211d341caSmrg#endif 59311d341caSmrg 59411d341caSmrg#ifndef HasZlib 59511d341caSmrg# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8)) 59611d341caSmrg# define HasZlib YES 59711d341caSmrg# else 59811d341caSmrg# define HasZlib NO 59911d341caSmrg# endif 60011d341caSmrg#endif 60111d341caSmrg 60211d341caSmrg#ifndef TroffCmd 60311d341caSmrg# if !(HasGroff) 60411d341caSmrg# define TroffCmd troff -Tpost 60511d341caSmrg# endif 60611d341caSmrg#endif 60711d341caSmrg 60811d341caSmrg#define BuildLibPathVar LD_LIBRARY_PATH 60911d341caSmrg#define HasNdbm YES 61011d341caSmrg#define HasShm YES 61111d341caSmrg#define HasSecureRPC YES 61211d341caSmrg#define SetTtyGroup YES 61311d341caSmrg#define HasPutenv YES 61411d341caSmrg#define HasMkstemp YES 61511d341caSmrg#if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8)) 61611d341caSmrg#define HasDevRandom YES /* /dev/random is in Solaris 8 patches */ 61711d341caSmrg#define PollDevRandom YES /* /dev/random is poll()able on Solaris */ 61811d341caSmrg#endif 61911d341caSmrg#if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9)) 62011d341caSmrg# define HasIssetugid YES 62111d341caSmrg#endif 62211d341caSmrg#if defined(Sun3Architecture) || defined(SparcArchitecture) || defined(Sparc64Architecture) 62311d341caSmrg# ifndef Xsun24Server 62411d341caSmrg# define Xsun24Server NO /* color, mono, multiple depths */ 62511d341caSmrg# endif 62611d341caSmrg# ifndef XsunServer 62711d341caSmrg# define XsunServer NO /* color and mono, 8 bit only */ 62811d341caSmrg# endif 62911d341caSmrg# ifndef XsunMonoServer 63011d341caSmrg# define XsunMonoServer NO /* monochrome only */ 63111d341caSmrg# endif 63211d341caSmrg# ifndef XorgServer 63311d341caSmrg# define XorgServer (!(Xsun24Server || XsunServer || XsunMonoServer)) 6341c80d5b0Smrg# endif 63511d341caSmrg# undef BuildXF86DRI 63611d341caSmrg# define BuildXF86DRI NO 63711d341caSmrg# if (OSMajorVersion > 4) 63811d341caSmrg# if !defined(AsOutputArchSize) || \ 63911d341caSmrg ((AsOutputArchSize != 32) && (AsOutputArchSize != 64)) 64011d341caSmrg# undef AsOutputArchSize 64111d341caSmrg# define AsOutputArchSize 32 64211d341caSmrg# endif 64311d341caSmrg# ifndef AsVISOption 64411d341caSmrg# if AsOutputArchSize == 32 64511d341caSmrg# ifdef UseGas 64611d341caSmrg# define AsVISOption -Av8plusa 64711d341caSmrg# else 64811d341caSmrg# define AsVISOption -xarch=v8plusa 64911d341caSmrg# endif 65011d341caSmrg# else 65111d341caSmrg# ifdef UseGas 65211d341caSmrg# define AsVISOption -Av9a 65311d341caSmrg# else 65411d341caSmrg# define AsVISOption -xarch=v9a 65511d341caSmrg# endif 65611d341caSmrg# endif 65711d341caSmrg# endif 65811d341caSmrg# endif 65911d341caSmrg#endif /* SPARC or Sun3/M68k */ 66011d341caSmrg 66111d341caSmrg#if OSMajorVersion >= 4 66211d341caSmrg#define HasUsableFileMap YES 66311d341caSmrg#endif 66411d341caSmrg 66511d341caSmrg#ifndef UseDeprecatedKeyboardDriver 66611d341caSmrg#define UseDeprecatedKeyboardDriver YES 66711d341caSmrg#endif 66811d341caSmrg 66911d341caSmrg#if HasGcc 67011d341caSmrg# if OSMajorVersion > 4 67111d341caSmrg# ifndef DefaultCCOptions 67211d341caSmrg# ifdef UseInstalled 67311d341caSmrg# define DefaultCCOptions -DNO_ASM 67411d341caSmrg# elif OSMinorVersion > 6 67511d341caSmrg# define DefaultCCOptions -DNO_ASM GccWarningOptions 67611d341caSmrg# elif OSMinorVersion > 3 67711d341caSmrg# define DefaultCCOptions -DNO_ASM GccWarningOptions -ansi -pedantic 67811d341caSmrg# else 67911d341caSmrg# define DefaultCCOptions -DNO_ASM 68011d341caSmrg# endif 68111d341caSmrg# endif 68211d341caSmrg# endif 68311d341caSmrg# if HasGcc2 68411d341caSmrg# ifndef CcCmd 68511d341caSmrg# define CcCmd gcc 68611d341caSmrg# endif 68711d341caSmrg# ifndef AsCmd 68811d341caSmrg# define AsCmd CcCmd -c -x assembler 68911d341caSmrg# endif 69011d341caSmrg# ifndef OptimizedCDebugFlags 69111d341caSmrg# ifdef i386Architecture 69211d341caSmrg# define OptimizedCDebugFlags DefaultGcc2i386Opt 69311d341caSmrg# elif defined(AMD64Architecture) 69411d341caSmrg# define OptimizedCDebugFlags DefaultGcc2AMD64Opt 69511d341caSmrg# else 69611d341caSmrg# define OptimizedCDebugFlags -O2 69711d341caSmrg# endif 69811d341caSmrg# endif 69911d341caSmrg# if !defined(SharedLibraryLoadFlags) && !defined(SharedLibraryLdCmd) 70011d341caSmrg# if OSMajorVersion == 5 && OSMinorVersion > 6 && defined(i386Architecture) 70111d341caSmrg /* This is to work around what appears to be a PIC bug in some gcc/egcs 70211d341caSmrg versions that shows up with the Solaris 7/x86 <ctype.h>. */ 70311d341caSmrg# define SharedLibraryLdCmd $(LD) 70411d341caSmrg# define SharedLibraryLoadFlags -G -z textwarn 70511d341caSmrg# else 70611d341caSmrg# define SharedLibraryLdCmd $(CC) 70711d341caSmrg# define SharedLibraryLoadFlags -shared -z text 70811d341caSmrg# endif 70911d341caSmrg# endif 71011d341caSmrg# else 71111d341caSmrg# define SharedLibraryCcCmd cc 71211d341caSmrg# define ExtraLoadFlags -B/usr/bin/ 71311d341caSmrg# define AllocateLocalDefines /**/ 71411d341caSmrg 71511d341caSmrg.c.o: 71611d341caSmrg ClearmakeOSName $(CC) -c $(CFLAGS) $*.c 71711d341caSmrg 71811d341caSmrg# endif /* HasGcc2 (else) */ 71911d341caSmrg 72011d341caSmrg#else /* not HasGcc */ 72111d341caSmrg 72211d341caSmrg# define AllocateLocalDefines -DINCLUDE_ALLOCA_H 72311d341caSmrg 72411d341caSmrg/* Set up compiler-dependent options for Sun C */ 72511d341caSmrg/* 72611d341caSmrg * To build 64-bit binaries define Sparc64Architecture or AMD64Architecture 72711d341caSmrg * in your site.def or host.def file. 72811d341caSmrg */ 72911d341caSmrg# if HasSunC 73011d341caSmrg# ifdef Sun3Architecture 73111d341caSmrg# ifndef DefaultCCOptions 73211d341caSmrg# define DefaultCCOptions -f68881 -pipe 73311d341caSmrg# endif 73411d341caSmrg# else /* not defined(Sun3Architecture) */ 73511d341caSmrg# if OSMajorVersion < 5 73611d341caSmrg# ifndef DefaultCCOptions 73711d341caSmrg# define DefaultCCOptions -pipe 73811d341caSmrg# endif 73911d341caSmrg# else /* OSMajorVersion >= 5*/ 74011d341caSmrg# ifndef DefaultXArchOptions 74111d341caSmrg# ifdef Sparc64Architecture 74211d341caSmrg# define DefaultXArchOptions -xarch=v9 74311d341caSmrg# elif defined(AMD64Architecture) 74411d341caSmrg# define DefaultXArchOptions -xarch=generic64 74511d341caSmrg# else 74611d341caSmrg# define DefaultXArchOptions /* */ 74711d341caSmrg# endif 74811d341caSmrg# ifndef DefaultCCOptions 74911d341caSmrg# define DefaultCCOptions -Xa -v DefaultXArchOptions -z lazyload -z combreloc -xstrconst -xildoff 75011d341caSmrg# endif 75111d341caSmrg# ifndef DefaultCplusplusOptions 75211d341caSmrg# define DefaultCplusplusOptions DefaultXArchOptions -z lazyload -z combreloc -xildoff 75311d341caSmrg# endif 75411d341caSmrg# ifndef SharedLibraryLoadFlags 75511d341caSmrg# define SharedLibraryLoadFlags -G DefaultXArchOptions -z text $(EXTRA_LOAD_FLAGS) 75611d341caSmrg# endif 75711d341caSmrg# endif 7581c80d5b0Smrg# endif 7591c80d5b0Smrg# endif 76011d341caSmrg# endif 76111d341caSmrg 76211d341caSmrg/* Set compiler-dependent options for CenterLine C */ 76311d341caSmrg 76411d341caSmrg# if HasCenterLineC 76511d341caSmrg# ifndef DefaultCCOptions 76611d341caSmrg# define DefaultCCOptions -Xt -w1 -DANSICPP -U__HIGHC__ 76711d341caSmrg# endif 76811d341caSmrg# ifndef NeedConstPrototypes 76911d341caSmrg# define NeedConstPrototypes YES 77011d341caSmrg# endif 77111d341caSmrg# ifndef NeedNestedPrototypes 77211d341caSmrg# define NeedNestedPrototypes YES 77311d341caSmrg# endif 77411d341caSmrg# ifndef NeedVarargsPrototypes 77511d341caSmrg# define NeedVarargsPrototypes YES 77611d341caSmrg# endif 77711d341caSmrg# endif 77811d341caSmrg 77911d341caSmrg 78011d341caSmrg#endif /* HasGcc (else) */ 78111d341caSmrg 78211d341caSmrg#if OSMajorVersion < 5 78311d341caSmrg# define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H 78411d341caSmrg# define LibraryCCOptions /* don't want special floating point */ 78511d341caSmrg#else /* OSMajorVersion >= 5, i.e. Solaris 2.0 & later */ 78611d341caSmrg/* Only load libraries when needed on Solaris 7 & later */ 7871c80d5b0Smrg# if OSMinorVersion >= 7 78811d341caSmrg# define LazyLoadFlag -z lazyload -z combreloc 78911d341caSmrg# else 79011d341caSmrg# define LazyLoadFlag /* */ 79111d341caSmrg# endif 79211d341caSmrg/* Link with extra mapfiles for some performance & security enhancements */ 79311d341caSmrg#ifndef MapfileFlag 79411d341caSmrg# if HasSunC 79511d341caSmrg# define MapfileFlag -M 79611d341caSmrg# else 79711d341caSmrg# define MapfileFlag -Wl,-M, 79811d341caSmrg# endif 79911d341caSmrg#endif 80011d341caSmrg#ifndef Mapfile_BssAlign 80111d341caSmrg# if OSMinorVersion >= 9 80211d341caSmrg# define Mapfile_BssAlign $(MAPFILEFLAG)/usr/lib/ld/map.bssalign 80311d341caSmrg# else 80411d341caSmrg# define Mapfile_BssAlign /**/ 80511d341caSmrg# endif 80611d341caSmrg#endif 80711d341caSmrg#ifndef Mapfile_PageAlign 80811d341caSmrg# if OSMinorVersion >= 10 80911d341caSmrg# define Mapfile_PageAlign $(MAPFILEFLAG)/usr/lib/ld/map.pagealign 81011d341caSmrg# else 81111d341caSmrg# define Mapfile_PageAlign /**/ 81211d341caSmrg# endif 81311d341caSmrg#endif 81411d341caSmrg#ifndef Mapfile_NoExStack 81511d341caSmrg# if OSMinorVersion >= 9 81611d341caSmrg# define Mapfile_NoExStack $(MAPFILEFLAG)/usr/lib/ld/map.noexstk 81711d341caSmrg# else 81811d341caSmrg# define Mapfile_NoExStack /**/ 81911d341caSmrg# endif 82011d341caSmrg#endif 82111d341caSmrg#ifndef Mapfile_NoExData 82211d341caSmrg# if defined(SparcArchitecture) 82311d341caSmrg/* SPARC archictecture requires PLT section in .data be executable, so 82411d341caSmrg we can only make .bss, not all of .data no-exec on SPARC */ 82511d341caSmrg# define Mapfile_NoExData /**/ 82611d341caSmrg# else 82711d341caSmrg# if OSMinorVersion >= 10 82811d341caSmrg# define Mapfile_NoExData $(MAPFILEFLAG)/usr/lib/ld/map.noexdata 82911d341caSmrg# else 83011d341caSmrg# define Mapfile_NoExData /**/ 83111d341caSmrg# endif 83211d341caSmrg# endif 83311d341caSmrg#endif 83411d341caSmrg MAPFILEFLAG = MapfileFlag 83511d341caSmrg MAPFILES_FOR_ALL = Mapfile_PageAlign Mapfile_NoExData 83611d341caSmrgMAPFILES_FOR_PROGS = Mapfile_BssAlign Mapfile_NoExStack 83711d341caSmrg/* ExtraLoadFlags apply to all binaries - programs & libraries */ 83811d341caSmrg# ifndef ExtraLoadFlags 83911d341caSmrg# define ExtraLoadFlags LazyLoadFlag $(MAPFILES_FOR_ALL) 84011d341caSmrg# endif 84111d341caSmrg/* ExtraLoadOptions only apply to programs */ 84211d341caSmrg# ifndef ExtraLoadOptions 84311d341caSmrg# define ExtraLoadOptions -B direct $(MAPFILES_FOR_PROGS) 84411d341caSmrg# endif 84511d341caSmrg#endif /* OSMajorVersion < 5 */ 84611d341caSmrg 84711d341caSmrg/* 64-bit build support */ 84811d341caSmrg#ifndef Solaris64bitSubdir 84911d341caSmrg# ifdef Sparc64Architecture 85011d341caSmrg# define Solaris64bitSubdir sparcv9 85111d341caSmrg# elif defined(AMD64Architecture) 85211d341caSmrg# define Solaris64bitSubdir amd64 85311d341caSmrg# endif 85411d341caSmrg#endif 85511d341caSmrg 85611d341caSmrg#ifdef Solaris64bitSubdir 85711d341caSmrg# define LibDirName Concat3(lib,/,Solaris64bitSubdir) 85811d341caSmrg#endif 85911d341caSmrg 86011d341caSmrg#if OSMajorVersion > 4 86111d341caSmrg# include <svr4.cf> 86211d341caSmrg#endif 86311d341caSmrg 86411d341caSmrg#ifndef ManKeywordsTarget 86511d341caSmrg# define ManKeywordsTarget(manpath) @@\ 86611d341caSmrgman_keywords:: @@\ 86711d341caSmrg catman -M $(DESTDIR)manpath -w 86811d341caSmrg#endif 86911d341caSmrg 87011d341caSmrg#if !defined(UsePamLibrary) 87111d341caSmrg# if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 4)) 87211d341caSmrg# define UsePamLibrary YES 87311d341caSmrg# endif 87411d341caSmrg#endif 87511d341caSmrg 87611d341caSmrg/* PAM appeared in SunOS 5.6 */ 87711d341caSmrg#if !defined(HasPam) 87811d341caSmrg# if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6) 87911d341caSmrg# define HasPam YES 88011d341caSmrg# endif 88111d341caSmrg#endif 88211d341caSmrg 88311d341caSmrg#ifndef PamLibraries 88411d341caSmrg#define PamLibraries -lpam 88511d341caSmrg#endif 88611d341caSmrg 88711d341caSmrg#ifndef HasMotif 88811d341caSmrg/* Solaris's Motif depends on Solaris libX11 and won't work with libX11 built 88911d341caSmrg * from this tree, so only use it when using libX11 from outside the tree. 89011d341caSmrg */ 89111d341caSmrg# define HasMotif (defined(UseInstalled) || UseInstalledX11) 89211d341caSmrg# define MotifDir /usr/dt 89311d341caSmrg#endif /* !HasMotif */ 89411d341caSmrg#ifndef HasMotif2 89511d341caSmrg/* Solaris's Motif2 version is broken and misses XmPrintShell 89611d341caSmrg * (see http://xprint.mozdev.org/bugs/show_bug.cgi?id=1366) */ 89711d341caSmrg# define HasMotif2 NO 89811d341caSmrg#endif /* !HasMotif2 */ 89911d341caSmrg 90011d341caSmrg#define MotifDefines \ 90111d341caSmrg -DNO_ISDIR -DNO_REGCOMP -DNO_ALLOCA -DBOGUS_MB_MAX -DNO_CONST 90211d341caSmrg#define PamUnixDefines -DPAM_NIS 90311d341caSmrg#define TtLargePICTable YES 90411d341caSmrg#define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP 90511d341caSmrg#define DtSearchDefines -DI18N_MSG DtSvcDefines 90611d341caSmrg#define DtWidgetDefines DtSearchDefines 90711d341caSmrg#define DtPrintDefines DtSearchDefines 90811d341caSmrg 90911d341caSmrg#define baseDtMailDefines \ 91011d341caSmrg -DSunOS=OSMajorVersion\#\#OSMinorVersion -DMMAP_NORESERVE -DSPRO_V2 91111d341caSmrg#if !defined(i386Architecture) && !defined(AMD64Architecture) 91211d341caSmrg# define DtMailDefines baseDtMailDefines 91311d341caSmrg#else 91411d341caSmrg# define DtMailDefines -DBIG_ENDIAN baseDtMailDefines 91511d341caSmrg#endif 91611d341caSmrg 91711d341caSmrg#define ArchitectureDefines -DSUN_ARCHITECTURE 91811d341caSmrg 91911d341caSmrg#define TtClientExtraLibs ExtraLibraries -ldl -lintl 92011d341caSmrg 92111d341caSmrg#define ExportListGenSource elistgen.sun 92211d341caSmrg#define ShlibExportListOpt(filename) -M filename 92311d341caSmrg 92411d341caSmrg#define CdeProjectDefines \ 92511d341caSmrg -DMULTIBYTE -DNLS16 -DMESSAGE_CAT -D_XOPEN_VERSION=4 \ 92611d341caSmrg -D_XOPEN_SOURCE -D__EXTENSIONS__ \ 92711d341caSmrg -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion 92811d341caSmrg 92911d341caSmrg 93011d341caSmrg/* 93111d341caSmrg * Turn off HTML manpages like we do under NetBSD. 93211d341caSmrg */ 93311d341caSmrg#ifndef BuildHtmlManPages 93411d341caSmrg#define BuildHtmlManPages NO 93511d341caSmrg#endif 93611d341caSmrg 93711d341caSmrg/* 93811d341caSmrg * Turn off seperate configuration directories. 93911d341caSmrg */ 94011d341caSmrg#ifndef UseSeparateConfDir 94111d341caSmrg#define UseSeparateConfDir NO 94211d341caSmrg#endif 94311d341caSmrg 94411d341caSmrg/* Hackery for building modules as Solaris shared objects with dependencies */ 94511d341caSmrg#if MakeDllModules && DoLoadableServer 94611d341caSmrg 94711d341caSmrg/* If you change this, you will need to change find-deps.pl to match */ 94811d341caSmrg#define DlModuleDependencyName(module) Concat(module,_deps) 94911d341caSmrg 95011d341caSmrg#define DlModuleTarget(module,deplist,modlist) @@\ 95111d341caSmrgDepDynamicModuleTarget(module,deplist DlModuleDependencyName(module),modlist LazyLoadFlag `cat DlModuleDependencyName(module)`) @@\ 95211d341caSmrg @@\ 95311d341caSmrgDlModuleDependencyName(module): @@\ 95411d341caSmrg touch $@ @@\ 95511d341caSmrg @@\ 95611d341caSmrgclean:: @@\ 95711d341caSmrg RemoveFile(DlModuleDependencyName(module)) 95811d341caSmrg 95911d341caSmrg#define ObjectModuleTarget(module,objects) @@\ 96011d341caSmrgDlModuleTarget(Concat(module,_drv.so), objects, objects) 96111d341caSmrg 96211d341caSmrg#define LibraryModuleTarget(module,objects) @@\ 96311d341caSmrgNormalLibraryTarget(module, objects) @@\ 96411d341caSmrgDlModuleTarget(Concat3(lib,module,.so), objects, objects) 96511d341caSmrg 96611d341caSmrg#define DepLibraryModuleTarget(module,deplist,objects) @@\ 96711d341caSmrgNormalDepLibraryTarget(module, deplist, objects) @@\ 96811d341caSmrgDlModuleTarget(Concat3(lib,module,.so), deplist, objects) 96911d341caSmrg 97011d341caSmrg#endif 971