OpenBSD.cf 25 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088
  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 M4Cmd /usr/bin/m4
  238. #define HasGroff YES
  239. #ifndef HasCookieMaker
  240. # define HasCookieMaker YES
  241. # define MkCookieCmd \
  242. 'dd if=/dev/urandom bs=16 count=1 2>/dev/null | hexdump -e \\"%08x\\"'
  243. #endif
  244. /*
  245. * Man pages need to be formatted when installed, so override the default
  246. * imake rules.
  247. */
  248. #define ManSuffix 1
  249. #define FileManSuffix 5
  250. #ifdef Ports
  251. #define ManSourcePath $(MANPATH)/cat
  252. #define InstallManPageLongBase(file,destdir,dest) @@\
  253. all:: file.0 @@\
  254. @@\
  255. file.0:: file.$(MANNEWSUFFIX) @@\
  256. @if [ -f file.$(MANNEWSUFFIX) ]; \ @@\
  257. then \ @@\
  258. cat file.$(MANNEWSUFFIX) | $(NEQN) | $(TBL) | \ @@\
  259. $(NROFF) $(MANMACROS) | $(COL) > file.0; \ @@\
  260. fi @@\
  261. @@\
  262. install.man:: @@\
  263. MakeDir($(DESTDIR)destdir) @@\
  264. -@if [ -f file.0 ]; \ @@\
  265. then \ @@\
  266. $(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\
  267. fi @@\
  268. @@\
  269. clean:: @@\
  270. RemoveFile(file.0)
  271. #define InstallManPageLong(file,destdir,dest) @@\
  272. BuildInstallHtmlManPage(file,dest,$(MANSUFFIX)) @@\
  273. @@\
  274. CppManTarget(file, $(EXTRAMANDEFS)) @@\
  275. @@\
  276. InstallManPageLongBase(file,destdir,dest)
  277. #define InstallGenManPageLong(file,destdir,dest,suffix) @@\
  278. BuildInstallHtmlManPage(file,dest,suffix) @@\
  279. @@\
  280. CppManTarget(file, $(EXTRAMANDEFS)) @@\
  281. @@\
  282. InstallManPageLongBase(file,destdir,dest)
  283. #define InstallMultipleMan(list,dest) @@\
  284. install.man:: @@\
  285. MakeDir($(DESTDIR)dest) @@\
  286. case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
  287. for i in list; do \ @@\
  288. (MNAME=`echo $$i | cut -f1 -d.`; \ @@\
  289. set -x; \ @@\
  290. cat $$i | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \ @@\
  291. | $(COL) > $${MNAME}.0; \ @@\
  292. $(INSTALL) -c $(INSTMANFLAGS) $${MNAME}.0 \ @@\
  293. $(DESTDIR)dest/$${MNAME}.0; \ @@\
  294. $(RM) $${MNAME}.0); \ @@\
  295. done
  296. #define InstallMultipleManSuffix(list,dest,suff) @@\
  297. install.man:: @@\
  298. MakeDir($(DESTDIR)dest) @@\
  299. case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
  300. for i in list; do \ @@\
  301. (set -x; \ @@\
  302. cat $$i.suff | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) \ @@\
  303. | $(COL) > $$i.0; \ @@\
  304. $(INSTALL) -c $(INSTMANFLAGS) $$i.0 \ @@\
  305. $(DESTDIR)dest/$$i.0; \ @@\
  306. $(RM) $$i.0 ); \ @@\
  307. done
  308. #define InstallManPageAliasesBase(file,destdir,aliases) @@\
  309. install.man:: @@\
  310. @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
  311. for i in aliases; do \ @@\
  312. (set -x; \ @@\
  313. $(RM) $(DESTDIR)destdir/$$i.0;\ @@\
  314. (cd $(DESTDIR)/destdir; $(LN) file.0 $$i.0);\ @@\
  315. ); \ @@\
  316. done
  317. #else /* Ports */
  318. #define InstallManPageAliasesBase(file,destdir,aliases) @@\
  319. install.man:: @@\
  320. @SUFFIX=${MANSUFFIX}; \ @@\
  321. for i in aliases; do \ @@\
  322. (set -x; \ @@\
  323. $(RM) $(DESTDIR)destdir/$$i.*; \ @@\
  324. (cd $(DESTDIR)destdir; $(LN) file.$${SUFFIX} \ @@\
  325. $$i.$${SUFFIX})); \ @@\
  326. done
  327. #endif /* Ports */
  328. #define InstallManPageAliases(file,destdir,aliases) @@\
  329. InstallHtmlManPageAliases(file,aliases,$(MANSUFFIX)) @@\
  330. @@\
  331. InstallManPageAliasesBase(file,destdir,aliases)
  332. #define InstallGenManPageAliases(file,destdir,suffix,aliases) @@\
  333. InstallHtmlManPageAliases(file,aliases,suffix) @@\
  334. @@\
  335. InstallManPageAliasesBase(file,destdir,aliases)
  336. /*
  337. * InstallFontAliases - generate rules to install font aliases
  338. * databases without comments for X11R5 servers
  339. */
  340. #ifndef InstallFontAliasesNoComment
  341. #define InstallFontAliasesNoComment(dest) @@\
  342. install:: fonts.alias @@\
  343. $(RM) _fonts.alias @@\
  344. sed -e '/^!/d' -e '/^$$/d' < fonts.alias > _fonts.alias @@\
  345. MakeDir($(DESTDIR)dest) @@\
  346. $(INSTALL) $(INSTALLFLAGS) $(INSTALLDATFLAGS) _fonts.alias \ @@\
  347. $(DESTDIR)dest/fonts.alias @@\
  348. $(RM) _fonts.alias
  349. #endif /* InstallFontAliasesNoComment */
  350. /*
  351. * OpenBSD specific Imake Config files
  352. */
  353. #ifndef LocalConfigFiles
  354. #define LocalConfigFiles \
  355. OpenBSDLib.rules OpenBSDLib.tmpl
  356. #endif
  357. /*
  358. * Architecture specific sections - put all architecture dependent
  359. * options and setting here into the correct section
  360. */
  361. /*
  362. * Definitions for the alpha architecture
  363. */
  364. #ifdef AlphaArchitecture
  365. # if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
  366. # define HasWeakSymbols YES
  367. # endif
  368. /* XXX Xvfb currently causes a linker error: */
  369. /* XXX crtbegin.c(.fini+0x10): relocation truncated to fit: BRADDR text */
  370. # ifdef XVirtualFramebufferServer
  371. # undef XVirtualFramebufferServer
  372. # endif
  373. # define XVirtualFramebufferServer NO
  374. # ifdef XnestServer
  375. # undef XnestServer
  376. # endif
  377. # define XnestServer NO
  378. # if (OSMajorVersion < 3)
  379. # define HasSharedLibraries NO
  380. # endif
  381. # ifndef XorgServer
  382. # if OSMajorVersion == 3 && OSMinorVersion >= 2 || OSMajorVersion > 3
  383. # define XorgServer YES
  384. # else
  385. # define XorgServer NO
  386. # endif
  387. # endif
  388. /* Definitions for building the XFree86 server */
  389. # if XorgServer
  390. # ifndef HasNetBSDApertureDriver
  391. # define HasNetBSDApertureDriver YES
  392. # endif
  393. # define ServerOSDefines XFree86ServerOSDefines -DDDXOSINIT
  394. # define ServerExtraDefines GccGasOption -D_XSERVER64 XFree86ServerDefines
  395. # define ServerExtraSysLibs -lalpha
  396. # ifndef DoLoadableServer
  397. # define DoLoadableServer YES
  398. # endif
  399. # define XF86OSCardDrivers wsfb
  400. # ifndef XFree86ConsoleDefines
  401. # define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCVT_SUPPORT
  402. # endif
  403. # define UseMatroxHal NO /* Matrox HAL is i386 only */
  404. # endif /* XorgServer */
  405. #endif /* AlphaArchitecture */
  406. /*
  407. * Definitions for the AMD64 architecture
  408. */
  409. #ifdef AMD64Architecture
  410. # define HasWeakSymbols YES
  411. # define XorgServer YES
  412. # ifndef DoLoadableServer
  413. # define DoLoadableServer YES
  414. # endif
  415. # ifndef HasNetBSDApertureDriver
  416. # define HasNetBSDApertureDriver YES
  417. # endif
  418. # define HasAgpGart YES
  419. # ifndef DefaultGcc2i386Opt
  420. # define DefaultGcc2i386Opt -O2 -fno-strict-aliasing
  421. # endif
  422. # ifndef OptimizedCDebugFlags
  423. # define OptimizedCDebugFlags DefaultGcc2i386Opt
  424. # endif
  425. # define LdPostLib -L/usr/X11R6/lib -L/usr/local/lib
  426. # define ServerExtraSysLibs -lamd64
  427. # define ServerExtraDefines GccGasOption -D_XSERVER64 XFree86ServerDefines
  428. # ifndef XFree86ConsoleDefines
  429. # define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCVT_SUPPORT
  430. # endif
  431. # ifndef HasMMXSupport
  432. # define HasMMXSupport YES
  433. # endif
  434. # ifndef HasX86Support
  435. # define HasX86Support YES
  436. # endif
  437. /* For DtHelp TIFF processing routines. */
  438. #define LSBBitOrder YES
  439. #endif /* AMD64Architecture */
  440. /*
  441. * Definitions for the i386 architecture
  442. */
  443. #ifdef i386Architecture
  444. # ifndef DoLoadableServer
  445. # define DoLoadableServer YES
  446. # endif
  447. /* Direct rendering (OpenBSD 3.3 and up). */
  448. # if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 2)
  449. # ifndef BuildXF86DRI
  450. # define BuildXF86DRI NO
  451. # endif
  452. # endif
  453. # define HasWeakSymbols YES
  454. /* To use the NetBSD Aperture driver */
  455. # ifndef HasNetBSDApertureDriver
  456. # define HasNetBSDApertureDriver YES
  457. # endif
  458. /* 2.7 and later have support for setting MTRRs */
  459. # ifndef HasMTRRSupport
  460. # if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 6)
  461. # define HasMTRRSupport YES
  462. # else
  463. # define HasMTRRSupport NO
  464. # endif
  465. # endif
  466. /*
  467. * agpgart support (OpenBSD 3.2 and up)
  468. */
  469. # if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion > 1)
  470. # ifndef HasAgpGart
  471. # define HasAgpGart YES
  472. # endif
  473. # endif
  474. # ifndef DefaultGcc2i386Opt
  475. # if (OSMajorVersion == 2 && OSMinorVersion >= 3) || OSMajorVersion > 2
  476. /* The GCC strength-reduce bug is fixed for OpenBSD 2.3 and later */
  477. # define DefaultGcc2i386Opt -O2 -fno-strict-aliasing
  478. # endif
  479. # endif
  480. # ifndef OptimizedCDebugFlags
  481. # define OptimizedCDebugFlags DefaultGcc2i386Opt
  482. # endif
  483. # define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
  484. # define ServerExtraSysLibs -li386
  485. # define LdPostLib -L/usr/X11R6/lib -L/usr/local/lib
  486. # define ServerExtraDefines GccGasOption XFree86ServerDefines
  487. # ifndef XFree86ConsoleDefines
  488. # define XFree86ConsoleDefines -DWSCONS_SUPPORT -DPCVT_SUPPORT
  489. # endif
  490. # define JoystickSupport NO
  491. /* A hack to work around an optimization problem with gcc 2.95.2 */
  492. # if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion >= 6)
  493. # define GccOptBug295
  494. # endif
  495. /* No MMX support in OpenBSD/a.out gas */
  496. # ifndef HasMMXSupport
  497. # define HasMMXSupport UseElfFormat
  498. # endif
  499. /* for DRI */
  500. # ifndef HasX86Support
  501. # define HasX86Support UseElfFormat
  502. # endif
  503. /* For DtHelp TIFF processing routines. */
  504. #define LSBBitOrder YES
  505. #endif /* i386Architecture */
  506. /*
  507. * Definitions for the m68k architecture (currently amiga, hp300,
  508. * mac68k, mvme68k, sun3)
  509. */
  510. #ifdef Mc68020Architecture
  511. /*
  512. * Function CSE makes gas -k not recognize external function calls as lazily
  513. * resolvable symbols, thus sometimes making ld.so report undefined symbol
  514. * errors on symbols found in shared library members that would never be
  515. * called. Ask niklas@openbsd.org for details.
  516. */
  517. # define PositionIndependentCFlags -fpic -fno-function-cse
  518. # define BuildGlxExt NO
  519. # define BuildGLXLibrary YES
  520. #endif /* Mc68020Architecture */
  521. /*
  522. * Definitions for the amiga architecture
  523. */
  524. #ifdef AmigaArchitecture
  525. # ifndef BuildServer
  526. # define BuildServer NO
  527. # endif
  528. # define ServerExtraDefines -DXFree86Server
  529. #endif /* AmigaArchitecture */
  530. /*
  531. * Definitions for the hp300 architecture
  532. */
  533. #ifdef Hp300Architecture
  534. # ifndef BuildServer
  535. # define BuildServer NO
  536. # endif
  537. /* For the X11R5 server */
  538. # define CompressAllFonts NO
  539. # define InstallFontAliases InstallFontAliasesNoComment
  540. # define UseRgbTxt NO
  541. # define UseRgb YES
  542. # define ServerExtraDefines -DXFree86Server
  543. #endif /* Hp300Architecture */
  544. /*
  545. * Definitions for the mac68k architecture
  546. */
  547. #ifdef Mac68kArchitecture
  548. # ifndef BuildServer
  549. # define BuildServer NO
  550. # endif
  551. # define ServerExtraDefines -DXFree86Server
  552. #endif /* mac68kArchitecture */
  553. /*
  554. * Definitions for the mvme68k architecture
  555. */
  556. #ifdef Mvme68kArchitecture
  557. # ifndef BuildServer
  558. # define BuildServer NO
  559. # endif
  560. # define ServerExtraDefines -DXFree86Server
  561. #endif /* Mvme68kArchitecture */
  562. /*
  563. * Definitions for the sun3 architecture
  564. */
  565. #ifdef Sun3Architecture
  566. # include <xf86.rules>
  567. # define ServerOSDefines -DDDXOSINIT
  568. # define BootstrapCFlags -Dsun3
  569. # define UnalignedReferencesAllowed YES /* changes _XtCopyArgs() */
  570. # define ServerExtraDefines GccGasOption -Dmc68000 -Dmc68020 \
  571. -DXFree86Server -DINCLUDE_CG2_HEADER
  572. # ifndef Xsun24Server
  573. # define Xsun24Server NO
  574. # endif
  575. # ifndef XsunServer
  576. # define XsunServer YES
  577. # endif
  578. # ifndef XsunMonoServer
  579. # define XsunMonoServer NO
  580. # endif
  581. #define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
  582. #endif /* Sun3Architecture */
  583. /*
  584. * Definitions for the mips architecture (currently sgi)
  585. */
  586. #ifdef MipsArchitecture
  587. # define HasWeakSymbols YES
  588. # define XorgServer YES
  589. # if XorgServer
  590. # ifndef DoLoadableServer
  591. # define DoLoadableServer YES
  592. # endif
  593. # define XF86CardDrivers wsfb
  594. # define XFree86ConsoleDefines -DWSCONS_SUPPORT
  595. # endif
  596. #endif /* MipsArchitecture */
  597. /*
  598. * Definitions for the PowerPC architecture
  599. */
  600. #ifdef PpcArchitecture
  601. # define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
  602. # ifndef XFree86ConsoleDefines
  603. # define XFree86ConsoleDefines -DWSCONS_SUPPORT
  604. # endif
  605. # if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
  606. # define HasWeakSymbols YES
  607. # endif
  608. # ifndef GccWarningOptions
  609. # if defined(XFree86Devel) && XFree86Devel
  610. # define GccWarningOptions -Wall -Wpointer-arith -Wstrict-prototypes \
  611. -Wmissing-prototypes -Wmissing-declarations \
  612. -Wnested-externs
  613. # else
  614. # define GccWarningOptions -Wall -Wpointer-arith
  615. # endif
  616. # endif
  617. # ifndef XorgServer
  618. # define XorgServer YES
  619. # endif
  620. /* Definitions for building the X server */
  621. # if XorgServer
  622. # define ServerOSDefines XFree86ServerOSDefines -DDDXOSINIT
  623. # define ServerExtraDefines GccGasOption XFree86ServerDefines
  624. # ifndef DoLoadableServer
  625. # define DoLoadableServer YES
  626. # endif
  627. # define XF86OSCardDrivers wsfb
  628. # ifndef XF86CardDrivers
  629. # define XF86CardDrivers ati mga glint s3virge sis savage\
  630. trident chips tdfx \
  631. DevelDrivers vga \
  632. XF86OSCardDrivers XF86ExtraCardDrivers
  633. # endif
  634. # ifndef DevelDrivers
  635. # define DevelDrivers nv
  636. # endif
  637. # endif /* XorgServer */
  638. #endif /* PpcArchitecture */
  639. /*
  640. * Definitions for the sparc architecture
  641. */
  642. #ifdef SparcArchitecture
  643. # define BuildXF86MiscExt NO
  644. # define BuildMITMiscExt NO
  645. # if OSMajorVersion > 3 || OSMajorVersion == 3 && OSMinorVersion >= 2
  646. # define HasWeakSymbols YES
  647. #endif
  648. # if OSMajorVersion == 2 || OSMajorVersion == 3 && OSMinorVersion < 2
  649. # define ServerOSDefines -DDDXOSINIT
  650. # define ServerExtraDefines -DAVOID_GLYPHBLT -DPIXPRIV -DXFree86Server \
  651. DebugDefines -DINCLUDE_CG2_HEADER \
  652. -DX_BYTE_ORDER=$(X_BYTE_ORDER)
  653. # define XOrgServer NO
  654. # else
  655. # define XorgServer YES
  656. # endif
  657. # if !XorgServer
  658. # ifndef Xsun24Server
  659. # define Xsun24Server YES
  660. # endif
  661. # ifndef XsunServer
  662. # define XsunServer YES
  663. # endif
  664. # ifndef XsunMonoServer
  665. # define XsunMonoServer YES
  666. # endif
  667. # ifndef InstallXserverSetUID
  668. # define InstallXserverSetUID NO
  669. # endif
  670. # else /* XF86Server */
  671. # ifndef Xsun24Server
  672. # define Xsun24Server NO
  673. # endif
  674. # ifndef XsunServer
  675. # define XsunServer NO
  676. # endif
  677. # ifndef XsunMonoServer
  678. # define XsunMonoServer NO
  679. # endif
  680. # ifndef DoLoadableServer
  681. # define DoLoadableServer YES
  682. # endif
  683. # define XF86CardDrivers wsfb
  684. # define XFree86ConsoleDefines -DWSCONS_SUPPORT
  685. # define BuildXInputExt YES
  686. # define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DDDXOSINIT
  687. # define ServerExtraDefines GccGasOption XFree86ServerDefines
  688. # endif
  689. # define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
  690. # define BuildXF86VidModeExt NO
  691. # define BuildXF86DGA NO
  692. # ifndef BuildXInputExt
  693. # define BuildXInputExt NO
  694. # endif
  695. #endif /* SparcArchitecture */
  696. /*
  697. * Definitions for the sparc64 architecture
  698. */
  699. #ifdef Sparc64Architecture
  700. # if OSMajorVersion == 3 && OSMinorVersion > 1 || OSMajorVersion > 3
  701. # define HasWeakSymbols YES
  702. # endif
  703. # ifndef XorgServer
  704. # define XorgServer YES
  705. # endif
  706. # define ServerExtraDefines GccGasOption -D_XSERVER64 XFree86ServerDefines
  707. # define ServerOSDefines XFree86ServerOSDefines -DDDXOSINIT
  708. # define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
  709. # if XorgServer
  710. # ifndef DoLoadableServer
  711. # define DoLoadableServer YES
  712. # endif
  713. # define XF86OSCardDrivers wsfb
  714. # define XFree86ConsoleDefines -DWSCONS_SUPPORT
  715. # endif
  716. #endif /* Sparc64Architecture */
  717. /*
  718. * Definitions for the vax architecture
  719. */
  720. #ifdef VaxArchitecture
  721. # ifndef BuildServer
  722. # define BuildServer NO
  723. # endif
  724. /* For the X11R5 server */
  725. # define CompressAllFonts NO
  726. # define InstallFontAliases InstallFontAliasesNoComment
  727. # define UseRgbTxt NO
  728. # define UseRgb YES
  729. # define ServerExtraDefines -DXFree86Server
  730. # define UnalignedReferencesAllowed YES
  731. # define HasSharedLibraries NO
  732. # define HasDlopen NO
  733. # define BuildGlxExt NO
  734. # define BuildGLXLibrary NO
  735. #endif /* VaxArchitecture */
  736. /* End or architecture specific section */
  737. /*
  738. * Generic settings for all architectures
  739. * which can be overridden by architecture specific sections above
  740. */
  741. #ifdef HasGcc2ForCplusplus
  742. CXXDEPENDINCLUDE != CcCmd -v -x c++ /dev/null -fsyntax-only \
  743. 2>&1 | sed -n 's/^ \(\/.*[cg]++.*\)/-I\1/p'
  744. #define CplusplusDependIncludes $(CXXDEPENDINCLUDE)
  745. #endif
  746. #ifndef StandardDefines
  747. # define StandardDefines -DCSRG_BASED
  748. #endif
  749. #ifndef StandardIncludes
  750. # define StandardIncludes -I/usr/X11R6/include -I/usr/local/include
  751. #endif
  752. #ifndef TopMotifInclude
  753. # define TopMotifInclude /usr/local/include
  754. #endif
  755. #if !defined(OptimizedCDebugFlags)
  756. # define OptimizedCDebugFlags -O2
  757. #endif
  758. #ifndef ServerOSDefines
  759. # define ServerOSDefines /**/
  760. #endif
  761. #ifndef ServerExtraDefines
  762. # define ServerExtraDefines GccGasOption
  763. #endif
  764. #ifndef HasWeakSymbols
  765. # define HasWeakSymbols NO
  766. #endif
  767. /*
  768. * Multi-thread safe libs
  769. */
  770. /* #if HasWeakSymbols == YES && (OSMajorVersion == 2 && OSMinorVersion >= 6 || OSMajorVersion >= 3)
  771. # define HasPosixThreads YES
  772. # define ThreadedX YES
  773. # define NeedUIThrStubs YES
  774. # define ThreadsCompileFlag -pthread
  775. # define ThreadsLibraries -pthread
  776. # define SystemMTDefines -D_REENTRANT
  777. #else */
  778. # define ThreadedX NO
  779. /* #endif */
  780. /* Set this to YES when getpwuid_r is added to libc_r */
  781. #define HasThreadSafeAPI NO
  782. #ifndef ExtraLibraries
  783. # define ExtraLibraries /**/
  784. #endif
  785. #ifndef DoLoadableServer
  786. #define DoLoadableServer NO
  787. #endif
  788. #ifndef XVirtualFramebufferServer
  789. # undef BuildServer
  790. # define BuildServer YES
  791. # define XVirtualFramebufferServer YES
  792. #endif
  793. #ifndef XnestServer
  794. # undef BuildServer
  795. # define BuildServer YES
  796. # define XnestServer YES
  797. #endif
  798. #ifndef BuildScreenSaverLibrary
  799. # define BuildScreenSaverLibrary YES
  800. #endif
  801. #ifndef CompressAllFonts
  802. # define CompressAllFonts YES
  803. #endif
  804. #ifndef SharedLibXdmGreet
  805. # define SharedLibXdmGreet NO
  806. #endif
  807. #define HasFreetype2 NO
  808. #define HasExpat NO
  809. #define BuildXterm BuildClients
  810. /*
  811. * XFree86 uses its own (more portable) database routines to speed up
  812. * the RGB database lookups
  813. * However, if you want to use ndbm anyway, you can set that to NO in
  814. * host.def
  815. */
  816. #ifndef UseRgbTxt
  817. # define UseRgbTxt YES
  818. #endif
  819. #ifndef OSBinaryType
  820. # if UseElfFormat
  821. # define OSBinaryType [ELF]
  822. # else
  823. # define OSBinaryType /**/
  824. # endif
  825. #endif
  826. #ifndef HasDlopen
  827. # define HasDlopen YES
  828. #endif
  829. #ifndef DlLibrary
  830. # if UseElfFormat
  831. # if (OSMajorVersion < 3 || OSMajorVersion == 3 && OSMinorVersion == 0)
  832. # define DlLibrary -ldl
  833. # else
  834. # define DlLibrary -Wl,--export-dynamic
  835. # endif
  836. # else
  837. # define DlLibrary /**/
  838. # endif
  839. #endif
  840. /* Suppress warnings dependant from compiler versions */
  841. #if !defined(GccWarningOptions)
  842. # if (defined __clang__)
  843. # define GccWarningOptions -Wpointer-arith -Wno-unused -Wno-write-strings -Wno-switch -Wno-unused-result
  844. # else
  845. # define GccWarningOptions -Wpointer-arith -Wno-unused -Wno-write-strings -Wno-switch
  846. # endif
  847. #endif
  848. #define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
  849. #define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
  850. #define CplusplusLibC -lstdc++
  851. #ifndef CplusplusOptions
  852. #define CplusplusOptions GccWarningOptions
  853. #endif
  854. #ifndef LibraryCplusplusOptions
  855. #define LibraryCplusplusOptions GccWarningOptions
  856. #endif
  857. #define DependFileName .depend
  858. #define ArchitectureDefines -DOPENBSD_ARCHITECTURE
  859. #define BuildLibPathVar LD_LIBRARY_PATH
  860. ICONVSYSLIB != if test -f /usr/local/include/iconv.h; then echo -liconv; else echo; fi
  861. #ifndef KornShell
  862. #define KornShell /usr/local/bin/ksh93
  863. #endif
  864. #ifndef DtKornShell
  865. #define DtKornShell /usr/local/dt/bin/dtksh
  866. #endif
  867. #define AvoidNullMakeCommand YES
  868. /* This must come last */
  869. #include <bsdLib.rules>