123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- XCOMM $XdotOrg: xc/config/cf/darwin.cf,v 1.7 2005/03/17 01:12:07 torrey Exp $
- XCOMM platform: $XFree86: xc/config/cf/darwin.cf,v 1.50 2004/01/20 23:54:50 torrey Exp $
- /* Darwin / Mac OS X configuration by John Carmack <johnc@idsoftware.com> */
- /* imake determines the default values by parsing uname */
- #ifndef OSName
- #define OSName DefaultOSName
- #endif
- #ifndef OSVendor
- #define OSVendor Apple Computer, Inc.
- #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)
- /*
- * Define the operating system's capabilities
- */
- #define HasSnprintf YES
- #define HasPutenv YES
- #define HasBSD44Sockets YES
- #define Malloc0ReturnsNull NO
- #define HasShadowPasswd NO
- #define HasUsableFileMmap YES
- #define HasZlib YES
- #ifndef HasShm
- # define HasShm YES
- #endif
- #define HasNdbm YES
- #if OSMajorVersion >= 6
- # define HasNCurses YES
- # define HasArc4Random YES
- # define HasGetIfAddrs YES
- # define HasStrlcat YES
- #else
- # define HasBasename NO
- # define HasNCurses NO
- #endif
- #ifndef HasGroff
- # define HasGroff YES
- #endif
- #ifndef HasGcc3
- # define HasGcc3 NO
- #endif
- #ifndef HasFreetype2
- # define HasFreetype2 NO
- #endif
- #ifndef HasExpat
- # define HasExpat NO
- #endif
- #ifndef HasLibpng
- # define HasLibpng NO
- #endif
- /* Older versions don't really support IPv6, but #define AF_INET6. */
- #if OSMajorVersion < 6
- # define BuildIPv6 NO
- #endif
- /* Thread support */
- #define HasPosixThreads YES
- #define SystemMTDefines -D_REENTRANT
- #if OSMajorVersion >= 6
- # define HasThreadSafeAPI YES
- # define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_UNISTDAPI
- #else
- # define HasThreadSafeAPI NO
- # define MTSafeAPIDefines -DXOS_USE_MTSAFE_NETDBAPI
- #endif
- /* Libtool on Darwin always uses minor numbers */
- #define LibtoolMinorVersions YES
- /* The most common file system, HFS+, is not case sensitive. */
- #ifndef CaseSensitiveFileSystem
- # define CaseSensitiveFileSystem NO
- #endif
- /*
- * This enables some settings for developers.
- */
- #ifndef XFree86Devel
- # define XFree86Devel NO
- #endif
- /*
- * This enables Quartz compatibility.
- * Turn off to build on raw Darwin systems.
- */
- #ifndef DarwinQuartzSupport
- # define DarwinQuartzSupport YES
- #endif
- #if DarwinQuartzSupport
- # if OSMajorVersion >= 7
- PROJ_BUILD = xcodebuild
- # else
- PROJ_BUILD = pbxbuild
- # endif
- # ifndef HasXplugin
- # if OSMajorVersion >= 7
- # define HasXplugin YES
- # else
- # define HasXplugin NO
- # endif
- # endif
- # if HasXplugin
- # ifndef XpLibDir
- # define XpLibDir /usr/lib
- # endif
- # ifndef XpIncDir
- # define XpIncDir $(SERVERSRC)/hw/darwin/quartz/xpr
- # endif
- XPLIBDIR = XpLibDir
- XPINCDIR = XpIncDir
- # define XpluginLibrary Concat(-L,$(XPLIBDIR)) -lXplugin
- # else
- # define XpluginLibrary /**/
- # endif
- # ifndef BuildAppleDRI
- # if HasXplugin
- # define BuildAppleDRI YES
- # else
- # define BuildAppleDRI NO
- # endif
- # endif
- # if BuildAppleDRI
- # define GlxExtraDefines -DGLX_DIRECT_RENDERING -DGLX_USE_APPLEGL GlxArchDefines
- # endif
- # define BuildRootless YES
- # define BuildAppleWMLibrary YES
- #endif /* DarwinQuartzSupport */
- /* we don't need -lm */
- #define MathLibrary /**/
- #define TermcapLibrary -lcurses
- #define SetTtyGroup YES /* for xterm */
- /* we don't have a dbm library */
- #define DBMLibrary /**/
- #define MkdirHierCmd mkdir -p
- /* Use flex -l for compatibility with various versions of flex. */
- #ifndef LexCmd
- # define LexCmd flex -l
- #endif
- #define HasFlex YES
- /*
- * Our cpp isn't in /lib/cpp and early versions don't like -undef.
- * The gcc 3.3 cpp that Apple ships inserts spurious #pragmas,
- * so we use the 3.1-based version in this case.
- */
- #if (GccMajorVersion == 3) && (GccMinorVersion == 3)
- # define CppCmd /usr/bin/cpp3
- #else
- # define CppCmd /usr/bin/cpp
- #endif
- #if (GccMajorVersion == 3) && (GccMinorVersion == 3) || (GccMajorVersion > 3)
- # define StandardCppOptions -traditional -D__GNUC__
- #endif
- #if HasGcc3
- # define RawCppCmd CppCmd -undef
- #else
- # define RawCppCmd CppCmd
- #endif
- /* we have a gcc compatible compiler, but its not called gcc */
- #define CcCmd /usr/bin/cc
- #define CplusplusCmd /usr/bin/c++
- /* default flags to pass to cc */
- #ifndef DefaultCCOptions
- #if XFree86Devel
- # define DefaultCCOptions -Wall -Wpointer-arith -Wstrict-prototypes \
- -Wmissing-prototypes -Wmissing-declarations \
- -Wredundant-decls -Wnested-externs \
- -no-cpp-precomp
- #else
- # define DefaultCCOptions -Wall -Wpointer-arith -no-cpp-precomp
- #endif
- #endif
- /* flags to pass to cc when building libraries */
- #ifndef LibraryCCOptions
- # define LibraryCCOptions DefaultCCOptions -fno-common
- #endif
- /* The cr implementation does not build with NEED_SCREEN_REGIONS,
- so play it safe. */
- #ifndef ServerCCOptions
- # define ServerCCOptions DefaultCCOptions -UNEED_SCREEN_REGIONS
- #endif
- #ifdef PpcDarwinArchitecture
- # define DarwinMachineDefines -D__powerpc__
- # if HasGcc3
- # define OptimizedCDebugFlags -Os
- # else
- # define OptimizedCDebugFlags -O2
- # endif
- # define ByteOrder X_BIG_ENDIAN
- #endif /* PpcDarwinArchitecture */
- #ifdef i386DarwinArchitecture
- # define DarwinMachineDefines -D__i386__
- # if HasGcc3
- # define OptimizedCDebugFlags -Os
- # else
- # define OptimizedCDebugFlags -O2 -fno-strength-reduce
- # endif
- # define ByteOrder X_LITTLE_ENDIAN
- #endif /* i386DarwinArchitecture */
- #ifdef x86_64DarwinArchitecture
- # define DarwinMachineDefines -D__x86_64__
- # if HasGcc3
- # define OptimizedCDebugFlags -Os
- # else
- # define OptimizedCDebugFlags -O2 -fno-strength-reduce
- # endif
- # define ByteOrder X_LITTLE_ENDIAN
- #endif /* x86_64DarwinArchitecture */
- #if OSMajorVersion < 7
- # define DarwinLocaleDefines -DX_LOCALE
- #else
- # define DarwinLocaleDefines /**/
- # define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
- #endif
- /*
- * __DARWIN__ will be used for platform specific #ifdefs that can't
- * be handled by existing X defines.
- *
- * Darwin's alloca() seg faults (rather than returning NULL) on failed
- * allocations, so we can't use it.
- */
- #define StandardDefines DarwinMachineDefines -D__DARWIN__ \
- -DNO_ALLOCA -DCSRG_BASED DarwinLocaleDefines
- /*
- * Set this to NO to just build the client libs, which should work without
- * having to write any platform specific code.
- */
- #ifndef BuildServer
- # define BuildServer YES
- /* our custom X server */
- # define XDarwinServer YES
- #endif
- /* Thanks to the IOKit, the X server does not have to be SetUID. */
- #ifndef InstallXserverSetUID
- # define InstallXserverSetUID NO
- #endif
- /* Allow Xtrans to work with non-SetUID server. */
- #ifndef XtransFailSoft
- # define XtransFailSoft YES
- #endif
- /* disable XKB by default as it can cause problems */
- #define DfltDisableXKB YES
- /* no direct graphics extension */
- #define BuildXF86DGA NO
- /* Support for tablets and other non-standard input devices */
- #ifndef BuildXInputExt
- # define BuildXInputExt YES
- #endif
- #define BuildXInputLib YES
- /* no Display Power Management extension */
- #define BuildDPMS NO
- /* no XFree86-Misc extension */
- #define BuildXF86MiscExt NO
- /* no XFree86-VidMode extension */
- #define BuildXF86VidModeExt NO
- #ifndef BuildXterm
- # define BuildXterm BuildClients /* Not enabled by default */
- #endif
- #define BuildLibPathVar DYLD_LIBRARY_PATH
- /* include rules to build shared libraries */
- #include <darwinLib.rules>
- /*
- * BundleProgramTarget - Generate rules for compiling, linking and
- * installing a bundle executable.
- */
- #ifndef BundleProgramTarget
- #define BundleProgramTarget(program,loader,subdirs,objs,deplib,syslib,dstdir) @@\
- @@\
- AllTarget(program) @@\
- @@\
- program: loader subdirs objs deplib @@\
- RemoveTargetProgram($@) @@\
- LinkRule($@,-bundle $(LDOPTIONS),objs,deplib $(LDLIBS) syslib -bundle_loader loader) @@\
- @@\
- InstallProgram(program,dstdir/program.bundle/Contents/MacOS) @@\
- @@\
- clean:: @@\
- RemoveFile(program)
- #endif /* BundleProgramTarget */
- /*
- * Darwin specific Imake Config files
- */
- #ifndef LocalConfigFiles
- #define LocalConfigFiles \
- darwinLib.rules \
- darwinLib.tmpl
- #endif
- /* include all the X.Org rules */
- #include <xorg.cf>
|