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 TIRPC is enabled by default now on Linux. The libtirpc-dev package is
147 XCOMM required for this support. If you cannot use tirpc for some reason,
148 XCOMM can disable it by defining HasTIRPCLib to NO in either
149 XCOMM your host.def or site.def file. Not using the TIRPC lib will require
150 XCOMM that you run rpcbind in insecure mode (ie: with the -i option).
151 XCOMM The default is YES.
154 # define HasTIRPCLib YES
159 TIRPCINC = -I/usr/include/tirpc
165 #if !defined(DefaultGcc2i386Opt)
166 # define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings \
170 #if LinuxCLibMajorVersion < 6
171 # define LinuxSourceDefines -D_POSIX_SOURCE -D_DEFAULT_SOURCE \
172 -D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines
174 # define HasLibCrypt NO
178 # define LinuxSourceDefines -D_POSIX_SOURCE -D_DEFAULT_SOURCE \
179 -D_BSD_SOURCE -D_SVID_SOURCE \
180 -D__NO_STRING_INLINES -D__NO_MATH_INLINES \
182 # define HasPosixThreads YES
183 # define ThreadedX YES
184 # define HasThreadSafeAPI YES
185 # define ThreadsLibraries -lpthread
186 # define SystemMTDefines -D_REENTRANT
188 # define HasLibCrypt YES
192 #ifdef SparcArchitecture
193 # define LinuxMachineDefines -Dsparc
196 # define HasPlugin YES
197 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
199 #endif /* SparcArchitecture */
201 #ifdef ARMArchitecture
202 # ifndef OptimizedCDebugFlags
203 # define OptimizedCDebugFlags DefaultGcc2i386Opt
205 # define LinuxMachineDefines -D__arm__
206 # define LSBBitOrder YES
209 # define HasPlugin YES
210 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
212 #endif /* ARMArchitecture */
214 #ifdef i386Architecture
215 # ifndef OptimizedCDebugFlags
216 # define OptimizedCDebugFlags DefaultGcc2i386Opt
218 # define LinuxMachineDefines -D__i386__
219 /* For DtHelp TIFF processing routines. */
220 # define LSBBitOrder YES
223 # define HasPlugin YES
224 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
226 #endif /* i386Architecture */
228 #ifdef AMD64Architecture
229 # ifndef OptimizedCDebugFlags
230 # define OptimizedCDebugFlags DefaultGcc2i386Opt
232 # define LinuxMachineDefines -D__x86_64__
233 /* For DtHelp TIFF processing routines. */
234 # define LSBBitOrder YES
237 # define HasPlugin YES
238 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
240 #endif /* AMD64Architecture */
242 #ifdef PpcArchitecture
243 # ifndef OptimizedCDebugFlags
244 # define OptimizedCDebugFlags DefaultGcc2i386Opt
246 # define LinuxMachineDefines -D__powerpc__
247 #endif /* PpcArchitecture */
249 #ifdef AlphaArchitecture
250 # ifndef OptimizedCDebugFlags
251 # define OptimizedCDebugFlags DefaultGcc2i386Opt
253 # define LinuxMachineDefines -D__alpha__
254 #endif /* AlphaArchitecture */
256 #ifdef Mc68020Architecture
257 # ifndef OptimizedCDebugFlags
258 # define OptimizedCDebugFlags DefaultGcc2i386Opt
260 # define LinuxMachineDefines -D__mc68000__
261 # define StandardCppDefines -traditional
262 #endif /* Mc68020Architecture */
264 #define StandardDefines -D__linux__ LinuxMachineDefines LinuxSourceDefines
266 #define ConnectionFlags -DUNIXCONN -DTCPCONN
268 XCOMM This is needed for CDE currently
269 #define CplusplusStandardDefines StandardDefines
271 /* Some of these man page defaults are overriden in the above OS sections */
273 # define ManSuffix 1x
276 # define ManDir $(MANSOURCEPATH)1
279 # define LibManSuffix 3x
282 # define LibmanDir $(MANSOURCEPATH)3
284 #ifndef FileManSuffix
285 # define FileManSuffix 5x
288 # define FileManDir $(MANSOURCEPATH)5
291 #define ArchitectureDefines -DLINUX_ARCHITECTURE
293 #define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
295 #define SharedTtReqs $(TIRPCLIB) $(LDPRELIBS) SharedXReqs $(CXXLIB)
297 #include <lnxDep.rules>
298 #include <lnxLib.rules>