OpenBSD.cf 25 KB

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