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