Edit

IABSD.fr/xenocara/util/cf/mingw.cf

Branch :

  • Show log

    Commit

  • Author : matthieu
    Date : 2006-11-25 16:15:45
    Hash : 782466d3
    Message : import from X.Org 7.2RC2

  • util/cf/mingw.cf
  • /* 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