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 \
167 #if LinuxCLibMajorVersion < 6
168 # define LinuxSourceDefines -D_POSIX_SOURCE -D_DEFAULT_SOURCE \
169 -D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines
171 # define HasLibCrypt NO
175 # define LinuxSourceDefines -D_POSIX_SOURCE -D_DEFAULT_SOURCE \
176 -D_BSD_SOURCE -D_SVID_SOURCE \
177 -D__NO_STRING_INLINES -D__NO_MATH_INLINES \
179 # define HasPosixThreads YES
180 # define ThreadedX YES
181 # define HasThreadSafeAPI YES
182 # define ThreadsLibraries -lpthread
183 # define SystemMTDefines -D_REENTRANT
185 # define HasLibCrypt YES
189 #ifdef SparcArchitecture
190 # define LinuxMachineDefines -Dsparc
193 # define HasPlugin YES
194 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
196 #endif /* SparcArchitecture */
198 #ifdef ARMArchitecture
199 # ifndef OptimizedCDebugFlags
200 # define OptimizedCDebugFlags DefaultGcc2i386Opt
202 # define LinuxMachineDefines -D__arm__
203 # define LSBBitOrder YES
206 # define HasPlugin YES
207 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
209 #endif /* ARMArchitecture */
211 #ifdef i386Architecture
212 # ifndef OptimizedCDebugFlags
213 # define OptimizedCDebugFlags DefaultGcc2i386Opt
215 # define LinuxMachineDefines -D__i386__
216 /* For DtHelp TIFF processing routines. */
217 # define LSBBitOrder YES
220 # define HasPlugin YES
221 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
223 #endif /* i386Architecture */
225 #ifdef AMD64Architecture
226 # ifndef OptimizedCDebugFlags
227 # define OptimizedCDebugFlags DefaultGcc2i386Opt
229 # define LinuxMachineDefines -D__x86_64__
230 /* For DtHelp TIFF processing routines. */
231 # define LSBBitOrder YES
234 # define HasPlugin YES
235 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
237 #endif /* AMD64Architecture */
239 #ifdef PpcArchitecture
240 # ifndef OptimizedCDebugFlags
241 # define OptimizedCDebugFlags DefaultGcc2i386Opt
243 # define LinuxMachineDefines -D__powerpc__
244 #endif /* PpcArchitecture */
246 #ifdef AlphaArchitecture
247 # ifndef OptimizedCDebugFlags
248 # define OptimizedCDebugFlags DefaultGcc2i386Opt
250 # define LinuxMachineDefines -D__alpha__
251 #endif /* AlphaArchitecture */
253 #ifdef Mc68020Architecture
254 # ifndef OptimizedCDebugFlags
255 # define OptimizedCDebugFlags DefaultGcc2i386Opt
257 # define LinuxMachineDefines -D__mc68000__
258 # define StandardCppDefines -traditional
259 #endif /* Mc68020Architecture */
261 #define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines
263 #define ConnectionFlags -DUNIXCONN -DTCPCONN
265 XCOMM This is needed for CDE currently
266 #define CplusplusStandardDefines StandardDefines
268 /* Some of these man page defaults are overriden in the above OS sections */
270 # define ManSuffix 1x
273 # define ManDir $(MANSOURCEPATH)1
276 # define LibManSuffix 3x
279 # define LibmanDir $(MANSOURCEPATH)3
281 #ifndef FileManSuffix
282 # define FileManSuffix 5x
285 # define FileManDir $(MANSOURCEPATH)5
288 #define ArchitectureDefines -DLINUX_ARCHITECTURE
290 #define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
291 #define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
293 #include <lnxDep.rules>
294 #include <lnxLib.rules>