diff options
Diffstat (limited to 'util/cf/mingw.cf')
-rw-r--r-- | util/cf/mingw.cf | 551 |
1 files changed, 551 insertions, 0 deletions
diff --git a/util/cf/mingw.cf b/util/cf/mingw.cf new file mode 100644 index 000000000..a9cdedc53 --- /dev/null +++ b/util/cf/mingw.cf @@ -0,0 +1,551 @@ +/* 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 |