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 If you have the tirpc library on your system, and you have the
144 XCOMM libtirpc-dev installed, then define HasTIRPCLib to YES in either
145 XCOMM your host.def or site.def file. Using the tirpc lib should
146 XCOMM allow running rpcbind in secure mode (ie: without the -i option).
147 XCOMM The default is NO.
150 # define HasTIRPCLib NO
159 #if !defined(DefaultGcc2i386Opt)
160 # define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings
163 #if LinuxCLibMajorVersion < 6
164 # define LinuxSourceDefines -D_POSIX_SOURCE \
165 -D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines
167 # define HasLibCrypt NO
171 # define LinuxSourceDefines -D_POSIX_C_SOURCE=199309L \
173 -D_BSD_SOURCE -D_SVID_SOURCE -D_XOPEN_SOURCE \
174 -D__NO_STRING_INLINES -D__NO_MATH_INLINES \
176 # define HasPosixThreads YES
177 # define ThreadedX YES
178 # define HasThreadSafeAPI YES
179 # define ThreadsLibraries -lpthread
180 # define SystemMTDefines -D_REENTRANT
182 # define HasLibCrypt YES
186 #ifdef SparcArchitecture
187 # define LinuxMachineDefines -Dsparc
190 # define HasPlugin YES
191 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
193 #endif /* SparcArchitecture */
195 #ifdef ARMArchitecture
196 # define LinuxMachineDefines -D__arm__
197 # define LSBBitOrder YES
200 # define HasPlugin YES
201 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
203 #endif /* ARMArchitecture */
205 #ifdef i386Architecture
206 # define OptimizedCDebugFlags DefaultGcc2i386Opt
207 # define LinuxMachineDefines -D__i386__
208 /* For DtHelp TIFF processing routines. */
209 # define LSBBitOrder YES
212 # define HasPlugin YES
213 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
215 #endif /* i386Architecture */
217 #ifdef AMD64Architecture
218 # define OptimizedCDebugFlags DefaultGcc2i386Opt
219 # define LinuxMachineDefines -D__x86_64__
220 /* For DtHelp TIFF processing routines. */
221 # define LSBBitOrder YES
224 # define HasPlugin YES
225 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
227 #endif /* AMD64Architecture */
229 #ifdef PpcArchitecture
230 # define OptimizedCDebugFlags DefaultGcc2i386Opt
231 # define LinuxMachineDefines -D__powerpc__
232 #endif /* PpcArchitecture */
234 #ifdef AlphaArchitecture
235 # define OptimizedCDebugFlags DefaultGcc2i386Opt
236 # define LinuxMachineDefines -D__alpha__
237 #endif /* AlphaArchitecture */
239 #ifdef Mc68020Architecture
240 # define OptimizedCDebugFlags DefaultGcc2i386Opt
241 # define LinuxMachineDefines -D__mc68000__
242 # define StandardCppDefines -traditional
243 #endif /* Mc68020Architecture */
245 #define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines
247 #define ConnectionFlags -DUNIXCONN -DTCPCONN
249 XCOMM This is needed for CDE currently
250 #define CplusplusStandardDefines StandardDefines
252 /* Some of these man page defaults are overriden in the above OS sections */
254 # define ManSuffix 1x
257 # define ManDir $(MANSOURCEPATH)1
260 # define LibManSuffix 3x
263 # define LibmanDir $(MANSOURCEPATH)3
265 #ifndef FileManSuffix
266 # define FileManSuffix 5x
269 # define FileManDir $(MANSOURCEPATH)5
272 #define ArchitectureDefines -DLINUX_ARCHITECTURE
274 #define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
275 #define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
277 #include <lnxDep.rules>
278 #include <lnxLib.rules>