301 lines
8.6 KiB
CFEngine3
301 lines
8.6 KiB
CFEngine3
XCOMM platform: $TOG: linux.cf /main/47 1998/04/17 11:32:51 mgreess $
|
|
|
|
/* To reduce the number of warnings generated by X11 and Motif headers that
|
|
dislike -ansi and -pedantic we can include them with -isystem instead of
|
|
-I, this tells GCC to treat them as system includes out of our control */
|
|
#define TopXInclude -isystem$(TOP)/imports/x11/include
|
|
|
|
#ifndef OSName
|
|
# define OSName DefaultOSName
|
|
#endif
|
|
#ifndef OSMajorVersion
|
|
# define OSMajorVersion DefaultOSMajorVersion
|
|
#endif
|
|
#ifndef OSMinorVersion
|
|
# define OSMinorVersion DefaultOSMinorVersion
|
|
#endif
|
|
#ifndef OSTeenyVersion
|
|
# define OSTeenyVersion DefaultOSTeenyVersion
|
|
#endif
|
|
|
|
#ifndef LinuxDistribution
|
|
#define LinuxDistribution DefaultLinuxDistribution
|
|
/*
|
|
Add "#define LinuxDistribution Linux<mumble>" to your site.def or host.def.
|
|
Currently only LinuxSuSE will be figured out automatically.
|
|
Valid values are (from the list at www.linux.org in Oct. 1997):
|
|
LinuxUnknown (0)
|
|
LinuxSuSE (1)
|
|
LinuxCaldera (2)
|
|
LinuxCraftworks (3)
|
|
LinuxDebian (4)
|
|
LinuxInfoMagic (5)
|
|
LinuxKheops (6)
|
|
LinuxPro (7)
|
|
LinuxRedHat (8)
|
|
LinuxSlackware (9)
|
|
LinuxTurbo (10)
|
|
LinuxWare (11)
|
|
LinuxYggdrasil (12)
|
|
*/
|
|
#endif
|
|
#ifndef LinuxCLibMajorVersion
|
|
# define LinuxCLibMajorVersion DefaultLinuxCLibMajorVersion
|
|
#endif
|
|
#ifndef LinuxCLibMinorVersion
|
|
# define LinuxCLibMinorVersion DefaultLinuxCLibMinorVersion
|
|
#endif
|
|
#ifndef LinuxCLibTeenyVersion
|
|
# define LinuxCLibTeenyVersion DefaultLinuxCLibTeenyVersion
|
|
#endif
|
|
#ifndef LinuxBinUtilsMajorVersion
|
|
# define LinuxBinUtilsMajorVersion DefaultLinuxBinUtilsMajorVersion
|
|
#endif
|
|
|
|
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
|
|
XCOMM libc: (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
|
|
XCOMM binutils: (LinuxBinUtilsMajorVersion)
|
|
|
|
#ifndef UseElfFormat
|
|
# if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 1)
|
|
# define UseElfFormat YES
|
|
# else
|
|
# define UseElfFormat NO
|
|
# error "Only ELF format is supported on linux"
|
|
# endif
|
|
#endif
|
|
|
|
#define BuildLibPathVar LD_LIBRARY_PATH
|
|
#define HasGcc YES
|
|
#define HasGcc2 YES
|
|
#define HasGcc2ForCplusplus YES
|
|
#define GccUsesGas YES
|
|
#define UseGas YES
|
|
#define GnuCpp YES
|
|
#define HasShadowPasswd YES
|
|
#define HasPutenv YES
|
|
#define HasShm YES
|
|
#define HasSockets YES
|
|
|
|
#define HasMakefileSafeInclude YES
|
|
#define DependFileName .depend
|
|
#define DependCmd $(CC) -E -MM -MG
|
|
|
|
#ifdef IncludeMakefile
|
|
# undef IncludeMakefile
|
|
#endif
|
|
|
|
#define IncludeMakefile(file) -include file
|
|
|
|
#if (LinuxDistribution == LinuxRedHat)
|
|
# define HasZlib YES
|
|
#endif
|
|
|
|
#define AvoidNullMakeCommand YES
|
|
#define StripInstalledPrograms YES
|
|
#define CompressAllFonts YES
|
|
#define Malloc0ReturnsNull YES
|
|
#define NeedConstPrototypes YES
|
|
#define NeedFunctionPrototypes YES
|
|
#define NeedNestedPrototypes YES
|
|
#define NeedVarargsPrototypes YES
|
|
#define NeedWidePrototypes NO
|
|
#define SetTtyGroup YES
|
|
|
|
#define CcCmd gcc -g -pipe
|
|
#define CplusplusCmd g++ -g -pipe -fpermissive
|
|
#define AsCmd as
|
|
#define LdCmd ld
|
|
|
|
#define CplusplusLibC -lstdc++
|
|
#define AsmDefines -D__ELF__
|
|
|
|
#define MkdirHierCmd mkdir -p
|
|
#define CppCmd /lib/cpp
|
|
#if OSMajorVersion >= 2
|
|
# define YaccCmd yacc
|
|
#else
|
|
# define YaccCmd bison -y
|
|
#endif
|
|
#define LexCmd flex -l
|
|
#define LexLib -lfl
|
|
#define PreProcessCmd CcCmd -E
|
|
#define PostIncDir DefaultGccIncludeDir
|
|
#define LdCombineFlags -r
|
|
#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
|
|
#define HasWChar32 YES
|
|
#define StandardCppDefines -traditional StandardDefines
|
|
#define ExtensionOSDefines -DXTESTEXT1
|
|
|
|
#define LinuxLocaleDefines /**/
|
|
|
|
XCOMM If you have the tirpc library on your system, and you have the
|
|
XCOMM libtirpc-dev installed, then define HasTIRPCLib to YES in either
|
|
XCOMM your host.def or site.def file. Using the tirpc lib should
|
|
XCOMM allow running rpcbind in secure mode (ie: without the -i option).
|
|
XCOMM The default is NO.
|
|
|
|
#ifndef HasTIRPCLib
|
|
# define HasTIRPCLib NO
|
|
#endif
|
|
|
|
#if HasTIRPCLib
|
|
TIRPCLIB = -ltirpc
|
|
#else
|
|
TIRPCLIB =
|
|
#endif
|
|
|
|
#if !defined(DefaultGcc2i386Opt)
|
|
# define DefaultGcc2i386Opt -O2 -fno-strict-aliasing
|
|
#endif
|
|
|
|
#if LinuxCLibMajorVersion < 6
|
|
# define LinuxSourceDefines -D_POSIX_SOURCE \
|
|
-D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines
|
|
# ifndef HasLibCrypt
|
|
# define HasLibCrypt NO
|
|
# endif
|
|
|
|
#else
|
|
# define LinuxSourceDefines -D_POSIX_C_SOURCE=199309L \
|
|
-D_POSIX_SOURCE \
|
|
-D_BSD_SOURCE -D_SVID_SOURCE -D_XOPEN_SOURCE \
|
|
-D__NO_STRING_INLINES -D__NO_MATH_INLINES \
|
|
LinuxLocaleDefines
|
|
# define HasPosixThreads YES
|
|
# define ThreadedX YES
|
|
# define HasThreadSafeAPI YES
|
|
# define ThreadsLibraries -lpthread
|
|
# define SystemMTDefines -D_REENTRANT
|
|
# ifndef HasLibCrypt
|
|
# define HasLibCrypt YES
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef SparcArchitecture
|
|
# define LinuxMachineDefines -Dsparc
|
|
|
|
# if UseElfFormat
|
|
# define HasPlugin YES
|
|
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
|
|
# endif
|
|
#endif /* SparcArchitecture */
|
|
|
|
#ifdef ARMArchitecture
|
|
# define LinuxMachineDefines -D__arm__
|
|
# define LSBBitOrder YES
|
|
|
|
# if UseElfFormat
|
|
# define HasPlugin YES
|
|
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
|
|
# endif
|
|
#endif /* ARMArchitecture */
|
|
|
|
#ifdef i386Architecture
|
|
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
|
# define LinuxMachineDefines -D__i386__
|
|
/* For DtHelp TIFF processing routines. */
|
|
# define LSBBitOrder YES
|
|
|
|
# if UseElfFormat
|
|
# define HasPlugin YES
|
|
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
|
|
# endif
|
|
#endif /* i386Architecture */
|
|
|
|
#ifdef AMD64Architecture
|
|
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
|
# define LinuxMachineDefines -D__x86_64__
|
|
/* For DtHelp TIFF processing routines. */
|
|
# define LSBBitOrder YES
|
|
|
|
# if UseElfFormat
|
|
# define HasPlugin YES
|
|
# define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
|
|
# endif
|
|
#endif /* AMD64Architecture */
|
|
|
|
#ifdef PpcArchitecture
|
|
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
|
# define LinuxMachineDefines -D__powerpc__
|
|
#endif /* PpcArchitecture */
|
|
|
|
#ifdef AlphaArchitecture
|
|
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
|
# define LinuxMachineDefines -D__alpha__
|
|
#endif /* AlphaArchitecture */
|
|
|
|
#ifdef Mc68020Architecture
|
|
# define OptimizedCDebugFlags DefaultGcc2i386Opt
|
|
# define LinuxMachineDefines -D__mc68000__
|
|
# define StandardCppDefines -traditional
|
|
#endif /* Mc68020Architecture */
|
|
|
|
#define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines
|
|
|
|
#define ConnectionFlags -DUNIXCONN -DTCPCONN
|
|
|
|
XCOMM This is needed for CDE currently
|
|
#define CplusplusStandardDefines StandardDefines
|
|
|
|
/* Some of these man page defaults are overriden in the above OS sections */
|
|
#ifndef ManSuffix
|
|
# define ManSuffix 1x
|
|
#endif
|
|
#ifndef ManDir
|
|
# define ManDir $(MANSOURCEPATH)1
|
|
#endif
|
|
#ifndef LibManSuffix
|
|
# define LibManSuffix 3x
|
|
#endif
|
|
#ifndef LibmanDir
|
|
# define LibmanDir $(MANSOURCEPATH)3
|
|
#endif
|
|
#ifndef FileManSuffix
|
|
# define FileManSuffix 5x
|
|
#endif
|
|
#ifndef FileManDir
|
|
# define FileManDir $(MANSOURCEPATH)5
|
|
#endif
|
|
|
|
#define ArchitectureDefines -DLINUX_ARCHITECTURE
|
|
|
|
XCOMM different dependancy handling
|
|
#ifndef DependDependency
|
|
#define DependDependency() /**/
|
|
#endif
|
|
|
|
#ifdef DependTarget
|
|
# undef DependTarget
|
|
#endif
|
|
|
|
#define DependTarget() @@@@\
|
|
DependDependency() @@@@\
|
|
@@@@\
|
|
depend:: DependFileName @@@@\
|
|
@@@@\
|
|
DependFileName:: @@@@\
|
|
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) $(SRCS)) > $@
|
|
|
|
#ifdef DependTarget3
|
|
# undef DependTarget3
|
|
#endif
|
|
|
|
#define DependTarget3(srcs1,srcs2,srcs3) @@@@\
|
|
DependDependency() @@@@\
|
|
@@@@\
|
|
depend:: DependFileName @@@@\
|
|
@@@@\
|
|
DependFileName:: @@@@\
|
|
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) srcs1) > $@ @@@@\
|
|
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) srcs2) >> $@ @@@@\
|
|
-RunProgram(DEPEND,$(DEPENDFLAGS) $(ALLDEFINES) $(DEPEND_DEFINES) srcs3) >> $@
|
|
|
|
|
|
|
|
#define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
|
|
#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
|
|
|
|
#include <lnxLib.rules>
|
|
#include <xfree86.cf>
|