]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/setup0.h
Added RTLD_GLOBAL to dlopen() flags which is needed if libraries depend
[wxWidgets.git] / include / wx / msw / setup0.h
CommitLineData
9bd6a503 1/////////////////////////////////////////////////////////////////////////////
b3402d0d 2// Name: wx/msw/setup.h
9bd6a503
VZ
3// Purpose: Configuration for the library
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_SETUP_H_
13#define _WX_SETUP_H_
14
73974df1
VZ
15// ----------------------------------------------------------------------------
16// global settings
17// ----------------------------------------------------------------------------
9bd6a503 18
73974df1
VZ
19// define this to 0 when building wxBase library
20#define wxUSE_GUI 1
1f112209 21
6d167489
VZ
22// ----------------------------------------------------------------------------
23// compatibility settings
24// ----------------------------------------------------------------------------
25
b3402d0d
VZ
26// This setting determines the compatibility with 1.68 API:
27// Level 0: no backward compatibility, all new features
28// Level 1: some extra methods are defined for compatibility.
29//
30// Default is 0.
31//
32// Recommended setting: 0 (in fact the compatibility code is now very minimal
33// so there is little advantage to setting it to 1.
9bd6a503 34#define WXWIN_COMPATIBILITY 0
9bd6a503 35
6d167489
VZ
36// in wxMSW version 2.1.11 and earlier, wxIcon always derives from wxBitmap,
37// but this is very dangerous because you can mistakenly pass an icon instead
38// of a bitmap to a function taking "const wxBitmap&" - which will *not* work
39// because an icon is not a valid bitmap
40//
41// Starting from 2.1.12, you have the choice under this backwards compatible
42// behaviour (your code will still compile, but probably won't behave as
43// expected!) and not deriving wxIcon class from wxBitmap, but providing a
44// conversion ctor wxBitmap(const wxIcon&) instead.
45//
46// Recommended setting: 0
47#define wxICON_IS_BITMAP 0
48
3b415ba4
VZ
49// ----------------------------------------------------------------------------
50// debugging settings
51// ----------------------------------------------------------------------------
52
53// Generic comment about debugging settings: they are very useful if you don't
54// use any other memory leak detection tools such as Purify/BoundsChecker, but
55// are probably redundant otherwise. Also, Visual C++ CRT has the same features
56// as wxWindows memory debugging subsystem built in since version 5.0 and you
57// may prefer to use it instead of built in memory debugging code because it is
58// faster and more fool proof.
59//
60// Using VC++ CRT memory debugging is enabled by default in debug mode
61// (__WXDEBUG__) if wxUSE_GLOBAL_MEMORY_OPERATORS is *not* enabled (i.e. is 0)
62// and if __NO_VC_CRTDBG__ is not defined.
63
64// If 1, enables wxDebugContext, for writing error messages to file, etc. If
65// __WXDEBUG__ is not defined, will still use normal memory operators. It's
66// recommended to set this to 1, since you may well need to output an error log
67// in a production version (or non-debugging beta).
68//
69// Default is 1.
70//
71// Recommended setting: 1 but see comment above
72#define wxUSE_DEBUG_CONTEXT 1
73
74// If 1, enables debugging versions of wxObject::new and wxObject::delete *IF*
75// __WXDEBUG__ is also defined.
76//
77// WARNING: this code may not work with all architectures, especially if
78// alignment is an issue. This switch is currently ignored for mingw / cygwin
79//
80// Default is 1
81//
82// Recommended setting: 1 but see comment in the beginning of this section
83#define wxUSE_MEMORY_TRACING 1
84
85// In debug mode, cause new and delete to be redefined globally.
86// If this causes problems (e.g. link errors), set this to 0.
87// This switch is currently ignored for mingw / cygwin
88//
89// Default is 1
90//
91// Recommended setting: 1 but see comment in the beginning of this section
92#define wxUSE_GLOBAL_MEMORY_OPERATORS 1
93
94// In debug mode, causes new to be defined to be WXDEBUG_NEW (see object.h). If
95// this causes problems (e.g. link errors), set this to 0. You may need to set
96// this to 0 if using templates (at least for VC++). This switch is currently
97// ignored for mingw / cygwin
98//
99// Default is 1
100//
101// Recommended setting: 1 but see comment in the beginning of this section
102#define wxUSE_DEBUG_NEW_ALWAYS 1
103
104// wxHandleFatalExceptions() may be used to catch the program faults at run
105// time and, instead of terminating the program with a usual GPF message box,
106// call the user-defined wxApp::OnFatalException() function. If you set
107// wxUSE_ON_FATAL_EXCEPTION to 0, wxHandleFatalExceptions() will not work.
108//
109// This setting is for Win32 only and can only be enabled if your compiler
110// supports Win32 structured exception handling (currently only VC++ does)
111//
112// Default is 1
113//
114// Recommended setting: 1 if your compiler supports it.
115#ifdef _MSC_VER
116 #define wxUSE_ON_FATAL_EXCEPTION 1
117#else
118 #define wxUSE_ON_FATAL_EXCEPTION 0
119#endif
120
121// ----------------------------------------------------------------------------
122// global features
123// ----------------------------------------------------------------------------
124
125// Support for message/error logging. This includes wxLogXXX() functions and
126// wxLog and derived classes. Don't set this to 0 unless you really know what
127// you are doing.
128//
129// Default is 1
130//
131// Recommended setting: 1 (always)
132#define wxUSE_LOG 1
133
134// Support for multithreaded applications: if 1, compile in thread classes
135// (thread.h) and make the library a bit more thread safe. Although thread
136// support is quite stable by now, you may still consider recompiling the
137// library without it if you have no use for it - this will result in a
138// somewhat smaller and faster operation.
139//
140// This is ignored under Win16, threads are only supported under Win32.
141//
142// Default is 1
143//
144// Recommended setting: 0 unless you do plan to develop MT applications
145#define wxUSE_THREADS 1
146
147// If enabled (1), compiles wxWindows streams classes
148#define wxUSE_STREAMS 1
149
150// Use standard C++ streams if 1. If 0, use wxWin streams implementation.
151#define wxUSE_STD_IOSTREAM 0
152
153// Use serialization (requires utils/serialize)
154#define wxUSE_SERIAL 0
155
73974df1 156// ----------------------------------------------------------------------------
40973ea5 157// non GUI features selection
73974df1
VZ
158// ----------------------------------------------------------------------------
159
40973ea5
VZ
160// Set wxUSE_LONGLONG to 1 to compile the wxLongLong class. This is a 64 bit
161// integer which is implemented in terms of native 64 bit integers if any or
162// uses emulation otherwise.
163//
164// This class is required by wxDateTime and so you should enable it if you want
165// to use wxDateTime. For most modern platforms, it will use the native 64 bit
166// integers in which case (almost) all of its functions are inline and it
167// almost does not take any space, so there should be no reason to switch it
168// off.
169//
170// Recommended setting: 1
171#define wxUSE_LONGLONG 1
172
173// Set wxUSE_TIMEDATE to 1 to compile the wxDateTime and related classes which
174// allow to manipulate dates, times and time intervals. wxDateTime replaces the
175// old wxTime and wxDate classes which are still provided for backwards
176// compatibility (and implemented in terms of wxDateTime).
177//
178// Note that this class is relatively new and is still officially in alpha
179// stage because some features are not yet (fully) implemented. It is already
180// quite useful though and should only be disabled if you are aiming at
181// absolutely minimal version of the library.
182//
183// Requires: wxUSE_LONGLONG
184//
185// Recommended setting: 1
186#define wxUSE_TIMEDATE 1
187
16193c2b
VZ
188// Setting wxUSE_CONFIG to 1 enables the use of wxConfig and related classes
189// which allow the application to store its settings in the persistent
190// storage. Setting this to 1 will also enable on-demand creation of the
191// global config object in wxApp.
192//
193// See also wxUSE_CONFIG_NATIVE below.
194//
195// Recommended setting: 1
73974df1 196#define wxUSE_CONFIG 1
16193c2b
VZ
197
198// If wxUSE_CONFIG is 1, you may choose to use either the native config
199// classes under Windows (using .INI files under Win16 and the registry under
200// Win32) or the portable text file format used by the config classes under
201// Unix.
202//
203// Default is 1 to use native classes. Note that you may still use
204// wxFileConfig even if you set this to 1 - just the config object created by
205// default for the applications needs will be a wxRegConfig or wxIniConfig and
206// not wxFileConfig.
207//
208// Recommended setting: 1
209#define wxUSE_CONFIG_NATIVE 1
210
bf84b0be
VZ
211// If wxUSE_DIALUP_MANAGER is 1, compile in wxDialUpManager class which allows
212// to connect/disconnect from the network and be notified whenever the dial-up
213// network connection is established/terminated.
214//
215// Default is 1.
216//
217// Recommended setting: 1
106f0395 218#define wxUSE_DIALUP_MANAGER 1
bf84b0be 219
3b415ba4
VZ
220// Compile in wxLibrary class for run-time DLL loading and function calling
221//
222// This setting is for Win32 only
223//
224// Default is 1.
225//
226// Recommended setting: 1
227#define wxUSE_DYNLIB_CLASS 1
228
229// Set to 1 to use socket classes
230#define wxUSE_SOCKETS 1
231
232// Set to 1 to enable virtual file systems
233// (needed by wxHTML)
234#define wxUSE_FILESYSTEM 1
235#define wxUSE_FS_ZIP 1
236#define wxUSE_FS_INET 1
237
238// input stream for reading from zip archives
239#define wxUSE_ZIPSTREAM 1
240
241#define wxUSE_APPLE_IEEE 1
242 // if enabled, the float codec written by Apple
243 // will be used to write, in a portable way,
244 // float on the disk
245
246// use wxFile class - required by i18n code, wxConfig and others - recommended
247#define wxUSE_FILE 1
248
249// use wxTextFile class: requires wxFile, required by wxConfig
250#define wxUSE_TEXTFILE 1
251
252// i18n support: _() macro, wxLocale class. Requires wxFile
253#define wxUSE_INTL 1
254
ede8795f
RD
255#define wxUSE_DYNAMIC_CLASSES 1
256 // If 1, enables provision of run-time type information.
257 // NOW MANDATORY: don't change.
258
bf84b0be
VZ
259// ----------------------------------------------------------------------------
260// Optional controls
261// ----------------------------------------------------------------------------
262
263// wxToolBar related settings: if wxUSE_TOOLBAR is 0, don't compile any toolbar
264// classes at all. Otherwise, use the native toolbar class unless
265// wxUSE_TOOLBAR_NATIVE is 0. Additionally, the generic toolbar class which
266// supports some features which might not be supported by the native wxToolBar
267// class may be compiled in if wxUSE_TOOLBAR_SIMPLE is 1.
268//
269// Default is 1 for all settings.
270//
271// Recommended setting: 1 for wxUSE_TOOLBAR and wxUSE_TOOLBAR_NATIVE and 0 for
272// wxUSE_TOOLBAR_SIMPLE (the default is 1 mainly for backwards compatibility).
273#define wxUSE_TOOLBAR 1
274#define wxUSE_TOOLBAR_NATIVE 1
275#define wxUSE_TOOLBAR_SIMPLE 1
276
b3402d0d
VZ
277// wxNotebook is a control with several "tabs" located on one of its sides. It
278// may be used ot logically organise the data presented to the user instead of
279// putting everything in one huge dialog. It replaces wxTabControl and related
280// classes of wxWin 1.6x.
281//
282// Default is 1.
283//
284// Recommended setting: 1
285#define wxUSE_NOTEBOOK 1
286
287// The corresponding controls will be compiled in if wxUSE_<CONTROL> is set to
288// 1 and not compiled into the library otherwise.
289//
290// Default is 1 for everything.
291//
292// Recommended setting: 1 (library might fail to compile for some combinations
ff2d113e
VZ
293// of disabled controls)
294#define wxUSE_CARET 1
295#define wxUSE_CHECKBOX 1
296#define wxUSE_CHECKLISTBOX 1
b3402d0d 297#define wxUSE_CHOICE 1
ff2d113e
VZ
298#define wxUSE_COMBOBOX 1
299#define wxUSE_GAUGE 1
300#define wxUSE_LISTBOX 1
b3402d0d 301#define wxUSE_RADIOBOX 1
ff2d113e 302#define wxUSE_RADIOBTN 1
3b415ba4 303#define wxUSE_SASH 1 // wxSashWindow
b3402d0d 304#define wxUSE_SCROLLBAR 1
ff2d113e 305#define wxUSE_SLIDER 1
b3402d0d
VZ
306#define wxUSE_SPINBTN 1
307#define wxUSE_SPINCTRL 1
308#define wxUSE_STATLINE 1
3b415ba4
VZ
309#define wxUSE_STATUSBAR 1
310#define wxUSE_TOOLTIPS 1 // wxToolTip and wxWindow::SetToolTip()
311
312// Two status bar implementations are available under Win32: the generic one
313// or the wrapper around native control. For native look and feel the native
314// version should be used.
315//
316// Default is 1.
317//
318// Recommended setting: 1
319#define wxUSE_NATIVE_STATUSBAR 1
ff2d113e
VZ
320
321// this setting is obsolete, value is ignored
322#define wxUSE_BUTTONBAR 1
323
324// wxGrid class comes in two flavours: the original (pre wxWin 2.2) one and
325// the new, much imporved and enhanced version. The new version is backwards
326// compatible with the old one and should be used whenever possible, i.e. if
327// you set wxUSE_GRID to 1, set wxUSE_NEW_GRID to 1 too.
328//
329// Default is 1 for both options.
330//
331// Recommended setting: 1 for wxUSE_NEW_GRID, 0 if you have an old code using
332// wxGrid and 100% backwards compatible (with all old wxGrid quirks) is
333// essential.
9c824f29
JS
334//
335// WIN16/BC++ resets wxUSE_NEW_GRID to 0 because it exceeds the data limit.
ff2d113e
VZ
336#define wxUSE_GRID 1
337#define wxUSE_NEW_GRID 1
b3402d0d 338
3b415ba4
VZ
339// wxValidator class and related methods
340#define wxUSE_VALIDATORS 1
341
342// wxAcceleratorTable/Entry classes and support for them in wxMenu(Bar)
343#define wxUSE_ACCEL 1
344
345// ----------------------------------------------------------------------------
346// common dialogs
347// ----------------------------------------------------------------------------
348
349// Define 1 to use generic dialogs in Windows, even though they duplicate
350// native common dialog (e.g. wxColourDialog). This is mainly useful for
351// testing.
352//
353// Default is 0
354//
355// Recommended setting: 0
356#define wxUSE_GENERIC_DIALOGS_IN_MSW 0
357
358// On rare occasions (e.g. using DJGPP) may want to omit common dialogs (e.g.
359// file selector, printer dialog). Switching this off also switches off the
360// printing architecture and interactive wxPrinterDC.
361//
362// Default is 1
363//
364// Recommended setting: 1 (unless it really doesn't work)
365#define wxUSE_COMMON_DIALOGS 1
366
367// text entry dialog and wxGetTextFromUser function
368#define wxUSE_TEXTDLG 1
369
370// progress dialog class for lengthy operations
371#define wxUSE_PROGRESSDLG 1
372
373// wxBusyInfo displays window with message when app is busy. Works in same way
374// as wxBusyCursor
375#define wxUSE_BUSYINFO 1
376
377// wxDirDlg class for getting a directory name from user
378#define wxUSE_DIRDLG 1
379
380// support for startup tips (wxShowTip &c)
381#define wxUSE_STARTUP_TIPS 1
382
d9317fd4
VZ
383// ----------------------------------------------------------------------------
384// Metafiles support
385// ----------------------------------------------------------------------------
386
387// Windows supports the graphics format known as metafile which is, though not
388// portable, is widely used under Windows and so is supported by wxWin (under
389// Windows only, of course). Win16 (Win3.1) used the so-called "Window
390// MetaFiles" or WMFs which were replaced with "Enhanced MetaFiles" or EMFs in
391// Win32 (Win9x, NT, 2000). Both of these are supported in wxWin and, by
392// default, WMFs will be used under Win16 and EMFs under Win32. This may be
393// changed by setting wxUSE_WIN_METAFILES_ALWAYS to 1 and/or setting
394// wxUSE_ENH_METAFILE to 0. You may also set wxUSE_METAFILE to 0 to not compile
395// in any metafile related classes at all.
396//
397// Default is 1 for wxUSE_ENH_METAFILE and 0 for wxUSE_WIN_METAFILES_ALWAYS.
398//
399// Recommended setting: default or 0 for everything for portable programs.
400#define wxUSE_METAFILE 1
401#define wxUSE_ENH_METAFILE 1
402#define wxUSE_WIN_METAFILES_ALWAYS 0
403
ff2d113e
VZ
404// ----------------------------------------------------------------------------
405// Big GUI components
406// ----------------------------------------------------------------------------
407
3b415ba4
VZ
408// Set to 0 to disable document/view architecture
409#define wxUSE_DOC_VIEW_ARCHITECTURE 1
410
411// Set to 0 to disable MDI document/view architecture
412#define wxUSE_MDI_ARCHITECTURE 1
413
414// Set to 0 to disable print/preview architecture code
415#define wxUSE_PRINTING_ARCHITECTURE 1
416
ff2d113e
VZ
417// wxHTML sublibrary allows to display HTML in wxWindow programs and much,
418// much more.
419//
420// Default is 1.
421//
422// Recommended setting: 1 (wxHTML is great!), set to 0 if you want compile a
423// smaller library.
424#define wxUSE_HTML 1
425
426// wxPlot is a class to display functions plots in wxWindow.
427//
428// Default is 1.
429//
430// Recommended setting: 1
431#define wxUSE_PLOT 1
432
8b089c5e
JS
433// OpenGL canvas
434#define wxUSE_GLCANVAS 0
435
babc9758
JS
436// wxTreeLayout class
437#define wxUSE_TREELAYOUT 1
438
bf84b0be 439// ----------------------------------------------------------------------------
3b415ba4 440// miscellaneous settings
bf84b0be
VZ
441// ----------------------------------------------------------------------------
442
9bd6a503
VZ
443#define wxUSE_IPC 1
444 // 0 for no interprocess comms
445// Note: wxHELP uses IPC under X so these are interdependent!
446#define wxUSE_HELP 1
447 // 0 for no help facility
448#define wxUSE_RESOURCES 1
449 // 0 for no wxGetResource/wxWriteResource
450#define wxUSE_CONSTRAINTS 1
451 // 0 for no window layout constraint system
452
9bd6a503
VZ
453#define wxUSE_CLIPBOARD 1
454 // 0 for no clipboard functions
1f112209 455
9bd6a503 456#define wxUSE_SPLINES 1
83b1bfaa 457 // 0 for no splines
9bd6a503
VZ
458
459#define wxUSE_DRAG_AND_DROP 1
460 // 0 for no drag and drop
461
83b1bfaa 462#define wxUSE_XPM_IN_MSW 1
1ea67089
GRG
463 // 0 for no XPM support in wxBitmap.
464 // Default is 1, as XPM is now fully
465 // supported this makes easier the issue
466 // of portable icons and bitmaps.
9bd6a503 467#define wxUSE_IMAGE_LOADING_IN_MSW 1
83b1bfaa 468 // Use dynamic DIB loading/saving code in utils/dib under MSW.
9bd6a503 469#define wxUSE_RESOURCE_LOADING_IN_MSW 1
83b1bfaa
GRG
470 // Use dynamic icon/cursor loading/saving code
471 // under MSW.
9bd6a503 472#define wxUSE_WX_RESOURCES 1
83b1bfaa 473 // Use .wxr resource mechanism (requires PrologIO library)
9bd6a503 474
3b415ba4
VZ
475// ----------------------------------------------------------------------------
476// Postscript support settings
477// ----------------------------------------------------------------------------
478
479#define wxUSE_POSTSCRIPT 0
480 // 0 for no PostScript device context
481#define wxUSE_AFM_FOR_POSTSCRIPT 0
482 // 1 to use font metric files in GetTextExtent
9bd6a503 483
9bd6a503 484#define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 1
83b1bfaa
GRG
485 // Set to 0 to disable PostScript print/preview architecture code
486 // under Windows (just use Windows printing).
3b415ba4
VZ
487
488// ----------------------------------------------------------------------------
489// database classes
490// ----------------------------------------------------------------------------
9bd6a503 491
83b1bfaa
GRG
492#define wxUSE_ODBC 0
493 // Define 1 to use ODBC classes
9bd6a503 494
aeb040bf
GT
495#define wxODBC_FWD_ONLY_CURSORS 1
496 // For backward compatibility reasons, this parameter now only
497 // controls the default scrolling method used by cursors. This
498 // default behavior can be overriden by setting the second param
499 // of wxDB::GetDbConnection() to indicate whether the connection
500 // (and any wxTable()s that use the connection) should support
501 // forward only scrolling of cursors, or both forward and backward
ede8795f 502 // Support for backward scrolling cursors is dependent on the
aeb040bf 503 // data source as well as the ODBC driver being used.
9695185a 504
3b415ba4
VZ
505// ----------------------------------------------------------------------------
506// other compiler (mis)features
507// ----------------------------------------------------------------------------
508
509// Set this to 0 if your compiler can't cope with omission of prototype
510// parameters.
511//
512// Default is 1.
513//
514// Recommended setting: 1 (should never need to set this to 0)
515#define REMOVE_UNUSED_ARG 1
516
517// VC++ 4.2 and above allows <iostream> and <iostream.h> but you can't mix
518// them. Set to 1 for <iostream.h>, 0 for <iostream>
519//
520// Default is 1.
521//
522// Recommended setting: whatever your compiler likes more
dbda9e86 523#define wxUSE_IOSTREAMH 1
d4ec5d32 524
3b415ba4
VZ
525// ----------------------------------------------------------------------------
526// image format support
527// ----------------------------------------------------------------------------
528
9bd6a503 529#define wxUSE_ZLIB 1
83b1bfaa 530 // Use zlib for compression in streams and PNG code
9bd6a503 531#define wxUSE_LIBPNG 1
83b1bfaa
GRG
532 // Use PNG bitmap/image code
533#define wxUSE_LIBJPEG 1
534 // Use JPEG bitmap/image code
1ea67089 535#define wxUSE_LIBTIFF 1
5ea6dbbf 536 // Use TIFF bitmap/image code
83b1bfaa
GRG
537#define wxUSE_GIF 1
538 // Use GIF bitmap/image code
1044a386 539#define wxUSE_PNM 1
83b1bfaa 540 // Use PNM bitmap/image code
1044a386 541#define wxUSE_PCX 1
83b1bfaa 542 // Use PCX bitmap/image code
9bd6a503 543
3b415ba4
VZ
544// ----------------------------------------------------------------------------
545// Windows-only settings
546// ----------------------------------------------------------------------------
1318fabe 547
3b415ba4 548// Most of the settings in this section are obsolete or not used
9bd6a503 549
3f8e5072
JS
550// Make settings compatible with MFC
551#define wxUSE_MFC 0
552
3b415ba4 553// required for drag-and-drop, clipboard, OLE Automation
3aa0e8fa 554#define wxUSE_OLE 1
3aa0e8fa 555
9bd6a503 556#if defined(__WIN95__)
1f112209 557#define wxUSE_CTL3D 0
9bd6a503 558#else
3b415ba4
VZ
559// Define 1 to use Microsoft CTL3D library.
560// See note above about using FAFA and CTL3D.
1f112209 561#define wxUSE_CTL3D 1
9bd6a503
VZ
562#endif
563
6d167489
VZ
564// can we use RICHEDIT control?
565#if defined(__WIN95__) && !defined(__TWIN32__) && !defined(__GNUWIN32_OLD__)
566#define wxUSE_RICHEDIT 1
567#else
568#define wxUSE_RICHEDIT 0
569#endif
570
9bd6a503 571#define wxUSE_ITSY_BITSY 1
83b1bfaa 572 // Define 1 to use Microsoft's ItsyBitsy
1ea67089
GRG
573 // small title bar library, for wxMiniFrame.
574 // This setting is only used for Win3.1;
575 // Win9x and NT use native miniframes
576 // support instead.
9bd6a503 577#define wxUSE_BITMAP_MESSAGE 1
83b1bfaa 578 // Define 1 to use bitmap messages.
1f112209 579#define wxFONT_SIZE_COMPATIBILITY 0
83b1bfaa
GRG
580 // Define 1 for font size to be backward compatible
581 // to 1.63 and earlier. 1.64 and later define point
582 // sizes to be compatible with Windows.
7fee680b 583#define wxUSE_PENWINDOWS 0
83b1bfaa 584 // Set to 1 to use PenWindows
9bd6a503
VZ
585
586#define wxUSE_OWNER_DRAWN 1
83b1bfaa 587 // Owner-drawn menus and listboxes
9bd6a503 588
1a7f3062
JS
589#if defined(__MINGW32__) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95)))
590#ifndef wxUSE_NORLANDER_HEADERS
591# define wxUSE_NORLANDER_HEADERS 1
592#endif
593#endif
594
3b415ba4
VZ
595// ----------------------------------------------------------------------------
596// disable the settings which don't work for some compilers
597// ----------------------------------------------------------------------------
598
1ea67089
GRG
599// These don't work as expected for mingw32 and cygwin32
600#if defined(__GNUWIN32__)
601#undef wxUSE_MEMORY_TRACING
602#define wxUSE_MEMORY_TRACING 0
603
604#undef wxUSE_GLOBAL_MEMORY_OPERATORS
605#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
606
607#undef wxUSE_DEBUG_NEW_ALWAYS
608#define wxUSE_DEBUG_NEW_ALWAYS 0
3b415ba4 609#endif // __GNUWIN32__
1ea67089 610
3f8e5072
JS
611// MFC duplicates these operators
612#if wxUSE_MFC
613#undef wxUSE_GLOBAL_MEMORY_OPERATORS
614#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
615
616#undef wxUSE_DEBUG_NEW_ALWAYS
617#define wxUSE_DEBUG_NEW_ALWAYS 0
3b415ba4 618#endif // wxUSE_MFC
3f8e5072 619
e06b9569 620#if (!defined(WIN32) && !defined(__WIN32__)) || (defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS)
9bd6a503
VZ
621// Can't use OLE drag and drop in Windows 3.1 because we don't know how
622// to implement UUIDs
623// GnuWin32 doesn't have appropriate headers for e.g. IUnknown.
624#undef wxUSE_DRAG_AND_DROP
625#define wxUSE_DRAG_AND_DROP 0
626#endif
627
628// Only WIN32 supports wxStatusBar95
629#if !defined(__WIN32__) && wxUSE_NATIVE_STATUSBAR
630#undef wxUSE_NATIVE_STATUSBAR
631#define wxUSE_NATIVE_STATUSBAR 0
632#endif
633
634// Salford C++ doesn't like some of the memory operator definitions
635#ifdef __SALFORDC__
636#undef wxUSE_MEMORY_TRACING
637#define wxUSE_MEMORY_TRACING 0
638
639#undef wxUSE_GLOBAL_MEMORY_OPERATORS
640#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
641
642#undef wxUSE_DEBUG_NEW_ALWAYS
643#define wxUSE_DEBUG_NEW_ALWAYS 0
644
645#undef wxUSE_THREADS
646#define wxUSE_THREADS 0
647
9bd6a503
VZ
648#undef wxUSE_OWNER_DRAWN
649#define wxUSE_OWNER_DRAWN 0
650#endif
651
652#ifdef __TWIN32__
653
654#undef wxUSE_THREADS
655#define wxUSE_THREADS 0
656
9bd6a503
VZ
657#undef wxUSE_ODBC
658#define wxUSE_ODBC 0
659
660#endif
661
448af9a4
JS
662// BC++/Win16 can't cope with the amount of data in resource.cpp
663#if defined(__WIN16__) && defined(__BORLANDC__)
664#undef wxUSE_WX_RESOURCES
665#define wxUSE_WX_RESOURCES 0
154f22b3
JS
666
667#undef wxUSE_ODBC
668#define wxUSE_ODBC 0
9c824f29
JS
669
670#undef wxUSE_NEW_GRID
671#define wxUSE_NEW_GRID 0
448af9a4
JS
672#endif
673
b2cf617c
JS
674#if defined(__BORLANDC__) && (__BORLANDC__ < 0x500)
675// BC++ 4.0 can't compile JPEG library
676#undef wxUSE_LIBJPEG
677#define wxUSE_LIBJPEG 0
678#endif
679
0cdf89ab 680#if defined(__WXMSW__) && defined(__WATCOMC__)
0cdf89ab
JS
681#undef wxUSE_LIBJPEG
682#define wxUSE_LIBJPEG 0
669f7a11
JS
683
684#undef wxUSE_LIBTIFF
685#define wxUSE_LIBTIFF 0
b2cf617c
JS
686
687#undef wxUSE_GLCANVAS
688#define wxUSE_GLCANVAS 0
0cdf89ab
JS
689#endif
690
9bd6a503
VZ
691#if defined(__WXMSW__) && !defined(__WIN32__)
692
8fb3a512
JS
693#undef wxUSE_SOCKETS
694#define wxUSE_SOCKETS 0
695
9bd6a503
VZ
696#undef wxUSE_THREADS
697#define wxUSE_THREADS 0
698
750b78ba
JS
699#undef wxUSE_TOOLTIPS
700#define wxUSE_TOOLTIPS 0
701
0e528b99
JS
702#undef wxUSE_SPINCTRL
703#define wxUSE_SPINCTRL 0
704
705#undef wxUSE_SPINBTN
706#define wxUSE_SPINBTN 0
707
1044a386
JS
708#undef wxUSE_LIBPNG
709#define wxUSE_LIBPNG 0
710
711#undef wxUSE_LIBJPEG
712#define wxUSE_LIBJPEG 0
713
669f7a11
JS
714#undef wxUSE_LIBTIFF
715#define wxUSE_LIBTIFF 0
716
83b1bfaa
GRG
717#undef wxUSE_GIF
718#define wxUSE_GIF 0
1044a386
JS
719
720#undef wxUSE_PNM
721#define wxUSE_PNM 0
722
723#undef wxUSE_PCX
724#define wxUSE_PCX 0
725
b2cf617c
JS
726#undef wxUSE_GLCANVAS
727#define wxUSE_GLCANVAS 0
728
9bd6a503
VZ
729#endif
730
9bd6a503
VZ
731#endif
732 // _WX_SETUP_H_