cdesktopenv/cde/config/cf/FreeBSD.cf

149 lines
4.4 KiB
CFEngine3

XCOMM platform: $TOG: FreeBSD.cf /main/21 1997/10/05 20:42:34 kaleb $
#ifndef OSName
#define OSName DefaultOSName
#endif
#ifndef OSVendor
#define OSVendor Walnut Creek CD-ROM
#endif
#ifndef OSMajorVersion
#define OSMajorVersion DefaultOSMajorVersion
#endif
#ifndef OSMinorVersion
#define OSMinorVersion DefaultOSMinorVersion
#endif
#ifndef OSTeenyVersion
#define OSTeenyVersion DefaultOSTeenyVersion
#endif
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
#define HasPutenv YES
#define HasBSD44Sockets YES
#define HasZlib YES
#define CppCmd /usr/libexec/cpp -traditional
#define PreProcessCmd /usr/libexec/cpp -traditional
#undef InstallCmd
#define InstallCmd /usr/bin/install
#define UseGas YES
#ifndef GccUsesGas
# define GccUsesGas YES
#endif
#ifndef AsmDefines
# define AsmDefines -DUSE_GAS
#endif
#if GccUsesGas
# define GccGasOption -DGCCUSESGAS
#else
# define GccGasOption /**/
#endif
#ifndef HasGcc2
# define HasGcc2 YES
#endif
#define MkdirHierCmd mkdir -p
#define CcCmd gcc
#ifndef DefaultCCOptions
#define DefaultCCOptions -pipe
#endif
#if OSMajorVersion > 1
#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
#define XawI18nDefines -DUSE_XWCHAR_STRING
#define HasMakefileSafeInclude YES
#define IncludeMakefile(file) @@# dependencies are in .depend
#define DependFileName .depend
#if OSMinorVersion < 2
#ifndef ExtraLibraries
#define ExtraLibraries -lgnumalloc
#endif
#else
#if OSTeenyVersion == 2
#define HasSetUserContext YES
#endif
#ifndef ExtraLoadFlags
/*
* This doesn't work the way it does on every other system. On FreeBSD it's
* only a "hint, not a demand", whatever that means. Note that this is not
* what it says in the ld and ld.so man pages, which are rather vague on the
* matter.
*
* But we do know that if a) you do what the X Project team does and set your
* ProjectRoot to something like "/X11", and b) you have other X libraries,
* e.g. in /usr/X11R6/lib, and you have added /usr/X11R6/lib to your
* ld.so.cache with ldconfig, then any programs linked with this "hint" will
* find that ld.so ignores the "hint" at runtime and loads the libraries in
* the ld.so.cache, i.e.the wrong ones, instead! Empirically we find that
* the run-path is only used as a last resort to find the libraries, after
* the LD_LIBRARY_PATH and ld.so.cache.
*
* N. B. to FreeBSD users who are not familiar with the semantics of the run-
* path on other systems. The run-path is akin to a per-program ld.so.cache.
* If a program is linked with a run-path, that run-path should take
* precedence over _everything_ else! In my opinion ldconfig and the
* ld.so.cache should be deprecated immediately now that FreeBSD has run-
* paths. Any program that needs libraries that are outside the "well known"
* locations should be linked with a run-path.
*
* All of which begs the question: If this option doesn't work in any useful
* way, why did they (FreeBSD) bother to add it? It would be nice if FreeBSD
* would fix ld.so so that run-paths are truly useful.
*
* Using run-paths is added with the intent that vendors who ship X for
* FreeBSD should use it too. Once everyone uses it then there will be no
* reason for FreeBSD to assume that it knows where X libraries are installed
* and they can remove it from the list of directories they add to ld.so.cache
* in their /etc/rc file.
*/
#define ExtraLoadFlags -Wl,-R,$(USRLIBDIRPATH)
#endif
#endif
#else
#define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DXNO_SYSCONF
#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
#ifndef ExtraLibraries
#define ExtraLibraries /* -lmalloc */
#endif
#endif
/* The GCC strength-reduce bug is fixed for FreeBSD 2.1.5 and later */
#ifndef DefaultGcc2i386Opt
#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 5)
#define DefaultGcc2i386Opt -O2
#endif
#endif
#ifdef i386Architecture
# define OptimizedCDebugFlags DefaultGcc2i386Opt
#else
# define OptimizedCDebugFlags -O2
#endif
#define ServerExtraDefines GccGasOption XFree86ServerDefines
#define StandardDefines -DCSRG_BASED
#define TroffCmd groff -Tps
#define SetTtyGroup YES
#define HasNdbm YES
#define HasShm YES
#define HasWChar32 YES
#define HasLibCrypt YES
#define AvoidNullMakeCommand YES
#define HasPlugin YES
#define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
#include <bsdLib.rules>
#ifdef i386Architecture
#include <xfree86.cf>
#endif