home *** CD-ROM | disk | FTP | other *** search
- XCOMM $XdotOrg: util/cf/sun.cf,v 1.34 2005/12/03 17:20:48 alanc Exp $
- XCOMM platform: $Xorg: sun.cf,v 1.4 2000/08/17 19:41:48 cpqbld Exp $
-
-
-
-
- XCOMM platform: $XFree86: xc/config/cf/sun.cf,v 3.70 2004/01/13 02:42:51 tsi Exp $
-
- #ifndef OSName
- # define OSName DefaultOSName
- #endif
- #ifndef OSMajorVersion
- # define OSMajorVersion DefaultOSMajorVersion
- #endif
- #ifndef OSMinorVersion
- # define OSMinorVersion DefaultOSMinorVersion
- #endif
- #ifndef OSTeenyVersion
- # define OSTeenyVersion DefaultOSTeenyVersion
- #endif
- XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
-
- /* For various reasons, Sun uses different settings when compiling the
- * X Window System packages included in Solaris than are normally used
- * by most people building the X.Org software releases. Sun also has
- * two different X server hierarchies in Solaris - Xsun in /usr/openwin
- * and Xorg in /usr/X11.
- *
- * If you want to try to match Sun's settings as closely as possible
- * add this setting to your host.def:
- * #define BuildLikeSun YES
- *
- * If you're trying to match the openwin directory layout as well, you'll
- * need to also add:
- * #define ProjectRoot /usr/openwin
- * otherwise it will use /usr/X11. (Note that these settings match closer
- * to Sun's Xorg delivery in /usr/X11 than the older X11R6.6-based delivery
- * in /usr/openwin though.)
- */
- #ifndef BuildLikeSun
- # define BuildLikeSun NO
- #endif
-
- #if BuildLikeSun
- # ifndef ProjectRoot
- # define ProjectRoot /usr/X11
- # endif
- # ifndef DocDir
- # define DocDir Concat(ProjectRoot,/share/doc)
- # endif
- # ifndef ManDirectoryRoot
- # define ManDirectoryRoot Concat(ProjectRoot,/share/man)
- # endif
- # ifndef ManSuffix
- # define ManSuffix 1
- # endif
- # ifndef LibraryCCOptions
- # if DoSharedLib && defined(SharedLibraryCCOptions)
- # define LibraryCCOptions SharedLibraryCCOptions ArchLibraryCCOptions
- # else
- # define LibraryCCOptions DefaultCCOptions ArchLibraryCCOptions
- # endif
- # endif
- #endif
-
- /* Flag passed to makestrs in Xt build to control string array names in the
- * libXt headers. -solarisabinames matches those used in the libXt in
- * Solaris, but not in other OS'es.
- */
- #ifndef SolarisABIFlag
- # if BuildLikeSun
- # define SolarisABIFlag -solarisabinames
- # else
- # define SolarisABIFlag /**/
- # 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, gcc2 or gcc3, define HasGcc, HasGcc2 or HasGcc3 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 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 HasGcc3
- #define HasGcc3 NO
- #endif
- #ifndef HasGcc2
- #define HasGcc2 HasGcc3
- #endif
- #ifndef HasGcc
- #define HasGcc HasGcc2
- #endif
-
- #ifndef HasSunC
- # if HasCenterLineC || HasGcc || HasGcc2 || HasGcc3 || (OSMajorVersion < 5)
- # define HasSunC NO
- # else
- # define HasSunC YES
- # endif
- #endif
-
- #if HasSunC
- # ifndef CCompilerMajorVersion
- # define CCompilerMajorVersion DefaultSunProCCompilerMajorVersion
- # endif
- # ifndef CCompilerMinorVersion
- # define CCompilerMinorVersion DefaultSunProCCompilerMinorVersion
- # endif
- XCOMM SunPro C CCompilerMajorVersion./**/CCompilerMinorVersion
-
- /* Choose some reasonable default optimizer flags based on compiler &
- OS versions */
- # ifndef OptimizedCDebugFlags
- # if (CCompilerMajorVersion > 5) || \
- (CCompilerMajorVersion == 5 && CCompilerMinorVersion > 2)
- # define OptimizedCDebugFlags -xO4 -xbuiltin=%all -xlibmil -xstrconst ArchOptimizedFlags
- # else
- # define OptimizedCDebugFlags -xO4 -xstrconst ArchOptimizedFlags
- # endif
- # endif
- # ifndef ArchOptimizedFlags
- # if OSMajorVersion == 5
- # if defined(SparcArchitecture) && !defined(Sparc64Architecture)
- # if OSMinorVersion > 9 /* Solaris 10 and later only run on UltraSPARC's */
- # define ArchOptimizedFlags -xarch=v8plus
- # else
- # define ArchOptimizedFlags -xarch=v8
- # endif
- # elif defined(i386Architecture) || defined(AMD64Architecture)
- # if (CCompilerMajorVersion > 5) || \
- (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 7)
- /* -xregs=no%frameptr is required on x86 when compiling at -xO4 or higher to
- * avoid losing stack frame pointers so you can't get stack traces or debug.
- * This may lose a small bit of performance, so you can override by adding
- * #define FramePtrFlags -xregs=frameptr if you care about performance more
- * than debuggability.
- */
- # ifndef FramePtrFlags
- # define FramePtrFlags -xregs=no%frameptr
- # endif
- # endif
- # ifndef FramePtrFlags
- # define FramePtrFlags /* */
- # endif
- # if defined(i386Architecture) && (OSMinorVersion > 8)
- /* Solaris 9 and later require Pentium or better */
- # define ArchOptimizedFlags -xpentium FramePtrFlags
- # else
- # define ArchOptimizedFlags FramePtrFlags
- # endif
- # endif
- # endif
- # ifndef ArchOptimizedFlags
- # define ArchOptimizedFlags /**/
- # endif
- # endif
- # ifndef DefaultCDebugFlags
- # define DefaultCDebugFlags OptimizedCDebugFlags
- # endif
- # ifndef SharedLibraryLdCmd
- # define SharedLibraryLdCmd $(CC)
- # endif
- /* Flags for lint version included with Sun C compilers */
- # if OSMajorVersion >= 5
- # ifndef LintLibFlag
- # define LintLibFlag -y -o
- # endif
- # ifndef LintOpts
- # define LintOpts -b -h -u -erroff=E_INDISTING_FROM_TRUNC2 $(LINTSECFLAG) ExtraLibraries MathLibrary -lc
- # endif
- # ifndef LintSecFlag
- # if (CCompilerMajorVersion > 5) || \
- (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 6)
- # define LintSecFlag -errsecurity=standard
- # else
- # define LintSecFlag /**/
- # endif
- # endif
- LINTSECFLAG = LintSecFlag
- # ifndef LintLibReferences
- # define LintLibReferences(varname,libname,libsource) @@\
- Concat(LINT,varname) = _UseCat(-L $(LINTLIBDIR) -l, -L libsource -l,libname)
- # endif
-
- # endif /* Lint Flags for Solaris */
-
- #endif /* HasSunC */
-
- #ifndef ArchLibraryCCOptions
- # if HasSunC && defined(SparcArchitecture) && CCompilerMajorVersion > 3
- # define ArchLibraryCCOptions -xregs=no%appl
- # else
- # define ArchLibraryCCOptions
- # endif
- #endif /* ArchLibraryCCOptions */
-
- /* we used to have this here :
- *
- * #if HasSunC
- * # ifndef CCompilerMajorVersion
- * # define CCompilerMajorVersion 3
- * # define DefaultCDebugFlags -xO3
- * # define OptimizedCDebugFlags -xO3
- * # endif
- * #endif
- */
-
- #ifndef HasSunCplusplus
- # define HasSunCplusplus HasSunC /* ??? */
- #endif
- #if HasSunCplusplus
- # ifndef HasCplusplus
- # define HasCplusplus YES
- # define OptimizedCplusplusDebugFlags -xO4 -xbuiltin=%all -xlibmil
- # endif
- # ifndef CplusplusCompilerMajorVersion
- # ifdef DefaultSunProCplusplusCompilerMajorVersion
- # define CplusplusCompilerMajorVersion DefaultSunProCplusplusCompilerMajorVersion
- # else
- # define CplusplusCompilerMajorVersion 3
- # endif
- # endif
- # ifndef CplusplusCompilerMinorVersion
- # ifdef DefaultSunProCplusplusCompilerMinorVersion
- # define CplusplusCompilerMinorVersion DefaultSunProCplusplusCompilerMinorVersion
- # else
- # define CplusplusCompilerMinorVersion 0
- # endif
- # endif
- # ifndef CplusplusLibC
- # if CplusplusCompilerMajorVersion >= 5
- # define CplusplusLibC -norunpath -lCrun
- # endif
- # endif
- XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
- #endif
-
- /* we used to have this here :
- *
- * # ifndef CplusplusCompilerMajorVersion
- * # define CplusplusCompilerMajorVersion 4
- * # 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
-
- #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
-
- /* The Xsun server was not building for SunOS 5.7 due to
- includes of <sys/cg2reg.h>.
- */
- #if OSMajorVersion < 5
- # define IncludeCG2HeaderDefine -DINCLUDE_CG2_HEADER
- #else
- # define IncludeCG2HeaderDefine /**/
- #endif
-
- #if defined(i386Architecture) || defined(AMD64Architecture)
- # if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
- # define OSServerExtraDefines -D__SOL8__
- # endif
- #endif
-
- #if !HasGcc
- # if HasSunC
- # if defined(AMD64Architecture)
- # define AsmArch amd64
- # define AsmFlags -xarch=amd64
- # elif defined(i386Architecture)
- # define AsmArch ia32
- # define AsmFlags /**/
- # elif defined(Sparc64Architecture)
- # define AsmArch sparcv8plus
- # define AsmFlags -xarch=v9
- # elif defined(SparcArchitecture)
- # define AsmArch sparcv8plus
- # define AsmFlags -xarch=v8plus
- # endif
- # ifndef CompilerServerExtraDefines
- # define CompilerServerExtraDefines $(SERVERSRC)/hw/xfree86/os-support/sunos/AsmArch.il
- # endif
- # endif
- #endif
-
- #ifndef CompilerServerExtraDefines
- # define CompilerServerExtraDefines /**/
- #endif
-
- #ifndef OSServerExtraDefines
- # define OSServerExtraDefines /**/
- #endif
-
- #ifndef ArchServerExtraDefines
- # if defined(Sparc64Architecture) || defined(AMD64Architecture)
- # define ArchServerExtraDefines -D_XSERVER64
- # else
- # define ArchServerExtraDefines /**/
- # endif
- #endif
-
- #define ServerOSDefines XFree86ServerOSDefines IncludeCG2HeaderDefine
- #define ServerExtraDefines AllocateLocalDefines XFree86ServerDefines \
- CompilerServerExtraDefines \
- OSServerExtraDefines ArchServerExtraDefines
-
- #ifndef HasPerl
- /* Solaris 8 comes with perl. Earlier versions don't. */
- # if (OSMajorVersion == 5) && (OSMinorVersion >= 8)
- # define HasPerl YES
- # else
- # define HasPerl NO
- # endif
- #endif
-
- #ifndef XkbServerDefines
- # if BuildLikeSun
- # define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT \
- -DXKM_OUTPUT_DIR='"/var/run/xkb/"' -DXKM_OUTPUT_DIR_MODE=0775 \
- -DMAKE_XKM_OUTPUT_DIR
- # else
- # define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
- # endif
- #endif
-
- #if OSMajorVersion > 4
- # define ConnectionFlags -DTCPCONN -DUNIXCONN -DLOCALCONN
- # if HasSunC
- # ifdef DefaultSunProCCompilerDir
- # ifndef CcCmd
- # define CcCmd DefaultSunProCCompilerDir/cc
- # endif
- # endif
- # ifdef DefaultSunProCplusplusCompilerDir
- # ifndef CplusplusCmd
- # define CplusplusCmd DefaultSunProCplusplusCompilerDir/CC
- # endif
- # ifndef CplusplusFilt
- # define CplusplusFilt DefaultSunProCplusplusCompilerDir/c++filt
- # endif
- # ifndef CplusplusWhatdir
- # define CplusplusWhatdir DefaultSunProCplusplusCompilerDir/whatdir
- # endif
- # else /* DefaultSunProCplusplusCompilerDir not defined */
- # ifndef CplusplusWhatdir
- # define CplusplusWhatdir whatdir
- # endif
- # endif /* DefaultSunProCplusplusCompilerDir */
- # ifndef CplusplusDependIncludes
- # if CplusplusCompilerMajorVersion > 3
- # define CplusplusDependIncludes -I`CplusplusWhatdir CC`/../include/CC
- # elif CplusplusCompilerMajorVersion > 2
- # define CplusplusDependIncludes -I/opt/SUNWspro/SC3.0/include/CC
- # else
- # define CplusplusDependIncludes -I/opt/SUNWspro/SC2.0.1/include/CC
- # endif
- # endif
- # endif /* HasSunC */
-
- # if HasSunC && (CCompilerMajorVersion < 3)
- # define BootstrapCFlags -DSVR4
- # else
- # define BootstrapCFlags /* none needed */
- # endif
- # ifndef XawI18nDefines
- # if OSMinorVersion < 4
- # define XawI18nDefines -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
- # else
- # define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS
- # endif
- # endif
- # if OSMinorVersion > 3
- # define InstallCmd /usr/ucb/install
- # endif
- #ifndef LargefileDefines
- # if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6)
- # define LargefileDefines -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
- # else
- # define LargefileDefines /* */
- # endif
- #endif
- # ifdef AMD64Architecture
- # define StandardDefines -Dsun -DSVR4 -D__EXTENSIONS__ -D__amd64
- # define ToolkitStringsABIOptions -intelabi SolarisABIFlag
- # elif defined(i386Architecture)
- # if (OSMajorVersion < 4) || ((OSMajorVersion == 5) && (OSMinorVersion <= 5))
- # define StandardDefines -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \
- -D__SOL64__ LargefileDefines
- # else
- # define StandardDefines -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \
- LargefileDefines
- # endif
- # define ToolkitStringsABIOptions -intelabi SolarisABIFlag
- # else
- # define StandardDefines -Dsun -Dsparc -DSVR4 -D__EXTENSIONS__ LargefileDefines
- # define ToolkitStringsABIOptions -sparcabi SolarisABIFlag
- # endif
- # define ExtraLibraries -lsocket -lnsl
- # define HasWeakSymbols YES
- # if OSMinorVersion > 1
- # ifndef ThreadedX
- # define ThreadedX YES
- # endif
- # define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
- # 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 */
- # ifndef UseExportLists
- # if (OSMinorVersion > 4) && !HasGcc2
- # define UseExportLists YES
- # else
- # define UseExportLists NO
- # endif
- # endif
- # if OSMinorVersion > 5 /* Solaris 2.6 and later */
- # define HasSnprintf YES
- # endif
- # if OSMinorVersion > 7 /* Solaris 8 and later */
- # define HasStrlcat YES
- # define HasStrcasecmp YES
- # define HasVarRun YES
- # endif
- # if OSMinorVersion > 9 /* Solaris 10 and later */
- # define HasSetenv YES
- # define HasGetpeerucred YES
- # define HasGetoptLong YES
- # define DlLibrary -lc /* dlopen() is in libc in Solaris 10 */
- # endif
- # define HasVFork NO
- # define HasDlopen YES
- # define InstallXloadSetGID NO /* libkstat doesn't require gid kmem */
- # define InstKmemFlags -g sys -m 2711
- # define ShLibIncludeFile <sunLib.tmpl>
- # define LinkerRuntimeLibraryPathFlag(path) Concat(-R,path)
- # define RpathLoadFlags LinkerRuntimeLibraryPathFlag($(USRLIBDIRPATH))
- /*
- * Set flags for position independent code before including sv4Lib.rules
- * if the compiler in use doesn't use standard SVR4 flags
- */
- # if HasSunC || HasCenterLineC
- # define PositionIndependentCFlags -Kpic
- # define LargePositionIndependentCFlags -KPIC
- # ifdef Sparc64Architecture
- # define LargePICTable YES
- # endif
- # endif
- # if HasSunCplusplus || HasCenterLineCplusplus
- # define PositionIndependentCplusplusFlags -pic
- # define LargePositionIndependentCplusplusFlags -PIC
- # endif
- /* As is done in sco5.cf, we lie and say Solaris has NCURSES, since
- * the system curses is close enough for xorgcfg's purposes. xorgcfg
- * should not depend on the NCURSES package but rather on a "capable curses",
- * of which NCURSES is just one.
- */
- #define HasNCurses YES
- #define NCursesLibName -lcurses
- #else /* not OSMajorVersion > 4 */
- #define InstKmemFlags -g kmem -m 2711
- #include <sunLib.rules>
- #endif /* OSMajorVersion > 4 (else) */
-
- /* Solaris 10 includes FreeType already. It's also available in GNOME 2.0 for
- * Solaris 8 & 9, and in Solaris 9 4/03 and later, but there's no easy way to
- * detect that in imake, so users of those releases who want to use the
- * installed FreeType instead of the one in this tree should copy the following
- * two settings to their host.def. Those who want to use the in-tree copy
- * regardless of OS version should add "#define HasFreetype2 NO" to host.def.
- */
- #ifndef HasFreetype2
- # if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10))
- # define HasFreetype2 YES
- # ifndef Freetype2Dir
- # define Freetype2Dir /usr/sfw
- # endif
- # else
- # define HasFreetype2 NO
- # endif
- #endif
-
- #ifndef HasExpat
- # if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 10))
- # define HasExpat YES
- # ifndef ExpatDir
- # define ExpatDir /usr/sfw
- # endif
- # else
- # define HasExpat NO
- # endif
- #endif
-
- /* Solaris 10 includes fontconfig, but not the fcprivate.h header needed by
- * Xft1 library.
- */
- #ifndef HasFontconfig
- # define HasFontconfig NO
- #endif
-
- /* libpng was in /usr/sfw/lib on Solaris 9, moved to /usr/lib in Solaris 10 */
- #ifndef HasLibpng
- # if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9))
- # define HasLibpng YES
- # if !defined(LibpngDir) && ((OSMajorVersion == 5) && (OSMinorVersion == 9))
- # define LibpngDir /usr/sfw
- # endif
- # else
- # define HasLibpng NO
- # endif
- #endif
-
- #ifndef HasZlib
- # if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
- # define HasZlib YES
- # else
- # define HasZlib NO
- # endif
- #endif
-
- #ifndef TroffCmd
- # if !(HasGroff)
- # define TroffCmd troff -Tpost
- # endif
- #endif
-
- #define BuildLibPathVar LD_LIBRARY_PATH
- #define HasNdbm YES
- #define HasShm YES
- #define HasSecureRPC YES
- #define SetTtyGroup YES
- #define HasPutenv YES
- #define HasMkstemp YES
- #if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
- #define HasDevRandom YES /* /dev/random is in Solaris 8 patches */
- #define PollDevRandom YES /* /dev/random is poll()able on Solaris */
- #endif
- #if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9))
- # define HasIssetugid YES
- #endif
- #if defined(Sun3Architecture) || defined(SparcArchitecture) || defined(Sparc64Architecture)
- # ifndef Xsun24Server
- # define Xsun24Server NO /* color, mono, multiple depths */
- # endif
- # ifndef XsunServer
- # define XsunServer NO /* color and mono, 8 bit only */
- # endif
- # ifndef XsunMonoServer
- # define XsunMonoServer NO /* monochrome only */
- # endif
- # ifndef XorgServer
- # define XorgServer (!(Xsun24Server || XsunServer || XsunMonoServer))
- # endif
- # undef BuildXF86DRI
- # define BuildXF86DRI NO
- # if (OSMajorVersion > 4)
- # if !defined(AsOutputArchSize) || \
- ((AsOutputArchSize != 32) && (AsOutputArchSize != 64))
- # undef AsOutputArchSize
- # define AsOutputArchSize 32
- # endif
- # ifndef AsVISOption
- # if AsOutputArchSize == 32
- # ifdef UseGas
- # define AsVISOption -Av8plusa
- # else
- # define AsVISOption -xarch=v8plusa
- # endif
- # else
- # ifdef UseGas
- # define AsVISOption -Av9a
- # else
- # define AsVISOption -xarch=v9a
- # endif
- # endif
- # endif
- # endif
- #endif /* SPARC or Sun3/M68k */
-
- #if OSMajorVersion >= 4
- #define HasUsableFileMap YES
- #endif
-
- #ifndef UseDeprecatedKeyboardDriver
- #define UseDeprecatedKeyboardDriver YES
- #endif
-
- #if HasGcc
- # if OSMajorVersion > 4
- # ifndef DefaultCCOptions
- # ifdef UseInstalled
- # define DefaultCCOptions -DNO_ASM
- # elif OSMinorVersion > 6
- # define DefaultCCOptions -DNO_ASM GccWarningOptions
- # elif OSMinorVersion > 3
- # define DefaultCCOptions -DNO_ASM GccWarningOptions -ansi -pedantic
- # else
- # define DefaultCCOptions -DNO_ASM
- # endif
- # endif
- # endif
- # if HasGcc2
- # ifndef CcCmd
- # define CcCmd gcc
- # endif
- # ifndef AsCmd
- # define AsCmd CcCmd -c -x assembler
- # endif
- # ifndef OptimizedCDebugFlags
- # ifdef i386Architecture
- # define OptimizedCDebugFlags DefaultGcc2i386Opt
- # elif defined(AMD64Architecture)
- # define OptimizedCDebugFlags DefaultGcc2AMD64Opt
- # else
- # define OptimizedCDebugFlags -O2
- # endif
- # endif
- # if !defined(SharedLibraryLoadFlags) && !defined(SharedLibraryLdCmd)
- # if OSMajorVersion == 5 && OSMinorVersion > 6 && defined(i386Architecture)
- /* This is to work around what appears to be a PIC bug in some gcc/egcs
- versions that shows up with the Solaris 7/x86 <ctype.h>. */
- # define SharedLibraryLdCmd $(LD)
- # define SharedLibraryLoadFlags -G -z textwarn
- # else
- # define SharedLibraryLdCmd $(CC)
- # define SharedLibraryLoadFlags -shared -z text
- # endif
- # endif
- # else
- # define SharedLibraryCcCmd cc
- # define ExtraLoadFlags -B/usr/bin/
- # define AllocateLocalDefines /**/
-
- .c.o:
- ClearmakeOSName $(CC) -c $(CFLAGS) $*.c
-
- # endif /* HasGcc2 (else) */
-
- #else /* not HasGcc */
-
- # define AllocateLocalDefines -DINCLUDE_ALLOCA_H
-
- /* Set up compiler-dependent options for Sun C */
- /*
- * To build 64-bit binaries define Sparc64Architecture or AMD64Architecture
- * in your site.def or host.def file.
- */
- # 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 DefaultXArchOptions
- # ifdef Sparc64Architecture
- # define DefaultXArchOptions -xarch=v9
- # elif defined(AMD64Architecture)
- # define DefaultXArchOptions -xarch=generic64
- # else
- # define DefaultXArchOptions /* */
- # endif
- # ifndef DefaultCCOptions
- # define DefaultCCOptions -Xa -v DefaultXArchOptions -z lazyload -z combreloc -xstrconst -xildoff
- # endif
- # ifndef DefaultCplusplusOptions
- # define DefaultCplusplusOptions DefaultXArchOptions -z lazyload -z combreloc -xildoff
- # endif
- # ifndef SharedLibraryLoadFlags
- # define SharedLibraryLoadFlags -G DefaultXArchOptions -z text $(EXTRA_LOAD_FLAGS)
- # endif
- # 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
-
-
- #endif /* HasGcc (else) */
-
- #if OSMajorVersion < 5
- # define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
- # define LibraryCCOptions /* don't want special floating point */
- #else /* OSMajorVersion >= 5, i.e. Solaris 2.0 & later */
- /* Only load libraries when needed on Solaris 7 & later */
- # if OSMinorVersion >= 7
- # define LazyLoadFlag -z lazyload -z combreloc
- # else
- # define LazyLoadFlag /* */
- # endif
- /* Link with extra mapfiles for some performance & security enhancements */
- #ifndef MapfileFlag
- # if HasSunC
- # define MapfileFlag -M
- # else
- # define MapfileFlag -Wl,-M,
- # endif
- #endif
- #ifndef Mapfile_BssAlign
- # if OSMinorVersion >= 9
- # define Mapfile_BssAlign $(MAPFILEFLAG)/usr/lib/ld/map.bssalign
- # else
- # define Mapfile_BssAlign /**/
- # endif
- #endif
- #ifndef Mapfile_PageAlign
- # if OSMinorVersion >= 10
- # define Mapfile_PageAlign $(MAPFILEFLAG)/usr/lib/ld/map.pagealign
- # else
- # define Mapfile_PageAlign /**/
- # endif
- #endif
- #ifndef Mapfile_NoExStack
- # if OSMinorVersion >= 9
- # define Mapfile_NoExStack $(MAPFILEFLAG)/usr/lib/ld/map.noexstk
- # else
- # define Mapfile_NoExStack /**/
- # endif
- #endif
- #ifndef Mapfile_NoExData
- # if defined(SparcArchitecture)
- /* SPARC archictecture requires PLT section in .data be executable, so
- we can only make .bss, not all of .data no-exec on SPARC */
- # define Mapfile_NoExData /**/
- # else
- # if OSMinorVersion >= 10
- # define Mapfile_NoExData $(MAPFILEFLAG)/usr/lib/ld/map.noexdata
- # else
- # define Mapfile_NoExData /**/
- # endif
- # endif
- #endif
- MAPFILEFLAG = MapfileFlag
- MAPFILES_FOR_ALL = Mapfile_PageAlign Mapfile_NoExData
- MAPFILES_FOR_PROGS = Mapfile_BssAlign Mapfile_NoExStack
- /* ExtraLoadFlags apply to all binaries - programs & libraries */
- # ifndef ExtraLoadFlags
- # define ExtraLoadFlags LazyLoadFlag $(MAPFILES_FOR_ALL)
- # endif
- /* ExtraLoadOptions only apply to programs */
- # ifndef ExtraLoadOptions
- # define ExtraLoadOptions -B direct $(MAPFILES_FOR_PROGS)
- # endif
- #endif /* OSMajorVersion < 5 */
-
- /* 64-bit build support */
- #ifndef Solaris64bitSubdir
- # ifdef Sparc64Architecture
- # define Solaris64bitSubdir sparcv9
- # elif defined(AMD64Architecture)
- # define Solaris64bitSubdir amd64
- # endif
- #endif
-
- #ifdef Solaris64bitSubdir
- # define LibDirName Concat3(lib,/,Solaris64bitSubdir)
- #endif
-
- #if OSMajorVersion > 4
- # include <svr4.cf>
- #endif
-
- #ifndef ManKeywordsTarget
- # define ManKeywordsTarget(manpath) @@\
- man_keywords:: @@\
- catman -M $(DESTDIR)manpath -w
- #endif
-
- #if !defined(UsePamLibrary)
- # if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 4))
- # define UsePamLibrary YES
- # endif
- #endif
-
- /* PAM appeared in SunOS 5.6 */
- #if !defined(HasPam)
- # if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6)
- # define HasPam YES
- # endif
- #endif
-
- #ifndef PamLibraries
- #define PamLibraries -lpam
- #endif
-
- #ifndef HasMotif
- /* Solaris's Motif depends on Solaris libX11 and won't work with libX11 built
- * from this tree, so only use it when using libX11 from outside the tree.
- */
- # define HasMotif (defined(UseInstalled) || UseInstalledX11)
- # define MotifDir /usr/dt
- #endif /* !HasMotif */
- #ifndef HasMotif2
- /* Solaris's Motif2 version is broken and misses XmPrintShell
- * (see http://xprint.mozdev.org/bugs/show_bug.cgi?id=1366) */
- # define HasMotif2 NO
- #endif /* !HasMotif2 */
-
- #define MotifDefines \
- -DNO_ISDIR -DNO_REGCOMP -DNO_ALLOCA -DBOGUS_MB_MAX -DNO_CONST
- #define PamUnixDefines -DPAM_NIS
- #define TtLargePICTable YES
- #define DtSvcDefines -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP
- #define DtSearchDefines -DI18N_MSG DtSvcDefines
- #define DtWidgetDefines DtSearchDefines
- #define DtPrintDefines DtSearchDefines
-
- #define baseDtMailDefines \
- -DSunOS=OSMajorVersion\#\#OSMinorVersion -DMMAP_NORESERVE -DSPRO_V2
- #if !defined(i386Architecture) && !defined(AMD64Architecture)
- # define DtMailDefines baseDtMailDefines
- #else
- # define DtMailDefines -DBIG_ENDIAN baseDtMailDefines
- #endif
-
- #define ArchitectureDefines -DSUN_ARCHITECTURE
-
- #define TtClientExtraLibs ExtraLibraries -ldl -lintl
-
- #define ExportListGenSource elistgen.sun
- #define ShlibExportListOpt(filename) -M filename
-
- #define CdeProjectDefines \
- -DMULTIBYTE -DNLS16 -DMESSAGE_CAT -D_XOPEN_VERSION=4 \
- -D_XOPEN_SOURCE -D__EXTENSIONS__ \
- -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
-
-
- /*
- * Turn off HTML manpages like we do under NetBSD.
- */
- #ifndef BuildHtmlManPages
- #define BuildHtmlManPages NO
- #endif
-
- /*
- * Turn off seperate configuration directories.
- */
- #ifndef UseSeparateConfDir
- #define UseSeparateConfDir NO
- #endif
-
- /* Hackery for building modules as Solaris shared objects with dependencies */
- #if MakeDllModules && DoLoadableServer
-
- /* If you change this, you will need to change find-deps.pl to match */
- #define DlModuleDependencyName(module) Concat(module,_deps)
-
- #define DlModuleTarget(module,deplist,modlist) @@\
- DepDynamicModuleTarget(module,deplist DlModuleDependencyName(module),modlist LazyLoadFlag `cat DlModuleDependencyName(module)`) @@\
- @@\
- DlModuleDependencyName(module): @@\
- touch $@ @@\
- @@\
- clean:: @@\
- RemoveFile(DlModuleDependencyName(module))
-
- #define ObjectModuleTarget(module,objects) @@\
- DlModuleTarget(Concat(module,_drv.so), objects, objects)
-
- #define LibraryModuleTarget(module,objects) @@\
- NormalLibraryTarget(module, objects) @@\
- DlModuleTarget(Concat3(lib,module,.so), objects, objects)
-
- #define DepLibraryModuleTarget(module,deplist,objects) @@\
- NormalDepLibraryTarget(module, deplist, objects) @@\
- DlModuleTarget(Concat3(lib,module,.so), deplist, objects)
-
- #endif
-