XCOMM platform: $XConsortium: NetBSD.cf /main/16 1996/10/31 14:47:14 kaleb $ XCOMM platform: $XFree86: xc/config/cf/NetBSD.cf,v 3.84 2000/07/07 20:06:56 tsi Exp $ #ifndef OSName #define OSName DefaultOSName OSBinaryType #endif #ifndef OSMajorVersion #define OSMajorVersion DefaultOSMajorVersion #endif #ifndef OSMinorVersion #define OSMinorVersion DefaultOSMinorVersion #endif #ifndef OSTeenyVersion #define OSTeenyVersion DefaultOSTeenyVersion #endif #ifndef OSVendor #define OSVendor The NetBSD Foundation, Inc. #endif XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion) /* * C library features */ #if ((OSMajorVersion > 1) || \ (OSMajorVersion == 1 && OSMinorVersion > 2) || \ (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1)) # define HasPoll YES #endif #define HasNdbm YES #define HasPutenv YES #define HasSnprintf YES #define HasBSD44Sockets YES #define Malloc0ReturnsNull NO #define SetTtyGroup YES #define DBMLibrary /**/ #define HasDlopen YES #ifndef HasLibCrypt # define HasLibCrypt YES #endif #ifndef HasShm # if OSMajorVersion == 0 && OSMinorVersion == 9 && OSTeenyVersion == 2 /* * Shm memory was removed in 0.9B because it was encumbered. * A free version was added in 0.9C */ # define HasShm NO # else # define HasShm YES # endif #endif #define HasWChar32 YES /* * There's a bug in NetBSD 1.0, 1.1 and 1.2 dlsym() */ #if ((OSMajorVersion == 1 && OSMinorVersion < 2) || \ (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion < 2)) # define HasDlsymBug YES #endif /* Mkstemp is there since 1.2 (at least) */ #if (!(OSMajorVersion == 0 || \ (OSMajorVersion == 1 && OSMinorVersion < 2))) #define HasMkstemp YES #endif #define HasUsableFileMmap YES #define HasVarRun YES #define HasVarDb YES /* * Compiler Features */ #define GccUsesGas YES #define UseGas YES #define GnuCpp YES #define NeedConstPrototypes YES #define NeedFunctionPrototypes YES #define NeedNestedPrototypes YES #define NeedVarargsPrototypes YES #define NeedWidePrototypes NO #define MkdirHierCmd mkdir -p #define CppCmd /usr/libexec/cpp #define StandardCppOptions -traditional #define StandardCppDefines /**/ #define PreProcessCmd CppCmd #define PreIncDir /usr/include #undef CcCmd #define CcCmd gcc #if defined(UseInstalled) #define DefaultCCOptions /**/ #else #ifdef Arm32Architecture #define DefaultCCOptions -ansi -Dasm=__asm -fsigned-char -fomit-frame-pointer GccWarningOptions #else #define DefaultCCOptions -ansi -Dasm=__asm GccWarningOptions #endif #endif #define GccGasOption -DGCCUSESGAS #define AsmDefines -DUSE_GAS /* UseElfFormat defaults to YES if __ELF__ set */ #ifndef UseElfFormat # ifdef __ELF__ # undef __ELF__ /* other imake files shouldn't care */ # define UseElfFormat YES # else # define UseElfFormat NO # endif #endif /* * Dynamic loading supported starting in 1.0 on a.out platforms, * and on all ELF platforms. * * XXX May not be correct on NetBSD/pmax (ELF, but might not have * working shared libs). * * Disabled for NetBSD/vax until I figure out the scheme. --CS */ #if (OSMajorVersion > 0) && defined(i386Architecture) # ifndef DoLoadableServer # define DoLoadableServer YES # endif #else # ifndef DoLoadableServer # define DoLoadableServer NO # endif #endif #if UseElfFormat #define DlLibrary -rdynamic /* no -ldl yet */ #else #define DlLibrary /**/ #endif #ifdef i386Architecture # ifndef DefaultGcc2i386Opt # if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 2) /* The GCC strength-reduce bug is fixed for NetBSD 1.3 and later */ # define DefaultGcc2i386Opt -O2 # endif # endif # define OptimizedCDebugFlags DefaultGcc2i386Opt # if OSMajorVersion < 1 # define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DXNO_SYSCONF # else # define ServerOSDefines XFree86ServerOSDefines -DDDXTIME # endif # if OSMajorVersion == 1 && OSMinorVersion >= 1 || OSMajorVersion >= 2 # define ServerExtraSysLibs -li386 # endif #else # define OptimizedCDebugFlags -O2 # if defined(SparcArchitecture) || defined(AlphaArchitecture) # define ServerOSDefines -DDDXOSINIT # else # ifdef Arm32Architecture # define ServerOSDefines XFree86ServerOSDefines -DDDXTIME # else # define ServerOSDefines /**/ # endif # endif # define ServerExtraSysLibs /**/ #endif #ifdef i386Architecture # define ServerExtraDefines GccGasOption XFree86ServerDefines # ifndef XFree86ConsoleDefines # if (OSMajorVersion == 1 && ((OSMinorVersion == 3 && OSTeenyVersion >= 6) \ || OSMinorVersion >= 4) \ || OSMajorVersion >= 2) # define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT -DWSCONS_SUPPORT # else # define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT # endif # endif #else # if defined(SparcArchitecture) # define ServerExtraDefines XFree86ServerDefines # else # if defined(AlphaArchitecture) # define ServerExtraDefines GccGasOption -D_XSERVER64 # else # ifdef Arm32Architecture # define ServerExtraDefines GccGasOption XFree86ServerDefines # ifndef XFree86ConsoleDefines # define XFree86ConsoleDefines -DPCCONS_SUPPORT # endif # else # define ServerExtraDefines GccGasOption # endif # endif #endif #endif #define StandardDefines -DCSRG_BASED #define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC #ifndef ExtraLibraries #define ExtraLibraries /**/ #endif #ifndef UseGnuMalloc /* * There is no way to map 1.4J correctly to OS*Version, so 'J' is mapped * to OSTeenyVersion == 9. That should be safe, since there will never * be a release for 1.4.9. */ # if ((OSMajorVersion > 1) || \ (OSMajorVersion == 1 && OSMinorVersion > 4) || \ (OSMajorVersion == 1 && OSMinorVersion == 4 && OSTeenyVersion > 9)) # define UseGnuMalloc NO # else # define UseGnuMalloc YES #endif #endif #ifndef GnuMallocLibrary #define GnuMallocLibrary -lgnumalloc #endif #if ((OSMajorVersion > 1) || \ (OSMajorVersion == 1 && OSMinorVersion > 2) || \ (OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1)) #ifndef HasZlib #define HasZlib YES #endif #endif #define AdmDir /var/log /* * Make & install Features */ #define HasBsdMake YES #define CompressAllFonts YES #define GzipFontCompression YES #define DefaultUserPath /bin:/usr/bin:/usr/local/bin:$(BINDIR) #define DefaultSystemPath /sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR) #ifdef InstallCmd # undef InstallCmd # define InstallCmd /usr/bin/install #endif #ifndef ExtraFilesToClean # define ExtraFilesToClean *.core #endif /* * Documentation formatting */ #define NeqnCmd neqn -Tlatin1 #define NroffCmd nroff -Tlatin1 #define EqnCmd eqn -Tps #define TroffCmd groff -Tps /* * To use the NetBSD Aperture driver */ #if defined(i386Architecture) # ifndef HasNetBSDApertureDriver # define HasNetBSDApertureDriver NO /* Where the aperture driver is installed */ # ifndef NetBSDApertureDir # define NetBSDApertureDir /usr/local/aperture # endif # endif /* * MTRR support is provided by the Aperture driver */ # if HasNetBSDApertureDriver # ifndef HasMTRRSupport # define HasMTRRSupport YES # endif # endif #endif /* i386Architecture */ /* * ForceSubdirs - force make to build subdirectories * * For BSD 4.4 make */ #define ForceSubdirs(dirs) @@\ dirs: .EXEC @@\ @cd $@ ; echo "making all in $(CURRENT_DIR)/$@..."; \ @@\ $(MAKE) $(MFLAGS) PassCDebugFlags all @@\ @@\ .EXEC: /* * Man pages need to be formatted when installed, so override the default * imake rules. */ #define ManSuffix 1 #define FileManSuffix 5 #define ManSourcePath $(MANPATH)/cat #define InstallManPageLongBase(file,destdir,dest) @@\ @@\ all:: file.0 @@\ @@\ file.0:: file.man @@\ @if [ -f file.man ]; \ @@\ then \ @@\ cat file.man | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$$$.man; \ @@\ cp /tmp/$$$$.man file.0; \ @@\ $(RM) /tmp/$$$$.man; \ @@\ fi @@\ @@\ install.man:: @@\ MakeDir($(DESTDIR)destdir) @@\ -@if [ -f file.0 ]; \ @@\ then \ @@\ $(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\ fi @@\ @@\ clean:: @@\ RemoveFile(file.0) #define InstallManPageLong(file,destdir,dest) @@\ BuildInstallHtmlManPage(file,dest,$(MANSUFFIX)) @@\ @@\ InstallManPageLongBase(file,destdir,dest) #define InstallGenManPageLong(file,destdir,dest,suffix) @@\ BuildInstallHtmlManPage(file,dest,suffix) @@\ @@\ InstallManPageLongBase(file,destdir,dest) #define InstallMultipleMan(list,dest) @@\ install.man:: @@\ MakeDir($(DESTDIR)dest) @@\ case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ for i in list; do \ @@\ (MNAME=`echo $$i | cut -f1 -d.`; \ @@\ set -x; \ @@\ cat $$i | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \ @@\ | $(COL) > $${MNAME}.0; \ @@\ $(INSTALL) -c $(INSTMANFLAGS) $${MNAME}.0 \ @@\ $(DESTDIR)dest/$${MNAME}.0; \ @@\ $(RM) $${MNAME}.0); \ @@\ done #define InstallMultipleManSuffix(list,dest,suff) @@\ install.man:: @@\ MakeDir($(DESTDIR)dest) @@\ case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ for i in list; do \ @@\ (set -x; \ @@\ cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \ @@\ | $(COL) > $$i.0; \ @@\ $(INSTALL) -c $(INSTMANFLAGS) $$i.0 \ @@\ $(DESTDIR)dest/$$i.0; \ @@\ $(RM) $$i.0 ); \ @@\ done #define InstallManPageAliasesBase(file,destdir,aliases) @@\ install.man:: @@\ @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\ for i in aliases; do \ @@\ (set -x; \ @@\ $(RM) $(DESTDIR)destdir/$$i.0;\ @@\ (cd $(DESTDIR)/destdir; $(LN) file.0 $$i.0);\ @@\ ); \ @@\ done #define InstallManPageAliases(file,destdir,aliases) @@\ InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX)) @@\ @@\ InstallManPageAliasesBase(file,destdir,aliases) #define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\ InstallHtmlManPageAliases(file,aliases,suffix) @@\ @@\ InstallManPageAliasesBase(file,destdir,aliases) /* * Shared libraries supported starting in 1.0 on a.out platforms, * and on all ELF platforms. * * XXX May not be correct on NetBSD/pmax (ELF, but might not have * working shared libs). */ #if ((OSMajorVersion > 0) && \ !defined(AlphaArchitecture) && !defined(MipsArchitecture)) || \ UseElfFormat # ifndef HasSharedLibraries # define HasSharedLibraries YES # endif #endif #ifndef OSBinaryType #if UseElfFormat #define OSBinaryType [ELF] #else #define OSBinaryType /**/ #endif #endif #ifndef HasSharedLibraries #define HasSharedLibraries NO #endif #if HasSharedLibraries #include #endif /* HasSharedLibraries */ #if defined(i386Architecture) || defined(Arm32Architecture) # include #endif /* * Definitions for the SUN server on NetBSD/sparc */ #ifdef SparcArchitecture #ifndef Xsun24Server #define Xsun24Server NO #endif #ifndef XsunServer #define XsunServer YES #endif #ifndef XsunMonoServer #define XsunMonoServer YES #endif #ifndef BuildScreenSaverLibrary #define BuildScreenSaverLibrary YES #endif /* * XFree86 uses its own (more portable) database routines to speed up * the RGB database lookups * However, if you want to use ndbm anyway, you can set that to NO in * site.def */ #ifndef UseRgbTxt #define UseRgbTxt YES #endif #define BuildXF86VidModeExt NO #define BuildXF86DGA NO #define BuildXInputExt NO #include #endif /* * Definition for compiling on MIPS machines */ #ifdef MipsArchitecture #define PositionIndependentCFlags #define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ | sed 's/\.[0-9]*$$//'` #define SharedXtReqs $(XLIBONLY) $(SMLIB) $(ICELIB) #define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XONLYLIB) $(EXTENSIONLIB) #endif /* * Definition for compiling on Alpha machines */ #ifdef AlphaArchitecture #define BuildServer NO /* Build the shared XDM greeter on Alph if it supports shared libs */ #define SharedLibXdmGreet HasSharedLibraries #endif /* * Definition for compiling on VAX machines */ #ifdef VaxArchitecture #define BuildServer NO #endif #ifndef SharedLibXdmGreet #define SharedLibXdmGreet NO #endif