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