linux.cf: Add -Wno-unused-result to C flags
[oweals/cde.git] / cde / config / cf / linux.cf
1 XCOMM platform:  $TOG: linux.cf /main/47 1998/04/17 11:32:51 mgreess $
2
3 #ifndef OSName
4 # define OSName                 DefaultOSName
5 #endif
6 #ifndef OSMajorVersion
7 # define OSMajorVersion         DefaultOSMajorVersion
8 #endif
9 #ifndef OSMinorVersion
10 # define OSMinorVersion         DefaultOSMinorVersion
11 #endif
12 #ifndef OSTeenyVersion
13 # define OSTeenyVersion         DefaultOSTeenyVersion
14 #endif
15
16 #ifndef LinuxDistribution 
17 #define LinuxDistribution       DefaultLinuxDistribution
18 /*
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):
22     LinuxUnknown    (0)
23     LinuxSuSE       (1)
24     LinuxCaldera    (2)
25     LinuxCraftworks (3)
26     LinuxDebian     (4)
27     LinuxInfoMagic  (5)
28     LinuxKheops     (6)
29     LinuxPro        (7)
30     LinuxRedHat     (8)
31     LinuxSlackware  (9)
32     LinuxTurbo      (10)
33     LinuxWare       (11)
34     LinuxYggdrasil  (12)
35 */
36 #endif
37
38 #ifndef DefaultLinuxCLibMajorVersion
39 # define DefaultLinuxCLibMajorVersion    6
40 #endif
41 #ifndef DefaultLinuxCLibMinorVersion
42 # define DefaultLinuxCLibMinorVersion    0
43 #endif
44 #ifndef DefaultLinuxCLibTeenyVersion
45 # define DefaultLinuxCLibTeenyVersion    0
46 #endif
47
48 #ifndef LinuxCLibMajorVersion
49 # define LinuxCLibMajorVersion           DefaultLinuxCLibMajorVersion
50 #endif
51 #ifndef LinuxCLibMinorVersion
52 # define LinuxCLibMinorVersion           DefaultLinuxCLibMinorVersion
53 #endif
54 #ifndef LinuxCLibTeenyVersion
55 # define LinuxCLibTeenyVersion           DefaultLinuxCLibTeenyVersion
56 #endif
57
58 #ifndef LinuxBinUtilsMajorVersion
59 # define LinuxBinUtilsMajorVersion       DefaultLinuxBinUtilsMajorVersion
60 #endif
61
62 XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
63 XCOMM libc:  (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
64 XCOMM binutils:  (LinuxBinUtilsMajorVersion)
65
66 #ifndef UseElfFormat
67 # if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 1)
68 #  define UseElfFormat          YES
69 # else
70 #  define UseElfFormat          NO
71 #  error "Only ELF format is supported on linux"
72 # endif
73 #endif
74
75 #define UseInstalledX11         YES
76
77 #define BuildLibPathVar         LD_LIBRARY_PATH
78 #define HasGcc                  YES
79 #define HasGcc2                 YES
80 #define HasGcc2ForCplusplus     YES
81 #define GccUsesGas              YES
82 #define UseGas                  YES
83 #define GnuCpp                  YES
84 #define HasShadowPasswd         YES
85 #define HasPutenv               YES
86 #define HasShm                  YES
87 #define HasSockets              YES
88
89 #define HasMakefileSafeInclude  YES
90 #define DependFileName          .depend
91 #define DependCmd               $(CC) -E -MM -MG
92
93 #ifdef IncludeMakefile
94 # undef IncludeMakefile
95 #endif
96
97 #define IncludeMakefile(file)   -include file
98
99 #if (LinuxDistribution == LinuxRedHat)
100 # define HasZlib                YES
101 #endif
102
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
113
114 #define CcCmd                   gcc -g -pipe
115 #define CplusplusCmd            g++ -g -pipe -fpermissive
116 #define AsCmd                   as
117 #define LdCmd                   ld
118
119 #define CplusplusLibC           -lstdc++
120 #define AsmDefines              -D__ELF__
121
122 #define MkdirHierCmd            mkdir -p
123 #define CppCmd                  /lib/cpp
124 #if OSMajorVersion >= 2
125 # define YaccCmd                yacc
126 #else
127 # define YaccCmd                bison -y
128 #endif
129 #define LexCmd                  flex -l
130 #define LexLib                  -lfl
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
138
139 #define LinuxLocaleDefines      /**/
140
141 #define DefaultCCOptions        -ansi
142
143 XCOMM Lets try XdmAuth instead of the ancient MIT/DES auth
144 #define HasXdmAuth  YES
145
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.
151
152 #ifndef HasTIRPCLib
153 # define HasTIRPCLib NO
154 #endif
155
156 #if HasTIRPCLib
157 TIRPCLIB = -ltirpc
158 #else
159 TIRPCLIB = 
160 #endif
161
162 #if !defined(DefaultGcc2i386Opt)
163 # define DefaultGcc2i386Opt -O2 -fno-strict-aliasing -Wno-write-strings \
164         -Wno-unused-result
165 #endif
166
167 #if LinuxCLibMajorVersion < 6
168 # define LinuxSourceDefines     -D_POSIX_SOURCE -D_DEFAULT_SOURCE \
169                                 -D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines
170 # ifndef HasLibCrypt
171 #  define HasLibCrypt           NO
172 # endif
173
174 #else
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 \
178                                 LinuxLocaleDefines
179 # define HasPosixThreads        YES
180 # define ThreadedX              YES
181 # define HasThreadSafeAPI       YES
182 # define ThreadsLibraries       -lpthread
183 # define SystemMTDefines        -D_REENTRANT
184 # ifndef HasLibCrypt
185 #  define HasLibCrypt           YES
186 # endif
187 #endif
188
189 #ifdef SparcArchitecture
190 # define LinuxMachineDefines -Dsparc
191
192 # if UseElfFormat
193 #  define HasPlugin             YES
194 #  define VendorHasX11R6_3libXext YES     /* XC or XFree86 3.3.1 */
195 # endif
196 #endif /* SparcArchitecture */
197
198 #ifdef ARMArchitecture
199 # ifndef OptimizedCDebugFlags
200 #  define OptimizedCDebugFlags  DefaultGcc2i386Opt
201 # endif
202 # define LinuxMachineDefines -D__arm__
203 # define LSBBitOrder             YES
204
205 # if UseElfFormat
206 #  define HasPlugin              YES
207 #  define VendorHasX11R6_3libXext YES     /* XC or XFree86 3.3.1 */
208 # endif 
209 #endif /* ARMArchitecture */
210
211 #ifdef i386Architecture
212 # ifndef OptimizedCDebugFlags
213 #  define OptimizedCDebugFlags  DefaultGcc2i386Opt
214 # endif
215 # define LinuxMachineDefines    -D__i386__
216 /* For DtHelp TIFF processing routines. */
217 # define LSBBitOrder             YES
218
219 # if UseElfFormat
220 #  define HasPlugin             YES
221 #  define VendorHasX11R6_3libXext       YES     /* XC or XFree86 3.3.1 */
222 # endif
223 #endif /* i386Architecture */
224
225 #ifdef AMD64Architecture
226 # ifndef OptimizedCDebugFlags
227 #  define OptimizedCDebugFlags  DefaultGcc2i386Opt
228 # endif
229 # define LinuxMachineDefines    -D__x86_64__ 
230 /* For DtHelp TIFF processing routines. */
231 # define LSBBitOrder            YES
232
233 # if UseElfFormat
234 #  define HasPlugin             YES
235 #  define VendorHasX11R6_3libXext       YES     /* XC or XFree86 3.3.1 */
236 # endif
237 #endif /* AMD64Architecture */
238
239 #ifdef PpcArchitecture
240 # ifndef OptimizedCDebugFlags
241 #  define OptimizedCDebugFlags    DefaultGcc2i386Opt
242 # endif
243 # define LinuxMachineDefines     -D__powerpc__
244 #endif /* PpcArchitecture */
245
246 #ifdef AlphaArchitecture
247 # ifndef OptimizedCDebugFlags
248 #  define OptimizedCDebugFlags  DefaultGcc2i386Opt
249 # endif
250 # define LinuxMachineDefines    -D__alpha__
251 #endif /* AlphaArchitecture */
252
253 #ifdef Mc68020Architecture
254 # ifndef OptimizedCDebugFlags
255 #  define OptimizedCDebugFlags  DefaultGcc2i386Opt
256 # endif
257 # define LinuxMachineDefines    -D__mc68000__
258 # define StandardCppDefines      -traditional 
259 #endif /* Mc68020Architecture */
260
261 #define StandardDefines         -Dlinux LinuxMachineDefines LinuxSourceDefines
262
263 #define ConnectionFlags         -DUNIXCONN -DTCPCONN
264
265 XCOMM This is needed for CDE currently
266 #define CplusplusStandardDefines StandardDefines 
267
268 /* Some of these man page defaults are overriden in the above OS sections */
269 #ifndef ManSuffix
270 # define ManSuffix      1x
271 #endif
272 #ifndef ManDir
273 # define ManDir         $(MANSOURCEPATH)1
274 #endif
275 #ifndef LibManSuffix
276 # define LibManSuffix   3x
277 #endif
278 #ifndef LibmanDir
279 # define LibmanDir      $(MANSOURCEPATH)3
280 #endif
281 #ifndef FileManSuffix
282 # define FileManSuffix  5x
283 #endif
284 #ifndef FileManDir
285 # define FileManDir     $(MANSOURCEPATH)5
286 #endif
287
288 #define ArchitectureDefines     -DLINUX_ARCHITECTURE
289
290 #define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
291 #define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
292
293 #include <lnxDep.rules>
294 #include <lnxLib.rules>