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