PageRenderTime 67ms CodeModel.GetById 34ms RepoModel.GetById 0ms app.codeStats 1ms

/client/wxWidgets/wx/chkconf.h

https://bitbucket.org/proglove/tbmmorpg
C Header | 1687 lines | 1438 code | 185 blank | 64 comment | 148 complexity | c527d5624abd8d7913f8db301ecbaeef MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.0, Apache-2.0, Zlib, LGPL-2.1
  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.106 2005/06/06 00:05:56 VZ Exp $
  8. * Copyright: (c) 2000 Vadim Zeitlin <vadim@wxwidgets.org>
  9. * Licence: wxWindows licence
  10. */
  11. /* THIS IS A C FILE, DON'T USE C++ FEATURES (IN PARTICULAR COMMENTS) IN IT */
  12. /*
  13. Compiler-specific checking.
  14. */
  15. #if defined(__WXPALMOS__)
  16. # include "wx/palmos/chkconf.h"
  17. #elif defined(__WXWINCE__)
  18. # include "wx/msw/wince/chkconf.h"
  19. #elif defined(__WXMSW__)
  20. # include "wx/msw/chkconf.h"
  21. #elif defined(__WXMAC__)
  22. # include "wx/mac/chkconf.h"
  23. #elif defined(__WXMOTIF__)
  24. # include "wx/motif/chkconf.h"
  25. #endif
  26. /*
  27. this global setting determines what should we do if the setting FOO
  28. requires BAR and BAR is not set: we can either silently define BAR
  29. (default, recommended) or give an error and abort (mainly useful for
  30. developers only)
  31. */
  32. #define wxABORT_ON_CONFIG_ERROR
  33. /*
  34. global features
  35. */
  36. /* GUI build by default */
  37. #if !defined(wxUSE_GUI)
  38. # define wxUSE_GUI 1
  39. #endif /* !defined(wxUSE_GUI) */
  40. /*
  41. If we're compiling without support for threads/exceptions we have to
  42. disable the corresponding features.
  43. */
  44. #ifdef wxNO_THREADS
  45. # undef wxUSE_THREADS
  46. # define wxUSE_THREADS 0
  47. #endif /* wxNO_THREADS */
  48. #ifdef wxNO_EXCEPTIONS
  49. # undef wxUSE_EXCEPTIONS
  50. # define wxUSE_EXCEPTIONS 0
  51. #endif /* wxNO_EXCEPTIONS */
  52. /* we also must disable exceptions if compiler doesn't support them */
  53. #if defined(_MSC_VER) && !defined(_CPPUNWIND)
  54. # undef wxUSE_EXCEPTIONS
  55. # define wxUSE_EXCEPTIONS 0
  56. #endif /* VC++ without exceptions support */
  57. /*
  58. tests for non GUI features
  59. */
  60. #ifndef wxUSE_CRASHREPORT
  61. /* this one is special: as currently it is Windows-only, don't force it
  62. to be defined on other platforms */
  63. # if defined(wxABORT_ON_CONFIG_ERROR) && defined(__WXMSW__)
  64. # error "wxUSE_CRASHREPORT must be defined."
  65. # else
  66. # define wxUSE_CRASHREPORT 0
  67. # endif
  68. #endif /* !defined(wxUSE_CRASHREPORT) */
  69. #ifndef wxUSE_DYNLIB_CLASS
  70. # ifdef wxABORT_ON_CONFIG_ERROR
  71. # error "wxUSE_DYNLIB_CLASS must be defined."
  72. # else
  73. # define wxUSE_DYNLIB_CLASS 0
  74. # endif
  75. #endif /* !defined(wxUSE_DYNLIB_CLASS) */
  76. #ifndef wxUSE_EXCEPTIONS
  77. # ifdef wxABORT_ON_CONFIG_ERROR
  78. # error "wxUSE_EXCEPTIONS must be defined."
  79. # else
  80. # define wxUSE_EXCEPTIONS 0
  81. # endif
  82. #endif /* !defined(wxUSE_EXCEPTIONS) */
  83. #ifndef wxUSE_FILESYSTEM
  84. # ifdef wxABORT_ON_CONFIG_ERROR
  85. # error "wxUSE_FILESYSTEM must be defined."
  86. # else
  87. # define wxUSE_FILESYSTEM 0
  88. # endif
  89. #endif /* !defined(wxUSE_FILESYSTEM) */
  90. /* don't give an error about this one yet, it's not fully implemented */
  91. #ifndef wxUSE_FSVOLUME
  92. # define wxUSE_FSVOLUME 0
  93. #endif /* !defined(wxUSE_FSVOLUME) */
  94. #ifndef wxUSE_DYNAMIC_LOADER
  95. # ifdef wxABORT_ON_CONFIG_ERROR
  96. # error "wxUSE_DYNAMIC_LOADER must be defined."
  97. # else
  98. # define wxUSE_DYNAMIC_LOADER 0
  99. # endif
  100. #endif /* !defined(wxUSE_DYNAMIC_LOADER) */
  101. #ifndef wxUSE_LOG
  102. # ifdef wxABORT_ON_CONFIG_ERROR
  103. # error "wxUSE_LOG must be defined."
  104. # else
  105. # define wxUSE_LOG 0
  106. # endif
  107. #endif /* !defined(wxUSE_LOG) */
  108. #ifndef wxUSE_LONGLONG
  109. # ifdef wxABORT_ON_CONFIG_ERROR
  110. # error "wxUSE_LONGLONG must be defined."
  111. # else
  112. # define wxUSE_LONGLONG 0
  113. # endif
  114. #endif /* !defined(wxUSE_LONGLONG) */
  115. #ifndef wxUSE_MIMETYPE
  116. # ifdef wxABORT_ON_CONFIG_ERROR
  117. # error "wxUSE_MIMETYPE must be defined."
  118. # else
  119. # define wxUSE_MIMETYPE 0
  120. # endif
  121. #endif /* !defined(wxUSE_MIMETYPE) */
  122. #ifndef wxUSE_ON_FATAL_EXCEPTION
  123. # ifdef wxABORT_ON_CONFIG_ERROR
  124. # error "wxUSE_ON_FATAL_EXCEPTION must be defined."
  125. # else
  126. # define wxUSE_ON_FATAL_EXCEPTION 0
  127. # endif
  128. #endif /* !defined(wxUSE_ON_FATAL_EXCEPTION) */
  129. #ifndef wxUSE_PROTOCOL
  130. # ifdef wxABORT_ON_CONFIG_ERROR
  131. # error "wxUSE_PROTOCOL must be defined."
  132. # else
  133. # define wxUSE_PROTOCOL 0
  134. # endif
  135. #endif /* !defined(wxUSE_PROTOCOL) */
  136. /* we may not define wxUSE_PROTOCOL_XXX if wxUSE_PROTOCOL is set to 0 */
  137. #if !wxUSE_PROTOCOL
  138. # undef wxUSE_PROTOCOL_HTTP
  139. # undef wxUSE_PROTOCOL_FTP
  140. # undef wxUSE_PROTOCOL_FILE
  141. # define wxUSE_PROTOCOL_HTTP 0
  142. # define wxUSE_PROTOCOL_FTP 0
  143. # define wxUSE_PROTOCOL_FILE 0
  144. #endif /* wxUSE_PROTOCOL */
  145. #ifndef wxUSE_PROTOCOL_HTTP
  146. # ifdef wxABORT_ON_CONFIG_ERROR
  147. # error "wxUSE_PROTOCOL_HTTP must be defined."
  148. # else
  149. # define wxUSE_PROTOCOL_HTTP 0
  150. # endif
  151. #endif /* !defined(wxUSE_PROTOCOL_HTTP) */
  152. #ifndef wxUSE_PROTOCOL_FTP
  153. # ifdef wxABORT_ON_CONFIG_ERROR
  154. # error "wxUSE_PROTOCOL_FTP must be defined."
  155. # else
  156. # define wxUSE_PROTOCOL_FTP 0
  157. # endif
  158. #endif /* !defined(wxUSE_PROTOCOL_FTP) */
  159. #ifndef wxUSE_PROTOCOL_FILE
  160. # ifdef wxABORT_ON_CONFIG_ERROR
  161. # error "wxUSE_PROTOCOL_FILE must be defined."
  162. # else
  163. # define wxUSE_PROTOCOL_FILE 0
  164. # endif
  165. #endif /* !defined(wxUSE_PROTOCOL_FILE) */
  166. #ifndef wxUSE_REGEX
  167. # ifdef wxABORT_ON_CONFIG_ERROR
  168. # error "wxUSE_REGEX must be defined."
  169. # else
  170. # define wxUSE_REGEX 0
  171. # endif
  172. #endif /* !defined(wxUSE_REGEX) */
  173. #ifndef wxUSE_STDPATHS
  174. # ifdef wxABORT_ON_CONFIG_ERROR
  175. # error "wxUSE_STDPATHS must be defined."
  176. # else
  177. # define wxUSE_STDPATHS 1
  178. # endif
  179. #endif /* !defined(wxUSE_STDPATHS) */
  180. #ifndef wxUSE_XML
  181. # ifdef wxABORT_ON_CONFIG_ERROR
  182. # error "wxUSE_XML must be defined."
  183. # else
  184. # define wxUSE_XML 0
  185. # endif
  186. #endif /* !defined(wxUSE_XML) */
  187. #ifndef wxUSE_SOCKETS
  188. # ifdef wxABORT_ON_CONFIG_ERROR
  189. # error "wxUSE_SOCKETS must be defined."
  190. # else
  191. # define wxUSE_SOCKETS 0
  192. # endif
  193. #endif /* !defined(wxUSE_SOCKETS) */
  194. #ifndef wxUSE_STREAMS
  195. # ifdef wxABORT_ON_CONFIG_ERROR
  196. # error "wxUSE_STREAMS must be defined."
  197. # else
  198. # define wxUSE_STREAMS 0
  199. # endif
  200. #endif /* !defined(wxUSE_STREAMS) */
  201. #ifndef wxUSE_STOPWATCH
  202. # ifdef wxABORT_ON_CONFIG_ERROR
  203. # error "wxUSE_STOPWATCH must be defined."
  204. # else
  205. # define wxUSE_STOPWATCH 0
  206. # endif
  207. #endif /* !defined(wxUSE_STOPWATCH) */
  208. #ifndef wxUSE_TEXTBUFFER
  209. # ifdef wxABORT_ON_CONFIG_ERROR
  210. # error "wxUSE_TEXTBUFFER must be defined."
  211. # else
  212. # define wxUSE_TEXTBUFFER 0
  213. # endif
  214. #endif /* !defined(wxUSE_TEXTBUFFER) */
  215. #ifndef wxUSE_TEXTFILE
  216. # ifdef wxABORT_ON_CONFIG_ERROR
  217. # error "wxUSE_TEXTFILE must be defined."
  218. # else
  219. # define wxUSE_TEXTFILE 0
  220. # endif
  221. #endif /* !defined(wxUSE_TEXTFILE) */
  222. #ifndef wxUSE_UNICODE
  223. # ifdef wxABORT_ON_CONFIG_ERROR
  224. # error "wxUSE_UNICODE must be defined."
  225. # else
  226. # define wxUSE_UNICODE 0
  227. # endif
  228. #endif /* !defined(wxUSE_UNICODE) */
  229. #ifndef wxUSE_URL
  230. # ifdef wxABORT_ON_CONFIG_ERROR
  231. # error "wxUSE_URL must be defined."
  232. # else
  233. # define wxUSE_URL 0
  234. # endif
  235. #endif /* !defined(wxUSE_URL) */
  236. /*
  237. all these tests are for GUI only
  238. */
  239. #if wxUSE_GUI
  240. /*
  241. all of the settings tested below must be defined or we'd get an error from
  242. preprocessor about invalid integer expression
  243. */
  244. #ifndef wxUSE_ACCEL
  245. # ifdef wxABORT_ON_CONFIG_ERROR
  246. # error "wxUSE_ACCEL must be defined."
  247. # else
  248. # define wxUSE_ACCEL 0
  249. # endif
  250. #endif /* !defined(wxUSE_ACCEL) */
  251. #ifndef wxUSE_BMPBUTTON
  252. # ifdef wxABORT_ON_CONFIG_ERROR
  253. # error "wxUSE_BMPBUTTON must be defined."
  254. # else
  255. # define wxUSE_BMPBUTTON 0
  256. # endif
  257. #endif /* !defined(wxUSE_BMPBUTTON) */
  258. #ifndef wxUSE_BUTTON
  259. # ifdef wxABORT_ON_CONFIG_ERROR
  260. # error "wxUSE_BUTTON must be defined."
  261. # else
  262. # define wxUSE_BUTTON 0
  263. # endif
  264. #endif /* !defined(wxUSE_BUTTON) */
  265. #ifndef wxUSE_CALENDARCTRL
  266. # ifdef wxABORT_ON_CONFIG_ERROR
  267. # error "wxUSE_CALENDARCTRL must be defined."
  268. # else
  269. # define wxUSE_CALENDARCTRL 0
  270. # endif
  271. #endif /* !defined(wxUSE_CALENDARCTRL) */
  272. #ifndef wxUSE_CARET
  273. # ifdef wxABORT_ON_CONFIG_ERROR
  274. # error "wxUSE_CARET must be defined."
  275. # else
  276. # define wxUSE_CARET 0
  277. # endif
  278. #endif /* !defined(wxUSE_CARET) */
  279. #ifndef wxUSE_CHECKBOX
  280. # ifdef wxABORT_ON_CONFIG_ERROR
  281. # error "wxUSE_CHECKBOX must be defined."
  282. # else
  283. # define wxUSE_CHECKBOX 0
  284. # endif
  285. #endif /* !defined(wxUSE_CHECKBOX) */
  286. #ifndef wxUSE_CHECKLISTBOX
  287. # ifdef wxABORT_ON_CONFIG_ERROR
  288. # error "wxUSE_CHECKLISTBOX must be defined."
  289. # else
  290. # define wxUSE_CHECKLISTBOX 0
  291. # endif
  292. #endif /* !defined(wxUSE_CHECKLISTBOX) */
  293. #ifndef wxUSE_CHOICE
  294. # ifdef wxABORT_ON_CONFIG_ERROR
  295. # error "wxUSE_CHOICE must be defined."
  296. # else
  297. # define wxUSE_CHOICE 0
  298. # endif
  299. #endif /* !defined(wxUSE_CHOICE) */
  300. #ifndef wxUSE_CHOICEBOOK
  301. # ifdef wxABORT_ON_CONFIG_ERROR
  302. # error "wxUSE_CHOICEBOOK must be defined."
  303. # else
  304. # define wxUSE_CHOICEBOOK 0
  305. # endif
  306. #endif /* !defined(wxUSE_CHOICEBOOK) */
  307. #ifndef wxUSE_CHOICEDLG
  308. # ifdef wxABORT_ON_CONFIG_ERROR
  309. # error "wxUSE_CHOICEDLG must be defined."
  310. # else
  311. # define wxUSE_CHOICEDLG 0
  312. # endif
  313. #endif /* !defined(wxUSE_CHOICEDLG) */
  314. #ifndef wxUSE_CLIPBOARD
  315. # ifdef wxABORT_ON_CONFIG_ERROR
  316. # error "wxUSE_CLIPBOARD must be defined."
  317. # else
  318. # define wxUSE_CLIPBOARD 0
  319. # endif
  320. #endif /* !defined(wxUSE_CLIPBOARD) */
  321. #ifndef wxUSE_COLOURDLG
  322. # ifdef wxABORT_ON_CONFIG_ERROR
  323. # error "wxUSE_COLOURDLG must be defined."
  324. # else
  325. # define wxUSE_COLOURDLG 0
  326. # endif
  327. #endif /* !defined(wxUSE_COLOURDLG) */
  328. #ifndef wxUSE_COMBOBOX
  329. # ifdef wxABORT_ON_CONFIG_ERROR
  330. # error "wxUSE_COMBOBOX must be defined."
  331. # else
  332. # define wxUSE_COMBOBOX 0
  333. # endif
  334. #endif /* !defined(wxUSE_COMBOBOX) */
  335. #ifndef wxUSE_DATAOBJ
  336. # ifdef wxABORT_ON_CONFIG_ERROR
  337. # error "wxUSE_DATAOBJ must be defined."
  338. # else
  339. # define wxUSE_DATAOBJ 0
  340. # endif
  341. #endif /* !defined(wxUSE_DATAOBJ) */
  342. #ifndef wxUSE_DATEPICKCTRL
  343. # ifdef wxABORT_ON_CONFIG_ERROR
  344. # error "wxUSE_DATEPICKCTRL must be defined."
  345. # else
  346. # define wxUSE_DATEPICKCTRL 0
  347. # endif
  348. #endif /* !defined(wxUSE_DATEPICKCTRL) */
  349. #ifndef wxUSE_DISPLAY
  350. # ifdef wxABORT_ON_CONFIG_ERROR
  351. # error "wxUSE_DISPLAY must be defined."
  352. # else
  353. # define wxUSE_DISPLAY 0
  354. # endif
  355. #endif /* !defined(wxUSE_DISPLAY) */
  356. #ifndef wxUSE_DOC_VIEW_ARCHITECTURE
  357. # ifdef wxABORT_ON_CONFIG_ERROR
  358. # error "wxUSE_DOC_VIEW_ARCHITECTURE must be defined."
  359. # else
  360. # define wxUSE_DOC_VIEW_ARCHITECTURE 0
  361. # endif
  362. #endif /* !defined(wxUSE_DOC_VIEW_ARCHITECTURE) */
  363. #ifndef wxUSE_FILEDLG
  364. # ifdef wxABORT_ON_CONFIG_ERROR
  365. # error "wxUSE_FILEDLG must be defined."
  366. # else
  367. # define wxUSE_FILEDLG 0
  368. # endif
  369. #endif /* !defined(wxUSE_FILEDLG) */
  370. #ifndef wxUSE_FONTDLG
  371. # ifdef wxABORT_ON_CONFIG_ERROR
  372. # error "wxUSE_FONTDLG must be defined."
  373. # else
  374. # define wxUSE_FONTDLG 0
  375. # endif
  376. #endif /* !defined(wxUSE_FONTDLG) */
  377. #ifndef wxUSE_FONTMAP
  378. # ifdef wxABORT_ON_CONFIG_ERROR
  379. # error "wxUSE_FONTMAP must be defined."
  380. # else
  381. # define wxUSE_FONTMAP 0
  382. # endif
  383. #endif /* !defined(wxUSE_FONTMAP) */
  384. #ifndef wxUSE_GAUGE
  385. # ifdef wxABORT_ON_CONFIG_ERROR
  386. # error "wxUSE_GAUGE must be defined."
  387. # else
  388. # define wxUSE_GAUGE 0
  389. # endif
  390. #endif /* !defined(wxUSE_GAUGE) */
  391. #ifndef wxUSE_GRID
  392. # ifdef wxABORT_ON_CONFIG_ERROR
  393. # error "wxUSE_GRID must be defined."
  394. # else
  395. # define wxUSE_GRID 0
  396. # endif
  397. #endif /* !defined(wxUSE_GRID) */
  398. #ifndef wxUSE_HELP
  399. # ifdef wxABORT_ON_CONFIG_ERROR
  400. # error "wxUSE_HELP must be defined."
  401. # else
  402. # define wxUSE_HELP 0
  403. # endif
  404. #endif /* !defined(wxUSE_HELP) */
  405. #ifndef wxUSE_HTML
  406. # ifdef wxABORT_ON_CONFIG_ERROR
  407. # error "wxUSE_HTML must be defined."
  408. # else
  409. # define wxUSE_HTML 0
  410. # endif
  411. #endif /* !defined(wxUSE_HTML) */
  412. #ifndef wxUSE_XRC
  413. # ifdef wxABORT_ON_CONFIG_ERROR
  414. # error "wxUSE_XRC must be defined."
  415. # else
  416. # define wxUSE_XRC 0
  417. # endif
  418. #endif /* !defined(wxUSE_XRC) */
  419. #ifndef wxUSE_LIBMSPACK
  420. # ifndef __UNIX__
  421. /* set to 0 on platforms that don't have libmspack */
  422. # define wxUSE_LIBMSPACK 0
  423. # else
  424. # ifdef wxABORT_ON_CONFIG_ERROR
  425. # error "wxUSE_LIBMSPACK must be defined."
  426. # else
  427. # define wxUSE_LIBMSPACK 0
  428. # endif
  429. # endif
  430. #endif /* !defined(wxUSE_LIBMSPACK) */
  431. #ifndef wxUSE_ICO_CUR
  432. # ifdef wxABORT_ON_CONFIG_ERROR
  433. # error "wxUSE_ICO_CUR must be defined."
  434. # else
  435. # define wxUSE_ICO_CUR 0
  436. # endif
  437. #endif /* !defined(wxUSE_ICO_CUR) */
  438. #ifndef wxUSE_IFF
  439. # ifdef wxABORT_ON_CONFIG_ERROR
  440. # error "wxUSE_IFF must be defined."
  441. # else
  442. # define wxUSE_IFF 0
  443. # endif
  444. #endif /* !defined(wxUSE_IFF) */
  445. #ifndef wxUSE_IMAGLIST
  446. # ifdef wxABORT_ON_CONFIG_ERROR
  447. # error "wxUSE_IMAGLIST must be defined."
  448. # else
  449. # define wxUSE_IMAGLIST 0
  450. # endif
  451. #endif /* !defined(wxUSE_IMAGLIST) */
  452. #ifndef wxUSE_JOYSTICK
  453. # ifdef wxABORT_ON_CONFIG_ERROR
  454. # error "wxUSE_JOYSTICK must be defined."
  455. # else
  456. # define wxUSE_JOYSTICK 0
  457. # endif
  458. #endif /* !defined(wxUSE_JOYSTICK) */
  459. #ifndef wxUSE_LISTBOOK
  460. # ifdef wxABORT_ON_CONFIG_ERROR
  461. # error "wxUSE_LISTBOOK must be defined."
  462. # else
  463. # define wxUSE_LISTBOOK 0
  464. # endif
  465. #endif /* !defined(wxUSE_LISTBOOK) */
  466. #ifndef wxUSE_LISTBOX
  467. # ifdef wxABORT_ON_CONFIG_ERROR
  468. # error "wxUSE_LISTBOX must be defined."
  469. # else
  470. # define wxUSE_LISTBOX 0
  471. # endif
  472. #endif /* !defined(wxUSE_LISTBOX) */
  473. #ifndef wxUSE_LISTCTRL
  474. # ifdef wxABORT_ON_CONFIG_ERROR
  475. # error "wxUSE_LISTCTRL must be defined."
  476. # else
  477. # define wxUSE_LISTCTRL 0
  478. # endif
  479. #endif /* !defined(wxUSE_LISTCTRL) */
  480. #ifndef wxUSE_LOGGUI
  481. # ifdef wxABORT_ON_CONFIG_ERROR
  482. # error "wxUSE_LOGGUI must be defined."
  483. # else
  484. # define wxUSE_LOGGUI 0
  485. # endif
  486. #endif /* !defined(wxUSE_LOGGUI) */
  487. #ifndef wxUSE_LOGWINDOW
  488. # ifdef wxABORT_ON_CONFIG_ERROR
  489. # error "wxUSE_LOGWINDOW must be defined."
  490. # else
  491. # define wxUSE_LOGWINDOW 0
  492. # endif
  493. #endif /* !defined(wxUSE_LOGWINDOW) */
  494. #ifndef wxUSE_LOG_DIALOG
  495. # ifdef wxABORT_ON_CONFIG_ERROR
  496. # error "wxUSE_LOG_DIALOG must be defined."
  497. # else
  498. # define wxUSE_LOG_DIALOG 0
  499. # endif
  500. #endif /* !defined(wxUSE_LOG_DIALOG) */
  501. #ifndef wxUSE_MDI
  502. # ifdef wxABORT_ON_CONFIG_ERROR
  503. # error "wxUSE_MDI must be defined."
  504. # else
  505. # define wxUSE_MDI 0
  506. # endif
  507. #endif /* !defined(wxUSE_MDI) */
  508. #ifndef wxUSE_MDI_ARCHITECTURE
  509. # ifdef wxABORT_ON_CONFIG_ERROR
  510. # error "wxUSE_MDI_ARCHITECTURE must be defined."
  511. # else
  512. # define wxUSE_MDI_ARCHITECTURE 0
  513. # endif
  514. #endif /* !defined(wxUSE_MDI_ARCHITECTURE) */
  515. #ifndef wxUSE_MENUS
  516. # ifdef wxABORT_ON_CONFIG_ERROR
  517. # error "wxUSE_MENUS must be defined."
  518. # else
  519. # define wxUSE_MENUS 0
  520. # endif
  521. #endif /* !defined(wxUSE_MENUS) */
  522. #ifndef wxUSE_MSGDLG
  523. # ifdef wxABORT_ON_CONFIG_ERROR
  524. # error "wxUSE_MSGDLG must be defined."
  525. # else
  526. # define wxUSE_MSGDLG 0
  527. # endif
  528. #endif /* !defined(wxUSE_MSGDLG) */
  529. #ifndef wxUSE_NOTEBOOK
  530. # ifdef wxABORT_ON_CONFIG_ERROR
  531. # error "wxUSE_NOTEBOOK must be defined."
  532. # else
  533. # define wxUSE_NOTEBOOK 0
  534. # endif
  535. #endif /* !defined(wxUSE_NOTEBOOK) */
  536. #ifndef wxUSE_PALETTE
  537. # ifdef wxABORT_ON_CONFIG_ERROR
  538. # error "wxUSE_PALETTE must be defined."
  539. # else
  540. # define wxUSE_PALETTE 0
  541. # endif
  542. #endif /* !defined(wxUSE_PALETTE) */
  543. #ifndef wxUSE_POPUPWIN
  544. # ifdef wxABORT_ON_CONFIG_ERROR
  545. # error "wxUSE_POPUPWIN must be defined."
  546. # else
  547. # define wxUSE_POPUPWIN 0
  548. # endif
  549. #endif /* !defined(wxUSE_POPUPWIN) */
  550. #ifndef wxUSE_PRINTING_ARCHITECTURE
  551. # ifdef wxABORT_ON_CONFIG_ERROR
  552. # error "wxUSE_PRINTING_ARCHITECTURE must be defined."
  553. # else
  554. # define wxUSE_PRINTING_ARCHITECTURE 0
  555. # endif
  556. #endif /* !defined(wxUSE_PRINTING_ARCHITECTURE) */
  557. #ifndef wxUSE_RADIOBOX
  558. # ifdef wxABORT_ON_CONFIG_ERROR
  559. # error "wxUSE_RADIOBOX must be defined."
  560. # else
  561. # define wxUSE_RADIOBOX 0
  562. # endif
  563. #endif /* !defined(wxUSE_RADIOBOX) */
  564. #ifndef wxUSE_RADIOBTN
  565. # ifdef wxABORT_ON_CONFIG_ERROR
  566. # error "wxUSE_RADIOBTN must be defined."
  567. # else
  568. # define wxUSE_RADIOBTN 0
  569. # endif
  570. #endif /* !defined(wxUSE_RADIOBTN) */
  571. #ifndef wxUSE_SASH
  572. # ifdef wxABORT_ON_CONFIG_ERROR
  573. # error "wxUSE_SASH must be defined."
  574. # else
  575. # define wxUSE_SASH 0
  576. # endif
  577. #endif /* !defined(wxUSE_SASH) */
  578. #ifndef wxUSE_SCROLLBAR
  579. # ifdef wxABORT_ON_CONFIG_ERROR
  580. # error "wxUSE_SCROLLBAR must be defined."
  581. # else
  582. # define wxUSE_SCROLLBAR 0
  583. # endif
  584. #endif /* !defined(wxUSE_SCROLLBAR) */
  585. #ifndef wxUSE_SLIDER
  586. # ifdef wxABORT_ON_CONFIG_ERROR
  587. # error "wxUSE_SLIDER must be defined."
  588. # else
  589. # define wxUSE_SLIDER 0
  590. # endif
  591. #endif /* !defined(wxUSE_SLIDER) */
  592. #ifndef wxUSE_SOUND
  593. # ifdef wxABORT_ON_CONFIG_ERROR
  594. # error "wxUSE_SOUND must be defined."
  595. # else
  596. # define wxUSE_SOUND 0
  597. # endif
  598. #endif /* !defined(wxUSE_SOUND) */
  599. #ifndef wxUSE_SPINBTN
  600. # ifdef wxABORT_ON_CONFIG_ERROR
  601. # error "wxUSE_SPINBTN must be defined."
  602. # else
  603. # define wxUSE_SPINBTN 0
  604. # endif
  605. #endif /* !defined(wxUSE_SPINBTN) */
  606. #ifndef wxUSE_SPINCTRL
  607. # ifdef wxABORT_ON_CONFIG_ERROR
  608. # error "wxUSE_SPINCTRL must be defined."
  609. # else
  610. # define wxUSE_SPINCTRL 0
  611. # endif
  612. #endif /* !defined(wxUSE_SPINCTRL) */
  613. #ifndef wxUSE_SPLASH
  614. # ifdef wxABORT_ON_CONFIG_ERROR
  615. # error "wxUSE_SPLASH must be defined."
  616. # else
  617. # define wxUSE_SPLASH 0
  618. # endif
  619. #endif /* !defined(wxUSE_SPLASH) */
  620. #ifndef wxUSE_SPLITTER
  621. # ifdef wxABORT_ON_CONFIG_ERROR
  622. # error "wxUSE_SPLITTER must be defined."
  623. # else
  624. # define wxUSE_SPLITTER 0
  625. # endif
  626. #endif /* !defined(wxUSE_SPLITTER) */
  627. #ifndef wxUSE_STATBMP
  628. # ifdef wxABORT_ON_CONFIG_ERROR
  629. # error "wxUSE_STATBMP must be defined."
  630. # else
  631. # define wxUSE_STATBMP 0
  632. # endif
  633. #endif /* !defined(wxUSE_STATBMP) */
  634. #ifndef wxUSE_STATBOX
  635. # ifdef wxABORT_ON_CONFIG_ERROR
  636. # error "wxUSE_STATBOX must be defined."
  637. # else
  638. # define wxUSE_STATBOX 0
  639. # endif
  640. #endif /* !defined(wxUSE_STATBOX) */
  641. #ifndef wxUSE_STATLINE
  642. # ifdef wxABORT_ON_CONFIG_ERROR
  643. # error "wxUSE_STATLINE must be defined."
  644. # else
  645. # define wxUSE_STATLINE 0
  646. # endif
  647. #endif /* !defined(wxUSE_STATLINE) */
  648. #ifndef wxUSE_STATTEXT
  649. # ifdef wxABORT_ON_CONFIG_ERROR
  650. # error "wxUSE_STATTEXT must be defined."
  651. # else
  652. # define wxUSE_STATTEXT 0
  653. # endif
  654. #endif /* !defined(wxUSE_STATTEXT) */
  655. #ifndef wxUSE_STATUSBAR
  656. # ifdef wxABORT_ON_CONFIG_ERROR
  657. # error "wxUSE_STATUSBAR must be defined."
  658. # else
  659. # define wxUSE_STATUSBAR 0
  660. # endif
  661. #endif /* !defined(wxUSE_STATUSBAR) */
  662. #ifndef wxUSE_TAB_DIALOG
  663. # ifdef wxABORT_ON_CONFIG_ERROR
  664. # error "wxUSE_TAB_DIALOG must be defined."
  665. # else
  666. # define wxUSE_TAB_DIALOG 0
  667. # endif
  668. #endif /* !defined(wxUSE_TAB_DIALOG) */
  669. #ifndef wxUSE_TEXTCTRL
  670. # ifdef wxABORT_ON_CONFIG_ERROR
  671. # error "wxUSE_TEXTCTRL must be defined."
  672. # else
  673. # define wxUSE_TEXTCTRL 0
  674. # endif
  675. #endif /* !defined(wxUSE_TEXTCTRL) */
  676. #ifndef wxUSE_TIPWINDOW
  677. # ifdef wxABORT_ON_CONFIG_ERROR
  678. # error "wxUSE_TIPWINDOW must be defined."
  679. # else
  680. # define wxUSE_TIPWINDOW 0
  681. # endif
  682. #endif /* !defined(wxUSE_TIPWINDOW) */
  683. #ifndef wxUSE_TOOLBAR
  684. # ifdef wxABORT_ON_CONFIG_ERROR
  685. # error "wxUSE_TOOLBAR must be defined."
  686. # else
  687. # define wxUSE_TOOLBAR 0
  688. # endif
  689. #endif /* !defined(wxUSE_TOOLBAR) */
  690. #ifndef wxUSE_TOOLTIPS
  691. # ifdef wxABORT_ON_CONFIG_ERROR
  692. # error "wxUSE_TOOLTIPS must be defined."
  693. # else
  694. # define wxUSE_TOOLTIPS 0
  695. # endif
  696. #endif /* !defined(wxUSE_TOOLTIPS) */
  697. #ifndef wxUSE_TREECTRL
  698. # ifdef wxABORT_ON_CONFIG_ERROR
  699. # error "wxUSE_TREECTRL must be defined."
  700. # else
  701. # define wxUSE_TREECTRL 0
  702. # endif
  703. #endif /* !defined(wxUSE_TREECTRL) */
  704. #ifndef wxUSE_VALIDATORS
  705. # ifdef wxABORT_ON_CONFIG_ERROR
  706. # error "wxUSE_VALIDATORS must be defined."
  707. # else
  708. # define wxUSE_VALIDATORS 0
  709. # endif
  710. #endif /* !defined(wxUSE_VALIDATORS) */
  711. #ifndef wxUSE_WXHTML_HELP
  712. # ifdef wxABORT_ON_CONFIG_ERROR
  713. # error "wxUSE_WXHTML_HELP must be defined."
  714. # else
  715. # define wxUSE_WXHTML_HELP 0
  716. # endif
  717. #endif /* !defined(wxUSE_WXHTML_HELP) */
  718. #endif /* wxUSE_GUI */
  719. /*
  720. check consistency of the settings
  721. */
  722. #if wxUSE_CRASHREPORT && !wxUSE_ON_FATAL_EXCEPTION
  723. # ifdef wxABORT_ON_CONFIG_ERROR
  724. # error "wxUSE_CRASHREPORT requires wxUSE_ON_FATAL_EXCEPTION"
  725. # else
  726. # undef wxUSE_CRASHREPORT
  727. # define wxUSE_CRASHREPORT 0
  728. # endif
  729. #endif /* wxUSE_CRASHREPORT */
  730. #if wxUSE_PROTOCOL_FILE || wxUSE_PROTOCOL_FTP || wxUSE_PROTOCOL_HTTP
  731. # if !wxUSE_PROTOCOL
  732. # ifdef wxABORT_ON_CONFIG_ERROR
  733. # error "wxUSE_PROTOCOL_XXX requires wxUSE_PROTOCOL"
  734. # else
  735. # undef wxUSE_PROTOCOL
  736. # define wxUSE_PROTOCOL 1
  737. # endif
  738. # endif
  739. #endif /* wxUSE_PROTOCOL_XXX */
  740. #if wxUSE_URL
  741. # if !wxUSE_PROTOCOL
  742. # ifdef wxABORT_ON_CONFIG_ERROR
  743. # error "wxUSE_URL requires wxUSE_PROTOCOL"
  744. # else
  745. # undef wxUSE_PROTOCOL
  746. # define wxUSE_PROTOCOL 1
  747. # endif
  748. # endif
  749. #endif /* wxUSE_URL */
  750. #if wxUSE_PROTOCOL
  751. # if !wxUSE_SOCKETS
  752. # if wxUSE_PROTOCOL_HTTP || wxUSE_PROTOCOL_FTP
  753. # ifdef wxABORT_ON_CONFIG_ERROR
  754. # error "wxUSE_PROTOCOL_FTP/HTTP requires wxUSE_SOCKETS"
  755. # else
  756. # undef wxUSE_SOCKETS
  757. # define wxUSE_SOCKETS 1
  758. # endif
  759. # endif
  760. # endif
  761. # if !wxUSE_STREAMS
  762. # ifdef wxABORT_ON_CONFIG_ERROR
  763. # error "wxUSE_PROTOCOL requires wxUSE_STREAMS"
  764. # else
  765. # undef wxUSE_STREAMS
  766. # define wxUSE_STREAMS 1
  767. # endif
  768. # endif
  769. #endif /* wxUSE_PROTOCOL */
  770. /* have to test for wxUSE_HTML before wxUSE_FILESYSTEM */
  771. #if wxUSE_HTML
  772. # if !wxUSE_FILESYSTEM
  773. # ifdef wxABORT_ON_CONFIG_ERROR
  774. # error "wxHTML requires wxFileSystem"
  775. # else
  776. # undef wxUSE_FILESYSTEM
  777. # define wxUSE_FILESYSTEM 1
  778. # endif
  779. # endif
  780. #endif /* wxUSE_HTML */
  781. #if wxUSE_FILESYSTEM
  782. # if !wxUSE_STREAMS
  783. # ifdef wxABORT_ON_CONFIG_ERROR
  784. # error "wxUSE_FILESYSTEM requires wxUSE_STREAMS"
  785. # else
  786. # undef wxUSE_STREAMS
  787. # define wxUSE_STREAMS 1
  788. # endif
  789. # endif
  790. #endif /* wxUSE_FILESYSTEM */
  791. #if wxUSE_FS_INET
  792. # if !wxUSE_PROTOCOL
  793. # ifdef wxABORT_ON_CONFIG_ERROR
  794. # error "wxUSE_FS_INET requires wxUSE_PROTOCOL"
  795. # else
  796. # undef wxUSE_PROTOCOL
  797. # define wxUSE_PROTOCOL 1
  798. # endif
  799. # endif
  800. #endif /* wxUSE_FS_INET */
  801. #if wxUSE_STOPWATCH || wxUSE_DATETIME
  802. # if !wxUSE_LONGLONG
  803. # ifdef wxABORT_ON_CONFIG_ERROR
  804. # error "wxUSE_STOPWATCH and wxUSE_DATETIME require wxUSE_LONGLONG"
  805. # else
  806. # undef wxUSE_LONGLONG
  807. # define wxUSE_LONGLONG 1
  808. # endif
  809. # endif
  810. #endif /* wxUSE_STOPWATCH */
  811. #if wxUSE_MIMETYPE && !wxUSE_TEXTFILE
  812. # ifdef wxABORT_ON_CONFIG_ERROR
  813. # error "wxUSE_MIMETYPE requires wxUSE_TEXTFILE"
  814. # else
  815. # undef wxUSE_TEXTFILE
  816. # define wxUSE_TEXTFILE 1
  817. # endif
  818. #endif /* wxUSE_MIMETYPE */
  819. #if wxUSE_TEXTFILE && !wxUSE_TEXTBUFFER
  820. # ifdef wxABORT_ON_CONFIG_ERROR
  821. # error "wxUSE_TEXTFILE requires wxUSE_TEXTBUFFER"
  822. # else
  823. # undef wxUSE_TEXTBUFFER
  824. # define wxUSE_TEXTBUFFER 1
  825. # endif
  826. #endif /* wxUSE_TEXTFILE */
  827. #if wxUSE_TEXTFILE && !wxUSE_FILE
  828. # ifdef wxABORT_ON_CONFIG_ERROR
  829. # error "wxUSE_TEXTFILE requires wxUSE_FILE"
  830. # else
  831. # undef wxUSE_FILE
  832. # define wxUSE_FILE 1
  833. # endif
  834. #endif /* wxUSE_TEXTFILE */
  835. #if wxUSE_XML && !wxUSE_WCHAR_T
  836. # ifdef wxABORT_ON_CONFIG_ERROR
  837. # error "wxUSE_XML requires wxUSE_WCHAR_T"
  838. # else
  839. # undef wxUSE_XML
  840. # define wxUSE_XML 0
  841. # endif
  842. #endif /* wxUSE_XML */
  843. #if !wxUSE_DYNLIB_CLASS
  844. # if wxUSE_DYNAMIC_LOADER
  845. # ifdef wxABORT_ON_CONFIG_ERROR
  846. # error "wxUSE_DYNAMIC_LOADER requires wxUSE_DYNLIB_CLASS."
  847. # else
  848. # define wxUSE_DYNLIB_CLASS 1
  849. # endif
  850. # endif
  851. #endif /* wxUSE_DYNLIB_CLASS */
  852. #if wxUSE_ZIPSTREAM
  853. # if !wxUSE_ZLIB
  854. # ifdef wxABORT_ON_CONFIG_ERROR
  855. # error "wxZip requires wxZlib"
  856. # else
  857. # undef wxUSE_ZLIB
  858. # define wxUSE_ZLIB 1
  859. # endif
  860. # endif
  861. # if !wxUSE_ARCHIVE_STREAMS
  862. # ifdef wxABORT_ON_CONFIG_ERROR
  863. # error "wxZip requires wxArchive"
  864. # else
  865. # undef wxUSE_ARCHIVE_STREAMS
  866. # define wxUSE_ARCHIVE_STREAMS 1
  867. # endif
  868. # endif
  869. #endif /* wxUSE_ZIPSTREAM */
  870. /* the rest of the tests is for the GUI settings only */
  871. #if wxUSE_GUI
  872. #if wxUSE_BUTTON || \
  873. wxUSE_CALENDARCTRL || \
  874. wxUSE_CARET || \
  875. wxUSE_COMBOBOX || \
  876. wxUSE_BMPBUTTON || \
  877. wxUSE_CHECKBOX || \
  878. wxUSE_CHECKLISTBOX || \
  879. wxUSE_CHOICE || \
  880. wxUSE_GAUGE || \
  881. wxUSE_GRID || \
  882. wxUSE_LISTBOX || \
  883. wxUSE_LISTCTRL || \
  884. wxUSE_NOTEBOOK || \
  885. wxUSE_RADIOBOX || \
  886. wxUSE_RADIOBTN || \
  887. wxUSE_SCROLLBAR || \
  888. wxUSE_SLIDER || \
  889. wxUSE_SPINBTN || \
  890. wxUSE_SPINCTRL || \
  891. wxUSE_STATBMP || \
  892. wxUSE_STATBOX || \
  893. wxUSE_STATLINE || \
  894. wxUSE_STATTEXT || \
  895. wxUSE_STATUSBAR || \
  896. wxUSE_TEXTCTRL || \
  897. wxUSE_TOOLBAR || \
  898. wxUSE_TREECTRL
  899. # if !wxUSE_CONTROLS
  900. # ifdef wxABORT_ON_CONFIG_ERROR
  901. # error "wxUSE_CONTROLS unset but some controls used"
  902. # else
  903. # undef wxUSE_CONTROLS
  904. # define wxUSE_CONTROLS 1
  905. # endif
  906. # endif
  907. #endif /* controls */
  908. #if wxUSE_BMPBUTTON
  909. # if !wxUSE_BUTTON
  910. # ifdef wxABORT_ON_CONFIG_ERROR
  911. # error "wxUSE_BMPBUTTON requires wxUSE_BUTTON"
  912. # else
  913. # undef wxUSE_BUTTON
  914. # define wxUSE_BUTTON 1
  915. # endif
  916. # endif
  917. #endif /* wxUSE_BMPBUTTON */
  918. #if wxUSE_NOTEBOOK || wxUSE_LISTBOOK || wxUSE_CHOICEBOOK
  919. # if defined(wxUSE_BOOKCTRL) && !wxUSE_BOOKCTRL
  920. # ifdef wxABORT_ON_CONFIG_ERROR
  921. # error "wxUSE_BOOKCTRL must be set."
  922. # else
  923. # undef wxUSE_BOOKCTRL
  924. # endif
  925. # endif
  926. # ifndef wxUSE_BOOKCTRL
  927. # define wxUSE_BOOKCTRL 1
  928. # endif
  929. #endif /* wxUSE_NOTEBOOK */
  930. #if wxUSE_LISTBOOK
  931. # if !wxUSE_LISTCTRL
  932. # ifdef wxABORT_ON_CONFIG_ERROR
  933. # error "wxListbook requires wxListCtrl"
  934. # else
  935. # undef wxUSE_LISTCTRL
  936. # define wxUSE_LISTCTRL 1
  937. # endif
  938. # endif
  939. #endif /* wxUSE_LISTBOOK */
  940. #if wxUSE_CHOICEBOOK
  941. # if !wxUSE_CHOICE
  942. # ifdef wxABORT_ON_CONFIG_ERROR
  943. # error "wxChoicebook requires wxChoice"
  944. # else
  945. # undef wxUSE_CHOICE
  946. # define wxUSE_CHOICE 1
  947. # endif
  948. # endif
  949. #endif /* wxUSE_CHOICEBOOK */
  950. /* don't attempt to use native status bar on the platforms not having it */
  951. #ifndef wxUSE_NATIVE_STATUSBAR
  952. # define wxUSE_NATIVE_STATUSBAR 0
  953. #elif wxUSE_NATIVE_STATUSBAR
  954. # if defined(__WXUNIVERSAL__) || !( defined(__WXMSW__) || \
  955. defined(__WXMAC__) || \
  956. defined(__WXPALMOS__) )
  957. # undef wxUSE_NATIVE_STATUSBAR
  958. # define wxUSE_NATIVE_STATUSBAR 0
  959. # endif
  960. #endif
  961. /* wxUniv-specific dependencies */
  962. #if defined(__WXUNIVERSAL__)
  963. # if (wxUSE_COMBOBOX || wxUSE_MENUS) && !wxUSE_POPUPWIN
  964. # ifdef wxABORT_ON_CONFIG_ERROR
  965. # error "wxUSE_POPUPWIN must be defined to use comboboxes/menus"
  966. # else
  967. # undef wxUSE_POPUPWIN
  968. # define wxUSE_POPUPWIN 1
  969. # endif
  970. # endif
  971. # if wxUSE_COMBOBOX
  972. # if !wxUSE_LISTBOX
  973. # ifdef wxABORT_ON_CONFIG_ERROR
  974. # error "wxComboBox requires wxListBox in wxUniversal"
  975. # else
  976. # undef wxUSE_LISTBOX
  977. # define wxUSE_LISTBOX 1
  978. # endif
  979. # endif
  980. # endif /* wxUSE_COMBOBOX */
  981. # if wxUSE_RADIOBTN
  982. # if !wxUSE_CHECKBOX
  983. # ifdef wxABORT_ON_CONFIG_ERROR
  984. # error "wxUSE_RADIOBTN requires wxUSE_CHECKBOX in wxUniversal"
  985. # else
  986. # undef wxUSE_CHECKBOX
  987. # define wxUSE_CHECKBOX 1
  988. # endif
  989. # endif
  990. # endif /* wxUSE_RADIOBTN */
  991. # if wxUSE_TEXTCTRL
  992. # if !wxUSE_CARET
  993. # ifdef wxABORT_ON_CONFIG_ERROR
  994. # error "wxTextCtrl requires wxCaret in wxUniversal"
  995. # else
  996. # undef wxUSE_CARET
  997. # define wxUSE_CARET 1
  998. # endif
  999. # endif /* wxUSE_CARET */
  1000. # if !wxUSE_SCROLLBAR
  1001. # ifdef wxABORT_ON_CONFIG_ERROR
  1002. # error "wxTextCtrl requires wxScrollBar in wxUniversal"
  1003. # else
  1004. # undef wxUSE_SCROLLBAR
  1005. # define wxUSE_SCROLLBAR 1
  1006. # endif
  1007. # endif /* wxUSE_SCROLLBAR */
  1008. # endif /* wxUSE_TEXTCTRL */
  1009. #endif /* __WXUNIVERSAL__ */
  1010. /* wxGTK-specific dependencies */
  1011. #ifdef __WXGTK__
  1012. # ifndef __WXUNIVERSAL__
  1013. # if wxUSE_MDI_ARCHITECTURE && !wxUSE_MENUS
  1014. # ifdef wxABORT_ON_CONFIG_ERROR
  1015. # error "MDI requires wxUSE_MENUS in wxGTK"
  1016. # else
  1017. # undef wxUSE_MENUS
  1018. # define wxUSE_MENUS 1
  1019. # endif
  1020. # endif
  1021. # endif /* !__WXUNIVERSAL__ */
  1022. # if wxUSE_JOYSTICK
  1023. # if !wxUSE_THREADS
  1024. # ifdef wxABORT_ON_CONFIG_ERROR
  1025. # error "wxJoystick requires threads in wxGTK"
  1026. # else
  1027. # undef wxUSE_JOYSTICK
  1028. # define wxUSE_JOYSTICK 0
  1029. # endif
  1030. # endif
  1031. # endif
  1032. #endif /* wxGTK && !wxUniv */
  1033. /* wxMSW-specific dependencies */
  1034. #ifdef __WXMSW__
  1035. # ifndef wxUSE_UNICODE_MSLU
  1036. # ifdef wxABORT_ON_CONFIG_ERROR
  1037. # error "wxUSE_UNICODE_MSLU must be defined."
  1038. # else
  1039. # define wxUSE_UNICODE_MSLU 0
  1040. # endif
  1041. # endif /* wxUSE_UNICODE_MSLU */
  1042. # ifndef wxUSE_UXTHEME
  1043. # ifdef wxABORT_ON_CONFIG_ERROR
  1044. # error "wxUSE_UXTHEME must be defined."
  1045. # else
  1046. # define wxUSE_UXTHEME 0
  1047. # endif
  1048. # endif /* wxUSE_UXTHEME */
  1049. # ifndef wxUSE_UXTHEME_AUTO
  1050. # ifdef wxABORT_ON_CONFIG_ERROR
  1051. # error "wxUSE_UXTHEME_AUTO must be defined."
  1052. # else
  1053. # define wxUSE_UXTHEME_AUTO 0
  1054. # endif
  1055. # endif /* wxUSE_UXTHEME_AUTO */
  1056. # ifndef wxUSE_MS_HTML_HELP
  1057. # ifdef wxABORT_ON_CONFIG_ERROR
  1058. # error "wxUSE_MS_HTML_HELP must be defined."
  1059. # else
  1060. # define wxUSE_MS_HTML_HELP 0
  1061. # endif
  1062. # endif /* !defined(wxUSE_MS_HTML_HELP) */
  1063. # ifndef wxUSE_DIALUP_MANAGER
  1064. # ifdef wxABORT_ON_CONFIG_ERROR
  1065. # error "wxUSE_DIALUP_MANAGER must be defined."
  1066. # else
  1067. # define wxUSE_DIALUP_MANAGER 0
  1068. # endif
  1069. # endif /* !defined(wxUSE_DIALUP_MANAGER) */
  1070. # if !wxUSE_DYNAMIC_LOADER
  1071. # if wxUSE_MS_HTML_HELP
  1072. # ifdef wxABORT_ON_CONFIG_ERROR
  1073. # error "wxUSE_MS_HTML_HELP requires wxUSE_DYNAMIC_LOADER."
  1074. # else
  1075. # define wxUSE_DYNAMIC_LOADER 1
  1076. # endif
  1077. # endif
  1078. # if wxUSE_DIALUP_MANAGER
  1079. # ifdef wxABORT_ON_CONFIG_ERROR
  1080. # error "wxUSE_DIALUP_MANAGER requires wxUSE_DYNAMIC_LOADER."
  1081. # else
  1082. # define wxUSE_DYNAMIC_LOADER 1
  1083. # endif
  1084. # endif
  1085. # endif /* wxUSE_DYNAMIC_LOADER */
  1086. #endif /* wxMSW */
  1087. /* wxMGL-specific dependencies */
  1088. #ifdef __WXMGL__
  1089. # if !wxUSE_PALETTE
  1090. # error "wxMGL requires wxUSE_PALETTE=1"
  1091. # endif
  1092. #endif /* wxMGL */
  1093. /* Hopefully we can emulate these dialogs in due course */
  1094. #if defined(__SMARTPHONE__) && defined(__WXWINCE__)
  1095. # ifdef wxUSE_COLOURDLG
  1096. # undef wxUSE_COLOURDLG
  1097. # define wxUSE_COLOURDLG 0
  1098. # endif
  1099. #endif /* __SMARTPHONE__ && __WXWINCE__ */
  1100. /* generic controls dependencies */
  1101. #if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
  1102. # if wxUSE_FONTDLG || wxUSE_FILEDLG || wxUSE_CHOICEDLG
  1103. /* all common controls are needed by these dialogs */
  1104. # if !defined(wxUSE_CHOICE) || \
  1105. !defined(wxUSE_TEXTCTRL) || \
  1106. !defined(wxUSE_BUTTON) || \
  1107. !defined(wxUSE_CHECKBOX) || \
  1108. !defined(wxUSE_STATTEXT)
  1109. # ifdef wxABORT_ON_CONFIG_ERROR
  1110. # error "These common controls are needed by common dialogs"
  1111. # else
  1112. # undef wxUSE_CHOICE
  1113. # define wxUSE_CHOICE 1
  1114. # undef wxUSE_TEXTCTRL
  1115. # define wxUSE_TEXTCTRL 1
  1116. # undef wxUSE_BUTTON
  1117. # define wxUSE_BUTTON 1
  1118. # undef wxUSE_CHECKBOX
  1119. # define wxUSE_CHECKBOX 1
  1120. # undef wxUSE_STATTEXT
  1121. # define wxUSE_STATTEXT 1
  1122. # endif
  1123. # endif
  1124. # endif
  1125. #endif /* !wxMSW || wxUniv */
  1126. /* common dependencies */
  1127. #if wxUSE_CALENDARCTRL
  1128. # if !(wxUSE_SPINBTN && wxUSE_COMBOBOX)
  1129. # ifdef wxABORT_ON_CONFIG_ERROR
  1130. # error "wxCalendarCtrl requires wxSpinButton and wxComboBox"
  1131. # else
  1132. # undef wxUSE_SPINBTN
  1133. # undef wxUSE_COMBOBOX
  1134. # define wxUSE_SPINBTN 1
  1135. # define wxUSE_COMBOBOX 1
  1136. # endif
  1137. # endif
  1138. # if !wxUSE_DATETIME
  1139. # ifdef wxABORT_ON_CONFIG_ERROR
  1140. # error "wxCalendarCtrl requires wxUSE_DATETIME"
  1141. # else
  1142. # undef wxUSE_DATETIME
  1143. # define wxUSE_DATETIME 1
  1144. # endif
  1145. # endif
  1146. #endif /* wxUSE_CALENDARCTRL */
  1147. #if wxUSE_DATEPICKCTRL
  1148. # if !wxUSE_DATETIME
  1149. # ifdef wxABORT_ON_CONFIG_ERROR
  1150. # error "wxDatePickerCtrl requires wxUSE_DATETIME"
  1151. # else
  1152. # undef wxUSE_DATETIME
  1153. # define wxUSE_DATETIME 1
  1154. # endif
  1155. # endif
  1156. #endif /* wxUSE_DATEPICKCTRL */
  1157. #if wxUSE_CHECKLISTBOX
  1158. # if !wxUSE_LISTBOX
  1159. # ifdef wxABORT_ON_CONFIG_ERROR
  1160. # error "wxCheckListBox requires wxListBox"
  1161. # else
  1162. # undef wxUSE_LISTBOX
  1163. # define wxUSE_LISTBOX 1
  1164. # endif
  1165. # endif
  1166. #endif /* wxUSE_CHECKLISTBOX */
  1167. #if wxUSE_CHOICEDLG
  1168. # if !wxUSE_LISTBOX
  1169. # ifdef wxABORT_ON_CONFIG_ERROR
  1170. # error "Choice dialogs requires wxListBox"
  1171. # else
  1172. # undef wxUSE_LISTBOX
  1173. # define wxUSE_LISTBOX 1
  1174. # endif
  1175. # endif
  1176. #endif /* wxUSE_CHOICEDLG */
  1177. #if wxUSE_HELP
  1178. # if !wxUSE_BMPBUTTON
  1179. # ifdef wxABORT_ON_CONFIG_ERROR
  1180. # error "wxUSE_HELP requires wxUSE_BMPBUTTON"
  1181. # else
  1182. # undef wxUSE_BMPBUTTON
  1183. # define wxUSE_BMPBUTTON 1
  1184. # endif
  1185. # endif
  1186. # if !wxUSE_CHOICEDLG
  1187. # ifdef wxABORT_ON_CONFIG_ERROR
  1188. # error "wxUSE_HELP requires wxUSE_CHOICEDLG"
  1189. # else
  1190. # undef wxUSE_CHOICEDLG
  1191. # define wxUSE_CHOICEDLG 1
  1192. # endif
  1193. # endif
  1194. #endif /* wxUSE_HELP */
  1195. #if wxUSE_WXHTML_HELP
  1196. # if !wxUSE_HELP || !wxUSE_HTML || !wxUSE_COMBOBOX || !wxUSE_NOTEBOOK || !wxUSE_SPINCTRL
  1197. # ifdef wxABORT_ON_CONFIG_ERROR
  1198. # error "Built in help controller can't be compiled"
  1199. # else
  1200. # undef wxUSE_HELP
  1201. # define wxUSE_HELP 1
  1202. # undef wxUSE_HTML
  1203. # define wxUSE_HTML 1
  1204. # undef wxUSE_COMBOBOX
  1205. # define wxUSE_COMBOBOX 1
  1206. # undef wxUSE_NOTEBOOK
  1207. # define wxUSE_NOTEBOOK 1
  1208. # undef wxUSE_SPINCTRL
  1209. # define wxUSE_SPINCTRL 1
  1210. # endif
  1211. # endif
  1212. #endif /* wxUSE_WXHTML_HELP */
  1213. #if !wxUSE_IMAGE
  1214. /*
  1215. The default wxUSE_IMAGE setting is 1, so if it's set to 0 we assume the
  1216. user explicitly wants this and disable all other features that require
  1217. wxUSE_IMAGE.
  1218. */
  1219. # if wxUSE_DRAGIMAGE
  1220. # ifdef wxABORT_ON_CONFIG_ERROR
  1221. # error "wxUSE_DRAGIMAGE requires wxUSE_IMAGE"
  1222. # else
  1223. # undef wxUSE_DRAGIMAGE
  1224. # define wxUSE_DRAGIMAGE 0
  1225. # endif
  1226. # endif
  1227. # if wxUSE_LIBPNG
  1228. # ifdef wxABORT_ON_CONFIG_ERROR
  1229. # error "wxUSE_LIBPNG requires wxUSE_IMAGE"
  1230. # else
  1231. # undef wxUSE_LIBPNG
  1232. # define wxUSE_LIBPNG 0
  1233. # endif
  1234. # endif
  1235. # if wxUSE_LIBJPEG
  1236. # ifdef wxABORT_ON_CONFIG_ERROR
  1237. # error "wxUSE_LIBJPEG requires wxUSE_IMAGE"
  1238. # else
  1239. # undef wxUSE_LIBJPEG
  1240. # define wxUSE_LIBJPEG 0
  1241. # endif
  1242. # endif
  1243. # if wxUSE_LIBTIFF
  1244. # ifdef wxABORT_ON_CONFIG_ERROR
  1245. # error "wxUSE_LIBTIFF requires wxUSE_IMAGE"
  1246. # else
  1247. # undef wxUSE_LIBTIFF
  1248. # define wxUSE_LIBTIFF 0
  1249. # endif
  1250. # endif
  1251. # if wxUSE_GIF
  1252. # ifdef wxABORT_ON_CONFIG_ERROR
  1253. # error "wxUSE_GIF requires wxUSE_IMAGE"
  1254. # else
  1255. # undef wxUSE_GIF
  1256. # define wxUSE_GIF 0
  1257. # endif
  1258. # endif
  1259. # if wxUSE_PNM
  1260. # ifdef wxABORT_ON_CONFIG_ERROR
  1261. # error "wxUSE_PNM requires wxUSE_IMAGE"
  1262. # else
  1263. # undef wxUSE_PNM
  1264. # define wxUSE_PNM 0
  1265. # endif
  1266. # endif
  1267. # if wxUSE_PCX
  1268. # ifdef wxABORT_ON_CONFIG_ERROR
  1269. # error "wxUSE_PCX requires wxUSE_IMAGE"
  1270. # else
  1271. # undef wxUSE_PCX
  1272. # define wxUSE_PCX 0
  1273. # endif
  1274. # endif
  1275. # if wxUSE_IFF
  1276. # ifdef wxABORT_ON_CONFIG_ERROR
  1277. # error "wxUSE_IFF requires wxUSE_IMAGE"
  1278. # else
  1279. # undef wxUSE_IFF
  1280. # define wxUSE_IFF 0
  1281. # endif
  1282. # endif
  1283. # if wxUSE_TOOLBAR
  1284. # ifdef wxABORT_ON_CONFIG_ERROR
  1285. # error "wxUSE_TOOLBAR requires wxUSE_IMAGE"
  1286. # else
  1287. # undef wxUSE_TOOLBAR
  1288. # define wxUSE_TOOLBAR 0
  1289. # endif
  1290. # endif
  1291. # if wxUSE_XPM
  1292. # ifdef wxABORT_ON_CONFIG_ERROR
  1293. # error "wxUSE_XPM requires wxUSE_IMAGE"
  1294. # else
  1295. # undef wxUSE_XPM
  1296. # define wxUSE_XPM 0
  1297. # endif
  1298. # endif
  1299. #endif /* !wxUSE_IMAGE */
  1300. #if wxUSE_DOC_VIEW_ARCHITECTURE
  1301. # if !wxUSE_MENUS
  1302. # ifdef wxABORT_ON_CONFIG_ERROR
  1303. # error "DocView requires wxUSE_MENUS"
  1304. # else
  1305. # undef wxUSE_MENUS
  1306. # define wxUSE_MENUS 1
  1307. # endif
  1308. # endif
  1309. # if !wxUSE_CHOICEDLG
  1310. # ifdef wxABORT_ON_CONFIG_ERROR
  1311. # error "DocView requires wxUSE_CHOICEDLG"
  1312. # else
  1313. # undef wxUSE_CHOICEDLG
  1314. # define wxUSE_CHOICEDLG 1
  1315. # endif
  1316. # endif
  1317. # if !wxUSE_STREAMS && !wxUSE_STD_IOSTREAM
  1318. # ifdef wxABORT_ON_CONFIG_ERROR
  1319. # error "DocView requires wxUSE_STREAMS or wxUSE_STD_IOSTREAM"
  1320. # else
  1321. # undef wxUSE_STREAMS
  1322. # define wxUSE_STREAMS 1
  1323. # endif
  1324. # endif
  1325. #endif /* wxUSE_DOC_VIEW_ARCHITECTURE */
  1326. #if wxUSE_PRINTING_ARCHITECTURE
  1327. # if !wxUSE_COMBOBOX
  1328. # ifdef wxABORT_ON_CONFIG_ERROR
  1329. # error "Print dialog requires wxUSE_COMBOBOX"
  1330. # else
  1331. # undef wxUSE_COMBOBOX
  1332. # define wxUSE_COMBOBOX 1
  1333. # endif
  1334. # endif
  1335. #endif /* wxUSE_PRINTING_ARCHITECTURE */
  1336. #if wxUSE_MDI_ARCHITECTURE
  1337. # if !wxUSE_MDI
  1338. # ifdef wxABORT_ON_CONFIG_ERROR
  1339. # error "MDI requires wxUSE_MDI"
  1340. # else
  1341. # undef wxUSE_MDI
  1342. # define wxUSE_MDI 1
  1343. # endif
  1344. # endif
  1345. # if !wxUSE_DOC_VIEW_ARCHITECTURE
  1346. # ifdef wxABORT_ON_CONFIG_ERROR
  1347. # error "MDI requires wxUSE_DOC_VIEW_ARCHITECTURE"
  1348. # else
  1349. # undef wxUSE_DOC_VIEW_ARCHITECTURE
  1350. # define wxUSE_DOC_VIEW_ARCHITECTURE 1
  1351. # endif
  1352. # endif
  1353. #endif /* wxUSE_MDI_ARCHITECTURE */
  1354. #if !wxUSE_FILEDLG
  1355. # if wxUSE_DOC_VIEW_ARCHITECTURE || wxUSE_WXHTML_HELP
  1356. # ifdef wxABORT_ON_CONFIG_ERROR
  1357. # error "wxFileDialog must be compiled as well"
  1358. # else
  1359. # undef wxUSE_FILEDLG
  1360. # define wxUSE_FILEDLG 1
  1361. # endif
  1362. # endif
  1363. #endif /* wxUSE_FILEDLG */
  1364. #if !wxUSE_GAUGE || !wxUSE_BUTTON
  1365. # if wxUSE_PROGRESSDLG && !defined(__WXPALMOS__)
  1366. # ifdef wxABORT_ON_CONFIG_ERROR
  1367. # error "Generic progress dialog requires wxUSE_GAUGE and wxUSE_BUTTON"
  1368. # else
  1369. # undef wxUSE_GAUGE
  1370. # undef wxUSE_BUTTON
  1371. # define wxUSE_GAUGE 1
  1372. # define wxUSE_BUTTON 1
  1373. # endif
  1374. # endif
  1375. #endif /* !wxUSE_GAUGE */
  1376. #if !wxUSE_BUTTON
  1377. # if wxUSE_FONTDLG || \
  1378. wxUSE_FILEDLG || \
  1379. wxUSE_CHOICEDLG || \
  1380. wxUSE_NUMBERDLG || \
  1381. wxUSE_TEXTDLG || \
  1382. wxUSE_DIRDLG || \
  1383. wxUSE_STARTUP_TIPS || \
  1384. wxUSE_WIZARDDLG
  1385. # ifdef wxABORT_ON_CONFIG_ERROR
  1386. # error "Common and generic dialogs require wxUSE_BUTTON"
  1387. # else
  1388. # undef wxUSE_BUTTON
  1389. # define wxUSE_BUTTON 1
  1390. # endif
  1391. # endif
  1392. #endif /* !wxUSE_BUTTON */
  1393. #if !wxUSE_TOOLBAR
  1394. # if wxUSE_TOOLBAR_NATIVE
  1395. # ifdef wxABORT_ON_CONFIG_ERROR
  1396. # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_NATIVE is set to 1"
  1397. # else
  1398. # undef wxUSE_TOOLBAR_NATIVE
  1399. # define wxUSE_TOOLBAR_NATIVE 0
  1400. # endif
  1401. # endif
  1402. # if wxUSE_TOOLBAR_SIMPLE
  1403. # ifdef wxABORT_ON_CONFIG_ERROR
  1404. # error "wxUSE_TOOLBAR is set to 0 but wxUSE_TOOLBAR_SIMPLE is set to 1"
  1405. # else
  1406. # undef wxUSE_TOOLBAR_SIMPLE
  1407. # define wxUSE_TOOLBAR_SIMPLE 0
  1408. # endif
  1409. # endif
  1410. #endif
  1411. #if !wxUSE_IMAGLIST
  1412. # if wxUSE_TREECTRL || wxUSE_NOTEBOOK || wxUSE_LISTCTRL
  1413. # ifdef wxABORT_ON_CONFIG_ERROR
  1414. # error "wxImageList must be compiled as well"
  1415. # else
  1416. # undef wxUSE_IMAGLIST
  1417. # define wxUSE_IMAGLIST 1
  1418. # endif
  1419. # endif
  1420. #endif /* !wxUSE_IMAGLIST */
  1421. #if !wxUSE_MSGDLG
  1422. # ifdef wxABORT_ON_CONFIG_ERROR
  1423. /* FIXME: should compile without it, of course, but doesn't */
  1424. # error "wxMessageBox is always needed"
  1425. # else
  1426. # undef wxUSE_MSGDLG
  1427. # define wxUSE_MSGDLG 1
  1428. # endif
  1429. #endif
  1430. #if wxUSE_RADIOBOX
  1431. # if !wxUSE_RADIOBTN
  1432. # ifdef wxABORT_ON_CONFIG_ERROR
  1433. # error "wxUSE_RADIOBOX requires wxUSE_RADIOBTN"
  1434. # else
  1435. # undef wxUSE_RADIOBTN
  1436. # define wxUSE_RADIOBTN 1
  1437. # endif
  1438. # endif
  1439. # if !wxUSE_STATBOX && !defined(__WXPALMOS__)
  1440. # ifdef wxABORT_ON_CONFIG_ERROR
  1441. # error "wxUSE_RADIOBOX requires wxUSE_STATBOX"
  1442. # else
  1443. # undef wxUSE_STATBOX
  1444. # define wxUSE_STATBOX 1
  1445. # endif
  1446. # endif
  1447. #endif /* wxUSE_RADIOBOX */
  1448. #if wxUSE_LOGWINDOW
  1449. # if !wxUSE_TEXTCTRL
  1450. # ifdef wxABORT_ON_CONFIG_ERROR
  1451. # error "wxUSE_LOGWINDOW requires wxUSE_TEXTCTRL"
  1452. # else
  1453. # undef wxUSE_TEXTCTRL
  1454. # define wxUSE_TEXTCTRL 1
  1455. # endif
  1456. # endif
  1457. #endif /* wxUSE_LOGWINDOW */
  1458. #if wxUSE_LOG_DIALOG
  1459. # if !wxUSE_LISTCTRL || !wxUSE_BUTTON
  1460. # ifdef wxABORT_ON_CONFIG_ERROR
  1461. # error "wxUSE_LOG_DIALOG requires wxUSE_LISTCTRL and wxUSE_BUTTON"
  1462. # else
  1463. # undef wxUSE_LISTCTRL
  1464. # define wxUSE_LISTCTRL 1
  1465. # undef wxUSE_BUTTON
  1466. # define wxUSE_BUTTON 1
  1467. # endif
  1468. # endif
  1469. #endif /* wxUSE_LOG_DIALOG */
  1470. #if wxUSE_CLIPBOARD && !wxUSE_DATAOBJ
  1471. # ifdef wxABORT_ON_CONFIG_ERROR
  1472. # error "wxClipboard requires wxDataObject"
  1473. # else
  1474. # undef wxUSE_DATAOBJ
  1475. # define wxUSE_DATAOBJ 1
  1476. # endif
  1477. #endif /* wxUSE_CLIPBOARD */
  1478. #if wxUSE_WX_RESOURCES && !wxUSE_PROLOGIO
  1479. # ifdef wxABORT_ON_CONFIG_ERROR
  1480. # error "wxr resources require PrologIO"
  1481. # else
  1482. # undef wxUSE_PROLOGIO
  1483. # define wxUSE_PROLOGIO 1
  1484. # endif
  1485. #endif /* wxUSE_WX_RESOURCES */
  1486. #if wxUSE_XRC && !wxUSE_XML
  1487. # ifdef wxABORT_ON_CONFIG_ERROR
  1488. # error "wxUSE_XRC requires wxUSE_XML"
  1489. # else
  1490. # undef wxUSE_XRC
  1491. # define wxUSE_XRC 0
  1492. # endif
  1493. #endif /* wxUSE_XRC */
  1494. #if wxUSE_SOCKETS && !wxUSE_STOPWATCH
  1495. # ifdef wxABORT_ON_CONFIG_ERROR
  1496. # error "wxUSE_SOCKETS requires wxUSE_STOPWATCH"
  1497. # else
  1498. # undef wxUSE_SOCKETS
  1499. # define wxUSE_SOCKETS 0
  1500. # endif
  1501. #endif /* wxUSE_SOCKETS */
  1502. #endif /* wxUSE_GUI */