OpenBSD.cf revision 11d341ca
1XCOMM platform:  $XFree86: xc/config/cf/OpenBSD.cf,v 3.100 2004/01/08 22:51:41 herrb Exp $
2XCOMM $XdotOrg: util/cf/OpenBSD.cf,v 1.12 2005/10/01 16:42:11 herrb Exp $
3XCOMM
4
5#ifndef OSName
6#define OSName			DefaultOSName OSBinaryType
7#endif
8#ifndef OSMajorVersion
9#define OSMajorVersion		DefaultOSMajorVersion
10#endif
11#ifndef OSMinorVersion
12#define OSMinorVersion		DefaultOSMinorVersion
13#endif
14#ifndef OSTeenyVersion
15#define OSTeenyVersion		DefaultOSTeenyVersion
16#endif
17
18#ifndef OSVendor
19#define	OSVendor	/**/
20#endif
21XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
22
23#ifdef Ports
24
25#define BinDir			/usr/local/bin
26#define LibDir			/usr/local/lib/X11
27#define UsrLibDir		/usr/local/lib
28#define ManDirectoryRoot	/usr/local/man
29#define LdPreLib		-L/usr/X11R6/lib -L/usr/local/lib
30#define XpmLibDir		/usr/X11R6/lib
31#define XpmIncDir		/usr/X11R6/include
32#define ConfigDir		/usr/X11R6/lib/X11/config
33#define IncRoot			/usr/local/include
34#define TopXInclude		-I/usr/X11R6/include
35#define ImakeCmd		imake -DPorts
36#define DocDir			/usr/local/share/doc
37#define BuildHtmlManPages	NO
38
39#endif
40
41/*
42 * C library features
43 */
44#define HasPoll			YES
45#define HasNdbm         	YES
46#define HasPutenv       	YES
47#define HasSnprintf		YES
48#if OSMajorVersion == 2 && OSMinorVersion >= 4 || OSMajorVersion >= 3
49# define HasStrlcat		YES
50#endif
51#define HasBSD44Sockets 	YES
52#define Malloc0ReturnsNull	NO
53#define SetTtyGroup     	YES
54#define DBMLibrary		/**/
55#define HasLibCrypt		NO
56#define HasShm          	YES
57#define HasWChar32		YES
58#define HasMkstemp		YES
59#define HasSetProcTitle		YES
60#define HasZlib			YES
61#ifndef HasLibpng
62# define HasLibpng		NO
63#endif
64#ifndef HasKrbIV
65# if OSMajorVersion == 2 || OSMajorVersion == 3 && OSMinorVersion < 3
66#  define HasKrbIV		YES
67#  if OSMajorVersion == 2 && OSMinorVersion <= 8
68#   define KrbIVLibraries	-lkrb -lkafs -ldes
69#  endif
70# else
71   /* Kerberos IV was removed after OpenBSD 3.3 */
72#  define HasKrbIV		NO
73# endif
74#endif
75#define HasUsableFileMmap	YES
76#define HasShadowPasswd		NO
77#define IPv6SocketsAlsoIPv4	NO
78
79#define HasArc4Random		YES
80
81#define HasNCurses		YES
82#define NCursesLibName		-lcurses
83#if defined(TermcapLibrary)
84#undef TermcapLibrary
85#endif
86#define TermcapLibrary		-lcurses
87
88#define HasVarRun		YES
89#define HasVarDb		YES
90#define VarLibDir		VarDbDirectory
91
92#define InstallXloadSetGID	NO
93
94#ifndef HasIssetugid
95# if (OSMajorVersion >= 2)
96#  define HasIssetugid		YES
97# endif
98#endif
99
100#ifndef HasMktemp
101# if (OSMajorVersion > 2) || (OSMajorVersion == 2 && OSMinorVersion >= 1)
102#  define HasMktemp		YES
103# else
104#  define HasMktemp		NO
105# endif
106#endif
107
108/* OpenBSD >= 2.7 has getifaddrs() */
109#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 7)
110#define HasGetIfAddrs		YES
111#endif
112
113/* OpenBSD >= 2.8 has setusercontext() */
114#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 7)
115#define HasSetUserContext	YES
116#endif
117
118/* OpenBSD after 2.9 has BSD authentication */
119#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 9)
120# define HasBSDAuth		YES
121#endif
122
123/* OpenBSD 3.0 and later has getpeereid() */
124#if OSMajorVersion >= 3
125# define HasGetpeereid		YES
126#endif
127
128/* OpenBSD 3.0 has APM with kqueue interface */
129#if OSMajorVersion >= 3
130# define HasApmKqueue		YES
131#endif
132
133/* OpenBSD 3.0 has libusb, next versions have libusbhid */
134#if OSMajorVersion >= 3 
135# define HasLibUsb		YES
136# ifndef HasLibUsbHid
137#  if OSMajorVersion == 3 && OSMinorVersion > 0 || OSMajorVersion > 3
138#   define HasLibUsbHid		YES
139#   define UsbHidLib 		-lusbhid
140#  else
141#   define HasLibUsbHid		NO
142#   define UsbHidLib		-lusb
143#  endif
144# endif
145#endif
146
147/*
148 * Compiler Features
149 */
150#define GccUsesGas		YES
151#define UseGas			YES
152#define GnuCpp			YES
153
154#define UseGnuMalloc		NO
155
156#define NeedConstPrototypes	YES
157#define NeedFunctionPrototypes	YES
158#define NeedNestedPrototypes	YES
159#define NeedVarargsPrototypes	YES
160#define NeedWidePrototypes	NO
161
162#define MkdirHierCmd		mkdir -p
163
164#ifndef CppCmd
165#define CppCmd          	/usr/libexec/cpp
166#endif
167#define StandardCppOptions	-traditional
168#define StandardCppDefines	/**/
169#define PreProcessCmd   	CppCmd
170#define PreIncDir		DefaultGccIncludeDir
171
172#ifndef CcCmd
173#define CcCmd 			cc
174#endif
175#ifndef AsCmd
176#define AsCmd			cc -c -x assembler
177#endif
178#ifndef DefaultCCOptions
179#if defined(UseInstalled)
180   /* conform to OpenBSD's habits */
181#  define DefaultCCOptions	$(COPTS)
182#else
183#  ifdef  PpcArchitecture
184#    define DefaultCCOptions	-pipe -fsigned-char GccWarningOptions
185#  else
186#    define DefaultCCOptions 	-pipe GccWarningOptions
187#  endif
188#endif
189#endif
190
191#define GccGasOption 		-DGCCUSESGAS
192#define AsmDefines 		-DUSE_GAS
193
194/* UseElfFormat defaults to YES if __ELF__ set */
195#ifndef UseElfFormat
196# ifdef __ELF__
197#  undef __ELF__			/* other imake files shouldn't care */
198#  define UseElfFormat YES
199# else
200#  define UseElfFormat NO
201# endif
202#endif
203
204/*
205 * Increment shared libraries major numbers if using Gcc Stack Protector
206 * (This introduces an ABI change)
207 */
208#ifndef OverrideShlibRevs
209# define OverrideShlibRevs     ProPoliceSupport
210#endif
211
212#define XawI18nDefines	-DUSE_XWCHAR_STRING -DUSE_XMBTOWC
213
214
215#define	AdmDir			/var/log
216
217#define HasFlex			YES
218
219/* OpenBSD doesn't have gperf in the base install */
220#define DontRebuildGperfOutput	YES
221
222/*
223 * Make & install Features
224 */
225
226#define HasBsdMake		YES
227
228#define BuildCyrillicFonts	YES
229#define GzipFontCompression	YES
230#define DefaultUserPath		/bin:/usr/bin:/usr/local/bin:$(BINDIR)
231#define DefaultSystemPath	/sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)
232
233#define InstUidFlags		-m 4755
234
235#ifdef  InstallCmd
236# undef  InstallCmd
237# define InstallCmd 		/usr/bin/install
238#endif
239
240#ifndef ExtraFilesToClean
241# define ExtraFilesToClean 	*.core
242#endif
243
244/*
245 * Documentation formatting
246 */
247#define NeqnCmd			neqn -Tlatin1
248#define NroffCmd		nroff -Tlatin1
249#define	EqnCmd 			eqn -Tps
250#define HasGroff		YES
251
252#ifndef HasCookieMaker
253#  define HasCookieMaker	YES
254#  define MkCookieCmd \
255	'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
256#endif
257
258
259/*
260 * Man pages need to be formatted when installed, so override the default
261 * imake rules.
262 */
263#define ManSuffix	1
264#define FileManSuffix	5
265#define ManSourcePath	$(MANPATH)/cat
266
267#define InstallManPageLongBase(file,destdir,dest)			@@\
268all:: file.0								@@\
269									@@\
270file.0:: file.$(MANNEWSUFFIX)						@@\
271	@if [ -f file.$(MANNEWSUFFIX) ]; \				@@\
272	then \								@@\
273	cat file.$(MANNEWSUFFIX) | $(NEQN) | $(TBL) | \			@@\
274		$(NROFF) $(MANMACROS) | $(COL) > file.0; \		@@\
275	fi 								@@\
276									@@\
277install.man::                                                           @@\
278	MakeDir($(DESTDIR)destdir)					@@\
279	-@if [ -f file.0 ]; \						@@\
280	then \								@@\
281	$(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\
282	fi								@@\
283									@@\
284clean::									@@\
285	RemoveFile(file.0)
286
287#define InstallManPageLong(file,destdir,dest)				@@\
288BuildInstallHtmlManPage(file,dest,$(MANSUFFIX))				@@\
289									@@\
290CppManTarget(file, $(EXTRAMANDEFS))					@@\
291									@@\
292InstallManPageLongBase(file,destdir,dest)
293
294#define InstallGenManPageLong(file,destdir,dest,suffix)			@@\
295BuildInstallHtmlManPage(file,dest,suffix)				@@\
296									@@\
297CppManTarget(file, $(EXTRAMANDEFS))					@@\
298									@@\
299InstallManPageLongBase(file,destdir,dest)
300
301#define InstallMultipleMan(list,dest)                                   @@\
302install.man:: 								@@\
303	MakeDir($(DESTDIR)dest)						@@\
304	case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\
305	for i in list; do \                                             @@\
306	  (MNAME=`echo $$i | cut -f1 -d.`; \				@@\
307	  set -x; \							@@\
308	  cat $$i | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \		@@\
309		| $(COL) > $${MNAME}.0; \				@@\
310	  $(INSTALL) -c $(INSTMANFLAGS) $${MNAME}.0 \			@@\
311			$(DESTDIR)dest/$${MNAME}.0; \			@@\
312	  $(RM) $${MNAME}.0); \						@@\
313	done
314
315#define InstallMultipleManSuffix(list,dest,suff)                        @@\
316install.man:: 								@@\
317	MakeDir($(DESTDIR)dest)						@@\
318	case '${MFLAGS}' in *[i]*) set +e;; esac; \			@@\
319	for i in list; do \                                             @@\
320	  (set -x; \							@@\
321	  cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \	@@\
322		| $(COL) > $$i.0; \					@@\
323	  $(INSTALL) -c $(INSTMANFLAGS) $$i.0	 \			@@\
324		$(DESTDIR)dest/$$i.0; \					@@\
325	  $(RM) $$i.0 ); \						@@\
326	done
327
328#define InstallManPageAliasesBase(file,destdir,aliases)			@@\
329install.man:: 								@@\
330	@case '${MFLAGS}' in *[i]*) set +e;; esac; \                    @@\
331	for i in aliases; do \                                          @@\
332		(set -x; \						@@\
333		$(RM) $(DESTDIR)destdir/$$i.0;\  			@@\
334		(cd $(DESTDIR)/destdir; $(LN) file.0 $$i.0);\ 		@@\
335		); \							@@\
336	done
337
338#define InstallManPageAliases(file,destdir,aliases)			@@\
339InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX))			@@\
340									@@\
341InstallManPageAliasesBase(file,destdir,aliases)
342
343#define InstallGenManPageAliases(file,destdir,suffix,aliases)		@@\
344InstallHtmlManPageAliases(file,aliases,suffix)				@@\
345									@@\
346InstallManPageAliasesBase(file,destdir,aliases)
347
348
349/*
350 * InstallFontAliases - generate rules to install font aliases
351 *                      databases without comments for X11R5 servers
352 */
353#ifndef InstallFontAliasesNoComment
354#define InstallFontAliasesNoComment(dest)				@@\
355install:: fonts.alias							@@\
356	$(RM) _fonts.alias 						@@\
357	sed -e '/^!/d' -e '/^$$/d' < fonts.alias > _fonts.alias		@@\
358	MakeDir($(DESTDIR)dest)						@@\
359	$(INSTALL) $(INSTALLFLAGS) $(INSTALLDATFLAGS) _fonts.alias \	@@\
360	$(DESTDIR)dest/fonts.alias					@@\
361	$(RM) _fonts.alias
362#endif /* InstallFontAliasesNoComment */
363
364/*
365 * OpenBSD specific Imake Config files
366 */
367#ifndef LocalConfigFiles
368#define LocalConfigFiles \
369	OpenBSDLib.rules OpenBSDLib.tmpl
370#endif
371
372/*
373 * Architecture specific sections - put all architecture dependent
374 * options and setting here into the correct section
375 */
376
377
378/*
379 * Definitions for the alpha architecture
380 */
381#ifdef AlphaArchitecture
382
383# if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
384#  define HasWeakSymbols		YES
385# endif
386
387/* XXX Xvfb currently causes a linker error: */
388/* XXX crtbegin.c(.fini+0x10): relocation truncated to fit: BRADDR text */
389# ifdef XVirtualFramebufferServer
390#  undef XVirtualFramebufferServer
391# endif
392# define XVirtualFramebufferServer	NO
393# ifdef XnestServer
394#  undef XnestServer
395# endif
396# define XnestServer	NO
397
398# if (OSMajorVersion < 3)
399#  define HasSharedLibraries	NO
400# endif
401
402# ifndef XorgServer
403#  if OSMajorVersion == 3 && OSMinorVersion >= 2 || OSMajorVersion > 3
404#    define XorgServer		YES
405#  else
406#    define XorgServer		NO
407#  endif
408# endif
409
410/* Definitions for building the XFree86 server */
411# if XorgServer
412#   ifndef HasNetBSDApertureDriver
413#     define HasNetBSDApertureDriver	YES
414#   endif
415#   define ServerOSDefines	XFree86ServerOSDefines  -DDDXOSINIT
416#   define ServerExtraDefines	GccGasOption -D_XSERVER64 XFree86ServerDefines
417#   define ServerExtraSysLibs	-lalpha
418#   ifndef DoLoadableServer
419#     define DoLoadableServer	YES
420#   endif
421#   define XF86OSCardDrivers	wsfb
422#   ifndef XFree86ConsoleDefines
423#     define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCVT_SUPPORT
424#   endif
425#   define UseMatroxHal		NO	/* Matrox HAL is i386 only */
426
427# endif /* XorgServer */
428
429# include <xorg.cf>
430
431#endif /* AlphaArchitecture */
432
433/*
434 * Definitions for the AMD64 architecture
435 */
436#ifdef AMD64Architecture
437
438# define HasWeakSymbols		YES
439# define HasSharedLibraries	YES
440# define HasDlopen		YES
441
442# define XorgServer		YES
443
444# ifndef DoLoadableServer
445#  define DoLoadableServer	YES
446# endif
447
448# ifndef HasNetBSDApertureDriver
449#  define HasNetBSDApertureDriver	YES
450# endif
451
452# define HasAgpGart		YES
453
454# define ServerExtraSysLibs	-lamd64
455# define ServerExtraDefines	GccGasOption -D_XSERVER64 XFree86ServerDefines
456
457# ifndef XFree86ConsoleDefines
458#  define XFree86ConsoleDefines	-DWSCONS_SUPPORT -DPCVT_SUPPORT
459# endif
460
461# ifndef HasMMXSupport
462#   define HasMMXSupport	YES
463# endif
464
465# ifndef HasX86Support
466#  define HasX86Support		YES
467# endif
468# include <xorg.cf>
469
470#endif /* AMD64Architecture */
471
472/*
473 * Definitions for the i386 architecture
474 */
475#ifdef i386Architecture
476
477# ifndef DoLoadableServer
478#  define DoLoadableServer	YES
479# endif
480
481/* Direct rendering (OpenBSD 3.3 and up). */ 
482# if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2)
483#  ifndef BuildXF86DRI
484#   define BuildXF86DRI			NO
485#  endif 
486# endif 
487
488# define HasWeakSymbols		YES
489
490/* To use the NetBSD Aperture driver */
491# ifndef HasNetBSDApertureDriver
492#  define HasNetBSDApertureDriver	YES
493# endif
494
495/* 2.7 and later have support for setting MTRRs */
496# ifndef HasMTRRSupport
497#  if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 6)
498#   define HasMTRRSupport		YES
499#  else
500#   define HasMTRRSupport		NO
501#  endif
502# endif
503
504/* 
505 * agpgart support (OpenBSD 3.2 and up) 
506 */ 
507# if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 1)
508#  ifndef HasAgpGart 
509#   define HasAgpGart   YES 
510#  endif 
511# endif 
512 
513
514# ifndef DefaultGcc2i386Opt
515#   if (OSMajorVersion == 2 && OSMinorVersion >= 3) || OSMajorVersion > 2
516      /* The GCC strength-reduce bug is fixed for OpenBSD 2.3 and later */
517#     define DefaultGcc2i386Opt	-O2 GccAliasingArgs
518#   endif
519# endif
520# define OptimizedCDebugFlags	DefaultGcc2i386Opt
521# define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME
522# define ServerExtraSysLibs	-li386
523# define LdPostLib		/**/
524# define ServerExtraDefines GccGasOption XFree86ServerDefines
525# ifndef XFree86ConsoleDefines
526#   define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCVT_SUPPORT
527# endif
528
529# define JoystickSupport	NO
530
531/* A hack to work around an optimization problem with gcc 2.95.2 */
532# if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 6)
533#  define GccOptBug295
534# endif
535
536/* No MMX support in OpenBSD/a.out gas */
537# ifndef HasMMXSupport
538#   define HasMMXSupport	UseElfFormat
539# endif
540
541/* for DRI */
542# ifndef HasX86Support
543#  define HasX86Support		UseElfFormat
544# endif
545
546# include <xorg.cf>
547
548#endif /* i386Architecture */
549
550
551/*
552 * Definitions for the m68k architecture (currently amiga, hp300,
553 * mac68k, mvme68k, sun3)
554 */
555#ifdef Mc68020Architecture
556
557/*
558 * Function CSE makes gas -k not recognize external function calls as lazily
559 * resolvable symbols, thus sometimes making ld.so report undefined symbol
560 * errors on symbols found in shared library members that would never be
561 * called.  Ask niklas@openbsd.org for details.
562 */
563
564# define PositionIndependentCFlags -fpic -fno-function-cse
565# define BuildGlxExt		NO
566# define BuildGLXLibrary	YES
567 
568#endif /* Mc68020Architecture */
569
570
571/*
572 * Definitions for the amiga architecture
573 */
574#ifdef AmigaArchitecture
575
576# ifndef BuildServer
577#  define BuildServer		NO
578# endif
579
580# define ServerExtraDefines	-DXFree86Server
581
582# include <xorg.cf>
583
584#endif /* AmigaArchitecture */
585
586
587/*
588 * Definitions for the hp300 architecture
589 */
590#ifdef Hp300Architecture
591
592# ifndef BuildServer
593#  define BuildServer		NO
594# endif
595/* For the X11R5 server */
596# define CompressAllFonts	NO
597# define InstallFontAliases	InstallFontAliasesNoComment
598# define UseRgbTxt		NO
599# define UseRgb			YES
600
601# define ServerExtraDefines	-DXFree86Server
602
603#include <xorg.cf>
604
605#endif /* Hp300Architecture */
606
607
608/*
609 * Definitions for the mac68k architecture
610 */
611#ifdef Mac68kArchitecture
612
613# ifndef BuildServer
614#  define BuildServer		NO
615# endif
616
617# define ServerExtraDefines	-DXFree86Server
618
619# include <xorg.cf>
620
621#endif /* mac68kArchitecture */
622
623
624/*
625 * Definitions for the mvme68k architecture
626 */
627#ifdef Mvme68kArchitecture
628
629# ifndef BuildServer
630#  define BuildServer		NO
631# endif
632
633# define ServerExtraDefines	-DXFree86Server
634
635# include <xorg.cf>
636
637#endif /* Mvme68kArchitecture */
638
639
640/*
641 * Definitions for the sun3 architecture
642 */
643#ifdef Sun3Architecture
644
645# include <xf86.rules>
646
647# define ServerOSDefines       -DDDXOSINIT
648# define BootstrapCFlags       -Dsun3
649# define UnalignedReferencesAllowed	YES /* changes _XtCopyArgs() */
650# define ServerExtraDefines    GccGasOption -Dmc68000 -Dmc68020 \
651				-DXFree86Server -DINCLUDE_CG2_HEADER
652
653# ifndef Xsun24Server
654#  define Xsun24Server		NO
655# endif
656# ifndef XsunServer
657#  define XsunServer		YES
658# endif
659# ifndef XsunMonoServer
660#  define XsunMonoServer	NO
661# endif
662
663#define XkbServerDefines  -DXKB_ALWAYS_USES_SOFT_REPEAT
664
665#endif /* Sun3Architecture */
666
667
668/*
669 * Definitions for the mips architecture (currently arc, pmax)
670 */
671#ifdef MipsArchitecture
672
673 /*
674  * Mips ELF shared libs need some special handling.
675  */
676# define PositionIndependentCFlags
677# define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ | sed 's/\.[0-9]*$$//'`
678# define SharedXtReqs -L$(BUILDLIBDIR) $(XONLYLIB) $(SMLIB) $(ICELIB)
679# define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XLIB)
680
681#endif /* MipsArchitecture */
682
683
684/*
685 * Definitions for the arc architecture
686 */
687#ifdef ArcArchitecture
688
689#  define ServerExtraDefines GccGasOption XFree86ServerDefines
690#  ifndef XFree86ConsoleDefines
691#    define XFree86ConsoleDefines -DPCCONS_SUPPORT
692#  endif
693
694# include <xorg.cf>
695
696#endif /* ArcArchitecture */
697
698
699/*
700 * Definitions for the pmax architecture
701 */
702#ifdef PmaxArchitecture
703
704# include <xf86.rules>
705# ifndef BuildServer
706#  define BuildServer		NO
707# endif
708/* For the X11R5 server */
709# define CompressAllFonts	NO
710# define InstallFontAliases	InstallFontAliasesNoComment
711# define UseRgbTxt		NO
712
713#endif /* PmaxArchitecture */
714
715/*
716 * Definitions for the PowerPC architecture 
717 */
718#ifdef PpcArchitecture
719
720# define XkbServerDefines	-DXKB_ALWAYS_USES_SOFT_REPEAT
721# ifndef XFree86ConsoleDefines
722#   define XFree86ConsoleDefines	-DWSCONS_SUPPORT
723# endif
724
725# if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
726#  define HasWeakSymbols	YES
727# endif
728# ifndef GccWarningOptions
729#  if defined(XFree86Devel) && XFree86Devel
730#   define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
731			  -Wmissing-prototypes -Wmissing-declarations \
732			  -Wnested-externs
733#  else
734#   define GccWarningOptions -Wall -Wpointer-arith
735#  endif
736# endif
737
738# ifndef XorgServer
739#   define XorgServer		YES
740# endif
741
742/* Definitions for building the X server */
743# if XorgServer
744#   define ServerOSDefines	XFree86ServerOSDefines -DDDXOSINIT
745#   define ServerExtraDefines	GccGasOption XFree86ServerDefines
746#   ifndef DoLoadableServer
747#     define DoLoadableServer	YES
748#   endif
749#   define XF86OSCardDrivers	wsfb
750#   ifndef XF86CardDrivers
751#    define XF86CardDrivers	ati mga glint s3virge sis savage\
752				trident chips tdfx \
753				DevelDrivers vga \
754				XF86OSCardDrivers XF86ExtraCardDrivers
755#   endif
756#   ifndef DevelDrivers 
757#    define DevelDrivers nv
758#   endif
759
760# endif /* XorgServer */
761
762# include <xorg.cf>
763
764#endif /* PpcArchitecture */
765
766/*
767 * Definitions for the sparc architecture
768 */
769#ifdef SparcArchitecture
770
771# define BuildXF86MiscExt	NO
772# define BuildMITMiscExt	NO
773
774# if OSMajorVersion > 3 || OSMajorVersion == 3 && OSMinorVersion >= 2
775#  define HasWeakSymbols	YES
776#endif 
777
778# if OSMajorVersion == 2 || OSMajorVersion == 3 && OSMinorVersion < 2
779#  define ServerOSDefines 	-DDDXOSINIT
780#  define ServerExtraDefines	-DAVOID_GLYPHBLT -DPIXPRIV  -DXFree86Server \
781				DebugDefines -DINCLUDE_CG2_HEADER \
782				-DX_BYTE_ORDER=$(X_BYTE_ORDER)
783#  define XOrgServer		NO
784# else
785#  define XorgServer		YES
786# endif 
787
788# if !XorgServer
789
790#  ifndef Xsun24Server
791#   define Xsun24Server		YES
792#  endif
793#  ifndef XsunServer
794#   define XsunServer		YES
795#  endif
796#  ifndef XsunMonoServer
797#   define XsunMonoServer	YES
798#  endif
799#  ifndef InstallXserverSetUID
800#   define InstallXserverSetUID NO
801#  endif
802
803# else /* XF86Server */
804
805#  ifndef Xsun24Server
806#   define Xsun24Server		NO
807#  endif
808#  ifndef XsunServer
809#   define XsunServer		NO
810#  endif
811#  ifndef XsunMonoServer
812#   define XsunMonoServer	NO
813#  endif
814#  ifndef DoLoadableServer
815#    define DoLoadableServer	YES
816#  endif
817
818#  define XF86CardDrivers	wsfb
819#  define XFree86ConsoleDefines -DWSCONS_SUPPORT
820#  define BuildXInputExt	YES
821#  define ServerOSDefines	XFree86ServerOSDefines -DDDXTIME -DDDXOSINIT
822#  define ServerExtraDefines	GccGasOption XFree86ServerDefines
823
824# endif
825
826# define XkbServerDefines	-DXKB_ALWAYS_USES_SOFT_REPEAT
827
828# define BuildXF86VidModeExt	NO
829# define BuildXF86DGA		NO
830# ifndef BuildXInputExt
831#  define BuildXInputExt	NO
832# endif
833# include <xorg.cf>
834
835#endif /* SparcArchitecture */
836
837/*
838 * Definitions for the sparc64 architecture
839 */
840
841#ifdef Sparc64Architecture
842
843# if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
844#  define HasWeakSymbols	YES
845# endif
846
847# ifndef XorgServer
848#  define XorgServer		YES
849# endif
850
851# define ServerExtraDefines	GccGasOption -D_XSERVER64 XFree86ServerDefines
852# define ServerOSDefines	XFree86ServerOSDefines -DDDXOSINIT
853# define XkbServerDefines	-DXKB_ALWAYS_USES_SOFT_REPEAT
854
855# if XorgServer
856#   ifndef DoLoadableServer
857#     define DoLoadableServer	YES
858#   endif
859#   define XF86OSCardDrivers	wsfb
860#   define XFree86ConsoleDefines -DWSCONS_SUPPORT
861# endif
862
863# include <xorg.cf>
864
865#endif /* Sparc64Architecture */
866
867/*
868 * Definitions for the vax architecture
869 */
870#ifdef VaxArchitecture
871
872# ifndef BuildServer
873#  define BuildServer		NO
874# endif
875
876/* For the X11R5 server */
877# define CompressAllFonts	NO
878# define InstallFontAliases	InstallFontAliasesNoComment
879# define UseRgbTxt		NO
880# define UseRgb			YES
881
882# define ServerExtraDefines	-DXFree86Server
883# define UnalignedReferencesAllowed YES
884# define HasSharedLibraries	NO
885# define HasDlopen		NO
886
887# define BuildGlxExt		NO
888# define BuildGLXLibrary	NO
889
890# include <xorg.cf>
891
892#endif /* VaxArchitecture */
893 
894/* End or architecture specific section */
895
896/*
897 * Generic settings for all architectures
898 * which can be overridden by architecture specific sections above
899 */
900
901#ifndef StandardDefines
902# define StandardDefines	-DCSRG_BASED 
903#endif
904
905#if !defined(OptimizedCDebugFlags)
906# define OptimizedCDebugFlags	-O2
907#endif
908
909#ifndef ServerOSDefines
910#  define ServerOSDefines 	/**/
911#endif
912
913#ifndef ServerExtraDefines
914#  define ServerExtraDefines GccGasOption
915#endif
916
917#ifndef HasWeakSymbols
918# define HasWeakSymbols			NO
919#endif
920
921/*
922 * Multi-thread safe libs 
923 */	
924#if HasWeakSymbols == YES && (OSMajorVersion == 2 && OSMinorVersion >= 6 || OSMajorVersion >= 3)
925#  define HasPosixThreads		YES
926#  define ThreadedX			YES
927#  define NeedUIThrStubs		YES
928#  define ThreadsCompileFlag		-pthread
929#  define ThreadsLibraries		-pthread
930#else
931#  define ThreadedX			NO
932#endif
933
934
935/* Set this to YES when getpwuid_r is added to libc_r */
936#define HasThreadSafeAPI		NO
937
938#ifndef ExtraLibraries
939# define ExtraLibraries		/**/
940#endif
941
942#ifndef DoLoadableServer
943#define DoLoadableServer	NO
944#endif
945
946#ifndef XVirtualFramebufferServer
947# undef BuildServer
948# define BuildServer			YES
949# define XVirtualFramebufferServer	YES
950#endif
951
952#ifndef XnestServer
953# undef BuildServer
954# define BuildServer			YES
955# define XnestServer			YES
956#endif
957
958#ifndef BuildScreenSaverLibrary
959# define BuildScreenSaverLibrary	YES
960#endif
961
962#ifndef CompressAllFonts
963# define CompressAllFonts		YES
964#endif
965
966#ifndef SharedLibXdmGreet
967# define SharedLibXdmGreet		NO
968#endif
969
970#define HasFreetype2		NO
971#define HasExpat		NO
972#define	BuildXterm		BuildClients
973
974/*
975 * XFree86 uses its own (more portable) database routines to speed up
976 * the RGB database lookups
977 * However, if you want to use ndbm anyway, you can set that to NO in
978 * host.def
979 */
980#ifndef UseRgbTxt
981# define UseRgbTxt			YES
982#endif
983
984#ifndef OSBinaryType
985# if UseElfFormat
986#  define OSBinaryType			[ELF]
987# else
988#  define OSBinaryType			/**/
989# endif
990#endif
991
992#ifndef HasDlopen
993# define HasDlopen		YES
994#endif
995
996#ifndef DlLibrary
997# if UseElfFormat
998#  if (OSMajorVersion < 3 || OSMajorVersion == 3 && OSMinorVersion == 0)
999#   define DlLibrary -ldl
1000#  else
1001#   define DlLibrary -Wl,--export-dynamic
1002#  endif
1003# else
1004#  define DlLibrary /**/
1005# endif
1006#endif
1007
1008#if !defined(GccWarningOptions)
1009# define GccWarningOptions 		-Wall -Wpointer-arith
1010#endif
1011
1012/* This must come last */
1013#if OSMajorVersion == 2 && OSMinorVersion >= 8 || OSMajorVersion > 2
1014# include <OpenBSDLib.rules>
1015#else
1016# include <bsdLib.rules>
1017#endif
1018