home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / include / wx / chkconf.h < prev    next >
C/C++ Source or Header  |  2002-06-11  |  32KB  |  1,173 lines

  1. /*
  2.  * Name:        wx/chkconf.h
  3.  * Purpose:     check the config settings for consistency
  4.  * Author:      Vadim Zeitlin
  5.  * Modified by:
  6.  * Created:     09.08.00
  7.  * RCS-ID:      $Id: chkconf.h,v 1.32 2002/06/07 17:56:53 VS Exp $
  8.  * Copyright:   (c) 2000 Vadim Zeitlin <vadim@wxwindows.org>
  9.  * Licence:     wxWindows license
  10.  */
  11.  
  12. /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
  13.  
  14. /*
  15.    this global setting determintes what should we do if the setting FOO
  16.    requires BAR and BAR is not set: we can either silently define BAR
  17.    (default, recommended) or give an error and abort (mainly useful for
  18.    developpers only)
  19.  */
  20. #define wxABORT_ON_CONFIG_ERROR
  21.  
  22. /*
  23.    global features
  24.  */
  25.  
  26. /* GUI build by default */
  27. #if !defined(wxUSE_GUI)
  28. #   define wxUSE_GUI 1
  29. #endif /* !defined(wxUSE_GUI) */
  30.  
  31. /* wxBase doesn't need compatibility settings as it's a new port */
  32. #if !wxUSE_GUI
  33. #   undef WXWIN_COMPATIBILITY
  34. #   undef WXWIN_COMPATIBILITY_2
  35. #   undef WXWIN_COMPATIBILITY_2_2
  36. #   define WXWIN_COMPATIBILITY 0
  37. #   define WXWIN_COMPATIBILITY_2 0
  38. #   define WXWIN_COMPATIBILITY_2_2 0
  39. #endif /* !wxUSE_GUI */
  40.  
  41. /*
  42.    tests for non GUI features
  43.  */
  44.  
  45. #ifndef wxUSE_DYNLIB_CLASS
  46. #   ifdef wxABORT_ON_CONFIG_ERROR
  47. #       error "wxUSE_DYNLIB_CLASS must be defined."
  48. #   else
  49. #       define wxUSE_DYNLIB_CLASS 0
  50. #   endif
  51. #endif /* !defined(wxUSE_DYNLIB_CLASS) */
  52.  
  53. #ifndef wxUSE_FILESYSTEM
  54. #   ifdef wxABORT_ON_CONFIG_ERROR
  55. #       error "wxUSE_FILESYSTEM must be defined."
  56. #   else
  57. #       define wxUSE_FILESYSTEM 0
  58. #   endif
  59. #endif /* !defined(wxUSE_FILESYSTEM) */
  60.  
  61. /* don't give an error about this one yet, it's not fully implemented */
  62. #ifndef wxUSE_FSVOLUME
  63. #   define wxUSE_FSVOLUME 0
  64. #endif /* !defined(wxUSE_FSVOLUME) */
  65.  
  66. #ifndef wxUSE_DYNAMIC_LOADER
  67. #   ifdef wxABORT_ON_CONFIG_ERROR
  68. #       error "wxUSE_DYNAMIC_LOADER must be defined."
  69. #   else
  70. #       define wxUSE_DYNAMIC_LOADER 0
  71. #   endif
  72. #endif /* !defined(wxUSE_DYNAMIC_LOADER) */
  73.  
  74. #ifndef wxUSE_LOG
  75. #   ifdef wxABORT_ON_CONFIG_ERROR
  76. #       error "wxUSE_LOG must be defined."
  77. #   else
  78. #       define wxUSE_LOG 0
  79. #   endif
  80. #endif /* !defined(wxUSE_LOG) */
  81.  
  82. #ifndef wxUSE_LONGLONG
  83. #   ifdef wxABORT_ON_CONFIG_ERROR
  84. #       error "wxUSE_LONGLONG must be defined."
  85. #   else
  86. #       define wxUSE_LONGLONG 0
  87. #   endif
  88. #endif /* !defined(wxUSE_LONGLONG) */
  89.  
  90. #ifndef wxUSE_MIMETYPE
  91. #   ifdef wxABORT_ON_CONFIG_ERROR
  92. #       error "wxUSE_MIMETYPE must be defined."
  93. #   else
  94. #       define wxUSE_MIMETYPE 0
  95. #   endif
  96. #endif /* !defined(wxUSE_MIMETYPE) */
  97.  
  98. #ifndef wxUSE_PROTOCOL
  99. #   ifdef wxABORT_ON_CONFIG_ERROR
  100. #       error "wxUSE_PROTOCOL must be defined."
  101. #   else
  102. #       define wxUSE_PROTOCOL 0
  103. #   endif
  104. #endif /* !defined(wxUSE_PROTOCOL) */
  105.  
  106. /* we may not define wxUSE_PROTOCOL_XXX if wxUSE_PROTOCOL is set to 0 */
  107. #if !wxUSE_PROTOCOL
  108. #   undef wxUSE_PROTOCOL_HTTP
  109. #   undef wxUSE_PROTOCOL_FTP
  110. #   undef wxUSE_PROTOCOL_FILE
  111. #   define wxUSE_PROTOCOL_HTTP 0
  112. #   define wxUSE_PROTOCOL_FTP 0
  113. #   define wxUSE_PROTOCOL_FILE 0
  114. #endif /* wxUSE_PROTOCOL */
  115.  
  116. #ifndef wxUSE_PROTOCOL_HTTP
  117. #   ifdef wxABORT_ON_CONFIG_ERROR
  118. #       error "wxUSE_PROTOCOL_HTTP must be defined."
  119. #   else
  120. #       define wxUSE_PROTOCOL_HTTP 0
  121. #   endif
  122. #endif /* !defined(wxUSE_PROTOCOL_HTTP) */
  123.  
  124. #ifndef wxUSE_PROTOCOL_FTP
  125. #   ifdef wxABORT_ON_CONFIG_ERROR
  126. #       error "wxUSE_PROTOCOL_FTP must be defined."
  127. #   else
  128. #       define wxUSE_PROTOCOL_FTP 0
  129. #   endif
  130. #endif /* !defined(wxUSE_PROTOCOL_FTP) */
  131.  
  132. #ifndef wxUSE_PROTOCOL_FILE
  133. #   ifdef wxABORT_ON_CONFIG_ERROR
  134. #       error "wxUSE_PROTOCOL_FILE must be defined."
  135. #   else
  136. #       define wxUSE_PROTOCOL_FILE 0
  137. #   endif
  138. #endif /* !defined(wxUSE_PROTOCOL_FILE) */
  139.  
  140. #ifndef wxUSE_REGEX
  141. #   ifdef wxABORT_ON_CONFIG_ERROR
  142. #       error "wxUSE_REGEX must be defined."
  143. #   else
  144. #       define wxUSE_REGEX 0
  145. #   endif
  146. #endif /* !defined(wxUSE_REGEX) */
  147.  
  148. #ifndef wxUSE_SOCKETS
  149. #   ifdef wxABORT_ON_CONFIG_ERROR
  150. #       error "wxUSE_SOCKETS must be defined."
  151. #   else
  152. #       define wxUSE_SOCKETS 0
  153. #   endif
  154. #endif /* !defined(wxUSE_SOCKETS) */
  155.  
  156. #ifndef wxUSE_STREAMS
  157. #   ifdef wxABORT_ON_CONFIG_ERROR
  158. #       error "wxUSE_STREAMS must be defined."
  159. #   else
  160. #       define wxUSE_STREAMS 0
  161. #   endif
  162. #endif /* !defined(wxUSE_STREAMS) */
  163.  
  164. #ifndef wxUSE_STOPWATCH
  165. #   ifdef wxABORT_ON_CONFIG_ERROR
  166. #       error "wxUSE_STOPWATCH must be defined."
  167. #   else
  168. #       define wxUSE_STOPWATCH 0
  169. #   endif
  170. #endif /* !defined(wxUSE_STOPWATCH) */
  171.  
  172. #ifndef wxUSE_TEXTBUFFER
  173. #   ifdef wxABORT_ON_CONFIG_ERROR
  174. #       error "wxUSE_TEXTBUFFER must be defined."
  175. #   else
  176. #       define wxUSE_TEXTBUFFER 0
  177. #   endif
  178. #endif /* !defined(wxUSE_TEXTBUFFER) */
  179.  
  180. #ifndef wxUSE_TEXTFILE
  181. #   ifdef wxABORT_ON_CONFIG_ERROR
  182. #       error "wxUSE_TEXTFILE must be defined."
  183. #   else
  184. #       define wxUSE_TEXTFILE 0
  185. #   endif
  186. #endif /* !defined(wxUSE_TEXTFILE) */
  187.  
  188. #ifndef wxUSE_UNICODE
  189. #   ifdef wxABORT_ON_CONFIG_ERROR
  190. #       error "wxUSE_UNICODE must be defined."
  191. #   else
  192. #       define wxUSE_UNICODE 0
  193. #   endif
  194. #endif /* !defined(wxUSE_UNICODE) */
  195.  
  196. #ifndef wxUSE_URL
  197. #   ifdef wxABORT_ON_CONFIG_ERROR
  198. #       error "wxUSE_URL must be defined."
  199. #   else
  200. #       define wxUSE_URL 0
  201. #   endif
  202. #endif /* !defined(wxUSE_URL) */
  203.  
  204. /*
  205.    all these tests are for GUI only
  206.  */
  207. #if wxUSE_GUI
  208.  
  209. /*
  210.    all of the settings tested below must be defined or we'd get an error from
  211.    preprocessor about invalid integer expression
  212.  */
  213.  
  214. #ifndef wxUSE_ACCEL
  215. #   ifdef wxABORT_ON_CONFIG_ERROR
  216. #       error "wxUSE_ACCEL must be defined."
  217. #   else
  218. #       define wxUSE_ACCEL 0
  219. #   endif
  220. #endif /* !defined(wxUSE_ACCEL) */
  221.  
  222. #ifndef wxUSE_BMPBUTTON
  223. #   ifdef wxABORT_ON_CONFIG_ERROR
  224. #       error "wxUSE_BMPBUTTON must be defined."
  225. #   else
  226. #       define wxUSE_BMPBUTTON 0
  227. #   endif
  228. #endif /* !defined(wxUSE_BMPBUTTON) */
  229.  
  230. #ifndef wxUSE_BUTTON
  231. #   ifdef wxABORT_ON_CONFIG_ERROR
  232. #       error "wxUSE_BUTTON must be defined."
  233. #   else
  234. #       define wxUSE_BUTTON 0
  235. #   endif
  236. #endif /* !defined(wxUSE_BUTTON) */
  237.  
  238. #ifndef wxUSE_CALENDARCTRL
  239. #   ifdef wxABORT_ON_CONFIG_ERROR
  240. #       error "wxUSE_CALENDARCTRL must be defined."
  241. #   else
  242. #       define wxUSE_CALENDARCTRL 0
  243. #   endif
  244. #endif /* !defined(wxUSE_CALENDARCTRL) */
  245.  
  246. #ifndef wxUSE_CARET
  247. #   ifdef wxABORT_ON_CONFIG_ERROR
  248. #       error "wxUSE_CARET must be defined."
  249. #   else
  250. #       define wxUSE_CARET 0
  251. #   endif
  252. #endif /* !defined(wxUSE_CARET) */
  253.  
  254. #ifndef wxUSE_CHECKBOX
  255. #   ifdef wxABORT_ON_CONFIG_ERROR
  256. #       error "wxUSE_CHECKBOX must be defined."
  257. #   else
  258. #       define wxUSE_CHECKBOX 0
  259. #   endif
  260. #endif /* !defined(wxUSE_CHECKBOX) */
  261.  
  262. #ifndef wxUSE_CHECKLISTBOX
  263. #   ifdef wxABORT_ON_CONFIG_ERROR
  264. #       error "wxUSE_CHECKLISTBOX must be defined."
  265. #   else
  266. #       define wxUSE_CHECKLISTBOX 0
  267. #   endif
  268. #endif /* !defined(wxUSE_CHECKLISTBOX) */
  269.  
  270. #ifndef wxUSE_CHOICE
  271. #   ifdef wxABORT_ON_CONFIG_ERROR
  272. #       error "wxUSE_CHOICE must be defined."
  273. #   else
  274. #       define wxUSE_CHOICE 0
  275. #   endif
  276. #endif /* !defined(wxUSE_CHOICE) */
  277.  
  278. #ifndef wxUSE_CHOICEDLG
  279. #   ifdef wxABORT_ON_CONFIG_ERROR
  280. #       error "wxUSE_CHOICEDLG must be defined."
  281. #   else
  282. #       define wxUSE_CHOICEDLG 0
  283. #   endif
  284. #endif /* !defined(wxUSE_CHOICEDLG) */
  285.  
  286. #ifndef wxUSE_CLIPBOARD
  287. #   ifdef wxABORT_ON_CONFIG_ERROR
  288. #       error "wxUSE_CLIPBOARD must be defined."
  289. #   else
  290. #       define wxUSE_CLIPBOARD 0
  291. #   endif
  292. #endif /* !defined(wxUSE_CLIPBOARD) */
  293.  
  294. #ifndef wxUSE_COLOURDLG
  295. #   ifdef wxABORT_ON_CONFIG_ERROR
  296. #       error "wxUSE_COLOURDLG must be defined."
  297. #   else
  298. #       define wxUSE_COLOURDLG 0
  299. #   endif
  300. #endif /* !defined(wxUSE_COLOURDLG) */
  301.  
  302. #ifndef wxUSE_COMBOBOX
  303. #   ifdef wxABORT_ON_CONFIG_ERROR
  304. #       error "wxUSE_COMBOBOX must be defined."
  305. #   else
  306. #       define wxUSE_COMBOBOX 0
  307. #   endif
  308. #endif /* !defined(wxUSE_COMBOBOX) */
  309.  
  310. #ifndef wxUSE_DATAOBJ
  311. #   ifdef wxABORT_ON_CONFIG_ERROR
  312. #       error "wxUSE_DATAOBJ must be defined."
  313. #   else
  314. #       define wxUSE_DATAOBJ 0
  315. #   endif
  316. #endif /* !defined(wxUSE_DATAOBJ) */
  317.  
  318. #ifndef wxUSE_DOC_VIEW_ARCHITECTURE
  319. #   ifdef wxABORT_ON_CONFIG_ERROR
  320. #       error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined."
  321. #   else
  322. #       define wxUSE_DOC_VIEW_ARCHITECTURE 0
  323. #   endif
  324. #endif /* !defined(wxUSE_DOC_VIEW_ARCHITECTURE) */
  325.  
  326. #ifndef wxUSE_FILEDLG
  327. #   ifdef wxABORT_ON_CONFIG_ERROR
  328. #       error "wxUSE_FILEDLG must be defined."
  329. #   else
  330. #       define wxUSE_FILEDLG 0
  331. #   endif
  332. #endif /* !defined(wxUSE_FILEDLG) */
  333.  
  334. #ifndef wxUSE_FONTDLG
  335. #   ifdef wxABORT_ON_CONFIG_ERROR
  336. #       error "wxUSE_FONTDLG must be defined."
  337. #   else
  338. #       define wxUSE_FONTDLG 0
  339. #   endif
  340. #endif /* !defined(wxUSE_FONTDLG) */
  341.  
  342. #ifndef wxUSE_FONTMAP
  343. #   ifdef wxABORT_ON_CONFIG_ERROR
  344. #       error "wxUSE_FONTMAP must be defined."
  345. #   else
  346. #       define wxUSE_FONTMAP 0
  347. #   endif
  348. #endif /* !defined(wxUSE_FONTMAP) */
  349.  
  350. #ifndef wxUSE_GAUGE
  351. #   ifdef wxABORT_ON_CONFIG_ERROR
  352. #       error "wxUSE_GAUGE must be defined."
  353. #   else
  354. #       define wxUSE_GAUGE 0
  355. #   endif
  356. #endif /* !defined(wxUSE_GAUGE) */
  357.  
  358. #ifndef wxUSE_GRID
  359. #   ifdef wxABORT_ON_CONFIG_ERROR
  360. #       error "wxUSE_GRID must be defined."
  361. #   else
  362. #       define wxUSE_GRID 0
  363. #   endif
  364. #endif /* !defined(wxUSE_GRID) */
  365.  
  366. #ifndef wxUSE_HELP
  367. #   ifdef wxABORT_ON_CONFIG_ERROR
  368. #       error "wxUSE_HELP must be defined."
  369. #   else
  370. #       define wxUSE_HELP 0
  371. #   endif
  372. #endif /* !defined(wxUSE_HELP) */
  373.  
  374. #ifndef wxUSE_HTML
  375. #   ifdef wxABORT_ON_CONFIG_ERROR
  376. #       error "wxUSE_HTML must be defined."
  377. #   else
  378. #       define wxUSE_HTML 0
  379. #   endif
  380. #endif /* !defined(wxUSE_HTML) */
  381.  
  382. #ifndef wxUSE_ICO_CUR
  383. #   ifdef wxABORT_ON_CONFIG_ERROR
  384. #       error "wxUSE_ICO_CUR must be defined."
  385. #   else
  386. #       define wxUSE_ICO_CUR 0
  387. #   endif
  388. #endif /* !defined(wxUSE_ICO_CUR) */
  389.  
  390. #ifndef wxUSE_IFF
  391. #   ifdef wxABORT_ON_CONFIG_ERROR
  392. #       error "wxUSE_IFF must be defined."
  393. #   else
  394. #       define wxUSE_IFF 0
  395. #   endif
  396. #endif /* !defined(wxUSE_IFF) */
  397.  
  398. #ifndef wxUSE_IMAGLIST
  399. #   ifdef wxABORT_ON_CONFIG_ERROR
  400. #       error "wxUSE_IMAGLIST must be defined."
  401. #   else
  402. #       define wxUSE_IMAGLIST 0
  403. #   endif
  404. #endif /* !defined(wxUSE_IMAGLIST) */
  405.  
  406. #ifndef wxUSE_JOYSTICK
  407. #   ifdef wxABORT_ON_CONFIG_ERROR
  408. #       error "wxUSE_JOYSTICK must be defined."
  409. #   else
  410. #       define wxUSE_JOYSTICK 0
  411. #   endif
  412. #endif /* !defined(wxUSE_JOYSTICK) */
  413.  
  414. #ifndef wxUSE_LISTBOX
  415. #   ifdef wxABORT_ON_CONFIG_ERROR
  416. #       error "wxUSE_LISTBOX must be defined."
  417. #   else
  418. #       define wxUSE_LISTBOX 0
  419. #   endif
  420. #endif /* !defined(wxUSE_LISTBOX) */
  421.  
  422. #ifndef wxUSE_LISTCTRL
  423. #   ifdef wxABORT_ON_CONFIG_ERROR
  424. #       error "wxUSE_LISTCTRL must be defined."
  425. #   else
  426. #       define wxUSE_LISTCTRL 0
  427. #   endif
  428. #endif /* !defined(wxUSE_LISTCTRL) */
  429.  
  430. #ifndef wxUSE_LOGGUI
  431. #   ifdef wxABORT_ON_CONFIG_ERROR
  432. #       error "wxUSE_LOGGUI must be defined."
  433. #   else
  434. #       define wxUSE_LOGGUI 0
  435. #   endif
  436. #endif /* !defined(wxUSE_LOGGUI) */
  437.  
  438. #ifndef wxUSE_LOGWINDOW
  439. #   ifdef wxABORT_ON_CONFIG_ERROR
  440. #       error "wxUSE_LOGWINDOW must be defined."
  441. #   else
  442. #       define wxUSE_LOGWINDOW 0
  443. #   endif
  444. #endif /* !defined(wxUSE_LOGWINDOW) */
  445.  
  446. #ifndef wxUSE_LOG_DIALOG
  447. #   ifdef wxABORT_ON_CONFIG_ERROR
  448. #       error "wxUSE_LOG_DIALOG must be defined."
  449. #   else
  450. #       define wxUSE_LOG_DIALOG 0
  451. #   endif
  452. #endif /* !defined(wxUSE_LOG_DIALOG) */
  453.  
  454. #ifndef wxUSE_MDI_ARCHITECTURE
  455. #   ifdef wxABORT_ON_CONFIG_ERROR
  456. #       error "wxUSE_MDI_ARCHITECTURE must be defined."
  457. #   else
  458. #       define wxUSE_MDI_ARCHITECTURE 0
  459. #   endif
  460. #endif /* !defined(wxUSE_MDI_ARCHITECTURE) */
  461.  
  462. #ifndef wxUSE_MENUS
  463. #   ifdef wxABORT_ON_CONFIG_ERROR
  464. #       error "wxUSE_MENUS must be defined."
  465. #   else
  466. #       define wxUSE_MENUS 0
  467. #   endif
  468. #endif /* !defined(wxUSE_MENUS) */
  469.  
  470. #ifndef wxUSE_MSGDLG
  471. #   ifdef wxABORT_ON_CONFIG_ERROR
  472. #       error "wxUSE_MSGDLG must be defined."
  473. #   else
  474. #       define wxUSE_MSGDLG 0
  475. #   endif
  476. #endif /* !defined(wxUSE_MSGDLG) */
  477.  
  478. #ifndef wxUSE_NEW_GRID
  479. #   ifdef wxABORT_ON_CONFIG_ERROR
  480. #       error "wxUSE_NEW_GRID must be defined."
  481. #   else
  482. #       define wxUSE_NEW_GRID 0
  483. #   endif
  484. #endif /* !defined(wxUSE_NEW_GRID) */
  485.  
  486. #ifndef wxUSE_NOTEBOOK
  487. #   ifdef wxABORT_ON_CONFIG_ERROR
  488. #       error "wxUSE_NOTEBOOK must be defined."
  489. #   else
  490. #       define wxUSE_NOTEBOOK 0
  491. #   endif
  492. #endif /* !defined(wxUSE_NOTEBOOK) */
  493.  
  494. #ifndef wxUSE_PALETTE
  495. #   ifdef wxABORT_ON_CONFIG_ERROR
  496. #       error "wxUSE_PALETTE must be defined."
  497. #   else
  498. #       define wxUSE_PALETTE 0
  499. #   endif
  500. #endif /* !defined(wxUSE_PALETTE) */
  501.  
  502. #ifndef wxUSE_POPUPWIN
  503. #   ifdef wxABORT_ON_CONFIG_ERROR
  504. #       error "wxUSE_POPUPWIN must be defined."
  505. #   else
  506. #       define wxUSE_POPUPWIN 0
  507. #   endif
  508. #endif /* !defined(wxUSE_POPUPWIN) */
  509.  
  510. #ifndef wxUSE_PRINTING_ARCHITECTURE
  511. #   ifdef wxABORT_ON_CONFIG_ERROR
  512. #       error "wxUSE_PRINTING_ARCHITECTURE must be defined."
  513. #   else
  514. #       define wxUSE_PRINTING_ARCHITECTURE 0
  515. #   endif
  516. #endif /* !defined(wxUSE_PRINTING_ARCHITECTURE) */
  517.  
  518. #ifndef wxUSE_RADIOBOX
  519. #   ifdef wxABORT_ON_CONFIG_ERROR
  520. #       error "wxUSE_RADIOBOX must be defined."
  521. #   else
  522. #       define wxUSE_RADIOBOX 0
  523. #   endif
  524. #endif /* !defined(wxUSE_RADIOBOX) */
  525.  
  526. #ifndef wxUSE_RADIOBTN
  527. #   ifdef wxABORT_ON_CONFIG_ERROR
  528. #       error "wxUSE_RADIOBTN must be defined."
  529. #   else
  530. #       define wxUSE_RADIOBTN 0
  531. #   endif
  532. #endif /* !defined(wxUSE_RADIOBTN) */
  533.  
  534. #ifndef wxUSE_SASH
  535. #   ifdef wxABORT_ON_CONFIG_ERROR
  536. #       error "wxUSE_SASH must be defined."
  537. #   else
  538. #       define wxUSE_SASH 0
  539. #   endif
  540. #endif /* !defined(wxUSE_SASH) */
  541.  
  542. #ifndef wxUSE_SCROLLBAR
  543. #   ifdef wxABORT_ON_CONFIG_ERROR
  544. #       error "wxUSE_SCROLLBAR must be defined."
  545. #   else
  546. #       define wxUSE_SCROLLBAR 0
  547. #   endif
  548. #endif /* !defined(wxUSE_SCROLLBAR) */
  549.  
  550. #ifndef wxUSE_SLIDER
  551. #   ifdef wxABORT_ON_CONFIG_ERROR
  552. #       error "wxUSE_SLIDER must be defined."
  553. #   else
  554. #       define wxUSE_SLIDER 0
  555. #   endif
  556. #endif /* !defined(wxUSE_SLIDER) */
  557.  
  558. #ifndef wxUSE_SPINBTN
  559. #   ifdef wxABORT_ON_CONFIG_ERROR
  560. #       error "wxUSE_SPINBTN must be defined."
  561. #   else
  562. #       define wxUSE_SPINBTN 0
  563. #   endif
  564. #endif /* !defined(wxUSE_SPINBTN) */
  565.  
  566. #ifndef wxUSE_SPINCTRL
  567. #   ifdef wxABORT_ON_CONFIG_ERROR
  568. #       error "wxUSE_SPINCTRL must be defined."
  569. #   else
  570. #       define wxUSE_SPINCTRL 0
  571. #   endif
  572. #endif /* !defined(wxUSE_SPINCTRL) */
  573.  
  574. #ifndef wxUSE_SPLASH
  575. #   ifdef wxABORT_ON_CONFIG_ERROR
  576. #       error "wxUSE_SPLASH must be defined."
  577. #   else
  578. #       define wxUSE_SPLASH 0
  579. #   endif
  580. #endif /* !defined(wxUSE_SPLASH) */
  581.  
  582. #ifndef wxUSE_SPLITTER
  583. #   ifdef wxABORT_ON_CONFIG_ERROR
  584. #       error "wxUSE_SPLITTER must be defined."
  585. #   else
  586. #       define wxUSE_SPLITTER 0
  587. #   endif
  588. #endif /* !defined(wxUSE_SPLITTER) */
  589.  
  590. #ifndef wxUSE_STATBMP
  591. #   ifdef wxABORT_ON_CONFIG_ERROR
  592. #       error "wxUSE_STATBMP must be defined."
  593. #   else
  594. #       define wxUSE_STATBMP 0
  595. #   endif
  596. #endif /* !defined(wxUSE_STATBMP) */
  597.  
  598. #ifndef wxUSE_STATBOX
  599. #   ifdef wxABORT_ON_CONFIG_ERROR
  600. #       error "wxUSE_STATBOX must be defined."
  601. #   else
  602. #       define wxUSE_STATBOX 0
  603. #   endif
  604. #endif /* !defined(wxUSE_STATBOX) */
  605.  
  606. #ifndef wxUSE_STATLINE
  607. #   ifdef wxABORT_ON_CONFIG_ERROR
  608. #       error "wxUSE_STATLINE must be defined."
  609. #   else
  610. #       define wxUSE_STATLINE 0
  611. #   endif
  612. #endif /* !defined(wxUSE_STATLINE) */
  613.  
  614. #ifndef wxUSE_STATTEXT
  615. #   ifdef wxABORT_ON_CONFIG_ERROR
  616. #       error "wxUSE_STATTEXT must be defined."
  617. #   else
  618. #       define wxUSE_STATTEXT 0
  619. #   endif
  620. #endif /* !defined(wxUSE_STATTEXT) */
  621.  
  622. #ifndef wxUSE_STATUSBAR
  623. #   ifdef wxABORT_ON_CONFIG_ERROR
  624. #       error "wxUSE_STATUSBAR must be defined."
  625. #   else
  626. #       define wxUSE_STATUSBAR 0
  627. #   endif
  628. #endif /* !defined(wxUSE_STATUSBAR) */
  629.  
  630. #ifndef wxUSE_TAB_DIALOG
  631. #   ifdef wxABORT_ON_CONFIG_ERROR
  632. #       error "wxUSE_TAB_DIALOG must be defined."
  633. #   else
  634. #       define wxUSE_TAB_DIALOG 0
  635. #   endif
  636. #endif /* !defined(wxUSE_TAB_DIALOG) */
  637.  
  638. #ifndef wxUSE_TEXTCTRL
  639. #   ifdef wxABORT_ON_CONFIG_ERROR
  640. #       error "wxUSE_TEXTCTRL must be defined."
  641. #   else
  642. #       define wxUSE_TEXTCTRL 0
  643. #   endif
  644. #endif /* !defined(wxUSE_TEXTCTRL) */
  645.  
  646. #ifndef wxUSE_TIPWINDOW
  647. #   ifdef wxABORT_ON_CONFIG_ERROR
  648. #       error "wxUSE_TIPWINDOW must be defined."
  649. #   else
  650. #       define wxUSE_TIPWINDOW 0
  651. #   endif
  652. #endif /* !defined(wxUSE_TIPWINDOW) */
  653.  
  654. #ifndef wxUSE_TOOLBAR
  655. #   ifdef wxABORT_ON_CONFIG_ERROR
  656. #       error "wxUSE_TOOLBAR must be defined."
  657. #   else
  658. #       define wxUSE_TOOLBAR 0
  659. #   endif
  660. #endif /* !defined(wxUSE_TOOLBAR) */
  661.  
  662. #ifndef wxUSE_TOOLTIPS
  663. #   ifdef wxABORT_ON_CONFIG_ERROR
  664. #       error "wxUSE_TOOLTIPS must be defined."
  665. #   else
  666. #       define wxUSE_TOOLTIPS 0
  667. #   endif
  668. #endif /* !defined(wxUSE_TOOLTIPS) */
  669.  
  670. #ifndef wxUSE_TREECTRL
  671. #   ifdef wxABORT_ON_CONFIG_ERROR
  672. #       error "wxUSE_TREECTRL must be defined."
  673. #   else
  674. #       define wxUSE_TREECTRL 0
  675. #   endif
  676. #endif /* !defined(wxUSE_TREECTRL) */
  677.  
  678. #ifndef wxUSE_WXHTML_HELP
  679. #   ifdef wxABORT_ON_CONFIG_ERROR
  680. #       error "wxUSE_WXHTML_HELP must be defined."
  681. #   else
  682. #       define wxUSE_WXHTML_HELP 0
  683. #   endif
  684. #endif /* !defined(wxUSE_WXHTML_HELP) */
  685.  
  686. #endif /* wxUSE_GUI */
  687.  
  688. /*
  689.    check consistency of the settings
  690.  */
  691.  
  692. #if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP
  693. #   if !wxUSE_PROTOCOL
  694. #        ifdef wxABORT_ON_CONFIG_ERROR
  695. #            error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL"
  696. #        else
  697. #            undef wxUSE_PROTOCOL
  698. #            define wxUSE_PROTOCOL 1
  699. #        endif
  700. #   endif
  701. #endif /* wxUSE_PROTOCOL_XXX */
  702.  
  703. #if wxUSE_URL
  704. #   if !wxUSE_PROTOCOL
  705. #        ifdef wxABORT_ON_CONFIG_ERROR
  706. #            error "wxUSE_URL requires wxUSE_PROTOCOL"
  707. #        else
  708. #            undef wxUSE_PROTOCOL
  709. #            define wxUSE_PROTOCOL 1
  710. #        endif
  711. #   endif
  712. #endif /* wxUSE_URL */
  713.  
  714. #if wxUSE_PROTOCOL
  715. #   if !wxUSE_SOCKETS
  716. #       if wxUSE_PROTOCOL_HTTP || wxUSE_PROTOCOL_FTP
  717. #           ifdef wxABORT_ON_CONFIG_ERROR
  718. #               error "wxUSE_PROTOCOL_FTP/HTTP requires wxUSE_SOCKETS"
  719. #           else
  720. #               undef wxUSE_SOCKETS
  721. #               define wxUSE_SOCKETS 1
  722. #           endif
  723. #       endif
  724. #   endif
  725.  
  726. #   if !wxUSE_STREAMS
  727. #       ifdef wxABORT_ON_CONFIG_ERROR
  728. #           error "wxUSE_PROTOCOL requires wxUSE_STREAMS"
  729. #       else
  730. #           undef wxUSE_STREAMS
  731. #           define wxUSE_STREAMS 1
  732. #       endif
  733. #   endif
  734. #endif /* wxUSE_PROTOCOL */
  735.  
  736. /* have to test for wxUSE_HTML before wxUSE_FILESYSTEM */
  737. #if wxUSE_HTML
  738. #   if !wxUSE_FILESYSTEM
  739. #       ifdef wxABORT_ON_CONFIG_ERROR
  740. #           error "wxHTML requires wxFileSystem"
  741. #       else
  742. #           undef wxUSE_FILESYSTEM
  743. #           define wxUSE_FILESYSTEM 1
  744. #       endif
  745. #   endif
  746. #endif /* wxUSE_HTML */
  747.  
  748. #if wxUSE_FILESYSTEM
  749. #   if !wxUSE_STREAMS
  750. #       ifdef wxABORT_ON_CONFIG_ERROR
  751. #           error "wxUSE_FILESYSTEM requires wxUSE_STREAMS"
  752. #       else
  753. #           undef wxUSE_STREAMS
  754. #           define wxUSE_STREAMS 1
  755. #       endif
  756. #   endif
  757. #endif /* wxUSE_FILESYSTEM */
  758.  
  759. #if wxUSE_STOPWATCH || wxUSE_DATETIME
  760. #    if !wxUSE_LONGLONG
  761. #        ifdef wxABORT_ON_CONFIG_ERROR
  762. #            error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG"
  763. #        else
  764. #            undef wxUSE_LONGLONG
  765. #            define wxUSE_LONGLONG 1
  766. #        endif
  767. #    endif
  768. #endif /* wxUSE_STOPWATCH */
  769.  
  770. #if wxUSE_MIMETYPE && !wxUSE_TEXTFILE
  771. #   ifdef wxABORT_ON_CONFIG_ERROR
  772. #       error "wxUSE_MIMETYPE requires wxUSE_TEXTFILE"
  773. #   else
  774. #       undef wxUSE_TEXTFILE
  775. #       define wxUSE_TEXTFILE 1
  776. #   endif
  777. #endif /* wxUSE_MIMETYPE */
  778.  
  779. #if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER
  780. #   ifdef wxABORT_ON_CONFIG_ERROR
  781. #       error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER"
  782. #   else
  783. #       undef wxUSE_TEXTBUFFER
  784. #       define wxUSE_TEXTBUFFER 1
  785. #   endif
  786. #endif /* wxUSE_TEXTFILE */
  787.  
  788. #if wxUSE_TEXTFILE && !wxUSE_FILE
  789. #   ifdef wxABORT_ON_CONFIG_ERROR
  790. #       error "wxUSE_TEXTFILE requires wxUSE_FILE"
  791. #   else
  792. #       undef wxUSE_FILE
  793. #       define wxUSE_FILE 1
  794. #   endif
  795. #endif /* wxUSE_TEXTFILE */
  796.  
  797. #if wxUSE_UNICODE_MSLU && !wxUSE_UNICODE
  798. #   ifdef wxABORT_ON_CONFIG_ERROR
  799. #       error "wxUSE_UNICODE_MSLU requires wxUSE_UNICODE"
  800. #   else
  801. #       undef wxUSE_UNICODE
  802. #       define wxUSE_UNICODE 1
  803. #   endif
  804. #endif /* wxUSE_UNICODE_MSLU */
  805.  
  806. #if wxUSE_ODBC && wxUSE_UNICODE
  807. #   ifdef wxABORT_ON_CONFIG_ERROR
  808.         /* (ODBC classes aren't Unicode-compatible yet) */
  809. #       error "wxUSE_ODBC can't be used with wxUSE_UNICODE"
  810. #   else
  811. #       undef wxUSE_ODBC
  812. #       define wxUSE_ODBC 0
  813. #   endif
  814. #endif /* wxUSE_ODBC */
  815.  
  816. /* the rest of the tests is for the GUI settings only */
  817. #if wxUSE_GUI
  818.  
  819. #if wxUSE_BUTTON || \
  820.     wxUSE_CALENDARCTRL || \
  821.     wxUSE_CARET || \
  822.     wxUSE_COMBOBOX || \
  823.     wxUSE_BMPBUTTON || \
  824.     wxUSE_CHECKBOX || \
  825.     wxUSE_CHECKLISTBOX || \
  826.     wxUSE_CHOICE || \
  827.     wxUSE_GAUGE || \
  828.     wxUSE_GRID || \
  829.     wxUSE_NEW_GRID || \
  830.     wxUSE_LISTBOX || \
  831.     wxUSE_LISTCTRL || \
  832.     wxUSE_NOTEBOOK || \
  833.     wxUSE_RADIOBOX || \
  834.     wxUSE_RADIOBTN || \
  835.     wxUSE_SCROLLBAR || \
  836.     wxUSE_SLIDER || \
  837.     wxUSE_SPINBTN || \
  838.     wxUSE_SPINCTRL || \
  839.     wxUSE_STATBMP || \
  840.     wxUSE_STATBOX || \
  841.     wxUSE_STATLINE || \
  842.     wxUSE_STATTEXT || \
  843.     wxUSE_STATUSBAR || \
  844.     wxUSE_TEXTCTRL || \
  845.     wxUSE_TOOLBAR || \
  846.     wxUSE_TREECTRL
  847. #    if !wxUSE_CONTROLS
  848. #        ifdef wxABORT_ON_CONFIG_ERROR
  849. #            error "wxUSE_CONTROLS unset but some controls used"
  850. #        else
  851. #            undef wxUSE_CONTROLS
  852. #            define wxUSE_CONTROLS 1
  853. #        endif
  854. #    endif
  855. #endif /* controls */
  856.  
  857. /* wxUniv-specific dependencies */
  858. #if defined(__WXUNIVERSAL__)
  859. #   if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
  860. #       ifdef wxABORT_ON_CONFIG_ERROR
  861. #           error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
  862. #       else
  863. #           undef wxUSE_POPUPWIN
  864. #           define wxUSE_POPUPWIN 1
  865. #       endif
  866. #   endif
  867.  
  868. #   if wxUSE_COMBOBOX
  869. #      if !wxUSE_LISTBOX
  870. #           ifdef wxABORT_ON_CONFIG_ERROR
  871. #               error "wxComboBox requires wxListBox in wxUniversal"
  872. #           else
  873. #               undef wxUSE_LISTBOX
  874. #               define wxUSE_LISTBOX 1
  875. #           endif
  876. #      endif
  877. #   endif /* wxUSE_COMBOBOX */
  878.  
  879. #   if wxUSE_RADIOBTN
  880. #      if !wxUSE_CHECKBOX
  881. #           ifdef wxABORT_ON_CONFIG_ERROR
  882. #               error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
  883. #           else
  884. #               undef wxUSE_CHECKBOX
  885. #               define wxUSE_CHECKBOX 1
  886. #           endif
  887. #      endif
  888. #   endif /* wxUSE_RADIOBTN */
  889.  
  890. #   if wxUSE_TEXTCTRL
  891. #       if !wxUSE_CARET
  892. #           ifdef wxABORT_ON_CONFIG_ERROR
  893. #               error "wxTextCtrl requires wxCaret in wxUniversal"
  894. #           else
  895. #               undef wxUSE_CARET
  896. #               define wxUSE_CARET 1
  897. #           endif
  898. #       endif /* wxUSE_CARET */
  899.  
  900. #       if !wxUSE_SCROLLBAR
  901. #           ifdef wxABORT_ON_CONFIG_ERROR
  902. #               error "wxTextCtrl requires wxScrollBar in wxUniversal"
  903. #           else
  904. #               undef wxUSE_SCROLLBAR
  905. #               define wxUSE_SCROLLBAR 1
  906. #           endif
  907. #       endif /* wxUSE_SCROLLBAR */
  908. #   endif /* wxUSE_TEXTCTRL */
  909. #endif /* __WXUNIVERSAL__ */
  910.  
  911. /* wxGTK-specific dependencies */
  912. #ifdef __WXGTK__
  913. #   ifndef __WXUNIVERSAL__
  914. #       if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
  915. #           ifdef wxABORT_ON_CONFIG_ERROR
  916. #               error "MDI requires wxUSE_MENUS in wxGTK"
  917. #           else
  918. #               undef wxUSE_MENUS
  919. #               define wxUSE_MENUS 1
  920. #           endif
  921. #       endif
  922. #   endif /* !__WXUNIVERSAL__ */
  923.  
  924. #   if wxUSE_JOYSTICK
  925. #       if !wxUSE_THREADS
  926. #           ifdef wxABORT_ON_CONFIG_ERROR
  927. #               error "wxJoystick requires threads in wxGTK"
  928. #           else
  929. #               undef wxUSE_JOYSTICK
  930. #               define wxUSE_JOYSTICK 0
  931. #           endif
  932. #       endif
  933. #   endif
  934. #endif /* wxGTK && !wxUniv */
  935.  
  936. /* wxMSW-specific dependencies */
  937. #ifdef __WXMSW__
  938. #   ifndef wxUSE_UNICODE_MSLU
  939. #       ifdef wxABORT_ON_CONFIG_ERROR
  940. #           error "wxUSE_UNICODE_MSLU must be defined."
  941. #       else
  942. #           define wxUSE_UNICODE_MSLU 0
  943. #       endif
  944. #   endif  /* wxUSE_UNICODE_MSLU */
  945. #   ifndef wxUSE_MS_HTML_HELP
  946. #       ifdef wxABORT_ON_CONFIG_ERROR
  947. #           error "wxUSE_MS_HTML_HELP must be defined."
  948. #       else
  949. #           define wxUSE_MS_HTML_HELP 0
  950. #       endif
  951. #   endif /* !defined(wxUSE_MS_HTML_HELP) */
  952. #   ifndef wxUSE_DIALUP_MANAGER
  953. #       ifdef wxABORT_ON_CONFIG_ERROR
  954. #           error "wxUSE_DIALUP_MANAGER must be defined."
  955. #       else
  956. #           define wxUSE_DIALUP_MANAGER 0
  957. #       endif
  958. #   endif /* !defined(wxUSE_DIALUP_MANAGER) */
  959.  
  960. #   if !wxUSE_DYNAMIC_LOADER
  961. #       if wxUSE_MS_HTML_HELP
  962. #           ifdef wxABORT_ON_CONFIG_ERROR
  963. #               error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
  964. #           else
  965. #               define wxUSE_DYNAMIC_LOADER 1
  966. #           endif
  967. #       endif
  968. #       if wxUSE_DIALUP_MANAGER
  969. #           ifdef wxABORT_ON_CONFIG_ERROR
  970. #               error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
  971. #           else
  972. #               define wxUSE_DYNAMIC_LOADER 1
  973. #           endif
  974. #       endif
  975. #   endif  /* wxUSE_DYNAMIC_LOADER */
  976. #endif /* wxMSW */
  977.  
  978. /* wxMotif-specific dependencies */
  979. #if defined(__WXMOTIF__) && wxUSE_NOTEBOOK && !wxUSE_TAB_DIALOG
  980. #  undef wxUSE_TAB_DIALOG
  981. #  define wxUSE_TAB_DIALOG 1
  982. #endif
  983. #if defined(__WXMOTIF__) && wxUSE_TOGGLEBTN
  984. #  undef wxUSE_TOGGLEBTN
  985. #  define wxUSE_TOGGLEBTN 0
  986. #endif
  987.  
  988. /* wxMGL-specific dependencies */
  989. #ifdef __WXMGL__
  990. #   if !wxUSE_PALETTE
  991. #       error "wxMGL requires wxUSE_PALETTE=1"
  992. #   endif
  993. #endif /* wxMGL */
  994.  
  995. /* generic controls dependencies */
  996. #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
  997. #   if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
  998.         /* all common controls are needed by these dialogs */
  999. #       if !defined(wxUSE_CHOICE) || \
  1000.            !defined(wxUSE_TEXTCTRL) || \
  1001.            !defined(wxUSE_BUTTON) || \
  1002.            !defined(wxUSE_CHECKBOX) || \
  1003.            !defined(wxUSE_STATTEXT)
  1004. #           ifdef wxABORT_ON_CONFIG_ERROR
  1005. #               error "These common controls are needed by common dialogs"
  1006. #           else
  1007. #               undef wxUSE_CHOICE
  1008. #               define wxUSE_CHOICE 1
  1009. #               undef wxUSE_TEXTCTRL
  1010. #               define wxUSE_TEXTCTRL 1
  1011. #               undef wxUSE_BUTTON
  1012. #               define wxUSE_BUTTON 1
  1013. #               undef wxUSE_CHECKBOX
  1014. #               define wxUSE_CHECKBOX 1
  1015. #               undef wxUSE_STATTEXT
  1016. #               define wxUSE_STATTEXT 1
  1017. #           endif
  1018. #       endif
  1019. #   endif
  1020. #endif /* !wxMSW || wxUniv */
  1021.  
  1022. /* common dependencies */
  1023. #if wxUSE_CALENDARCTRL
  1024. #   if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
  1025. #       ifdef wxABORT_ON_CONFIG_ERROR
  1026. #           error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
  1027. #       else
  1028. #           undef wxUSE_SPINBTN
  1029. #           undef wxUSE_COMBOBOX
  1030. #           define wxUSE_SPINBTN 1
  1031. #           define wxUSE_COMBOBOX 1
  1032. #       endif
  1033. #   endif
  1034. #endif /* wxUSE_CALENDARCTRL */
  1035.  
  1036. #if wxUSE_CHECKLISTBOX
  1037. #   if !wxUSE_LISTBOX
  1038. #        ifdef wxABORT_ON_CONFIG_ERROR
  1039. #            error "wxCheckListBox requires wxListBox"
  1040. #        else
  1041. #            undef wxUSE_LISTBOX
  1042. #            define wxUSE_LISTBOX 1
  1043. #        endif
  1044. #   endif
  1045. #endif /* wxUSE_RADIOBTN */
  1046.  
  1047. #if wxUSE_WXHTML_HELP
  1048. #   if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX
  1049. #       ifdef wxABORT_ON_CONFIG_ERROR
  1050. #           error "Built in help controller can't be compiled"
  1051. #       else
  1052. #           undef wxUSE_HELP
  1053. #           define wxUSE_HELP 1
  1054. #           undef wxUSE_HTML
  1055. #           define wxUSE_HTML 1
  1056. #           undef wxUSE_COMBOBOX
  1057. #           define wxUSE_COMBOBOX 1
  1058. #       endif
  1059. #   endif
  1060. #endif /* wxUSE_WXHTML_HELP */
  1061.  
  1062. #if wxUSE_PRINTING_ARCHITECTURE
  1063. #   if !wxUSE_COMBOBOX
  1064. #       ifdef wxABORT_ON_CONFIG_ERROR
  1065. #           error "Print dialog requires wxUSE_COMBOBOX"
  1066. #       else
  1067. #           undef wxUSE_COMBOBOX
  1068. #           define wxUSE_COMBOBOX 1
  1069. #       endif
  1070. #   endif
  1071. #endif /* wxUSE_PRINTING_ARCHITECTURE */
  1072.  
  1073. #if wxUSE_DOC_VIEW_ARCHITECTURE
  1074. #   if !wxUSE_MENUS
  1075. #        ifdef wxABORT_ON_CONFIG_ERROR
  1076. #            error "DocView requires wxUSE_MENUS"
  1077. #        else
  1078. #            undef wxUSE_MENUS
  1079. #            define wxUSE_MENUS 1
  1080. #        endif
  1081. #   endif
  1082. #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
  1083.  
  1084. #if !wxUSE_FILEDLG
  1085. #   if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
  1086. #       ifdef wxABORT_ON_CONFIG_ERROR
  1087. #           error "wxFileDialog must be compiled as well"
  1088. #       else
  1089. #           undef wxUSE_FILEDLG
  1090. #           define wxUSE_FILEDLG 1
  1091. #       endif
  1092. #   endif
  1093. #endif /* wxUSE_FILEDLG */
  1094.  
  1095. #if !wxUSE_IMAGLIST
  1096. #   if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
  1097. #       ifdef wxABORT_ON_CONFIG_ERROR
  1098. #           error "wxImageList must be compiled as well"
  1099. #       else
  1100. #           undef wxUSE_IMAGLIST
  1101. #           define wxUSE_IMAGLIST 1
  1102. #       endif
  1103. #   endif
  1104. #endif /* !wxUSE_IMAGLIST */
  1105.  
  1106. #if !wxUSE_MSGDLG
  1107. #   ifdef wxABORT_ON_CONFIG_ERROR
  1108.         /* FIXME: should compile without it, of course, but doesn't */
  1109. #       error "wxMessageBox is always needed"
  1110. #   else
  1111. #       undef wxUSE_MSGDLG
  1112. #       define wxUSE_MSGDLG 1
  1113. #   endif
  1114. #endif
  1115.  
  1116. #if wxUSE_RADIOBOX
  1117. #   if !wxUSE_RADIOBTN || !wxUSE_STATBOX
  1118. #        ifdef wxABORT_ON_CONFIG_ERROR
  1119. #            error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN and wxUSE_STATBOX"
  1120. #        else
  1121. #            undef wxUSE_RADIOBTN
  1122. #            undef wxUSE_STATBOX
  1123. #            define wxUSE_RADIOBTN 1
  1124. #            define wxUSE_STATBOX 1
  1125. #        endif
  1126. #   endif
  1127. #endif /* wxUSE_RADIOBOX */
  1128.  
  1129. #if wxUSE_LOGWINDOW
  1130. #    if !wxUSE_TEXTCTRL
  1131. #        ifdef wxABORT_ON_CONFIG_ERROR
  1132. #            error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
  1133. #        else
  1134. #            undef wxUSE_TEXTCTRL
  1135. #            define wxUSE_TEXTCTRL 1
  1136. #        endif
  1137. #    endif
  1138. #endif /* wxUSE_LOGWINDOW */
  1139.  
  1140. #if wxUSE_LOG_DIALOG
  1141. #    if !wxUSE_LISTCTRL
  1142. #        ifdef wxABORT_ON_CONFIG_ERROR
  1143. #            error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL"
  1144. #        else
  1145. #            undef wxUSE_LISTCTRL
  1146. #            define wxUSE_LISTCTRL 1
  1147. #        endif
  1148. #    endif
  1149. #endif /* wxUSE_LOG_DIALOG */
  1150.  
  1151. /* I wonder if we shouldn't just remove all occurrences of
  1152.    wxUSE_DYNAMIC_CLASSES from the sources? */
  1153. #if !defined(wxUSE_DYNAMIC_CLASSES) || !wxUSE_DYNAMIC_CLASSES
  1154. #   ifdef wxABORT_ON_CONFIG_ERROR
  1155. #       error "wxUSE_DYNAMIC_CLASSES must be defined as 1"
  1156. #   else
  1157. #       undef wxUSE_DYNAMIC_CLASSES
  1158. #       define wxUSE_DYNAMIC_CLASSES 1
  1159. #   endif
  1160. #endif /* wxUSE_DYNAMIC_CLASSES */
  1161.  
  1162. #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
  1163. #   ifdef wxABORT_ON_CONFIG_ERROR
  1164. #       error "wxClipboard requires wxDataObject"
  1165. #   else
  1166. #       undef wxUSE_DATAOBJ
  1167. #       define wxUSE_DATAOBJ 1
  1168. #   endif
  1169. #endif /* wxUSE_CLIPBOARD */
  1170.  
  1171. #endif /* wxUSE_GUI */
  1172.  
  1173.