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