1XCOMM platform: $XConsortium: NetBSD.cf /main/16 1996/10/31 14:47:14 kaleb $ 2 3 4 5XCOMM platform: $XFree86: xc/config/cf/NetBSD.cf,v 3.49.2.9 1997/07/26 06:30:39 dawes Exp $ 6 7 8#ifndef OSName 9#define OSName DefaultOSName OSBinaryType 10#endif 11#ifndef OSMajorVersion 12#define OSMajorVersion DefaultOSMajorVersion 13#endif 14#ifndef OSMinorVersion 15#define OSMinorVersion DefaultOSMinorVersion 16#endif 17#ifndef OSTeenyVersion 18#define OSTeenyVersion DefaultOSTeenyVersion 19#endif 20 21 22#ifndef OSVendor 23#define OSVendor /**/ 24#endif 25XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) 26 27/* 28 * C library features 29 */ 30#if ((OSMajorVersion > 1) || \ 31 (OSMajorVersion == 1 && OSMinorVersion > 2) || \ 32 (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1)) 33# define HasPoll YES 34#endif 35#define HasNdbm YES 36#define HasPutenv YES 37#define HasSnprintf YES 38#define HasBSD44Sockets YES 39#define Malloc0ReturnsNull NO 40#define SetTtyGroup YES 41#define DBMLibrary /**/ 42#ifndef HasLibCrypt 43# define HasLibCrypt YES 44#endif 45#ifndef HasShm 46# if OSMajorVersion == 0 && OSMinorVersion == 9 && OSTeenyVersion == 2 47/* 48 * Shm memory was removed in 0.9B because it was encumbered. 49 * A free version was added in 0.9C 50 */ 51# define HasShm NO 52# else 53# define HasShm YES 54# endif 55#endif 56#define HasWChar32 YES 57/* 58 * There's a bug in NetBSD 1.0, 1.1 and 1.2 dlsym() 59 */ 60#if ((OSMajorVersion == 1 && OSMinorVersion < 2) || \ 61 (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion < 2)) 62# define HasDlsymBug YES 63#endif 64/* Mkstemp is there since 1.2 (at least) */ 65#if (!(OSMajorVersion == 0 || \ 66 (OSMajorVersion == 1 && OSMinorVersion < 2))) 67#define HasMkstemp YES 68#endif 69/* 70 * Compiler Features 71 */ 72#undef HasGcc 73#define HasGcc YES 74#define HasGcc2 YES 75#ifndef HasGcc2ForCplusplus 76#define HasGcc2ForCplusplus YES 77#endif 78#define GccUsesGas YES 79#define UseGas YES 80#define GnuCpp YES 81 82#define NeedConstPrototypes YES 83#define NeedFunctionPrototypes YES 84#define NeedNestedPrototypes YES 85#define NeedVarargsPrototypes YES 86#define NeedWidePrototypes NO 87 88#define MkdirHierCmd mkdir -p 89 90#define CppCmd /usr/libexec/cpp 91#define StandardCppDefines -traditional 92#define PreProcessCmd CppCmd 93#define PreIncDir /usr/include 94 95#undef CcCmd 96#define CcCmd gcc 97#if defined(UseInstalled) && (!defined(XF86LinkKit) || !XF86LinkKit) 98#define DefaultCCOptions /**/ 99#else 100#define DefaultCCOptions -ansi -Dasm=__asm 101#endif 102 103#define GccGasOption -DGCCUSESGAS 104#define AsmDefines -DUSE_GAS 105 106/* UseElfFormat defaults to YES if __ELF__ set */ 107#ifndef UseElfFormat 108# ifdef __ELF__ 109# undef __ELF__ /* other imake files shouldn't care */ 110# define UseElfFormat YES 111# else 112# define UseElfFormat NO 113# endif 114#endif 115 116/* 117 * Dynamic loading supported starting in 1.0 on a.out platforms, 118 * and on all ELF platforms. 119 * 120 * XXX May not be correct on NetBSD/pmax (ELF, but might not have 121 * working shared libs). 122 */ 123#if ((OSMajorVersion > 0) && \ 124 !defined(AlphaArchitecture) && !defined(MipsArchitecture)) || \ 125 UseElfFormat 126# ifndef BuildDynamicLoading 127# define BuildDynamicLoading YES 128# endif 129#endif 130 131#if UseElfFormat 132#define DlLibrary -rdynamic /* no -ldl yet */ 133#else 134#define DlLibrary /**/ 135#endif 136 137#ifdef i386Architecture 138# define OptimizedCDebugFlags DefaultGcc2i386Opt 139# if OSMajorVersion < 1 140# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DXNO_SYSCONF 141# else 142# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME 143# endif 144# if OSMajorVersion == 1 && OSMinorVersion >= 1 || OSMajorVersion >= 2 145# define ServerExtraSysLibs -li386 DlLibrary 146# endif 147#else 148# define OptimizedCDebugFlags -O2 149# if defined(SparcArchitecture) || defined(AlphaArchitecture) 150# define ServerOSDefines -DDDXOSINIT 151# else 152# define ServerOSDefines /**/ 153# endif 154# if BuildDynamicLoading 155# define ServerExtraSysLibs DlLibrary 156# else 157# define ServerExtraSysLibs /**/ 158# endif 159#endif 160#ifdef i386Architecture 161# define ServerExtraDefines GccGasOption XFree86ServerDefines 162# ifndef XFree86ConsoleDefines 163# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT 164# endif 165#else 166# if defined(AlphaArchitecture) 167# define ServerExtraDefines GccGasOption -D_XSERVER64 168# else 169# define ServerExtraDefines GccGasOption 170# endif 171#endif 172 173#define StandardDefines -DCSRG_BASED 174#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC 175 176#ifndef ExtraLibraries 177#define ExtraLibraries /**/ 178#endif 179#ifndef UseGnuMalloc 180# define UseGnuMalloc YES 181#endif 182#ifndef GnuMallocLibrary 183#define GnuMallocLibrary -lgnumalloc 184#endif 185 186#if ((OSMajorVersion > 1) || \ 187 (OSMajorVersion == 1 && OSMinorVersion > 2) || \ 188 (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1)) 189#ifndef HasZlib 190#define HasZlib YES 191#endif 192#endif 193 194#define AdmDir /var/log 195 196/* 197 * Make & install Features 198 */ 199#define HasBsdMake YES 200#define StripInstalledPrograms YES 201#define CompressAllFonts YES 202#define GzipFontCompression YES 203#define DefaultUserPath /bin:/usr/bin:/usr/local/bin:$(BINDIR) 204#define DefaultSystemPath /sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR) 205 206#ifdef InstallCmd 207# undef InstallCmd 208# define InstallCmd /usr/bin/install 209#endif 210 211#ifndef ExtraFilesToClean 212# define ExtraFilesToClean *.core 213#endif 214 215/* 216 * Documentation formatting 217 */ 218#define NeqnCmd neqn -Tlatin1 219#define NroffCmd nroff -Tlatin1 220#define EqnCmd eqn -Tps 221#define TroffCmd groff -Tps 222 223/* 224 * To use the NetBSD Aperture driver 225 */ 226#if defined(i386Architecture) 227#ifndef HasNetBSDApertureDriver 228#define HasNetBSDApertureDriver YES 229#endif 230#endif 231 232/* 233 * ForceSubdirs - force make to build subdirectories 234 * 235 * For BSD 4.4 make 236 */ 237#define ForceSubdirs(dirs) @@\ 238dirs: .EXEC @@\ 239 @cd $@ ; echo "making all in $(CURRENT_DIR)/$@..."; \ @@\ 240 $(MAKE) $(MFLAGS) PassCDebugFlags all @@\ 241 @@\ 242.EXEC: 243 244XCOMM Man pages need to be formatted when installed, so override the default 245XCOMM imake rules. 246 247#define ManSuffix 1 248#define FileManSuffix 5 249#define ManSourcePath $(MANPATH)/cat 250 251#define InstallManPageLong(file,destdir,dest) @@\ 252all:: file.0 @@\ 253 @@\ 254file.0:: file.man @@\ 255 @if [ -f file.man ]; \ @@\ 256 then \ @@\ 257 cat file.man | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$$$.man; \ @@\ 258 cp /tmp/$$$$.man file.0; \ @@\ 259 $(RM) /tmp/$$$$.man; \ @@\ 260 fi @@\ 261 @@\ 262install.man:: @@\ 263 MakeDir($(DESTDIR)destdir) @@\ 264 -@if [ -f file.0 ]; \ @@\ 265 then \ @@\ 266 $(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\ 267 fi 268 269#define InstallGenManPageLong(file,destdir,dest,suffix) @@\ 270 InstallManPageLong(file,destdir,dest) 271 272#define InstallMultipleManSuffix(list,dest,suff) @@\ 273install.man:: @@\ 274 MakeDir($(DESTDIR)dest) @@\ 275 case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ 276 for i in list; do \ @@\ 277 (set -x; \ @@\ 278 cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$$$.suff; \ @@\ 279 $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$$$.suff $(DESTDIR)dest/$$i.0; \ @@\ 280 $(RM) /tmp/$$$$.suff); \ @@\ 281 done 282 283#define InstallMultipleMan(list,dest) @@\ 284 InstallMultipleManSuffix(list,dest,man) 285 286#define InstallManPageAliases(file,destdir,aliases) @@\ 287install.man:: @@\ 288 @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ 289 for i in aliases; do \ @@\ 290 (set -x; \ @@\ 291 $(RM) $(DESTDIR)destdir/$$i.0;\ @@\ 292 (cd $(DESTDIR)/destdir; $(LN) file.0 $$i.0);\ @@\ 293 ); \ @@\ 294 done 295 296#define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\ 297 InstallManPageAliases(file,destdir,aliases) 298 299/* 300 * Shared libraries supported starting in 1.0 on a.out platforms, 301 * and on all ELF platforms. 302 * 303 * XXX May not be correct on NetBSD/pmax (ELF, but might not have 304 * working shared libs). 305 */ 306#if ((OSMajorVersion > 0) && \ 307 !defined(AlphaArchitecture) && !defined(MipsArchitecture)) || \ 308 UseElfFormat 309# ifndef HasSharedLibraries 310# define HasSharedLibraries YES 311# endif 312#endif 313 314#ifndef OSBinaryType 315#if UseElfFormat 316#define OSBinaryType [ELF] 317#else 318#define OSBinaryType /**/ 319#endif 320#endif 321 322#ifndef HasSharedLibraries 323#define HasSharedLibraries NO 324#endif 325 326#if HasSharedLibraries 327#include <bsdLib.rules> 328#endif /* HasSharedLibraries */ 329 330#ifdef i386Architecture 331# include <xfree86.cf> 332#endif 333 334/* 335 * Definitions for the SUN server on NetBSD/sparc 336 */ 337#ifdef SparcArchitecture 338#ifndef Xsun24Server 339#define Xsun24Server NO 340#endif 341#ifndef XsunServer 342#define XsunServer YES 343#endif 344#ifndef XsunMonoServer 345#define XsunMonoServer YES 346#endif 347#ifndef BuildScreenSaverLibrary 348#define BuildScreenSaverLibrary YES 349#endif 350/* 351 * XFree86 uses its own (more portable) database routines to speed up 352 * the RGB database lookups 353 * However, if you want to use ndbm anyway, you can set that to NO in 354 * site.def 355 */ 356#ifndef UseRgbTxt 357#define UseRgbTxt YES 358#endif 359#endif 360 361/* 362 * Definition for compiling on MIPS machines 363 */ 364#ifdef MipsArchitecture 365#define PositionIndependentCFlags 366#define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ | 367sed 's/\.[0-9]*$$//'` 368#define SharedXtReqs $(XLIBONLY) $(SMLIB) $(ICELIB) 369#define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XONLYLIB) $(EXTENSIONLIB) 370#endif 371 372/* 373 * Definition for compiling on Alpha machines 374 */ 375#ifdef AlphaArchitecture 376#define BuildServer NO 377#endif 378