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