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