1XCOMM $Xorg: lynx.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
2
3
4
5
6XCOMM platform:  $XFree86: xc/config/cf/lynx.cf,v 3.47 2003/04/24 22:14:53 herrb Exp $
7
8
9#ifndef OSName
10#define OSName			DefaultOSName
11#endif
12#ifndef OSVendor
13#define OSVendor		(LynuxWorks Inc.)
14#endif
15#ifndef OSMajorVersion
16#define OSMajorVersion		DefaultOSMajorVersion
17#endif
18#ifndef OSMinorVersion
19#define OSMinorVersion		DefaultOSMinorVersion
20#endif
21#ifndef OSTeenyVersion
22#define OSTeenyVersion		DefaultOSTeenyVersion
23#endif
24XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
25
26#ifndef HasSetenv
27#define HasSetenv		NO
28#endif
29
30#if  OSMajorVersion > 2
31#define HasGcc2			YES
32#endif
33
34#ifndef HasGcc2
35#define HasGcc2			NO
36#endif
37
38#if  OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 2)
39# ifndef HasGcc2ForCplusplus
40#  define HasGcc2ForCplusplus	YES
41# endif
42#endif
43#ifndef HasGcc2ForCplusplus
44# define HasGcc2ForCplusplus	YES
45#endif
46#define GccUsesGas		YES
47#define UseGas			YES
48#define GnuCpp			YES
49#define HasShadowPasswd		NO
50#ifndef HasLibCrypt
51# define HasLibCrypt		NO
52#endif
53#define HasPutenv		YES
54#define HasSutenv		NO
55#define HasSnprintf		NO
56#define HasShm			YES
57#define HasSockets		YES
58#define HasVFork		NO
59#define HasVarDirectory		NO
60#if  OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 4)
61# define HasBSD44Sockets 	YES
62#endif
63#define HasStickyDirBit		NO
64#ifndef HasPosixRegex
65# define HasPosixRegex		NO
66#endif
67#ifndef HasPerl
68# define HasPerl		NO
69#endif
70#ifndef HasFreetype2
71# define HasFreetype2		NO
72#endif
73
74#if OSMajorVersion <= 2
75# define USE_MACHINE_ABSOLUTE
76#endif
77
78/* At least on x86 we're seeing spurious server crashes when
79 * using signals (SmartScheduler, SilkenMouse) starting with
80 * LynxOS 3.1.0.
81 */
82#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion == 1)
83# ifndef UseSmartScheduler
84#  define UseSmartScheduler	NO
85# endif
86#endif
87
88#ifdef UseSmartScheduler
89/* pull in real sigio in os-support instead of sigiostubs */
90# define AllowSIGIO		YES
91#endif
92
93#define HasPosixThreads		YES
94#define ThreadedX		YES
95#define HasThreadSafeAPI	YES
96#if HasGcc2
97# if OSMajorVersion == 2 && OSMinorVersion == 3
98#  define ThreadsCompileFlags	-mposix -mthreads
99#  define ThreadsCplusplusCompileFlags	-mposix -mthreads
100# else
101#  define ThreadsCompileFlags	-mthreads
102#  define ThreadsCplusplusCompileFlags	-mthreads
103# endif
104#else
105# define ThreadsCompileFlags	-m
106# define ThreadsCplusplusCompileFlags	-m
107#endif
108#if OSMajorVersion == 2 && OSMinorVersion < 3
109# define ThreadsLibraries /lib/thread/libc.a /lib/thread/libc_p.a
110#endif
111#if (OSMajorVersion == 3 && OSMinorVersion == 0) || (OSMajorVersion == 2 && OSMinorVersion <= 5)
112# define ThreadPreStdAPIDefines	-DXPRE_STANDARD_API
113#endif
114#define AvoidNullMakeCommand	YES
115#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 2)
116#define StripInstalledPrograms	YES
117#else
118/* under LynxOS AT V2.x /bin/strip will leave file.unstripped around
119 * and fail if installing across different file systems
120 */
121#define StripInstalledPrograms	NO
122#endif
123#define CompressAllFonts	YES
124#define Malloc0ReturnsNull	NO
125#define NeedConstPrototypes	YES
126#define NeedFunctionPrototypes	YES
127#define NeedNestedPrototypes	YES
128#define NeedVarargsPrototypes	YES
129#define NeedWidePrototypes	NO
130#define MkdirHierCmd		mkdir -p
131#define DirFailPrefix 		-
132
133#if HasGcc2
134# if OSMajorVersion == 2 && OSMinorVersion == 3
135#  define CplusplusCmd		g++ -mposix
136#  define CcCmd			gcc -mposix
137# else
138#  define CplusplusCmd		g++
139#  define CcCmd			gcc
140# endif
141# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion == 5)
142#  if defined(UseInstalled)
143#   define DefaultCCOptions	-fcommon -D__NO_INCLUDE_WARN__
144#  else
145#   define DefaultCCOptions -ansi -pedantic -fcommon -D__NO_INCLUDE_WARN__ GccWarningOptions
146#  endif
147# endif
148#else
149# define CplusplusCmd		g++
150# define CcCmd			gcc
151# define DefaultCCOptions	-ansi GccWarningOptions
152# define GccGasOption		-DGCCUSESGAS /* For SuperProbe */
153#endif
154#define AsCmd			as
155#define LdCmd			ld
156#define AsmDefines		-DUSE_GAS
157#if OSMajorVersion < 4
158# define CppCmd			/lib/cpp
159#else
160# define CppCmd			/bin/cpp
161#endif
162#define RawCppCmd              CppCmd
163#if !CrossCompiling
164#define YaccCmd			bison -y
165/* make sure we take the right flex on 2.3.0 and 2.4.0 */
166#define LexCmd			/bin/flex
167#endif
168#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 5)
169# define LexLib			-lfl
170#else
171# define LexLib			/**/
172#endif
173#define HasFlex			YES
174/* On LynxOS AT 2.3.0 /lib/libm.a is a symbolic link to /lib/libc.a, so we
175 * screw up some POSIX functionality when -lm comes before -lc_p in our
176 * ld argument list. For LynxOS-AT we don't need -lm but for others we
177 * do (e.g. SPARC)
178 */
179#if OSMajorVersion == 2 && OSMinorVersion == 3
180# define MathLibrary		-lc_p -lm
181# define TermcapLibrary		-lc_p -ltermcap
182#else
183# define MathLibrary		-lm
184# define TermcapLibrary		-ltermcap
185#endif
186#define PreProcessCmd		CcCmd -E
187#if HasGcc2
188# define PostIncDir		DefaultGccIncludeDir
189#endif
190#define LdCombineFlags		-r
191#if HasGcc2
192# ifdef i386Architecture
193#  define OptimizedCDebugFlags	DefaultGcc2i386Opt
194# else
195#  define OptimizedCDebugFlags	-O2
196# endif
197#else
198# define OptimizedCDebugFlags	-O
199#endif
200#if OSMajorVersion == 2 && OSMinorVersion <= 2
201# define StandardDefines		-DLynx -DLynx_22 -DX_NOT_POSIX
202#else
203# if defined(i386Architecture)
204/* need __i386__ for 2.5.0 AT and higher */
205#  if OSMajorVersion <= 3
206#   define StandardDefines		-DLynx -DX_LOCALE -D__i386__ -DNO_MMAP
207#  else
208#   define StandardDefines		-DLynx -DX_LOCALE -D__i386__
209#  endif
210# else
211#  if OSMajorVersion <= 3
212#   define StandardDefines		-DLynx -DX_LOCALE -DNO_MMAP
213#  else
214#   define StandardDefines		-DLynx -DX_LOCALE
215#  endif
216# endif
217#endif
218
219#define StandardCppOptions	-traditional
220#define StandardCppDefines	StandardDefines
221#if defined(i386Architecture) || defined(PpcArchitecture)
222# define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
223# define ServerExtraDefines	-DGCCUSESGAS XFree86ServerDefines
224# if OSMajorVersion == 2 && OSMinorVersion < 5
225#  define XkbServerDefines      -DNEED_POPEN_WORKAROUND
226# endif
227#else
228# if defined(SparcArchitecture)
229#  define SparcConsoleDefines	/* -DPATCHED_CONSOLE */
230#  define ServerOSDefines 	-DDDXOSINIT
231#  define ServerExtraDefines	-DGCCUSESGAS SparcConsoleDefines
232#  define XkbServerDefines	-DXKB_ALWAYS_USES_SOFT_REPEAT
233# else
234#  define ServerOSDefines 	/**/
235#  define ServerExtraDefines	-DGCCUSESGAS
236# endif
237#endif
238#define ServerExtraSysLibs	$(CBRT) MathLibrary
239#define ConnectionFlags		-DUNIXCONN -DTCPCONN
240#if OSMajorVersion <= 2 && OSMinorVersion < 5
241# define ExtraLibraries		-lbsd
242#else
243# define ExtraLibraries		-lbsd -llynx
244#endif
245#if !HasGcc2
246# define ExtraLoadFlags		-k
247#endif
248#if OSMajorVersion == 2 && OSMinorVersion <= 2
249# define XawI18nDefines		-DUSE_XWCHAR_STRING -DUSE_XMBTOWC
250#endif
251
252/* If you have the mtrr driver installed you might want to enable this */
253#ifndef HasMTRRSupport
254#define HasMTRRSupport		NO
255#endif
256
257#if (defined(i386Architecture) || defined(PpcArchitecture)) && (OSMajorVersion > 2 || OSMinorVersion > 2)
258# ifndef DoLoadableServer
259#  define DoLoadableServer	YES
260# endif
261#endif
262
263
264/* define HasMotif to YES for LynxOS with Motif
265 * installed according to the notes in README.LynxOS.
266 */
267#ifndef HasMotif
268# define HasMotif 		NO
269#endif
270#ifndef MetroLink
271/* We handle the Motif stuff elsewhere */
272#if HasMotif
273# ifndef UseInstalledMotif
274#  define UseInstalledMotif	YES
275# endif
276# ifndef SaberProgramTarget
277#  define SaberProgramTarget(program,srclist,objlist,locallibs,syslibs) /**/
278# endif
279# define LocalTmplFile		<Motif.tmpl>
280# define LocalRulesFile		<Motif.rules>
281#endif
282#endif
283
284#define ManSourcePath   $(MANPATH)/cat
285
286#ifndef ManSuffix
287# define ManSuffix	1
288#endif
289#ifndef ManDir
290# define ManDir		$(MANSOURCEPATH)1
291#endif
292#ifndef LibManSuffix
293# define LibManSuffix	3
294#endif
295#ifndef LibmanDir
296# define LibmanDir	$(MANSOURCEPATH)3
297#endif
298#ifndef FileManSuffix
299# define FileManSuffix	5
300#endif
301#ifndef FileManDir
302# define FileManDir	$(MANSOURCEPATH)5
303#endif
304
305#define HasGroff	YES
306
307/* groff 1.09 compiles right out of the box with LynxOS 2.3,
308 * so if you want to have manual pages you should install groff 1.09
309 * before you run 'make install.man'
310 */
311#ifndef InstallManPageLong
312#define InstallManPageLong(file,destdir,dest)                           @@\
313BuildInstallHtmlManPage(file,dest,$(MANSUFFIX))				@@\
314									@@\
315CppManTarget(file, $(EXTRAMANDEFS))					@@\
316									@@\
317install.man:: file.$(MANNEWSUFFIX)                                      @@\
318	MakeDir($(DESTDIR)destdir)					@@\
319	$(RM) $(DESTDIR)destdir/dest.$(MANSUFFIX)*			@@\
320	groff -e -t -man -Tascii file.$(MANNEWSUFFIX) >/tmp/file.man	@@\
321	$(INSTALL) -c $(INSTMANFLAGS) /tmp/file.man $(DESTDIR)destdir/dest.$(MANSUFFIX) @@\
322	echo dest dest $(MANSUFFIX) >> $(DESTDIR)destdir/LIST$(MANSUFFIX) @@\
323	gawk '					\			@@\
324	/^\.SH[ 	]*NAME/ 	{ 	\			@@\
325		getline; sub("\\\\", "(" p ") "); print; exit	\	@@\
326	}' p=$(MANSUFFIX) file.$(MANNEWSUFFIX)  >> $(DESTDIR)destdir/../whatis	@@\
327	$(RM) /tmp/file.man
328#endif
329
330#ifndef InstallManPageAliases
331#define InstallManPageAliases(file,destdir,aliases)                     @@\
332InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX))			@@\
333									@@\
334install.man::                                                           @@\
335	@(SUFFIX=`echo $(DESTDIR)destdir/file.* | cut -f2,3 -d.`; \	@@\
336	for i in aliases; do (set -x; \ 				@@\
337	$(RM) $(DESTDIR)destdir/$$i.*; \				@@\
338	(cd $(DESTDIR)destdir; $(LN) file.$${SUFFIX} \			@@\
339	$$i.$${SUFFIX})); \						@@\
340	echo $$i dest $(MANSUFFIX) >> $(DESTDIR)destdir/LIST$(MANSUFFIX); \ @@\
341	done)
342#endif
343
344#ifndef InstallGenManPageLong
345#define InstallGenManPageLong(file,destdir,dest,suffix)                 @@\
346BuildInstallHtmlManPage(file,dest,suffix)				@@\
347									@@\
348CppManTarget(file, $(EXTRAMANDEFS))					@@\
349									@@\
350install.man:: file.$(MANNEWSUFFIX)                                      @@\
351	MakeDir($(DESTDIR)destdir)					@@\
352	$(RM) $(DESTDIR)destdir/dest.suffix*				@@\
353	groff -e -t -man -Tascii file.$(MANNEWSUFFIX) >/tmp/file.man	@@\
354	$(INSTALL) -c $(INSTMANFLAGS) /tmp/file.man $(DESTDIR)destdir/dest.suffix @@\
355	echo dest dest suffix >> $(DESTDIR)destdir/Concat(LIST,suffix)	 @@\
356	gawk '					\			@@\
357	/^\.SH[ 	]*NAME/ 	{ 	\			@@\
358		getline; sub("\\\\", "(" p ") "); print; exit	\	@@\
359	}' p=suffix file.$(MANNEWSUFFIX)  >> $(DESTDIR)destdir/../whatis	@@\
360	$(RM) /tmp/file.man
361#endif
362
363#ifndef InstallMultipleMan
364#define InstallMultipleMan(list,dest)                                   @@\
365install.man:: list                                                      @@\
366	MakeDir($(DESTDIR)dest)						@@\
367	@case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\
368	for i in list; do \						@@\
369		(MNAME=`echo $$i | cut -f1 -d.`; \			@@\
370		set -x; \						@@\
371		$(RM) $(DESTDIR)dest/$${MNAME}*; \			@@\
372		groff -e -t -man -Tascii $$i >/tmp/$$i; \		@@\
373		$(INSTALL) -c $(INSTMANFLAGS) /tmp/$$i $(DESTDIR)dest/$${MNAME}.$(MANSUFFIX); \      @@\
374		echo $${MNAME} $${MNAME} $(MANSUFFIX) >> $(DESTDIR)dest/LIST$(MANSUFFIX)\  @@\
375		gawk '							\  @@\
376		/^\.SH[ 	]*NAME/ 	{ 			\  @@\
377			getline; sub("\\\\", "(" p ") "); print; exit	\  @@\
378		}' p=$(MANSUFFIX) $$i  >> $(DESTDIR)dest/../whatis	\  @@\
379		$(RM) /tmp/$$i); \					   @@\
380	done
381#endif
382
383/*
384 * Definitions for the SUN server on LynxOS SPARC
385 */
386#ifdef SparcArchitecture
387# define XsunLynxServer			YES
388# define XsunLynxMonoServer		NO
389# ifndef BuildScreenSaverLibrary
390#  define BuildScreenSaverLibrary	YES
391# endif
392# if BuildXInputExt
393#  undef BuildXInputExt
394# endif
395# define BuildXInputExt			NO
396# define BuildXF86MiscExt		NO
397# define BuildXF86VidModeExt		NO
398/*
399 * XFree86 uses its own (more portable) database routines to speed up
400 * the RGB database lookups
401 * However, if you want to use ndbm anyway, you can set that to NO in
402 * site.def
403 */
404# ifndef UseRgbTxt
405#  define UseRgbTxt	YES
406# endif
407#endif
408
409#if !defined(i386Architecture) && !defined(PpcArchitecture)
410# define BuildXF86DGA NO
411#endif
412
413#if 0
414#include <lynxLib.rules>
415#endif
416
417#ifndef UseDeprecatedKeyboardDriver
418#define UseDeprecatedKeyboardDriver YES
419#endif
420
421#include <xorg.cf>
422