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_SOURCE \
172 -D_BSD_SOURCE -D_SVID_SOURCE \
173 -D__NO_STRING_INLINES -D__NO_MATH_INLINES \
175 # define HasPosixThreads YES
176 # define ThreadedX YES
177 # define HasThreadSafeAPI YES
178 # define ThreadsLibraries -lpthread
179 # define SystemMTDefines -D_REENTRANT
181 # define HasLibCrypt YES
185 #ifdef SparcArchitecture
186 # define LinuxMachineDefines -Dsparc
189 # define HasPlugin YES
190 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
192 #endif /* SparcArchitecture */
194 #ifdef ARMArchitecture
195 # define LinuxMachineDefines -D__arm__
196 # define LSBBitOrder YES
199 # define HasPlugin YES
200 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
202 #endif /* ARMArchitecture */
204 #ifdef i386Architecture
205 # define OptimizedCDebugFlags DefaultGcc2i386Opt
206 # define LinuxMachineDefines -D__i386__
207 /* For DtHelp TIFF processing routines. */
208 # define LSBBitOrder YES
211 # define HasPlugin YES
212 # define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
214 #endif /* i386Architecture */
216 #ifdef AMD64Architecture
217 # define OptimizedCDebugFlags DefaultGcc2i386Opt
218 # define LinuxMachineDefines -D__x86_64__
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 /* AMD64Architecture */
228 #ifdef PpcArchitecture
229 # define OptimizedCDebugFlags DefaultGcc2i386Opt
230 # define LinuxMachineDefines -D__powerpc__
231 #endif /* PpcArchitecture */
233 #ifdef AlphaArchitecture
234 # define OptimizedCDebugFlags DefaultGcc2i386Opt
235 # define LinuxMachineDefines -D__alpha__
236 #endif /* AlphaArchitecture */
238 #ifdef Mc68020Architecture
239 # define OptimizedCDebugFlags DefaultGcc2i386Opt
240 # define LinuxMachineDefines -D__mc68000__
241 # define StandardCppDefines -traditional
242 #endif /* Mc68020Architecture */
244 #define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines
246 #define ConnectionFlags -DUNIXCONN -DTCPCONN
248 XCOMM This is needed for CDE currently
249 #define CplusplusStandardDefines StandardDefines
251 /* Some of these man page defaults are overriden in the above OS sections */
253 # define ManSuffix 1x
256 # define ManDir $(MANSOURCEPATH)1
259 # define LibManSuffix 3x
262 # define LibmanDir $(MANSOURCEPATH)3
264 #ifndef FileManSuffix
265 # define FileManSuffix 5x
268 # define FileManDir $(MANSOURCEPATH)5
271 #define ArchitectureDefines -DLINUX_ARCHITECTURE
273 #define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
274 #define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
276 #include <lnxDep.rules>
277 #include <lnxLib.rules>