xenocara/util/cf/mingw.cf
2006-11-25 16:15:45 +00:00

552 lines
13 KiB
CFEngine3

/* MingGW vendor strings and version */
#include "xorgversion.def"
#ifndef CygxVersionMajor
# define CygxVersionMajor XORG_VERSION_MAJOR
#endif
#ifndef CygxVersionMinor
# define CygxVersionMinor XORG_VERSION_MINOR
#endif
#ifndef CygxVersionPatch
# define CygxVersionPatch XORG_VERSION_PATCH
#endif
#ifndef CygxVersionSnap
# define CygxVersionSnap XORG_VERSION_SNAP
#endif
#ifndef CygxVersionServer
# define CygxVersionServer 0
#endif
#ifndef CygxVersion
# define CygxVersion (10000000 * CygxVersionMajor + 100000 * CygxVersionMinor + 1000 * CygxVersionPatch + CygxVersionSnap)
#endif
#ifndef CygxVersionString
# define CygxVersionString `echo CygxVersionMajor CygxVersionMinor CygxVersionPatch CygxVersionSnap%CygxVersionServer| sed -e 's/ /./g' -e 's/%/-/g'`
#endif
#ifndef CygxManVersionString
# define CygxManVersionString `echo CygxVersionMajor CygxVersionMinor CygxVersionPatch CygxVersionSnap| sed -e 's/ /./g' -e 's/^/Version\\\ /'`
#endif
#ifndef XVendorString
# define XVendorString "The Cygwin/X Project"
#endif
#ifndef XVendorRelease
# define XVendorRelease CygxVersion
#endif
#ifndef XVendorManVersionString
# define XVendorManVersionString CygxManVersionString
#endif
#ifndef XVendorManNameString
# define XVendorManNameString "Xming"
#endif
#ifndef XVendorContact
# define XVendorContact "win32-x11@sources.redhat.com"
#endif
/* Operating system strings and version */
#ifndef OSName
# define OSName Windows
#endif
#ifndef OSVendor
# define OSVendor Microsoft
#endif
#ifndef OSMajorVersion
# define OSMajorVersion DefaultOSMajorVersion
#endif
#ifndef OSMinorVersion
# define OSMinorVersion DefaultOSMinorVersion
#endif
#ifndef OSTeenyVersion
# define OSTeenyVersion DefaultOSTeenyVersion
#endif
#ifndef ProjectRoot
# define ProjectRoot /usr/X11R6
#endif
/*
* GNU Compiler stuff
*/
#ifndef HasGcc3
# define HasGcc3 NO
#endif
#ifndef HasGcc2
# define HasGcc2 HasGcc3
#endif
#ifndef HasGcc
# define HasGcc HasGcc2
#endif
#ifndef HasGcc2ForCplusplus
# define HasGcc2ForCplusplus HasGcc2
#endif
#if HasGcc
# ifndef Gcc28Warnings
# if (GccMajorVersion > 2) || \
((GccMajorVersion == 2) && (GccMinorVersion >= 8))
# define Gcc28Warnings -Wundef
# else
# define Gcc28Warnings /* */
# endif
# ifndef HasGcc33
# if (((GccMajorVersion == 3) && (GccMinorVersion >= 3)) || \
(GccMajorVersion > 3))
# define HasGcc33 YES
# else
# define HasGcc33 NO
# endif
# endif
# ifndef HasGcc34
# if (((GccMajorVersion == 3) && (GccMinorVersion >= 4)) || \
(GccMajorVersion > 3))
# define HasGcc34 YES
# else
# define HasGcc34 NO
# endif
# endif
# endif
# ifndef GccWarningOptions
# if XFree86Devel
# define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
-Wmissing-prototypes -Wmissing-declarations \
-Wredundant-decls -Wnested-externs Gcc28Warnings
# else
# define GccWarningOptions -Wall -Wpointer-arith Gcc28Warnings
# endif
# endif
# ifndef DefaultCCOptions
# if defined(UseInstalled)
# define DefaultCCOptions
# else
# define DefaultCCOptions GccWarningOptions
# endif
# endif
# if defined(UseInstalled)
# ifndef UseGccMakeDepend
# define UseGccMakeDepend YES
# endif
# endif
#endif
#define GccUsesGas YES
#define UseGas YES
#define GnuCpp YES
#define UnixCpp /* Just a flag that affects Concat macros in Imake.rules */
#define HasShadowPasswd NO
#define HasLibCrypt YES
#define HasPutenv YES
#define HasFchown NO
#define HasPoll NO
#if (OSMajorVersion > 1) || (OSMajorVersion == 1 && OSMinorVersion >= 5)
# define HasStrlcat YES
#endif
#define HasShm NO
/* snprintf from windows runtime does return -1 if the buffer is to small */
#define HasSnprintf NO
#define HasFfs NO
#ifndef HasMakefileSafeInclude
# define HasMakefileSafeInclude YES
#endif
#define Hastcl NO
#define Hastk NO
#define HasSockets NO
#define GzipFontCompression YES
#define HasZlib NO
#define HasFreetype2 NO
/* We don't need -lm */
#define MathLibrary /**/
/*
* /lib/libtermcap.a doesn't have tgetent, which is needed for
* xc/programs/xterm/resize.exe
*/
#define TermcapLibrary -lncurses.dll
#define AvoidNullMakeCommand YES
#define StripInstalledPrograms YES
#define CompressAllFonts YES
#define Malloc0ReturnsNull NO
#define NeedConstPrototypes YES
#define NeedFunctionPrototypes YES
#define NeedNestedPrototypes YES
#define NeedVarargsPrototypes YES
#define NeedWidePrototypes NO
#define SetTtyGroup YES
#define ExpandManNames YES
#define HasDlopen NO
#define HasGnuMake YES
#define UseGccMakeDepend NO
#define ThreadedX YES
#define HasThreadSafeAPI YES
#if !CrossCompiling
#define CaseSensitiveFileSystem NO
#endif
#define HasWChar32 YES
#define HasBasename NO /* basename() in libc */
#define LnCmd ln -s
#ifndef CcCmd
# define CcCmd gcc
#endif /* CcCmd */
#ifndef CplusplusCmd
# define CplusplusCmd g++
#endif /* CplusplusCmd */
#ifndef AsCmd
# define AsCmd as
#endif /* AsCmd */
#define GccGasOption -DGCCUSESGAS
#define AsmDefines -DUSE_GAS -DGCCUSESGAS
#ifndef LdCmd
# define LdCmd gcc -lautomode
#endif /* LdCmd */
#define MkdirHierCmd mkdir -p
#ifndef CppCmd
# define CppCmd cpp
#endif /* CppCmd */
#ifndef YaccCmd
# define YaccCmd bison -y
#endif /* YaccCmd */
#define LexCmd flex -l
#define LexLib -lfl
#define HasFlex YES
#ifndef CrossCompileDir
# ifndef HasExpat
# define HasExpat YES
# endif
# ifndef HasFreetype2
# define HasFreetype2 YES
# endif
# ifndef HasFontconfig
# define HasFontconfig YES
# endif
#endif
/* Cygwin-specific Windows resource compiler command */
#ifdef CrossCompileDir
# ifndef WindresCmd
# define WindresCmd Concat3(CrossCompileDir,/,windres)
# endif
#else
# ifndef WindresCmd
# define WindresCmd windres
# endif
#endif
#define PreProcessCmd CcCmd -E
#ifndef PostIncDir
# ifdef CrossCompileDir
# define PostIncDir `CrossCompileDir/CcCmd --print-libgcc-file-name | sed 's,\\\\,/,g' | sed 's,libgcc.a,include,'`
# else
# define PostIncDir `CcCmd --print-libgcc-file-name | sed 's,\\\\,/,g' | sed 's,libgcc.a,include,'`
# endif
#endif
#ifndef ExtraIncDir
# ifdef CrossCompileDir
# define ExtraIncDir CrossCompileDir/../include/w32api
# else
# define ExtraIncDir /usr/include/w32api
# endif
#endif
#ifndef BourneShell
/*
* This will cause builds/installs to terminate on errors, as on other
* platforms.
*/
#define BourneShell /bin/sh -e
#endif
#define LdCombineFlags -r
#ifndef DefaultCCOptions
# define DefaultCCOptions -Wall -Wpointer-arith
#endif
/* Cygwin 1.5.x now includes alloca */
#if OSMinorVersion >= 5
# define AllocateLocalDefines -DINCLUDE_ALLOCA_H
#else
# define AllocateLocalDefines -DNO_ALLOCA
#endif
#ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags -O2 -fno-strength-reduce
#endif
/*
* -DFD_SETSIZE=256 is needed for xfs and the xserver. cygwin defines the
* FD_SETSIZE as 64 but some code expects it to be larger.
*/
#define StandardDefines -D__i386__ -DWIN32_LEAN_AND_MEAN -DX_LOCALE \
-D_X86_ -DWIN32 -D_XOPEN_SOURCE \
-D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE \
-D_SVID_SOURCE -D_GNU_SOURCE -DFD_SETSIZE=1024 \
-DXResExtension
#define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H \
-DHAS_ISW_FUNCS -DNO_WIDEC_H
#define StandardCppOptions -traditional
/* Cygwin shared memory requires cygipc package or cygserver. */
#if UseCygIPC
# if ThreadedX
# define StandardCppDefines -DHAS_THREADS -DHAS_SHM StandardDefines
# else
# define StandardCppDefines -DHAS_SHM StandardDefines
# endif
#else
# if ThreadedX
# define StandardCppDefines -DHAS_THREADS StandardDefines
# else
# define StandardCppDefines StandardDefines
# endif
#endif
#define BuildIPv6 NO
#define BuildLBX NO
/*
* This requires the pthreads-win32 library
* It is available from http://www.sourceware.org/pthreads-win32
*/
#ifndef HasPThreads
# define HasPThreads YES
#endif
/* Most libraries do not compile with mingw. Build only the servers. */
#ifndef BuildServersOnly
# define BuildServersOnly YES
#endif
/* Enable those parts that do work and are required for running Xming */
#ifndef BuildXextLib
# define BuildXextLib YES
#endif
#ifndef BuildXkbcomp
# define BuildXkbcomp YES
#endif
/* XWin Server specific build flags */
#ifndef GlxUseWindows
# define GlxUseWindows YES
#endif
#if !GlxUseWindows
# define GlxExtraDefines -DAPIENTRY=GLAPIENTRY
#endif
#ifndef BuildXWinClipboard
# define BuildXWinClipboard HasPThreads
#endif
#ifndef BuildXWinEmulatePseudo
# define BuildXWinEmulatePseudo NO
#endif
#ifndef BuildXWinMultiWindow
# define BuildXWinMultiWindow HasPThreads
#endif
#ifndef BuildXWinMultiWindowExtWM
# define BuildXWinMultiWindowExtWM HasPThreads
#endif
#ifndef BuildXWinNativeGDI
# define BuildXWinNativeGDI NO
#endif
#ifndef BuildXWinPrimaryFB
# define BuildXWinPrimaryFB NO
#endif
#ifndef BuildXWinUpdateStats
# define BuildXWinUpdateStats NO
#endif
#ifndef BuildXWinXF86Config
# define BuildXWinXF86Config NO
#endif
/* XWin specific build flags - 1st order dependency */
#if BuildXWinMultiWindowExtWM && !defined(BuildWindowsWMLibrary)
# define BuildWindowsWMLibrary YES
#elif !defined(BuildWindowsWMLibrary)
# define BuildWindowsWMLibrary NO
#endif /* BuildXWinMultiWindowExtWM && BuildWindowsWMLibrary */
#if (BuildXWinClipboard || BuildXWinMultiWindow || BuildXWinMultiWindowExtWM) && !defined(BuildX11Lib)
# define BuildX11Lib YES
#endif
/* XWin Server specific defines */
#if BuildXWinClipboard
# define XWinClipboardDefines -DXWIN_CLIPBOARD
#else
# define XWinClipboardDefines
#endif /* BuildXWinClipboard */
#if BuildXWinEmulatePseudo
# define XWinEmulatePseudoDefines -DXWIN_EMULATEPSEUDO
#else
# define XWinEmulatePseudoDefines
#endif /* BuildXWinEmulatePseudo */
#if BuildXWinMultiWindow
# define XWinMultiWindowDefines -DXWIN_MULTIWINDOW
#else
# define XWinMultiWindowDefines
#endif /* BuildXWinMultiWindow */
#if BuildXWinMultiWindowExtWM
# define BuildRootless YES
# define XWinMultiWindowExtWMDefines -DXWIN_MULTIWINDOWEXTWM
#else /* BuildXWinMultiWindowExtWM */
# define XWinMultiWindowExtWMDefines
#endif /* BuildXWinMultiWindowExtWM */
#if BuildXWinNativeGDI
# define XWinNativeGDIDefines -DXWIN_NATIVEGDI
#else
# define XWinNativeGDIDefines
#endif /* BuildXWinNativeGDI */
#if BuildXWinPrimaryFB
# define XWinPrimaryFBDefines -DXWIN_PRIMARYFB
#else
# define XWinPrimaryFBDefines
#endif /* BuildXWinPrimaryFB */
#if BuildXWinUpdateStats
# define XWinUpdateStatsDefines -DXWIN_UPDATESTATS
#else
# define XWinUpdateStatsDefines
#endif /* BuildXWinUpdateStats */
#if BuildXWinXF86Config
# define XWinXF86ConfigDefines -DXWIN_XF86CONFIG
#else
# define XWinXF86ConfigDefines
#endif /* BuildXWinXF86Config */
#if HasPThreads
# define XWinPThreadsDefines -DPTW32_DLLPORT=
#else
# define XWinPThreadsDefines
#endif /* HasPThreads */
/*
* XFree86Server is defined for the w32api headers, which protects some
* colliding names with #ifdef XFree86Server.
*/
#define XWinServerDefines -DPIXPRIV \
-DXFree86Server \
-DX_BYTE_ORDER=ByteOrder \
XvExtensionDefines \
XWinXF86ConfigDefines XWinNativeGDIDefines \
XWinPrimaryFBDefines \
XWinEmulatePseudoDefines \
XWinUpdateStatsDefines \
XWinClipboardDefines XWinMultiWindowDefines \
XWinMultiWindowExtWMDefines \
XWinPThreadsDefines \
-DDDXBEFORERESET
#define ServerOSDefines -DDDXTIME -DDDXOSINIT \
-DDDXOSVERRORF -DDDXOSFATALERROR
#define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
#define ServerExtraDefines -DGCCUSESGAS XWinServerDefines \
AllocateLocalDefines
#define ConnectionFlags -DTCPCONN
#define ExtraLibraries
#define InstUidFlags -m 4711
#define UseRgbTxt YES
#define ExtraFilesToClean *.obj *.orig *.rej junk.c *.exe *.dll *.lib *~
/* Flags for which the default in X11.tmpl is not what we want. */
#ifndef BuildXinerama
# define BuildXinerama NO /* Not supported by XWin Server */
#endif
#ifndef BuildXIE
# define BuildXIE NO /* Deprecated */
#endif
#ifndef BuildDPMS
# define BuildDPMS NO /* Not supported by XWin Server */
#endif
#ifndef BuildXInputExt
# define BuildXInputExt YES /* Not enabled by default */
#endif
#ifndef BuildRandR
# define BuildRandR YES /* Not supported by XWin Server */
#endif
#ifndef BuildXF86BigfontExt
# define BuildXF86BigfontExt NO
#endif
#ifndef BuildGlxExt
# define BuildGlxExt YES
#endif
#ifndef BuildXprintLib
# define BuildXprintLib NO
#endif
#ifndef BuildXprint
# define BuildXprint NO
#endif
#ifndef BuildXterm
# define BuildXterm NO /* Built separately on Cygwin */
#endif
#ifndef BuildXResExt
# define BuildXResExt YES /* Not enabled by default */
#endif
#ifndef BuildFreeType
# define BuildFreeType YES /* Not enabled by default */
#endif
#ifndef BuildXTrueType
# define BuildXTrueType YES /* Not enabled by default */
#endif
/* Server build rules */
#ifndef XnestServer
# define XnestServer NO
#endif
#ifndef XprtServer
# define XprtServer NO
#endif
#ifndef XVirtualFramebufferServer
# define XVirtualFramebufferServer NO
#endif
#ifndef XWinServer
# define XWinServer YES
#endif
/*
* --unix option of Cygwin make fools the standard MakeFlagsToShellFlags macro
*/
#define MakeFlagsToShellFlags(makeflags,shellcmd) \
for flag in ${MAKEFLAGS} ''; do \ @@\
case "$$flag" in *=*) ;;--*) ;; *[makeflags]*) shellcmd;; esac; done
#define MakeNamedTargetSubdir(dir,flags,subname)\
$(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname
#ifndef ManSuffix
# define ManSuffix 1
#endif
#ifndef XtransFailSoft
#define XtransFailSoft YES
#endif
#ifndef HasDevWindows
# define HasDevWindows NO
#endif
#ifndef RelocateProjectRoot
# define RelocateProjectRoot YES
#endif
#ifndef UseInstalledOnCrossCompile
# define UseInstalledOnCrossCompile YES
#endif
#include <mingw.rules>
#if CrossCompiling
#include <cross.def>
#endif