1 XCOMM platform: $TOG: linux.cf /main/47 1998/04/17 11:32:51 mgreess $
4 # define OSName DefaultOSName
7 # define OSMajorVersion DefaultOSMajorVersion
10 # define OSMinorVersion DefaultOSMinorVersion
12 #ifndef OSTeenyVersion
13 # define OSTeenyVersion DefaultOSTeenyVersion
16 #ifndef LinuxDistribution
17 #define LinuxDistribution DefaultLinuxDistribution
19 Add "#define LinuxDistribution Linux<mumble>" to your site.def or host.def.
20 Currently only LinuxSuSE will be figured out automatically.
21 Valid values are (from the list at www.linux.org in Oct. 1997):
38 #ifndef DefaultLinuxCLibMajorVersion
39 # define DefaultLinuxCLibMajorVersion 6
41 #ifndef DefaultLinuxCLibMinorVersion
42 # define DefaultLinuxCLibMinorVersion 0
44 #ifndef DefaultLinuxCLibTeenyVersion
45 # define DefaultLinuxCLibTeenyVersion 0
48 #ifndef LinuxCLibMajorVersion
49 # define LinuxCLibMajorVersion DefaultLinuxCLibMajorVersion
51 #ifndef LinuxCLibMinorVersion
52 # define LinuxCLibMinorVersion DefaultLinuxCLibMinorVersion
54 #ifndef LinuxCLibTeenyVersion
55 # define LinuxCLibTeenyVersion DefaultLinuxCLibTeenyVersion
58 #ifndef LinuxBinUtilsMajorVersion
59 # define LinuxBinUtilsMajorVersion DefaultLinuxBinUtilsMajorVersion
62 XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
63 XCOMM libc: (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
64 XCOMM binutils: (LinuxBinUtilsMajorVersion)
67 # if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 1)
68 # define UseElfFormat YES
70 # define UseElfFormat NO
71 # error "Only ELF format is supported on linux"
75 #define UseInstalledX11 YES
77 #define BuildLibPathVar LD_LIBRARY_PATH
80 #define HasGcc2ForCplusplus YES
81 #define GccUsesGas YES
84 #define HasShadowPasswd YES
87 #define HasSockets YES
89 #define HasMakefileSafeInclude YES
90 #define DependFileName .depend
91 #define DependCmd $(CC) -E -MM -MG
93 #ifdef IncludeMakefile
94 # undef IncludeMakefile
97 #define IncludeMakefile(file) -include file
99 #if (LinuxDistribution == LinuxRedHat)
103 #define AvoidNullMakeCommand YES
104 #define StripInstalledPrograms YES
105 #define CompressAllFonts YES
106 #define Malloc0ReturnsNull YES
107 #define NeedConstPrototypes YES
108 #define NeedFunctionPrototypes YES
109 #define NeedNestedPrototypes YES
110 #define NeedVarargsPrototypes YES
111 #define NeedWidePrototypes NO
112 #define SetTtyGroup YES
114 #define CcCmd gcc -g -pipe
115 #define CplusplusCmd g++ -g -pipe -fpermissive
119 #define CplusplusLibC -lstdc++
120 #define AsmDefines -D__ELF__
122 #define MkdirHierCmd mkdir -p
123 #define CppCmd /lib/cpp
124 #if OSMajorVersion >= 2
125 # define YaccCmd yacc
127 # define YaccCmd bison -y
129 #define LexCmd flex -l
131 #define PreProcessCmd CcCmd -E
132 #define PostIncDir DefaultGccIncludeDir
133 #define LdCombineFlags -r
134 #define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
135 #define HasWChar32 YES
136 #define StandardCppDefines -traditional -nostdinc StandardDefines
137 #define ExtensionOSDefines -DXTESTEXT1
139 #define LinuxLocaleDefines /**/
141 #define DefaultCCOptions -ansi
143 XCOMM Lets try XdmAuth instead of the ancient MIT/DES auth
144 #define HasXdmAuth YES
146 XCOMM If you have the tirpc library on your system, and you have the
147 XCOMM libtirpc-dev installed, then define HasTIRPCLib to YES in either
148 XCOMM your host.def or site.def file. Using the tirpc lib should
149 XCOMM allow running rpcbind in secure mode (ie: without the -i option).
150 XCOMM The default is NO.
153 # define HasTIRPCLib NO
162 #if !defined(DefaultGcc2i386Opt)
163 # define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings
166 #if LinuxCLibMajorVersion < 6
167 # define LinuxSourceDefines -D_POSIX_SOURCE -D_DEFAULT_SOURCE \
168 -D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines
170 # define HasLibCrypt NO
174 # define LinuxSourceDefines -D_POSIX_SOURCE -D_DEFAULT_SOURCE \
175 -D_BSD_SOURCE -D_SVID_SOURCE \
176 -D__NO_STRING_INLINES -D__NO_MATH_INLINES \
178 # define HasPosixThreads YES
179 # define ThreadedX YES
180 # define HasThreadSafeAPI YES
181 # define ThreadsLibraries -lpthread
182 # define SystemMTDefines -D_REENTRANT
184 # define HasLibCrypt YES
188 #ifdef SparcArchitecture
189 # define LinuxMachineDefines -Dsparc
192 # define HasPlugin YES
193 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
195 #endif /* SparcArchitecture */
197 #ifdef ARMArchitecture
198 # ifndef OptimizedCDebugFlags
199 # define OptimizedCDebugFlags DefaultGcc2i386Opt
201 # define LinuxMachineDefines -D__arm__
202 # define LSBBitOrder YES
205 # define HasPlugin YES
206 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
208 #endif /* ARMArchitecture */
210 #ifdef i386Architecture
211 # ifndef OptimizedCDebugFlags
212 # define OptimizedCDebugFlags DefaultGcc2i386Opt
214 # define LinuxMachineDefines -D__i386__
215 /* For DtHelp TIFF processing routines. */
216 # define LSBBitOrder YES
219 # define HasPlugin YES
220 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
222 #endif /* i386Architecture */
224 #ifdef AMD64Architecture
225 # ifndef OptimizedCDebugFlags
226 # define OptimizedCDebugFlags DefaultGcc2i386Opt
228 # define LinuxMachineDefines -D__x86_64__
229 /* For DtHelp TIFF processing routines. */
230 # define LSBBitOrder YES
233 # define HasPlugin YES
234 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
236 #endif /* AMD64Architecture */
238 #ifdef PpcArchitecture
239 # ifndef OptimizedCDebugFlags
240 # define OptimizedCDebugFlags DefaultGcc2i386Opt
242 # define LinuxMachineDefines -D__powerpc__
243 #endif /* PpcArchitecture */
245 #ifdef AlphaArchitecture
246 # ifndef OptimizedCDebugFlags
247 # define OptimizedCDebugFlags DefaultGcc2i386Opt
249 # define LinuxMachineDefines -D__alpha__
250 #endif /* AlphaArchitecture */
252 #ifdef Mc68020Architecture
253 # ifndef OptimizedCDebugFlags
254 # define OptimizedCDebugFlags DefaultGcc2i386Opt
256 # define LinuxMachineDefines -D__mc68000__
257 # define StandardCppDefines -traditional
258 #endif /* Mc68020Architecture */
260 #define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines
262 #define ConnectionFlags -DUNIXCONN -DTCPCONN
264 XCOMM This is needed for CDE currently
265 #define CplusplusStandardDefines StandardDefines
267 /* Some of these man page defaults are overriden in the above OS sections */
269 # define ManSuffix 1x
272 # define ManDir $(MANSOURCEPATH)1
275 # define LibManSuffix 3x
278 # define LibmanDir $(MANSOURCEPATH)3
280 #ifndef FileManSuffix
281 # define FileManSuffix 5x
284 # define FileManDir $(MANSOURCEPATH)5
287 #define ArchitectureDefines -DLINUX_ARCHITECTURE
289 #define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
290 #define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
292 #include <lnxDep.rules>
293 #include <lnxLib.rules>