cygwin.cf revision 11d341ca
1/* Cygwin/X vendor strings and version */ 2#include "xorgversion.def" 3 4#ifndef CygxVersionMajor 5# define CygxVersionMajor XORG_VERSION_MAJOR 6#endif 7#ifndef CygxVersionMinor 8# define CygxVersionMinor XORG_VERSION_MINOR 9#endif 10#ifndef CygxVersionPatch 11# define CygxVersionPatch XORG_VERSION_PATCH 12#endif 13#ifndef CygxVersionSnap 14# define CygxVersionSnap XORG_VERSION_SNAP 15#endif 16#ifndef CygxVersionServer 17# define CygxVersionServer 0 18#endif 19 20#ifndef CygxVersion 21# define CygxVersion (10000000 * CygxVersionMajor + 100000 * CygxVersionMinor + 1000 * CygxVersionPatch + CygxVersionSnap) 22#endif 23 24#ifndef CygxVersionString 25# define CygxVersionString `echo CygxVersionMajor CygxVersionMinor CygxVersionPatch CygxVersionSnap%CygxVersionServer| sed -e 's/ /./g' -e 's/%/-/g'` 26#endif 27 28#ifndef CygxManVersionString 29# define CygxManVersionString `echo CygxVersionMajor CygxVersionMinor CygxVersionPatch CygxVersionSnap| sed -e 's/ /./g' -e 's/^/Version\\\ /'` 30#endif 31 32#ifndef XVendorString 33# define XVendorString "The Cygwin/X Project" 34#endif 35#ifndef XVendorRelease 36# define XVendorRelease CygxVersion 37#endif 38#ifndef XVendorManVersionString 39# define XVendorManVersionString CygxManVersionString 40#endif 41#ifndef XVendorManNameString 42# define XVendorManNameString "Cygwin/X" 43#endif 44#ifndef XVendorContact 45# define XVendorContact "cygwin-xfree@cygwin.com" 46#endif 47 48/* Operating system strings and version */ 49#ifndef OSName 50# define OSName Cygwin 51#endif 52#ifndef OSVendor 53# define OSVendor Red Hat Inc. 54#endif 55#ifndef OSMajorVersion 56# define OSMajorVersion DefaultOSMajorVersion 57#endif 58#ifndef OSMinorVersion 59# define OSMinorVersion DefaultOSMinorVersion 60#endif 61#ifndef OSTeenyVersion 62# define OSTeenyVersion DefaultOSTeenyVersion 63#endif 64 65#ifndef ProjectRoot 66# define ProjectRoot /usr/X11R6 67#endif 68 69#if !CrossCompiling 70# define HasGcc2 YES 71#endif /* !CrossCompiling */ 72#define HasGcc2ForCplusplus YES 73#define GccUsesGas YES 74#define UseGas YES 75#define GnuCpp YES 76#define UnixCpp /* Just a flag that affects Concat macros in Imake.rules */ 77 78#define ExtraLoadFlags -Wl,--enable-auto-import,--enable-runtime-pseudo-reloc 79 80#define HasShadowPasswd NO 81#define HasLibCrypt YES 82#define HasPutenv YES 83#define HasPoll NO 84#if (OSMajorVersion > 1) || (OSMajorVersion == 1 && OSMinorVersion >= 5) 85# define HasStrlcat YES 86#endif 87#define HasShm YES 88 89#define HasSnprintf YES 90#ifndef HasMakefileSafeInclude 91# define HasMakefileSafeInclude YES 92#endif 93 94/* 95 * Cygwin has Tcl/Tk, but you need to keep the version numbers 96 * of the libs in sync. These version numbers may change 97 * occassionally. 98 */ 99#define Hastcl YES 100#define Hastk YES 101#define TclLibName tcl80 102#define TkLibName tk80 103 104#define HasSockets YES 105#define GzipFontCompression YES 106#define HasZlib YES 107#ifndef GzipLibrary 108# define GzipLibrary -lz.dll 109#endif 110 111/* We don't need -lm */ 112#define MathLibrary /**/ 113 114/* 115 * /lib/libtermcap.a doesn't have tgetent, which is needed for 116 * xc/programs/xterm/resize.exe 117 */ 118#define TermcapLibrary -lncurses.dll 119 120#define AvoidNullMakeCommand YES 121#define StripInstalledPrograms YES 122#define CompressAllFonts YES 123#define Malloc0ReturnsNull NO 124#define NeedConstPrototypes YES 125#define NeedFunctionPrototypes YES 126#define NeedNestedPrototypes YES 127#define NeedVarargsPrototypes YES 128#define NeedWidePrototypes NO 129#define SetTtyGroup YES 130#define ExpandManNames YES 131#define HasDlopen NO 132#define HasGnuMake YES 133#define UseGccMakeDepend NO 134#define ThreadedX YES 135#define HasThreadSafeAPI YES 136#if !CrossCompiling 137#define CaseSensitiveFileSystem NO 138#endif 139#define HasWChar32 YES 140#define HasBasename NO /* basename() in libc */ 141 142#define LnCmd ln -s 143#ifndef CcCmd 144# define CcCmd gcc 145#endif /* CcCmd */ 146#ifndef CplusplusCmd 147# define CplusplusCmd g++ 148#endif /* CplusplusCmd */ 149#ifndef AsCmd 150# define AsCmd as 151#endif /* AsCmd */ 152 153#define GccGasOption -DGCCUSESGAS 154#define AsmDefines -DUSE_GAS -DGCCUSESGAS 155 156#ifndef LdCmd 157# define LdCmd gcc -lautomode 158#endif /* LdCmd */ 159 160#define MkdirHierCmd mkdir -p 161 162#ifndef CppCmd 163# define CppCmd cpp 164#endif /* CppCmd */ 165#ifndef YaccCmd 166# define YaccCmd bison -y 167#endif /* YaccCmd */ 168 169#define LexCmd flex -l 170#define LexLib -lfl 171#define HasFlex YES 172#ifndef CrossCompileDir 173# ifndef HasExpat 174# define HasExpat YES 175# endif 176# ifndef HasFreetype2 177# define HasFreetype2 YES 178# endif 179# ifndef HasFontconfig 180# define HasFontconfig YES 181# endif 182#endif 183 184/* Cygwin-specific Windows resource compiler command */ 185#ifdef CrossCompileDir 186# ifndef WindresCmd 187# define WindresCmd Concat3(CrossCompileDir,/,windres) 188# endif 189#else 190# ifndef WindresCmd 191# define WindresCmd windres 192# endif 193#endif 194 195#define PreProcessCmd CcCmd -E 196 197#ifndef PostIncDir 198# ifdef CrossCompileDir 199# define PostIncDir `CrossCompileDir/CcCmd --print-libgcc-file-name | sed 's,\\\\,/,g' | sed 's,libgcc.a,include,'` 200# else 201# define PostIncDir `CcCmd --print-libgcc-file-name | sed 's,\\\\,/,g' | sed 's,libgcc.a,include,'` 202# endif 203#endif 204#ifndef ExtraIncDir 205# ifdef CrossCompileDir 206# define ExtraIncDir CrossCompileDir/../include/w32api 207# else 208# define ExtraIncDir /usr/include/w32api 209# endif 210#endif 211 212#ifndef BourneShell 213/* 214 * This will cause builds/installs to terminate on errors, as on other 215 * platforms. 216 */ 217#define BourneShell /bin/sh -e 218#endif 219 220#define LdCombineFlags -r 221 222#ifndef DefaultCCOptions 223# define DefaultCCOptions -Wall -Wpointer-arith 224#endif 225 226/* Cygwin 1.5.x now includes alloca */ 227#if OSMinorVersion >= 5 228# define AllocateLocalDefines -DINCLUDE_ALLOCA_H 229#else 230# define AllocateLocalDefines -DNO_ALLOCA 231#endif 232 233#ifndef OptimizedCDebugFlags 234# define OptimizedCDebugFlags -O2 -fno-strength-reduce 235#endif 236 237/* 238 * -DFD_SETSIZE=256 is needed for xfs and the xserver. cygwin defines the 239 * FD_SETSIZE as 64 but some code expects it to be larger. 240 */ 241#define StandardDefines -D__i386__ -DWIN32_LEAN_AND_MEAN -DX_LOCALE \ 242 -D_X86_ -D__CYGWIN__ -D_XOPEN_SOURCE \ 243 -D_POSIX_C_SOURCE=199309L -D_BSD_SOURCE \ 244 -D_SVID_SOURCE -D_GNU_SOURCE -DFD_SETSIZE=256 \ 245 -DXResExtension 246#define XawI18nDefines -DHAS_WCHAR_H -DHAS_WCTYPE_H \ 247 -DHAS_ISW_FUNCS -DNO_WIDEC_H 248#define StandardCppOptions -traditional 249 250/* Cygwin shared memory requires cygipc package or cygserver. */ 251#if UseCygIPC 252# if ThreadedX 253# define StandardCppDefines -DHAS_THREADS -DHAS_SHM StandardDefines 254# else 255# define StandardCppDefines -DHAS_SHM StandardDefines 256# endif 257#else 258# if ThreadedX 259# define StandardCppDefines -DHAS_THREADS StandardDefines 260# else 261# define StandardCppDefines StandardDefines 262# endif 263#endif 264 265/* IPv6 not yet supported */ 266#ifndef BuildIPv6 267# define BuildIPv6 NO 268#endif 269 270#if 0 271/* 2004/02/29 - Harold - This doesn't do anything yet. Stay tuned. */ 272/* Support for accelerating OpenGL with Win32's OpenGL layer. */ 273#ifndef BuildXWinDRI 274# define BuildXWinDRI NO 275#endif 276#if BuildXWinDRI 277# define GlxExtraDefines -DGLX_DIRECT_RENDERING GlxArchDefines 278#endif 279#endif 280 281/* XWin Server specific build flags */ 282#ifndef GlxUseWindows 283# define GlxUseWindows YES 284#endif 285#ifndef BuildXWinClipboard 286# define BuildXWinClipboard YES 287#endif 288#ifndef BuildXWinEmulatePseudo 289# define BuildXWinEmulatePseudo NO 290#endif 291#ifndef BuildXWinMultiWindow 292# define BuildXWinMultiWindow YES 293#endif 294#ifndef BuildXWinMultiWindowExtWM 295# define BuildXWinMultiWindowExtWM YES 296#endif 297#ifndef BuildXWinNativeGDI 298# define BuildXWinNativeGDI NO 299#endif 300#ifndef BuildXWinPrimaryFB 301# define BuildXWinPrimaryFB NO 302#endif 303#ifndef BuildXWinUpdateStats 304# define BuildXWinUpdateStats NO 305#endif 306#ifndef BuildXWinXF86Config 307# define BuildXWinXF86Config NO 308#endif 309 310/* XWin specific build flags - 1st order dependency */ 311#if BuildXWinMultiWindowExtWM && !defined(BuildWindowsWMLibrary) 312# define BuildWindowsWMLibrary YES 313#elif !defined(BuildWindowsWMLibrary) 314# define BuildWindowsWMLibrary NO 315#endif /* BuildXWinMultiWindowExtWM && BuildWindowsWMLibrary */ 316 317/* XWin Server specific defines */ 318#if BuildXWinClipboard 319# define XWinClipboardDefines -DXWIN_CLIPBOARD 320#else 321# define XWinClipboardDefines 322#endif /* BuildXWinClipboard */ 323#if BuildXWinEmulatePseudo 324# define XWinEmulatePseudoDefines -DXWIN_EMULATEPSEUDO 325#else 326# define XWinEmulatePseudoDefines 327#endif /* BuildXWinEmulatePseudo */ 328#if BuildXWinMultiWindow 329# define XWinMultiWindowDefines -DXWIN_MULTIWINDOW 330#else 331# define XWinMultiWindowDefines 332#endif /* BuildXWinMultiWindow */ 333#if BuildXWinMultiWindowExtWM 334# define BuildRootless YES 335# define XWinMultiWindowExtWMDefines -DXWIN_MULTIWINDOWEXTWM 336#else /* BuildXWinMultiWindowExtWM */ 337# define XWinMultiWindowExtWMDefines 338#endif /* BuildXWinMultiWindowExtWM */ 339#if BuildXWinNativeGDI 340# define XWinNativeGDIDefines -DXWIN_NATIVEGDI 341#else 342# define XWinNativeGDIDefines 343#endif /* BuildXWinNativeGDI */ 344#if BuildXWinPrimaryFB 345# define XWinPrimaryFBDefines -DXWIN_PRIMARYFB 346#else 347# define XWinPrimaryFBDefines 348#endif /* BuildXWinPrimaryFB */ 349#if BuildXWinUpdateStats 350# define XWinUpdateStatsDefines -DXWIN_UPDATESTATS 351#else 352# define XWinUpdateStatsDefines 353#endif /* BuildXWinUpdateStats */ 354#if BuildXWinXF86Config 355# define XWinXF86ConfigDefines -DXWIN_XF86CONFIG 356#else 357# define XWinXF86ConfigDefines 358#endif /* BuildXWinXF86Config */ 359 360/* 361 * XFree86Server is defined for the w32api headers, which protects some 362 * colliding names with #ifdef XFree86Server. 363 */ 364#define XWinServerDefines -DPIXPRIV \ 365 -DXFree86Server \ 366 -DX_BYTE_ORDER=ByteOrder \ 367 XvExtensionDefines \ 368 XWinXF86ConfigDefines XWinNativeGDIDefines \ 369 XWinPrimaryFBDefines \ 370 XWinEmulatePseudoDefines \ 371 XWinUpdateStatsDefines \ 372 XWinClipboardDefines XWinMultiWindowDefines \ 373 XWinMultiWindowExtWMDefines \ 374 -DDDXBEFORERESET 375#define ServerOSDefines -DDDXTIME -DDDXOSINIT \ 376 -DDDXOSVERRORF -DDDXOSFATALERROR 377#define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT 378#define ServerExtraDefines -DGCCUSESGAS XWinServerDefines \ 379 AllocateLocalDefines 380#define ConnectionFlags -DTCPCONN -DUNIXCONN 381#define ExtraLibraries 382#define InstUidFlags -m 4711 383#define UseRgbTxt YES 384#define ExtraFilesToClean *.obj *.orig *.rej junk.c *.exe *.dll *.lib *~ 385 386/* Flags for which the default in X11.tmpl is not what we want. */ 387#ifndef BuildXinerama 388# define BuildXinerama NO /* Not supported by XWin Server */ 389#endif 390#ifndef BuildXIE 391# define BuildXIE NO /* Deprecated */ 392#endif 393#ifndef BuildDPMS 394# define BuildDPMS NO /* Not supported by XWin Server */ 395#endif 396#ifndef BuildXInputExt 397# define BuildXInputExt YES /* Not enabled by default */ 398#endif 399#ifndef BuildRandR 400# define BuildRandR YES /* Not supported by XWin Server */ 401#endif 402#ifndef BuildXF86BigfontExt 403# define BuildXF86BigfontExt YES /* Not enabled by default */ 404#endif 405#ifndef BuildGlxExt 406# define BuildGlxExt YES /* Not enabled by default */ 407#endif 408#ifndef BuildXprintLib 409# define BuildXprintLib YES /* Not enabled when Xprt disabled */ 410#endif 411#ifndef BuildXterm 412# define BuildXterm NO /* Built separately on Cygwin */ 413#endif 414#ifndef BuildXResExt 415# define BuildXResExt YES /* Not enabled by default */ 416#endif 417#ifndef BuildFreeType 418# define BuildFreeType YES /* Not enabled by default */ 419#endif 420#ifndef BuildXTrueType 421# define BuildXTrueType YES /* Not enabled by default */ 422#endif 423 424/* Server build rules */ 425#ifndef XnestServer 426# define XnestServer YES 427#endif 428#ifndef XprtServer 429# define XprtServer NO 430#endif 431#ifndef XVirtualFramebufferServer 432# define XVirtualFramebufferServer YES 433#endif 434#ifndef XWinServer 435# define XWinServer YES 436#endif 437 438/* We need libX11 and libXext for the XWin Server */ 439#if XWinServer 440# define BuildX11Lib YES 441#endif 442 443/* 444 * --unix option of Cygwin make fools the standard MakeFlagsToShellFlags macro 445 */ 446#define MakeFlagsToShellFlags(makeflags,shellcmd) \ 447 for flag in ${MAKEFLAGS} ''; do \ @@\ 448 case "$$flag" in *=*) ;;--*) ;; *[makeflags]*) shellcmd;; esac; done 449 450#define MakeNamedTargetSubdir(dir,flags,subname)\ 451 $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname 452 453#ifndef ManSuffix 454# define ManSuffix 1 455#endif 456 457#ifndef XtransFailSoft 458#define XtransFailSoft YES 459#endif 460 461#ifndef HasDevWindows 462# define HasDevWindows YES 463#endif 464 465#include <cygwin.rules> 466 467#if CrossCompiling 468#include <cross.def> 469#endif 470