958 lines
28 KiB
CFEngine3
958 lines
28 KiB
CFEngine3
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
|