merge of RTL changes (with many modifications) from SOC2006_RTL branch
[wxWidgets.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_REVISION($Id$)dnl
3
4 AC_PREREQ(2.58)
5
6 dnl ---------------------------------------------------------------------------
7 dnl
8 dnl Top-level configure.in for wxWidgets by Robert Roebling, Phil Blecker,
9 dnl Vadim Zeitlin and Ron Lee
10 dnl
11 dnl This script is under the wxWidgets licence.
12 dnl
13 dnl Version: $Id$
14 dnl ---------------------------------------------------------------------------
15
16 dnl ---------------------------------------------------------------------------
17 dnl initialization
18 dnl ---------------------------------------------------------------------------
19
20 AC_INIT([wxWidgets], [2.7.0], [wx-dev@lists.wxwidgets.org])
21
22 dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
23 AC_CONFIG_SRCDIR([wx-config.in])
24
25 dnl sets build, host, target variables and the same with _alias
26 AC_CANONICAL_BUILD
27 AC_CANONICAL_HOST
28 AC_CANONICAL_TARGET
29
30
31 dnl When making releases do:
32 dnl
33 dnl wx_release_number += 1
34
35 wx_major_version_number=2
36 wx_minor_version_number=7
37 wx_release_number=0
38 wx_subrelease_number=1
39
40 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
41 WX_VERSION=$WX_RELEASE.$wx_release_number
42 WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number
43
44 WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
45
46
47
48 dnl ------------------------------------------------------------------------
49 dnl Check platform (host system)
50 dnl ------------------------------------------------------------------------
51
52 dnl OS (assume Unix)
53 USE_UNIX=1
54 USE_OS2=0
55 USE_WIN32=0
56 USE_DOS=0
57 USE_BEOS=0
58 USE_MAC=0
59
60 dnl Unix kind
61 USE_AIX=
62 USE_BSD=                            dnl any BSD
63 USE_DARWIN=                         dnl a.k.a. Mac OS X
64 USE_FREEBSD=
65 USE_GNU=                            dnl GNU/Hurd
66 USE_HPUX=
67 USE_LINUX=
68 USE_NETBSD=
69 USE_OPENBSD=
70 USE_OSF=                            dnl OSF/1 (obsolete?)
71 USE_SGI=
72 USE_SOLARIS=                        dnl Solaris ("SunOS" >= 5)
73 USE_SUN=                            dnl SunOS or Solaris
74 USE_SUNOS=                          dnl old/real SunOS (obsolete)
75 USE_SVR4=                           dnl SysV R4
76 USE_SYSV=                           dnl any System V
77 USE_VMS=
78 USE_ULTRIX=
79 USE_UNIXWARE=
80
81 dnl hardware platform
82 USE_ALPHA=
83
84 dnl on some platforms xxx_r() functions are declared inside "#ifdef
85 dnl _REENTRANT" and it's easier to just define this symbol for these platforms
86 dnl than checking it during run-time
87 NEEDS_D_REENTRANT_FOR_R_FUNCS=0
88
89 dnl the list of all available toolkits
90 dnl
91 dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
92 ALL_TOOLKITS="COCOA GTK MAC MGL MICROWIN MOTIF MSW PM X11 DFB"
93
94 dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
95 dnl     which are either yes or no
96 DEFAULT_wxUSE_COCOA=0
97 DEFAULT_wxUSE_GTK=0
98 DEFAULT_wxUSE_MAC=0
99 DEFAULT_wxUSE_MGL=0
100 DEFAULT_wxUSE_MICROWIN=0
101 DEFAULT_wxUSE_MOTIF=0
102 DEFAULT_wxUSE_MSW=0
103 DEFAULT_wxUSE_PM=0
104 DEFAULT_wxUSE_X11=0
105 DEFAULT_wxUSE_DFB=0
106
107 dnl these are the values which are really default for the given platform -
108 dnl they're not cached and are only used if no --with-toolkit was given *and*
109 dnl nothing was found in the cache
110 DEFAULT_DEFAULT_wxUSE_COCOA=0
111 DEFAULT_DEFAULT_wxUSE_GTK=0
112 DEFAULT_DEFAULT_wxUSE_MAC=0
113 DEFAULT_DEFAULT_wxUSE_MGL=0
114 DEFAULT_DEFAULT_wxUSE_MICROWIN=0
115 DEFAULT_DEFAULT_wxUSE_MOTIF=0
116 DEFAULT_DEFAULT_wxUSE_MSW=0
117 DEFAULT_DEFAULT_wxUSE_PM=0
118 DEFAULT_DEFAULT_wxUSE_X11=0
119 DEFAULT_DEFAULT_wxUSE_DFB=0
120
121 PROGRAM_EXT=
122 SO_SUFFIX=so
123 SAMPLES_RPATH_FLAG=
124 SAMPLES_RPATH_POSTLINK=
125
126 DEFAULT_STD_FLAG=yes
127
128 dnl to support a new system, you need to add its canonical name (as determined
129 dnl by config.sub or specified by the configure command line) to this "case"
130 dnl and also define the shared library flags below - search for
131 dnl SHARED_LIB_SETUP to find the exact place
132 case "${host}" in
133   *-hp-hpux* )
134     USE_HPUX=1
135     DEFAULT_DEFAULT_wxUSE_MOTIF=1
136     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
137     SO_SUFFIX=sl
138     AC_DEFINE(__HPUX__)
139
140     dnl many standard declarations in HP-UX headers are only included if either
141     dnl _HPUX_SOURCE is defined, see stdsyms(5)
142     CPPFLAGS="-D_HPUX_SOURCE $CPPFLAGS"
143   ;;
144   *-*-linux* )
145     USE_LINUX=1
146     AC_DEFINE(__LINUX__)
147     TMP=`uname -m`
148     if test "x$TMP" = "xalpha"; then
149       USE_ALPHA=1
150       AC_DEFINE(__ALPHA__)
151     fi
152     DEFAULT_DEFAULT_wxUSE_GTK=1
153   ;;
154   *-*-gnu* | *-*-k*bsd*-gnu )
155     USE_GNU=1
156     TMP=`uname -m`
157     if test "x$TMP" = "xalpha"; then
158       USE_ALPHA=1
159       AC_DEFINE(__ALPHA__)
160     fi
161     DEFAULT_DEFAULT_wxUSE_GTK=1
162   ;;
163   *-*-irix5* | *-*-irix6* )
164     USE_SGI=1
165     USE_SVR4=1
166     AC_DEFINE(__SGI__)
167     AC_DEFINE(__SVR4__)
168     DEFAULT_DEFAULT_wxUSE_MOTIF=1
169   ;;
170   *-*-solaris2* )
171     USE_SUN=1
172     USE_SOLARIS=1
173     USE_SVR4=1
174     AC_DEFINE(__SUN__)
175     AC_DEFINE(__SOLARIS__)
176     AC_DEFINE(__SVR4__)
177     DEFAULT_DEFAULT_wxUSE_MOTIF=1
178     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
179   ;;
180   *-*-sunos4* )
181     USE_SUN=1
182     USE_SUNOS=1
183     USE_BSD=1
184     AC_DEFINE(__SUN__)
185     AC_DEFINE(__SUNOS__)
186     AC_DEFINE(__BSD__)
187     DEFAULT_DEFAULT_wxUSE_MOTIF=1
188   ;;
189   *-*-freebsd*)
190     USE_BSD=1
191     USE_FREEBSD=1
192     AC_DEFINE(__FREEBSD__)
193     AC_DEFINE(__BSD__)
194     DEFAULT_DEFAULT_wxUSE_GTK=1
195   ;;
196   *-*-openbsd*|*-*-mirbsd*)
197     USE_BSD=1
198     USE_OPENBSD=1
199     AC_DEFINE(__OPENBSD__)
200     AC_DEFINE(__BSD__)
201     DEFAULT_DEFAULT_wxUSE_GTK=1
202   ;;
203   *-*-netbsd*)
204     USE_BSD=1
205     USE_NETBSD=1
206     AC_DEFINE(__NETBSD__)
207     AC_DEFINE(__BSD__)
208     DEFAULT_DEFAULT_wxUSE_GTK=1
209     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
210
211     dnl some standard declarations in NetBSD headers are only included if
212     dnl _NETBSD_SOURCE and _LIBC are defined, e.g. getservbyname_r in netdb.h
213     CPPFLAGS="-D_NETBSD_SOURCE -D_LIBC $CPPFLAGS"
214   ;;
215   *-*-osf* )
216     USE_ALPHA=1
217     USE_OSF=1
218     AC_DEFINE(__ALPHA__)
219     AC_DEFINE(__OSF__)
220     DEFAULT_DEFAULT_wxUSE_MOTIF=1
221     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
222   ;;
223   *-*-dgux5* )
224     USE_ALPHA=1
225     USE_SVR4=1
226     AC_DEFINE(__ALPHA__)
227     AC_DEFINE(__SVR4__)
228     DEFAULT_DEFAULT_wxUSE_MOTIF=1
229   ;;
230   *-*-sysv5* )
231     USE_SYSV=1
232     USE_SVR4=1
233     AC_DEFINE(__SYSV__)
234     AC_DEFINE(__SVR4__)
235     DEFAULT_DEFAULT_wxUSE_MOTIF=1
236   ;;
237   *-*-aix* )
238     USE_AIX=1
239     USE_SYSV=1
240     USE_SVR4=1
241     dnl quoting from http://www-1.ibm.com/servers/esdd/articles/gnu.html:
242     dnl
243     dnl     Both archive libraries and shared libraries on AIX have an .a
244     dnl     extension. This will explain why you can't link with an .so and
245     dnl     why it works with the name changed to .a.
246     SO_SUFFIX=a
247     AC_DEFINE(__AIX__)
248     AC_DEFINE(__SYSV__)
249     AC_DEFINE(__SVR4__)
250     DEFAULT_DEFAULT_wxUSE_MOTIF=1
251   ;;
252
253   *-*-*UnixWare*)
254     USE_SYSV=1
255     USE_SVR4=1
256     USE_UNIXWARE=1
257     AC_DEFINE(__UNIXWARE__)
258   ;;
259
260   *-*-cygwin* | *-*-mingw32* )
261     dnl MBN: some of the defines have been moved after toolkit detection
262     dnl      because for wxMotif/wxGTK/wxX11 to build on Cygwin
263     dnl      USE_UNIX  must be set and not USE_WIN32
264     SO_SUFFIX=dll
265     PROGRAM_EXT=".exe"
266     DEFAULT_DEFAULT_wxUSE_MSW=1
267     DEFAULT_STD_FLAG=no
268   ;;
269
270   *-pc-msdosdjgpp )
271     USE_UNIX=0
272     USE_DOS=1
273     AC_DEFINE(__DOS__)
274     PROGRAM_EXT=".exe"
275     DEFAULT_DEFAULT_wxUSE_MGL=1
276   ;;
277
278   *-pc-os2_emx | *-pc-os2-emx )
279     AC_DEFINE(__EMX__)
280     USE_OS2=1
281     AC_DEFINE(__OS2__)
282     PROGRAM_EXT=".exe"
283     DEFAULT_DEFAULT_wxUSE_PM=1
284     dnl "c++" wrapper is not always available, so always use plain gcc.
285     CXX=gcc
286     LDFLAGS="$LDFLAGS -Zcrtdll"
287     dnl
288     dnl Some special code that's automatically added by autoconf-2.57 for OS/2
289     dnl and hopefully also by autoconf-2.58 and newer on all other platforms.
290     dnl For now however, we still need it to make sure the configure script
291     dnl works on OS/2 no matter what platform it is generated on.
292     ac_executable_extensions=".exe"
293     export ac_executable_extensions
294     dnl This strange code is necessary to deal with handling of
295     dnl backslashes by ksh and pdksh's sh variant.
296     ac_save_IFS="$IFS"
297     IFS='\\'
298     ac_TEMP_PATH=
299     for ac_dir in $PATH; do
300       IFS=$ac_save_IFS
301       if test -z "$ac_TEMP_PATH"; then
302         ac_TEMP_PATH="$ac_dir"
303       else
304         ac_TEMP_PATH="$ac_TEMP_PATH/$ac_dir"
305       fi
306     done
307     export PATH="$ac_TEMP_PATH"
308     unset ac_TEMP_PATH
309     DEFAULT_STD_FLAG=no
310   ;;
311
312   *-*-darwin* )
313     dnl Darwin based distributions (including Mac OS X)
314     USE_BSD=1
315     USE_DARWIN=1
316     SO_SUFFIX=dylib
317     AC_DEFINE(__BSD__)
318     AC_DEFINE(__DARWIN__)
319     AC_DEFINE(TARGET_CARBON)
320     DEFAULT_DEFAULT_wxUSE_MAC=1
321     DEFAULT_STD_FLAG=no
322   ;;
323   powerpc-apple-macos* )
324     dnl Classic Mac OS (< X)
325     USE_UNIX=0
326     dnl For some reason the test that should be cross-compiler capable fails
327     dnl However, there is no doubt that MacOS PowerPC is big endian.
328     ac_cv_c_bigendian=yes
329     SO_SUFFIX=shlib
330     dnl AC_DEFINE(TARGET_CARBON)
331     dnl platform.h needs TARGET_CARBON before setup.h, we'll add it to CPPFLAGS
332     DEFAULT_DEFAULT_wxUSE_MAC=1
333     DEFAULT_STD_FLAG=no
334   ;;
335
336   *-*-beos* )
337     dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
338     USE_BEOS=1
339     AC_DEFINE(__BEOS__)
340   ;;
341
342   *)
343     AC_MSG_WARN([*** System type ${host} is unknown, assuming generic Unix and continuing nevertheless.])
344     AC_MSG_WARN([*** Please report the build results to wx-dev@lists.wxwidgets.org.])
345
346     DEFAULT_DEFAULT_wxUSE_X11=1
347     DEFAULT_wxUSE_SHARED=no
348 esac
349
350 dnl ---------------------------------------------------------------------------
351 dnl command line options for configure
352 dnl ---------------------------------------------------------------------------
353
354 dnl the default values for all options - we collect them all here to simplify
355 dnl modification of the default values (for example, if the defaults for some
356 dnl platform should be changed, it can be done here too)
357 dnl
358 dnl NB: see also DEFAULT_wxUSE<toolkit> variables defined above
359
360 WX_ARG_CACHE_INIT
361
362 dnl useful to test the compilation with minimum options, define as 0 for normal
363 dnl usage
364 DEBUG_CONFIGURE=0
365 if test $DEBUG_CONFIGURE = 1; then
366   DEFAULT_wxUSE_UNIVERSAL=no
367   DEFAULT_wxUSE_STL=no
368
369   DEFAULT_wxUSE_NANOX=no
370
371   DEFAULT_wxUSE_THREADS=yes
372
373   DEFAULT_wxUSE_SHARED=${DEFAULT_wxUSE_SHARED:-yes}
374   DEFAULT_wxUSE_OPTIMISE=no
375   DEFAULT_wxUSE_PROFILE=no
376   DEFAULT_wxUSE_NO_DEPS=no
377   DEFAULT_wxUSE_NO_RTTI=no
378   DEFAULT_wxUSE_NO_EXCEPTIONS=no
379   DEFAULT_wxUSE_UNIVERSAL_BINARY=no
380   DEFAULT_wxUSE_RPATH=yes
381   DEFAULT_wxUSE_PERMISSIVE=no
382   DEFAULT_wxUSE_DEBUG_FLAG=yes
383   DEFAULT_wxUSE_DEBUG_INFO=yes
384   DEFAULT_wxUSE_DEBUG_GDB=yes
385   DEFAULT_wxUSE_MEM_TRACING=no
386   DEFAULT_wxUSE_DEBUG_CONTEXT=no
387   DEFAULT_wxUSE_DMALLOC=no
388   DEFAULT_wxUSE_APPLE_IEEE=no
389
390   DEFAULT_wxUSE_EXCEPTIONS=no
391   DEFAULT_wxUSE_LOG=yes
392   DEFAULT_wxUSE_LOGWINDOW=no
393   DEFAULT_wxUSE_LOGGUI=no
394   DEFAULT_wxUSE_LOGDIALOG=no
395
396   DEFAULT_wxUSE_GUI=yes
397   DEFAULT_wxUSE_CONTROLS=no
398
399   DEFAULT_wxUSE_REGEX=no
400   DEFAULT_wxUSE_XML=no
401   DEFAULT_wxUSE_EXPAT=no
402   DEFAULT_wxUSE_ZLIB=no
403   DEFAULT_wxUSE_LIBPNG=no
404   DEFAULT_wxUSE_LIBJPEG=no
405   DEFAULT_wxUSE_LIBTIFF=no
406   DEFAULT_wxUSE_LIBXPM=no
407   DEFAULT_wxUSE_LIBMSPACK=no
408   DEFAULT_wxUSE_LIBSDL=no
409   DEFAULT_wxUSE_LIBGNOMEPRINT=no
410   DEFAULT_wxUSE_LIBGNOMEVFS=no
411   DEFAULT_wxUSE_LIBHILDON=no
412   DEFAULT_wxUSE_ODBC=no
413   DEFAULT_wxUSE_OPENGL=no
414
415   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
416   DEFAULT_wxUSE_STACKWALKER=no
417   DEFAULT_wxUSE_DEBUGREPORT=no
418   DEFAULT_wxUSE_SNGLINST_CHECKER=no
419   DEFAULT_wxUSE_STD_IOSTREAM=no
420   DEFAULT_wxUSE_STD_STRING=no
421   DEFAULT_wxUSE_CMDLINE_PARSER=no
422   DEFAULT_wxUSE_DATETIME=no
423   DEFAULT_wxUSE_TIMER=no
424   DEFAULT_wxUSE_STOPWATCH=no
425   DEFAULT_wxUSE_FILE=no
426   DEFAULT_wxUSE_FFILE=no
427   DEFAULT_wxUSE_STDPATHS=no
428   DEFAULT_wxUSE_TEXTBUFFER=no
429   DEFAULT_wxUSE_TEXTFILE=no
430   DEFAULT_wxUSE_SOUND=no
431   DEFAULT_wxUSE_MEDIACTRL=no
432   DEFAULT_wxUSE_GSTREAMER8=no
433   DEFAULT_wxUSE_PRINTF_POS_PARAMS=no
434   DEFAULT_wxUSE_INTL=no
435   DEFAULT_wxUSE_CONFIG=no
436   DEFAULT_wxUSE_FONTMAP=no
437   DEFAULT_wxUSE_STREAMS=no
438   DEFAULT_wxUSE_SOCKETS=no
439   DEFAULT_wxUSE_OLE=no
440   DEFAULT_wxUSE_DATAOBJ=no
441   DEFAULT_wxUSE_DIALUP_MANAGER=no
442   DEFAULT_wxUSE_JOYSTICK=no
443   DEFAULT_wxUSE_DYNLIB_CLASS=no
444   DEFAULT_wxUSE_DYNAMIC_LOADER=no
445   DEFAULT_wxUSE_LONGLONG=no
446   DEFAULT_wxUSE_GEOMETRY=no
447
448   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
449   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
450   DEFAULT_wxUSE_POSTSCRIPT=no
451
452   DEFAULT_wxUSE_CLIPBOARD=no
453   DEFAULT_wxUSE_TOOLTIPS=no
454   DEFAULT_wxUSE_DRAG_AND_DROP=no
455   DEFAULT_wxUSE_DRAGIMAGE=no
456   DEFAULT_wxUSE_SPLINES=no
457   DEFAULT_wxUSE_MOUSEWHEEL=no
458
459   DEFAULT_wxUSE_MDI=no
460   DEFAULT_wxUSE_MDI_ARCHITECTURE=no
461   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
462   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
463
464   DEFAULT_wxUSE_RESOURCES=no
465   DEFAULT_wxUSE_CONSTRAINTS=no
466   DEFAULT_wxUSE_IPC=no
467   DEFAULT_wxUSE_HELP=no
468   DEFAULT_wxUSE_MS_HTML_HELP=no
469   DEFAULT_wxUSE_WXHTML_HELP=no
470   DEFAULT_wxUSE_TREELAYOUT=no
471   DEFAULT_wxUSE_METAFILE=no
472   DEFAULT_wxUSE_MIMETYPE=no
473   DEFAULT_wxUSE_SYSTEM_OPTIONS=no
474   DEFAULT_wxUSE_PROTOCOL=no
475   DEFAULT_wxUSE_PROTOCOL_HTTP=no
476   DEFAULT_wxUSE_PROTOCOL_FTP=no
477   DEFAULT_wxUSE_PROTOCOL_FILE=no
478   DEFAULT_wxUSE_URL=no
479
480   DEFAULT_wxUSE_COMMONDLGS=no
481   DEFAULT_wxUSE_CHOICEDLG=no
482   DEFAULT_wxUSE_COLOURDLG=no
483   DEFAULT_wxUSE_DIRDLG=no
484   DEFAULT_wxUSE_FILEDLG=no
485   DEFAULT_wxUSE_FINDREPLDLG=no
486   DEFAULT_wxUSE_FONTDLG=no
487   DEFAULT_wxUSE_MSGDLG=no
488   DEFAULT_wxUSE_NUMBERDLG=no
489   DEFAULT_wxUSE_TEXTDLG=no
490   DEFAULT_wxUSE_SPLASH=no
491   DEFAULT_wxUSE_STARTUP_TIPS=no
492   DEFAULT_wxUSE_PROGRESSDLG=no
493   DEFAULT_wxUSE_WIZARDDLG=no
494
495   DEFAULT_wxUSE_MENUS=no
496   DEFAULT_wxUSE_MINIFRAME=no
497   DEFAULT_wxUSE_HTML=no
498   DEFAULT_wxUSE_RICHTEXT=no
499   DEFAULT_wxUSE_XRC=no
500   DEFAULT_wxUSE_AUI=no
501   DEFAULT_wxUSE_WEBKIT=no
502   DEFAULT_wxUSE_FILESYSTEM=no
503   DEFAULT_wxUSE_FS_INET=no
504   DEFAULT_wxUSE_FS_ZIP=no
505   DEFAULT_wxUSE_BUSYINFO=no
506   DEFAULT_wxUSE_ARCHIVE_STREAMS=no
507   DEFAULT_wxUSE_ZIPSTREAM=no
508   DEFAULT_wxUSE_VALIDATORS=no
509
510   DEFAULT_wxUSE_ACCEL=no
511   DEFAULT_wxUSE_BUTTON=no
512   DEFAULT_wxUSE_BMPBUTTON=no
513   DEFAULT_wxUSE_CALCTRL=no
514   DEFAULT_wxUSE_CARET=no
515   DEFAULT_wxUSE_CHECKBOX=no
516   DEFAULT_wxUSE_CHECKLST=no
517   DEFAULT_wxUSE_CHOICE=no
518   DEFAULT_wxUSE_CHOICEBOOK=no
519   DEFAULT_wxUSE_COLOURPICKERCTRL=no
520   DEFAULT_wxUSE_COMBOBOX=no
521   DEFAULT_wxUSE_COMBOCTRL=no
522   DEFAULT_wxUSE_DATEPICKCTRL=no
523   DEFAULT_wxUSE_DISPLAY=no
524   DEFAULT_wxUSE_DIRPICKERCTRL=no
525   DEFAULT_wxUSE_FILEPICKERCTRL=no
526   DEFAULT_wxUSE_FONTPICKERCTRL=no
527   DEFAULT_wxUSE_GAUGE=no
528   DEFAULT_wxUSE_GRID=no
529   DEFAULT_wxUSE_HYPERLINKCTRL=no
530   DEFAULT_wxUSE_DATAVIEWCTRL=no
531   DEFAULT_wxUSE_IMAGLIST=no
532   DEFAULT_wxUSE_LISTBOOK=no
533   DEFAULT_wxUSE_LISTBOX=no
534   DEFAULT_wxUSE_LISTCTRL=no
535   DEFAULT_wxUSE_NOTEBOOK=no
536   DEFAULT_wxUSE_ODCOMBOBOX=no
537   DEFAULT_wxUSE_RADIOBOX=no
538   DEFAULT_wxUSE_RADIOBTN=no
539   DEFAULT_wxUSE_SASH=no
540   DEFAULT_wxUSE_SCROLLBAR=no
541   DEFAULT_wxUSE_SLIDER=no
542   DEFAULT_wxUSE_SPINBTN=no
543   DEFAULT_wxUSE_SPINCTRL=no
544   DEFAULT_wxUSE_SPLITTER=no
545   DEFAULT_wxUSE_STATBMP=no
546   DEFAULT_wxUSE_STATBOX=no
547   DEFAULT_wxUSE_STATLINE=no
548   DEFAULT_wxUSE_STATTEXT=no
549   DEFAULT_wxUSE_STATUSBAR=yes
550   DEFAULT_wxUSE_TAB_DIALOG=no
551   DEFAULT_wxUSE_TEXTCTRL=no
552   DEFAULT_wxUSE_TOGGLEBTN=no
553   DEFAULT_wxUSE_TOOLBAR=no
554   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
555   DEFAULT_wxUSE_TREEBOOK=no
556   DEFAULT_wxUSE_TOOLBOOK=no
557   DEFAULT_wxUSE_TREECTRL=no
558   DEFAULT_wxUSE_POPUPWIN=no
559   DEFAULT_wxUSE_TIPWINDOW=no
560
561   DEFAULT_wxUSE_UNICODE=no
562   DEFAULT_wxUSE_UNICODE_MSLU=no
563   DEFAULT_wxUSE_WCSRTOMBS=no
564
565   DEFAULT_wxUSE_PALETTE=no
566   DEFAULT_wxUSE_IMAGE=no
567   DEFAULT_wxUSE_GIF=no
568   DEFAULT_wxUSE_PCX=no
569   DEFAULT_wxUSE_PNM=no
570   DEFAULT_wxUSE_IFF=no
571   DEFAULT_wxUSE_XPM=no
572   DEFAULT_wxUSE_ICO_CUR=no
573   DEFAULT_wxUSE_ACCESSIBILITY=no
574
575   DEFAULT_wxUSE_MONOLITHIC=no
576   DEFAULT_wxUSE_PLUGINS=no
577   DEFAULT_wxUSE_OFFICIAL_BUILD=no
578 else
579   DEFAULT_wxUSE_UNIVERSAL=no
580   DEFAULT_wxUSE_STL=no
581
582   DEFAULT_wxUSE_NANOX=no
583
584   DEFAULT_wxUSE_THREADS=yes
585
586   DEFAULT_wxUSE_SHARED=${DEFAULT_wxUSE_SHARED:-yes}
587   DEFAULT_wxUSE_OPTIMISE=yes
588   DEFAULT_wxUSE_PROFILE=no
589   DEFAULT_wxUSE_NO_DEPS=no
590   DEFAULT_wxUSE_NO_RTTI=no
591   DEFAULT_wxUSE_NO_EXCEPTIONS=no
592   DEFAULT_wxUSE_UNIVERSAL_BINARY=no
593   DEFAULT_wxUSE_RPATH=yes
594   DEFAULT_wxUSE_PERMISSIVE=no
595   DEFAULT_wxUSE_DEBUG_FLAG=no
596   DEFAULT_wxUSE_DEBUG_INFO=no
597   DEFAULT_wxUSE_DEBUG_GDB=no
598   DEFAULT_wxUSE_MEM_TRACING=no
599   DEFAULT_wxUSE_DEBUG_CONTEXT=no
600   DEFAULT_wxUSE_DMALLOC=no
601   DEFAULT_wxUSE_APPLE_IEEE=yes
602
603   DEFAULT_wxUSE_EXCEPTIONS=yes
604   DEFAULT_wxUSE_LOG=yes
605   DEFAULT_wxUSE_LOGWINDOW=yes
606   DEFAULT_wxUSE_LOGGUI=yes
607   DEFAULT_wxUSE_LOGDIALOG=yes
608
609   DEFAULT_wxUSE_GUI=yes
610
611   DEFAULT_wxUSE_REGEX=yes
612   DEFAULT_wxUSE_XML=yes
613   DEFAULT_wxUSE_EXPAT=yes
614   DEFAULT_wxUSE_ZLIB=yes
615   DEFAULT_wxUSE_LIBPNG=yes
616   DEFAULT_wxUSE_LIBJPEG=yes
617   DEFAULT_wxUSE_LIBTIFF=yes
618   DEFAULT_wxUSE_LIBXPM=yes
619   DEFAULT_wxUSE_LIBMSPACK=yes
620   DEFAULT_wxUSE_LIBSDL=no
621   DEFAULT_wxUSE_LIBGNOMEPRINT=no
622   DEFAULT_wxUSE_LIBGNOMEVFS=no
623   DEFAULT_wxUSE_LIBHILDON=no
624   DEFAULT_wxUSE_ODBC=no
625   DEFAULT_wxUSE_OPENGL=no
626
627   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
628   DEFAULT_wxUSE_STACKWALKER=yes
629   DEFAULT_wxUSE_DEBUGREPORT=yes
630   DEFAULT_wxUSE_SNGLINST_CHECKER=yes
631   DEFAULT_wxUSE_STD_IOSTREAM=$DEFAULT_STD_FLAG
632   DEFAULT_wxUSE_STD_STRING=$DEFAULT_STD_FLAG
633   DEFAULT_wxUSE_CMDLINE_PARSER=yes
634   DEFAULT_wxUSE_DATETIME=yes
635   DEFAULT_wxUSE_TIMER=yes
636   DEFAULT_wxUSE_STOPWATCH=yes
637   DEFAULT_wxUSE_FILE=yes
638   DEFAULT_wxUSE_FFILE=yes
639   DEFAULT_wxUSE_STDPATHS=yes
640   DEFAULT_wxUSE_TEXTBUFFER=yes
641   DEFAULT_wxUSE_TEXTFILE=yes
642   DEFAULT_wxUSE_SOUND=yes
643   DEFAULT_wxUSE_MEDIACTRL=no
644   DEFAULT_wxUSE_GSTREAMER8=no
645   DEFAULT_wxUSE_PRINTF_POS_PARAMS=no
646   DEFAULT_wxUSE_INTL=yes
647   DEFAULT_wxUSE_CONFIG=yes
648   DEFAULT_wxUSE_FONTMAP=yes
649   DEFAULT_wxUSE_STREAMS=yes
650   DEFAULT_wxUSE_SOCKETS=yes
651   DEFAULT_wxUSE_OLE=yes
652   DEFAULT_wxUSE_DATAOBJ=yes
653   DEFAULT_wxUSE_DIALUP_MANAGER=yes
654   DEFAULT_wxUSE_JOYSTICK=yes
655   DEFAULT_wxUSE_DYNLIB_CLASS=yes
656   DEFAULT_wxUSE_DYNAMIC_LOADER=yes
657   DEFAULT_wxUSE_LONGLONG=yes
658   DEFAULT_wxUSE_GEOMETRY=yes
659
660   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
661   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
662   DEFAULT_wxUSE_POSTSCRIPT=yes
663
664   DEFAULT_wxUSE_CLIPBOARD=yes
665   DEFAULT_wxUSE_TOOLTIPS=yes
666   DEFAULT_wxUSE_DRAG_AND_DROP=yes
667   DEFAULT_wxUSE_DRAGIMAGE=yes
668   DEFAULT_wxUSE_SPLINES=yes
669   DEFAULT_wxUSE_MOUSEWHEEL=yes
670
671   DEFAULT_wxUSE_MDI=yes
672   DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
673   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
674   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
675
676   DEFAULT_wxUSE_RESOURCES=no
677   DEFAULT_wxUSE_CONSTRAINTS=yes
678   DEFAULT_wxUSE_IPC=yes
679   DEFAULT_wxUSE_HELP=yes
680   DEFAULT_wxUSE_MS_HTML_HELP=yes
681   DEFAULT_wxUSE_WXHTML_HELP=yes
682   DEFAULT_wxUSE_TREELAYOUT=yes
683   DEFAULT_wxUSE_METAFILE=yes
684   DEFAULT_wxUSE_MIMETYPE=yes
685   DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
686   DEFAULT_wxUSE_PROTOCOL=yes
687   DEFAULT_wxUSE_PROTOCOL_HTTP=yes
688   DEFAULT_wxUSE_PROTOCOL_FTP=yes
689   DEFAULT_wxUSE_PROTOCOL_FILE=yes
690   DEFAULT_wxUSE_URL=yes
691
692   DEFAULT_wxUSE_COMMONDLGS=yes
693   DEFAULT_wxUSE_CHOICEDLG=yes
694   DEFAULT_wxUSE_COLOURDLG=yes
695   DEFAULT_wxUSE_DIRDLG=yes
696   DEFAULT_wxUSE_FILEDLG=yes
697   DEFAULT_wxUSE_FINDREPLDLG=yes
698   DEFAULT_wxUSE_FONTDLG=yes
699   DEFAULT_wxUSE_MSGDLG=yes
700   DEFAULT_wxUSE_NUMBERDLG=yes
701   DEFAULT_wxUSE_TEXTDLG=yes
702   DEFAULT_wxUSE_SPLASH=yes
703   DEFAULT_wxUSE_STARTUP_TIPS=yes
704   DEFAULT_wxUSE_PROGRESSDLG=yes
705   DEFAULT_wxUSE_WIZARDDLG=yes
706
707   DEFAULT_wxUSE_MENUS=yes
708   DEFAULT_wxUSE_MINIFRAME=yes
709   DEFAULT_wxUSE_HTML=yes
710   DEFAULT_wxUSE_RICHTEXT=yes
711   DEFAULT_wxUSE_XRC=yes
712   DEFAULT_wxUSE_AUI=yes
713   DEFAULT_wxUSE_WEBKIT=yes
714   DEFAULT_wxUSE_FILESYSTEM=yes
715   DEFAULT_wxUSE_FS_INET=yes
716   DEFAULT_wxUSE_FS_ZIP=yes
717   DEFAULT_wxUSE_BUSYINFO=yes
718   DEFAULT_wxUSE_ARCHIVE_STREAMS=yes
719   DEFAULT_wxUSE_ZIPSTREAM=yes
720   DEFAULT_wxUSE_VALIDATORS=yes
721
722   DEFAULT_wxUSE_ACCEL=yes
723   DEFAULT_wxUSE_BUTTON=yes
724   DEFAULT_wxUSE_BMPBUTTON=yes
725   DEFAULT_wxUSE_CALCTRL=yes
726   DEFAULT_wxUSE_CARET=yes
727   DEFAULT_wxUSE_CHECKBOX=yes
728   DEFAULT_wxUSE_CHECKLST=yes
729   DEFAULT_wxUSE_CHOICE=yes
730   DEFAULT_wxUSE_CHOICEBOOK=yes
731   DEFAULT_wxUSE_COLOURPICKERCTRL=yes
732   DEFAULT_wxUSE_COMBOBOX=yes
733   DEFAULT_wxUSE_COMBOCTRL=yes
734   DEFAULT_wxUSE_DATEPICKCTRL=yes
735   DEFAULT_wxUSE_DISPLAY=yes
736   DEFAULT_wxUSE_DIRPICKERCTRL=yes
737   DEFAULT_wxUSE_FILEPICKERCTRL=yes
738   DEFAULT_wxUSE_FONTPICKERCTRL=yes
739   DEFAULT_wxUSE_GAUGE=yes
740   DEFAULT_wxUSE_GRID=yes
741   DEFAULT_wxUSE_HYPERLINKCTRL=yes
742   DEFAULT_wxUSE_DATAVIEWCTRL=no
743   DEFAULT_wxUSE_IMAGLIST=yes
744   DEFAULT_wxUSE_LISTBOOK=yes
745   DEFAULT_wxUSE_LISTBOX=yes
746   DEFAULT_wxUSE_LISTCTRL=yes
747   DEFAULT_wxUSE_NOTEBOOK=yes
748   DEFAULT_wxUSE_ODCOMBOBOX=yes
749   DEFAULT_wxUSE_RADIOBOX=yes
750   DEFAULT_wxUSE_RADIOBTN=yes
751   DEFAULT_wxUSE_SASH=yes
752   DEFAULT_wxUSE_SCROLLBAR=yes
753   DEFAULT_wxUSE_SLIDER=yes
754   DEFAULT_wxUSE_SPINBTN=yes
755   DEFAULT_wxUSE_SPINCTRL=yes
756   DEFAULT_wxUSE_SPLITTER=yes
757   DEFAULT_wxUSE_STATBMP=yes
758   DEFAULT_wxUSE_STATBOX=yes
759   DEFAULT_wxUSE_STATLINE=yes
760   DEFAULT_wxUSE_STATTEXT=yes
761   DEFAULT_wxUSE_STATUSBAR=yes
762   DEFAULT_wxUSE_TAB_DIALOG=no
763   DEFAULT_wxUSE_TEXTCTRL=yes
764   DEFAULT_wxUSE_TOGGLEBTN=yes
765   DEFAULT_wxUSE_TOOLBAR=yes
766   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
767   DEFAULT_wxUSE_TREEBOOK=yes
768   DEFAULT_wxUSE_TOOLBOOK=yes
769   DEFAULT_wxUSE_TREECTRL=yes
770   DEFAULT_wxUSE_POPUPWIN=yes
771   DEFAULT_wxUSE_TIPWINDOW=yes
772
773   DEFAULT_wxUSE_UNICODE=no
774   DEFAULT_wxUSE_UNICODE_MSLU=yes
775   DEFAULT_wxUSE_WCSRTOMBS=no
776
777   DEFAULT_wxUSE_PALETTE=yes
778   DEFAULT_wxUSE_IMAGE=yes
779   DEFAULT_wxUSE_GIF=yes
780   DEFAULT_wxUSE_PCX=yes
781   DEFAULT_wxUSE_IFF=no
782   DEFAULT_wxUSE_PNM=yes
783   DEFAULT_wxUSE_XPM=yes
784   DEFAULT_wxUSE_ICO_CUR=yes
785   DEFAULT_wxUSE_ACCESSIBILITY=no
786
787   DEFAULT_wxUSE_MONOLITHIC=no
788   DEFAULT_wxUSE_PLUGINS=no
789   DEFAULT_wxUSE_OFFICIAL_BUILD=no
790
791   dnl Applicable only when --with-gtk was used:
792   DEFAULT_wxUSE_GTK2=yes
793 fi
794
795
796 dnl WX_ARG_WITH should be used to select whether an external package will be
797 dnl used or not, to configure compile-time features of this package itself,
798 dnl use WX_ARG_ENABLE instead
799
800 dnl ============================
801 dnl external package dependecies
802 dnl ============================
803
804 dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
805 dnl these values manually
806 for toolkit in `echo $ALL_TOOLKITS`; do
807   LINE=`grep "wxUSE_$toolkit=" ${wx_arg_cache_file}`
808   if test "x$LINE" != "x" ; then
809     has_toolkit_in_cache=1
810     eval "DEFAULT_$LINE"
811     eval "CACHE_$toolkit=1"
812
813     LINE=`grep "wx${toolkit}_VERSION=" ${wx_arg_cache_file}`
814     if test "x$LINE" != "x" ; then
815         eval "DEFAULT_$LINE"
816     fi
817   fi
818 done
819
820 dnl ---------------------------------------------------------------------------
821 dnl --disable-gui will build only non-GUI part of wxWidgets: check for this
822 dnl first to disable many other switches if it's given
823 dnl
824 dnl NB: this is still in testing stage, don't use if you don't know what you're
825 dnl     doing
826 dnl ---------------------------------------------------------------------------
827
828 WX_ARG_ENABLE(gui,         [  --enable-gui            use GUI classes], wxUSE_GUI)
829 WX_ARG_ENABLE(monolithic,  [  --enable-monolithic     build wxWidgets as single library], wxUSE_MONOLITHIC)
830 WX_ARG_ENABLE(plugins,     [  --enable-plugins        build parts of wxWidgets as loadable components], wxUSE_PLUGINS)
831 WX_ARG_WITH(subdirs,       [  --without-subdirs       don't generate makefiles for samples/demos/...], wxWITH_SUBDIRS, without)
832
833 if test "$wxUSE_GUI" = "yes"; then
834
835 WX_ARG_ENABLE(universal,   [  --enable-universal      use wxWidgets GUI controls instead of native ones], wxUSE_UNIVERSAL)
836 AC_ARG_WITH(gtk,          [[  --with-gtk[=VERSION]    use GTK+, VERSION can be 2 (default), 1 or "any"]], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
837 AC_ARG_WITH(motif,         [  --with-motif            use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
838 AC_ARG_WITH(mac,           [  --with-mac              use Mac OS X], [wxUSE_MAC="$withval" CACHE_MAC=1 TOOLKIT_GIVEN=1])
839 AC_ARG_WITH(cocoa,         [  --with-cocoa            use Cocoa], [wxUSE_COCOA="$withval" CACHE_COCOA=1 TOOLKIT_GIVEN=1])
840 AC_ARG_WITH(wine,          [  --with-wine             use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
841 AC_ARG_WITH(msw,           [  --with-msw              use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])
842 AC_ARG_WITH(pm,            [  --with-pm               use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
843 AC_ARG_WITH(mgl,           [  --with-mgl              use SciTech MGL], [wxUSE_MGL="$withval" wxUSE_UNIVERSAL="yes" CACHE_MGL=1 TOOLKIT_GIVEN=1])
844 AC_ARG_WITH(directfb,      [  --with-directfb         use DirectFB], [wxUSE_DFB="$withval" wxUSE_UNIVERSAL="yes" CACHE_DFB=1 TOOLKIT_GIVEN=1])
845 AC_ARG_WITH(microwin,      [  --with-microwin         use MicroWindows], [wxUSE_MICROWIN="$withval" CACHE_MICROWIN=1 TOOLKIT_GIVEN=1])
846 AC_ARG_WITH(x11,           [  --with-x11              use X11], [wxUSE_X11="$withval" wxUSE_UNIVERSAL="yes" CACHE_X11=1 TOOLKIT_GIVEN=1])
847 WX_ARG_ENABLE(nanox,       [  --enable-nanox          use NanoX], wxUSE_NANOX)
848
849 AC_ARG_ENABLE(gtk2,        [  --disable-gtk2          use GTK+ 1.2 instead of 2.0], [wxUSE_GTK2="$enableval"])
850 WX_ARG_ENABLE(gpe,         [  --enable-gpe            use GNOME PDA Environment features if possible], wxUSE_GPE)
851
852 WX_ARG_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
853 WX_ARG_SYS_WITH(libjpeg,   [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
854 WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
855 WX_ARG_SYS_WITH(libxpm,    [  --with-libxpm           use libxpm (XPM file format)], wxUSE_LIBXPM)
856 WX_ARG_WITH(libmspack,     [  --with-libmspack        use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
857 WX_ARG_WITH(sdl,           [  --with-sdl              use SDL for audio on Unix], wxUSE_LIBSDL)
858 WX_ARG_WITH(gnomeprint,    [  --with-gnomeprint       use GNOME print for printing under GNOME], wxUSE_LIBGNOMEPRINT)
859 WX_ARG_WITH(gnomevfs,      [  --with-gnomevfs         use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS)
860 WX_ARG_WITH(hildon,        [  --with-hildon           use Hildon framework for Nokia 770], wxUSE_LIBHILDON)
861 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
862
863 fi
864 dnl for GUI only
865
866 WX_ARG_WITH(dmalloc,       [  --with-dmalloc          use dmalloc library (http://dmalloc.com/)], wxUSE_DMALLOC)
867 WX_ARG_SYS_WITH(regex,     [  --with-regex            enable support for wxRegEx class], wxUSE_REGEX)
868 WX_ARG_SYS_WITH(zlib,      [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
869 WX_ARG_SYS_WITH(odbc,      [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
870 WX_ARG_SYS_WITH(expat,     [  --with-expat            enable XML support using expat parser], wxUSE_EXPAT)
871
872 dnl ---------------------------------------------------------------------------
873 dnl compile options
874 dnl ---------------------------------------------------------------------------
875
876 WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code], wxUSE_SHARED)
877 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
878 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
879 WX_ARG_ENABLE(stl,         [  --enable-stl            use STL for containers], wxUSE_STL)
880 if test "$USE_OS2" = "1"; then
881     DEFAULT_wxUSE_OMF=no
882     WX_ARG_ENABLE(omf,     [  --enable-omf            use OMF object format], wxUSE_OMF)
883 fi
884
885 if test "$wxUSE_DEBUG" = "yes"; then
886   DEFAULT_wxUSE_DEBUG_FLAG=yes
887   DEFAULT_wxUSE_DEBUG_INFO=yes
888   BUILD=debug
889 elif test "$wxUSE_DEBUG" = "no"; then
890   DEFAULT_wxUSE_DEBUG_FLAG=no
891   DEFAULT_wxUSE_DEBUG_INFO=no
892   BUILD=release
893 fi
894
895 WX_ARG_ENABLE(debug_flag,    [  --enable-debug_flag     set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
896 WX_ARG_ENABLE(debug_info,    [  --enable-debug_info     create code with debugging information], wxUSE_DEBUG_INFO)
897 WX_ARG_ENABLE(debug_gdb,     [  --enable-debug_gdb      create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
898 WX_ARG_ENABLE(debug_cntxt,   [  --enable-debug_cntxt    use wxDebugContext], wxUSE_DEBUG_CONTEXT)
899 WX_ARG_ENABLE(mem_tracing,   [  --enable-mem_tracing    create code with memory tracing], wxUSE_MEM_TRACING)
900 WX_ARG_ENABLE(profile,       [  --enable-profile        create code with profiling information], wxUSE_PROFILE)
901 WX_ARG_ENABLE(no_rtti,       [  --enable-no_rtti        create code without RTTI information], wxUSE_NO_RTTI)
902 WX_ARG_ENABLE(no_exceptions, [  --enable-no_exceptions  create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS)
903 WX_ARG_ENABLE(permissive,    [  --enable-permissive     compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
904 WX_ARG_ENABLE(no_deps,       [  --enable-no_deps        create code without dependency information], wxUSE_NO_DEPS)
905 WX_ARG_ENABLE_PARAM(universal_binary, [[  --enable-universal_binary[=SDK] create Mac PowerPC and Intel Universal binary (not yet working)]], wxUSE_UNIVERSAL_BINARY)
906
907 WX_ARG_ENABLE(compat24,      [  --enable-compat24       enable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, enable)
908 WX_ARG_ENABLE(compat26,      [  --disable-compat26      disable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, disable)
909
910 WX_ARG_ENABLE(rpath,         [  --disable-rpath         disable use of rpath for uninstalled builds], wxUSE_RPATH)
911
912
913 dnl ---------------------------------------------------------------------------
914 dnl (small) optional non GUI classes
915 dnl ---------------------------------------------------------------------------
916
917 WX_ARG_ENABLE(intl,          [  --enable-intl           use internationalization system], wxUSE_INTL)
918 WX_ARG_ENABLE(config,        [  --enable-config         use wxConfig (and derived) classes], wxUSE_CONFIG)
919
920 WX_ARG_ENABLE(protocols,     [  --enable-protocols      use wxProtocol and derived classes], wxUSE_PROTOCOL)
921 WX_ARG_ENABLE(ftp,           [  --enable-ftp            use wxFTP (requires wxProtocol], wxUSE_PROTOCOL_FTP)
922 WX_ARG_ENABLE(http,          [  --enable-http           use wxHTTP (requires wxProtocol], wxUSE_PROTOCOL_HTTP)
923 WX_ARG_ENABLE(fileproto,     [  --enable-fileproto      use wxFileProto class (requires wxProtocol], wxUSE_PROTOCOL_FILE)
924 WX_ARG_ENABLE(sockets,       [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
925 WX_ARG_ENABLE(ole,           [  --enable-ole            use OLE classes (Win32 only)], wxUSE_OLE)
926 WX_ARG_ENABLE(dataobj,       [  --enable-dataobj        use data object classes], wxUSE_DATAOBJ)
927
928 WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
929
930 dnl please keep the settings below in alphabetical order
931 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
932 WX_ARG_ENABLE(arcstream,     [  --enable-arcstream      use wxArchive streams], wxUSE_ARCHIVE_STREAMS)
933 WX_ARG_ENABLE(backtrace,     [  --enable-backtrace      use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER)
934 WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION)
935 WX_ARG_ENABLE(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
936 WX_ARG_ENABLE(datetime,      [  --enable-datetime       use wxDateTime class], wxUSE_DATETIME)
937 WX_ARG_ENABLE(debugreport,   [  --enable-debugreport    use wxDebugReport class], wxUSE_DEBUGREPORT)
938 WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
939 WX_ARG_ENABLE(dynlib,        [  --enable-dynlib         use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
940 WX_ARG_ENABLE(dynamicloader, [  --enable-dynamicloader  use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER)
941 WX_ARG_ENABLE(exceptions,    [  --enable-exceptions     build exception-safe library], wxUSE_EXCEPTIONS)
942 WX_ARG_ENABLE(ffile,         [  --enable-ffile          use wxFFile class], wxUSE_FFILE)
943 WX_ARG_ENABLE(file,          [  --enable-file           use wxFile class], wxUSE_FILE)
944 WX_ARG_ENABLE(filesystem,    [  --enable-filesystem     use virtual file systems classes], wxUSE_FILESYSTEM)
945 WX_ARG_ENABLE(fontmap,       [  --enable-fontmap        use font encodings conversion classes], wxUSE_FONTMAP)
946 WX_ARG_ENABLE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
947 WX_ARG_ENABLE(fs_zip,        [  --enable-fs_zip         use virtual ZIP filesystems], wxUSE_FS_ZIP)
948 WX_ARG_ENABLE(geometry,      [  --enable-geometry       use geometry class], wxUSE_GEOMETRY)
949 WX_ARG_ENABLE(log,           [  --enable-log            use logging system], wxUSE_LOG)
950 WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
951 WX_ARG_ENABLE(mimetype,      [  --enable-mimetype       use wxMimeTypesManager], wxUSE_MIMETYPE)
952 WX_ARG_ENABLE(mslu,          [  --enable-mslu           use MS Layer for Unicode on Windows 9x (Win32 only)], wxUSE_UNICODE_MSLU)
953 WX_ARG_ENABLE(snglinst,      [  --enable-snglinst       use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
954 WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
955 WX_ARG_ENABLE(std_string,    [  --enable-std_string     use standard C++ string classes], wxUSE_STD_STRING)
956 WX_ARG_ENABLE(stdpaths,      [  --enable-stdpaths       use wxStandardPaths class], wxUSE_STDPATHS)
957 WX_ARG_ENABLE(stopwatch,     [  --enable-stopwatch      use wxStopWatch class], wxUSE_STOPWATCH)
958 WX_ARG_ENABLE(streams,       [  --enable-streams        use wxStream etc classes], wxUSE_STREAMS)
959 WX_ARG_ENABLE(system_options,[  --enable-sysoptions     use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
960 WX_ARG_ENABLE(textbuf,       [  --enable-textbuf        use wxTextBuffer class], wxUSE_TEXTBUFFER)
961 WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile class], wxUSE_TEXTFILE)
962 WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUSE_TIMER)
963 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
964 WX_ARG_ENABLE(sound,         [  --enable-sound          use wxSound class], wxUSE_SOUND)
965 WX_ARG_ENABLE(mediactrl,     [  --enable-mediactrl      use wxMediaCtrl class], wxUSE_MEDIACTRL)
966 WX_ARG_ENABLE(gstreamer8,     [  --enable-gstreamer8      force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8)
967 WX_ARG_ENABLE(printfposparam,[  --enable-printfposparam use wxVsnprintf() which supports positional parameters], wxUSE_PRINTF_POS_PARAMS)
968 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZip streams], wxUSE_ZIPSTREAM)
969
970 WX_ARG_ENABLE(url,           [  --enable-url            use wxURL class], wxUSE_URL)
971 WX_ARG_ENABLE(protocol,      [  --enable-protocol       use wxProtocol class], wxUSE_PROTOCOL)
972 WX_ARG_ENABLE(protocol_http, [  --enable-protocol-http  HTTP support in wxProtocol], wxUSE_PROTOCOL_HTTP)
973 WX_ARG_ENABLE(protocol_ftp,  [  --enable-protocol-ftp   FTP support in wxProtocol], wxUSE_PROTOCOL_FTP)
974 WX_ARG_ENABLE(protocol_file, [  --enable-protocol-file  FILE support in wxProtocol], wxUSE_PROTOCOL_FILE)
975
976
977 dnl ---------------------------------------------------------------------------
978 dnl "big" options (i.e. those which change a lot of things throughout the library)
979 dnl ---------------------------------------------------------------------------
980
981 WX_ARG_ENABLE(threads,     [  --enable-threads        use threads], wxUSE_THREADS)
982
983 if test "$wxUSE_GUI" = "yes"; then
984
985 dnl ---------------------------------------------------------------------------
986 dnl "big" GUI options
987 dnl ---------------------------------------------------------------------------
988
989 WX_ARG_ENABLE(docview,     [  --enable-docview        use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
990 WX_ARG_ENABLE(help,        [  --enable-help           use help subsystem], wxUSE_HELP)
991 WX_ARG_ENABLE(mshtmlhelp,  [  --enable-mshtmlhelp     use MS HTML Help (win32)], wxUSE_MS_HTML_HELP)
992 WX_ARG_ENABLE(html,        [  --enable-html           use wxHTML sub-library], wxUSE_HTML)
993 WX_ARG_ENABLE(htmlhelp,    [  --enable-htmlhelp       use wxHTML-based help], wxUSE_WXHTML_HELP)
994 WX_ARG_ENABLE(xrc,         [  --enable-xrc            use XRC resources sub-library], wxUSE_XRC)
995 WX_ARG_ENABLE(aui,         [  --enable-aui            use AUI docking library], wxUSE_AUI)
996 WX_ARG_ENABLE(constraints, [  --enable-constraints    use layout-constraints system], wxUSE_CONSTRAINTS)
997 WX_ARG_ENABLE(printarch,   [  --enable-printarch      use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
998 WX_ARG_ENABLE(mdi,         [  --enable-mdi            use multiple document interface architecture], wxUSE_MDI)
999 WX_ARG_ENABLE(mdidoc,      [  --enable-mdidoc         use docview architecture with MDI], wxUSE_MDI_ARCHITECTURE)
1000 WX_ARG_ENABLE(loggui,      [  --enable-loggui         use standard GUI logger], wxUSE_LOGGUI)
1001 WX_ARG_ENABLE(logwin,      [  --enable-logwin         use wxLogWindow], wxUSE_LOGWINDOW)
1002 WX_ARG_ENABLE(logdialog,   [  --enable-logdialog      use wxLogDialog], wxUSE_LOGDIALOG)
1003 WX_ARG_ENABLE(webkit,      [  --enable-webkit         use wxWebKitCtrl (Mac)], wxUSE_WEBKIT)
1004 WX_ARG_ENABLE(html,        [  --enable-richtext       use wxRichTextCtrl], wxUSE_RICHTEXT)
1005
1006 dnl ---------------------------------------------------------------------------
1007 dnl PostScript options
1008 dnl ---------------------------------------------------------------------------
1009 WX_ARG_ENABLE(postscript,  [  --enable-postscript     use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT)
1010
1011 dnl VZ: these options seem to be always on, if someone wants to change it please do
1012 dnl WX_ARG_ENABLE(PS-normalized,    [  --enable-PS-normalized  use normalized PS fonts], dnl             wxUSE_NORMALIZED_PS_FONTS)
1013 dnl WX_ARG_ENABLE(afmfonts,        [  --enable-afmfonts       use Adobe Font Metric Font table], dnl             wxUSE_AFM_FOR_POSTSCRIPT)
1014
1015 dnl ---------------------------------------------------------------------------
1016 dnl resources
1017 dnl ---------------------------------------------------------------------------
1018
1019 WX_ARG_ENABLE(prologio,    [  --enable-prologio       not available; see contrib], wxUSE_PROLOGIO)
1020 WX_ARG_ENABLE(resources,   [  --enable-resources      not available; see contrib], wxUSE_RESOURCES)
1021
1022 dnl ---------------------------------------------------------------------------
1023 dnl IPC &c
1024 dnl ---------------------------------------------------------------------------
1025
1026 WX_ARG_ENABLE(clipboard,   [  --enable-clipboard      use wxClipboard class], wxUSE_CLIPBOARD)
1027 WX_ARG_ENABLE(dnd,         [  --enable-dnd            use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
1028 WX_ARG_ENABLE(metafile,    [  --enable-metafile       use win32 metafiles], wxUSE_METAFILE)
1029
1030 dnl WX_ARG_ENABLE(treelayout,  [  --enable-treelayout     use wxTreeLayout class], wxUSE_TREELAYOUT)
1031
1032 dnl ---------------------------------------------------------------------------
1033 dnl optional GUI controls (in alphabetical order except the first one)
1034 dnl ---------------------------------------------------------------------------
1035
1036 WX_ARG_ENABLE(controls,    [  --enable-controls       use all usual controls], wxUSE_CONTROLS)
1037
1038 dnl even with --enable-controls, some may be disabled by giving
1039 dnl --disable-<control> later on the command line - but by default all will be
1040 dnl used (and vice versa)
1041 if test "$wxUSE_CONTROLS" = "yes"; then
1042   DEFAULT_wxUSE_ACCEL=yes
1043   DEFAULT_wxUSE_BMPBUTTON=yes
1044   DEFAULT_wxUSE_BUTTON=yes
1045   DEFAULT_wxUSE_CALCTRL=yes
1046   DEFAULT_wxUSE_CARET=yes
1047   DEFAULT_wxUSE_COMBOBOX=yes
1048   DEFAULT_wxUSE_CHECKBOX=yes
1049   DEFAULT_wxUSE_CHECKLISTBOX=yes
1050   DEFAULT_wxUSE_CHOICE=yes
1051   DEFAULT_wxUSE_CHOICEBOOK=yes
1052   DEFAULT_wxUSE_COLOURPICKERCTRL=yes
1053   DEFAULT_wxUSE_COMBOBOX=yes
1054   DEFAULT_wxUSE_DATEPICKCTRL=yes
1055   DEFAULT_wxUSE_DISPLAY=yes
1056   DEFAULT_wxUSE_DIRPICKERCTRL=yes
1057   DEFAULT_wxUSE_FILEPICKERCTRL=yes
1058   DEFAULT_wxUSE_FONTPICKERCTRL=yes
1059   DEFAULT_wxUSE_GAUGE=yes
1060   DEFAULT_wxUSE_GRID=yes
1061   DEFAULT_wxUSE_HYPERLINKCTRL=yes
1062   DEFAULT_wxUSE_DATAVIEWCTRL=no
1063   DEFAULT_wxUSE_IMAGLIST=yes
1064   DEFAULT_wxUSE_LISTBOOK=yes
1065   DEFAULT_wxUSE_LISTBOX=yes
1066   DEFAULT_wxUSE_LISTCTRL=yes
1067   DEFAULT_wxUSE_NOTEBOOK=yes
1068   DEFAULT_wxUSE_RADIOBOX=yes
1069   DEFAULT_wxUSE_RADIOBTN=yes
1070   DEFAULT_wxUSE_SASH=yes
1071   DEFAULT_wxUSE_SCROLLBAR=yes
1072   DEFAULT_wxUSE_SLIDER=yes
1073   DEFAULT_wxUSE_SPINBTN=yes
1074   DEFAULT_wxUSE_SPINCTRL=yes
1075   DEFAULT_wxUSE_SPLITTER=yes
1076   DEFAULT_wxUSE_STATBMP=yes
1077   DEFAULT_wxUSE_STATBOX=yes
1078   DEFAULT_wxUSE_STATLINE=yes
1079   DEFAULT_wxUSE_STATUSBAR=yes
1080   DEFAULT_wxUSE_TAB_DIALOG=yes
1081   DEFAULT_wxUSE_TOGGLEBTN=yes
1082   DEFAULT_wxUSE_TOOLBAR=yes
1083   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
1084   DEFAULT_wxUSE_TOOLTIPS=yes
1085   DEFAULT_wxUSE_TREEBOOK=yes
1086   DEFAULT_wxUSE_TOOLBOOK=yes
1087   DEFAULT_wxUSE_TREECTRL=yes
1088   DEFAULT_wxUSE_POPUPWIN=yes
1089   DEFAULT_wxUSE_TIPWINDOW=yes
1090 elif test "$wxUSE_CONTROLS" = "no"; then
1091   DEFAULT_wxUSE_ACCEL=no
1092   DEFAULT_wxUSE_BMPBUTTON=no
1093   DEFAULT_wxUSE_BUTTON=no
1094   DEFAULT_wxUSE_CALCTRL=no
1095   DEFAULT_wxUSE_CARET=no
1096   DEFAULT_wxUSE_COMBOBOX=no
1097   DEFAULT_wxUSE_CHECKBOX=no
1098   DEFAULT_wxUSE_CHECKLISTBOX=no
1099   DEFAULT_wxUSE_CHOICE=no
1100   DEFAULT_wxUSE_CHOICEBOOK=no
1101   DEFAULT_wxUSE_COLOURPICKERCTRL=no
1102   DEFAULT_wxUSE_COMBOBOX=no
1103   DEFAULT_wxUSE_DATEPICKCTRL=no
1104   DEFAULT_wxUSE_DISPLAY=no
1105   DEFAULT_wxUSE_DIRPICKERCTRL=no
1106   DEFAULT_wxUSE_FILEPICKERCTRL=no
1107   DEFAULT_wxUSE_FONTPICKERCTRL=no
1108   DEFAULT_wxUSE_GAUGE=no
1109   DEFAULT_wxUSE_GRID=no
1110   DEFAULT_wxUSE_HYPERLINKCTRL=no
1111   DEFAULT_wxUSE_DATAVIEWCTRL=no
1112   DEFAULT_wxUSE_IMAGLIST=no
1113   DEFAULT_wxUSE_LISTBOOK=no
1114   DEFAULT_wxUSE_LISTBOX=no
1115   DEFAULT_wxUSE_LISTCTRL=no
1116   DEFAULT_wxUSE_NOTEBOOK=no
1117   DEFAULT_wxUSE_RADIOBOX=no
1118   DEFAULT_wxUSE_RADIOBTN=no
1119   DEFAULT_wxUSE_SASH=no
1120   DEFAULT_wxUSE_SCROLLBAR=no
1121   DEFAULT_wxUSE_SLIDER=no
1122   DEFAULT_wxUSE_SPINBTN=no
1123   DEFAULT_wxUSE_SPINCTRL=no
1124   DEFAULT_wxUSE_SPLITTER=no
1125   DEFAULT_wxUSE_STATBMP=no
1126   DEFAULT_wxUSE_STATBOX=no
1127   DEFAULT_wxUSE_STATLINE=no
1128   DEFAULT_wxUSE_STATUSBAR=no
1129   DEFAULT_wxUSE_TAB_DIALOG=no
1130   DEFAULT_wxUSE_TOGGLEBTN=no
1131   DEFAULT_wxUSE_TOOLBAR=no
1132   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
1133   DEFAULT_wxUSE_TOOLTIPS=no
1134   DEFAULT_wxUSE_TREEBOOK=no
1135   DEFAULT_wxUSE_TOOLBOOK=no
1136   DEFAULT_wxUSE_TREECTRL=no
1137   DEFAULT_wxUSE_POPUPWIN=no
1138   DEFAULT_wxUSE_TIPWINDOW=no
1139 fi
1140
1141 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
1142 WX_ARG_ENABLE(button,      [  --enable-button         use wxButton class], wxUSE_BUTTON)
1143 WX_ARG_ENABLE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
1144 WX_ARG_ENABLE(calendar,    [  --enable-calendar       use wxCalendarCtrl class], wxUSE_CALCTRL)
1145 WX_ARG_ENABLE(caret,       [  --enable-caret          use wxCaret class], wxUSE_CARET)
1146 WX_ARG_ENABLE(checkbox,    [  --enable-checkbox       use wxCheckBox class], wxUSE_CHECKBOX)
1147 WX_ARG_ENABLE(checklst,    [  --enable-checklst       use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
1148 WX_ARG_ENABLE(choice,      [  --enable-choice         use wxChoice class], wxUSE_CHOICE)
1149 WX_ARG_ENABLE(choicebook,  [  --enable-choicebook     use wxChoicebook class], wxUSE_CHOICEBOOK)
1150 WX_ARG_ENABLE(colourpicker,[  --enable-colourpicker   use wxColourPickerCtrl class], wxUSE_COLOURPICKERCTRL)
1151 WX_ARG_ENABLE(combobox,    [  --enable-combobox       use wxComboBox class], wxUSE_COMBOBOX)
1152 WX_ARG_ENABLE(comboctrl,   [  --enable-comboctrl      use wxComboCtrl class], wxUSE_COMBOCTRL)
1153 WX_ARG_ENABLE(datepick,    [  --enable-datepick       use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL)
1154 WX_ARG_ENABLE(dirpicker,   [  --enable-dirpicker      use wxDirPickerCtrl class], wxUSE_DIRPICKERCTRL)
1155 WX_ARG_ENABLE(display,     [  --enable-display        use wxDisplay class], wxUSE_DISPLAY)
1156 WX_ARG_ENABLE(filepicker,  [  --enable-filepicker     use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL)
1157 WX_ARG_ENABLE(fontpicker,  [  --enable-fontpicker     use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL)
1158 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
1159 WX_ARG_ENABLE(grid,        [  --enable-grid           use wxGrid class], wxUSE_GRID)
1160 WX_ARG_ENABLE(dataviewctrl,[  --enable-dataviewctrl,  use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL)
1161 WX_ARG_ENABLE(hyperlink,   [  --enable-hyperlink      use wxHyperlinkCtrl class], wxUSE_HYPERLINKCTRL)
1162 WX_ARG_ENABLE(imaglist,    [  --enable-imaglist       use wxImageList class], wxUSE_IMAGLIST)
1163 WX_ARG_ENABLE(listbook,    [  --enable-listbook       use wxListbook class], wxUSE_LISTBOOK)
1164 WX_ARG_ENABLE(listbox,     [  --enable-listbox        use wxListBox class], wxUSE_LISTBOX)
1165 WX_ARG_ENABLE(listctrl,    [  --enable-listctrl       use wxListCtrl class], wxUSE_LISTCTRL)
1166 WX_ARG_ENABLE(notebook,    [  --enable-notebook       use wxNotebook class], wxUSE_NOTEBOOK)
1167 WX_ARG_ENABLE(odcombobox,  [  --enable-odcombobox     use wxOwnerDrawnComboBox class], wxUSE_ODCOMBOBOX)
1168 WX_ARG_ENABLE(radiobox,    [  --enable-radiobox       use wxRadioBox class], wxUSE_RADIOBOX)
1169 WX_ARG_ENABLE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
1170 WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
1171 WX_ARG_ENABLE(scrollbar,   [  --enable-scrollbar      use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
1172 WX_ARG_ENABLE(slider,      [  --enable-slider         use wxSlider class], wxUSE_SLIDER)
1173 WX_ARG_ENABLE(spinbtn,     [  --enable-spinbtn        use wxSpinButton class], wxUSE_SPINBTN)
1174 WX_ARG_ENABLE(spinctrl,    [  --enable-spinctrl       use wxSpinCtrl class], wxUSE_SPINCTRL)
1175 WX_ARG_ENABLE(splitter,    [  --enable-splitter       use wxSplitterWindow class], wxUSE_SPLITTER)
1176 WX_ARG_ENABLE(statbmp,     [  --enable-statbmp        use wxStaticBitmap class], wxUSE_STATBMP)
1177 WX_ARG_ENABLE(statbox,     [  --enable-statbox        use wxStaticBox class], wxUSE_STATBOX)
1178 WX_ARG_ENABLE(statline,    [  --enable-statline       use wxStaticLine class], wxUSE_STATLINE)
1179 WX_ARG_ENABLE(stattext,    [  --enable-stattext       use wxStaticText class], wxUSE_STATTEXT)
1180 WX_ARG_ENABLE(statusbar,   [  --enable-statusbar      use wxStatusBar class], wxUSE_STATUSBAR)
1181 WX_ARG_ENABLE(tabdialog,   [  --enable-tabdialog      use wxTabControl class], wxUSE_TAB_DIALOG)
1182 WX_ARG_ENABLE(textctrl,    [  --enable-textctrl       use wxTextCtrl class], wxUSE_TEXTCTRL)
1183 WX_ARG_ENABLE(togglebtn,   [  --enable-togglebtn      use wxToggleButton class], wxUSE_TOGGLEBTN)
1184 WX_ARG_ENABLE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUSE_TOOLBAR)
1185 WX_ARG_ENABLE(tbarnative,  [  --enable-tbarnative     use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
1186 WX_ARG_ENABLE(treebook,    [  --enable-treebook       use wxTreebook class], wxUSE_TREEBOOK)
1187 WX_ARG_ENABLE(toolbook,    [  --enable-toolbook       use wxToolbook class], wxUSE_TOOLBOOK)
1188 WX_ARG_ENABLE(treectrl,    [  --enable-treectrl       use wxTreeCtrl class], wxUSE_TREECTRL)
1189 WX_ARG_ENABLE(tipwindow,   [  --enable-tipwindow      use wxTipWindow class], wxUSE_TIPWINDOW)
1190 WX_ARG_ENABLE(popupwin,    [  --enable-popupwin       use wxPopUpWindow class], wxUSE_POPUPWIN)
1191
1192 dnl ---------------------------------------------------------------------------
1193 dnl common dialogs
1194 dnl ---------------------------------------------------------------------------
1195
1196 WX_ARG_ENABLE(commondlg,   [  --enable-commondlg      use all common dialogs], wxUSE_COMMONDLGS)
1197 WX_ARG_ENABLE(choicedlg,   [  --enable-choicedlg      use wxChoiceDialog], wxUSE_CHOICEDLG)
1198 WX_ARG_ENABLE(coldlg,      [  --enable-coldlg         use wxColourDialog], wxUSE_COLOURDLG)
1199 WX_ARG_ENABLE(filedlg,     [  --enable-filedlg        use wxFileDialog], wxUSE_FILEDLG)
1200 WX_ARG_ENABLE(finddlg,     [  --enable-finddlg        use wxFindReplaceDialog], wxUSE_FINDREPLDLG)
1201 WX_ARG_ENABLE(fontdlg,     [  --enable-fontdlg        use wxFontDialog], wxUSE_FONTDLG)
1202 WX_ARG_ENABLE(dirdlg,      [  --enable-dirdlg         use wxDirDialog], wxUSE_DIRDLG)
1203 WX_ARG_ENABLE(msgdlg,      [  --enable-msgdlg         use wxMessageDialog], wxUSE_MSGDLG)
1204 WX_ARG_ENABLE(numberdlg,   [  --enable-numberdlg      use wxNumberEntryDialog], wxUSE_NUMBERDLG)
1205 WX_ARG_ENABLE(splash,      [  --enable-splash         use wxSplashScreen], wxUSE_SPLASH)
1206 WX_ARG_ENABLE(textdlg,     [  --enable-textdlg        use wxTextDialog], wxUSE_TEXTDLG)
1207 WX_ARG_ENABLE(tipdlg,      [  --enable-tipdlg         use startup tips], wxUSE_STARTUP_TIPS)
1208 WX_ARG_ENABLE(progressdlg, [  --enable-progressdlg    use wxProgressDialog], wxUSE_PROGRESSDLG)
1209 WX_ARG_ENABLE(wizarddlg,   [  --enable-wizarddlg      use wxWizard], wxUSE_WIZARDDLG)
1210
1211 dnl ---------------------------------------------------------------------------
1212 dnl misc GUI options
1213 dnl ---------------------------------------------------------------------------
1214
1215 WX_ARG_ENABLE(menus,       [  --enable-menus          use wxMenu/wxMenuBar/wxMenuItem classes], wxUSE_MENUS)
1216 WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
1217 WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUSE_TOOLTIPS)
1218 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
1219 WX_ARG_ENABLE(mousewheel,  [  --enable-mousewheel     use mousewheel], wxUSE_MOUSEWHEEL)
1220 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
1221 WX_ARG_ENABLE(busyinfo,    [  --enable-busyinfo       use wxBusyInfo], wxUSE_BUSYINFO)
1222 WX_ARG_ENABLE(joystick,    [  --enable-joystick       use wxJoystick], wxUSE_JOYSTICK)
1223 WX_ARG_ENABLE(metafile,    [  --enable-metafiles      use wxMetaFile (Win32 only)], wxUSE_METAFILE)
1224 WX_ARG_ENABLE(dragimage,   [  --enable-dragimage      use wxDragImage], wxUSE_DRAGIMAGE)
1225 WX_ARG_ENABLE(accessibility,[  --enable-accessibility  enable accessibility support], wxUSE_ACCESSIBILITY)
1226
1227 if test "$wxUSE_MSW" = "1"; then
1228     WX_ARG_ENABLE(dccache, [  --enable-dccache        cache temporary wxDC objects (Win32 only)], wxUSE_DC_CACHEING)
1229 fi
1230
1231 dnl ---------------------------------------------------------------------------
1232 dnl support for image formats that do not rely on external library
1233 dnl ---------------------------------------------------------------------------
1234
1235 WX_ARG_ENABLE(palette,     [  --enable-palette        use wxPalette class], wxUSE_PALETTE)
1236 WX_ARG_ENABLE(image,       [  --enable-image          use wxImage class], wxUSE_IMAGE)
1237 WX_ARG_ENABLE(gif,         [  --enable-gif            use gif images (GIF file format)], wxUSE_GIF)
1238 WX_ARG_ENABLE(pcx,         [  --enable-pcx            use pcx images (PCX file format)], wxUSE_PCX)
1239 WX_ARG_ENABLE(iff,         [  --enable-iff            use iff images (IFF file format)], wxUSE_IFF)
1240 WX_ARG_ENABLE(pnm,         [  --enable-pnm            use pnm images (PNM file format)], wxUSE_PNM)
1241 WX_ARG_ENABLE(xpm,         [  --enable-xpm            use xpm images (XPM file format)], wxUSE_XPM)
1242 WX_ARG_ENABLE(ico_cur,     [  --enable-icocur         use Windows ICO and CUR formats], wxUSE_ICO_CUR)
1243
1244 fi
1245
1246 dnl ---------------------------------------------------------------------------
1247 dnl flavour support
1248 dnl ---------------------------------------------------------------------------
1249
1250 dnl Should this be --enable?  I flip-flopped a couple of times and this seems
1251 dnl in the spirit if not the letter, we have gtk-prefix and the like in this group.
1252 dnl It doesn't actually change anything but the output file names.
1253 AC_ARG_WITH(flavour,       [  --with-flavour=NAME     specify a name to identify this build], [WX_FLAVOUR="$withval"])
1254
1255 dnl ---------------------------------------------------------------------------
1256 dnl some win32 settings
1257 dnl ---------------------------------------------------------------------------
1258
1259 WX_ARG_ENABLE(official_build,  [  --enable-official_build official build of wxWidgets (win32 DLL only)], wxUSE_OFFICIAL_BUILD)
1260 AC_ARG_ENABLE(vendor,  [  --enable-vendor=VENDOR  vendor name (win32 DLL only)], [VENDOR="$enableval"])
1261 if test "x$VENDOR" = "x"; then
1262     VENDOR="custom"
1263 fi
1264
1265
1266 dnl for GUI only
1267
1268 dnl cache the options values before (may be) aborting below
1269 WX_ARG_CACHE_FLUSH
1270
1271 dnl check that no more than one toolkit is given and that if none are given that
1272 dnl we have a default one
1273
1274 AC_MSG_CHECKING(for toolkit)
1275
1276 # In Wine, we need to default to MSW, not GTK or MOTIF
1277 if test "$wxUSE_WINE" = "yes"; then
1278     DEFAULT_DEFAULT_wxUSE_GTK=0
1279     DEFAULT_DEFAULT_wxUSE_MOTIF=0
1280     DEFAULT_DEFAULT_wxUSE_MSW=1
1281     wxUSE_SHARED=no
1282 fi
1283
1284
1285 if test "$wxUSE_GUI" = "yes"; then
1286
1287     if test "$USE_BEOS" = 1; then
1288         AC_MSG_ERROR([BeOS GUI is not supported yet, use --disable-gui])
1289     fi
1290
1291     if test "$TOOLKIT_GIVEN" = 1; then
1292       dnl convert "yes", "any" or a number to 1 and "no" to 0
1293       for toolkit in `echo $ALL_TOOLKITS`; do
1294         var=wxUSE_$toolkit
1295         eval "value=\$${var}"
1296         if test "x$value" = "xno"; then
1297           eval "$var=0"
1298         elif test "x$value" != "x"; then
1299           eval "$var=1"
1300         fi
1301
1302         if test "x$value" != "x" -a "x$value" != "xyes" -a "x$value" != "xno"; then
1303           eval "wx${toolkit}_VERSION=$value"
1304         fi
1305       done
1306     else
1307       dnl try to guess the most apropriate toolkit for this platform
1308       for toolkit in `echo $ALL_TOOLKITS`; do
1309         if test "$has_toolkit_in_cache" != 1; then
1310           var=DEFAULT_DEFAULT_wxUSE_$toolkit
1311         else
1312           var=DEFAULT_wxUSE_$toolkit
1313
1314           eval "version=\$DEFAULT_wx${toolkit}_VERSION"
1315           if test "x$version" != "x"; then
1316             eval "wx${toolkit}_VERSION=$version"
1317           fi
1318         fi
1319         eval "wxUSE_$toolkit=\$${var}"
1320       done
1321     fi
1322
1323     dnl we suppose that expr is available (maybe there is a better way to do
1324     dnl this? what about using ALL_TOOLKITS? TODO)
1325     NUM_TOOLKITS=`expr ${wxUSE_COCOA:-0} + ${wxUSE_GTK:-0} + ${wxUSE_MAC:-0} \
1326                   + ${wxUSE_MGL:-0} + ${wxUSE_DFB:-0} + ${wxUSE_MICROWIN:-0} \
1327                   + ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} + ${wxUSE_X11:-0}`
1328
1329     dnl Allow wxUSE_PM only for OS/2 with EMX.
1330     case "${host}" in
1331       *-pc-os2_emx | *-pc-os2-emx )
1332         NUM_TOOLKITS=`expr ${NUM_TOOLKITS} + ${wxUSE_PM:-0}`
1333     esac
1334
1335     case "$NUM_TOOLKITS" in
1336       1)
1337       ;;
1338       0)
1339         AC_MSG_ERROR(Please specify a toolkit -- cannot determine the default for ${host})
1340       ;;
1341       *)
1342         AC_MSG_ERROR(Please specify at most one toolkit (maybe some are cached in configarg.cache?))
1343     esac
1344
1345     # to be removed when --disable-gtk2 isn't needed
1346     if test "x$wxUSE_GTK2" = "xyes"; then
1347         wxGTK_VERSION=2
1348     elif test "x$wxUSE_GTK2" = "xno"; then
1349         wxGTK_VERSION=1
1350     fi
1351
1352     dnl cache the wxUSE_<TOOLKIT> values too
1353     for toolkit in `echo $ALL_TOOLKITS`; do
1354       var=wxUSE_$toolkit
1355       eval "value=\$${var}"
1356       if test "x$value" != x; then
1357         cache_var=CACHE_$toolkit
1358         eval "cache=\$${cache_var}"
1359         if test "$cache" = 1; then
1360           echo "$var=$value" >> ${wx_arg_cache_file}
1361           eval "version=\$wx${toolkit}_VERSION"
1362           if test "x$version" != "x"; then
1363             echo "wx${toolkit}_VERSION=$version" >> ${wx_arg_cache_file}
1364           fi
1365         fi
1366         if test "$value" = 1; then
1367           toolkit_echo=`echo $toolkit | tr "[[A-Z]]" "[[a-z]]"`
1368           AC_MSG_RESULT($toolkit_echo)
1369         fi
1370       fi
1371     done
1372 else
1373     if test "x$host_alias" != "x"; then
1374         AC_MSG_RESULT(base ($host_alias hosted) only)
1375     else
1376         AC_MSG_RESULT(base only)
1377     fi
1378 fi
1379
1380 dnl ---------------------------------------------------------------------------
1381 dnl When we are using Cygwin with Motif/GTK+, we want it to appear like
1382 dnl 'just' a POSIX platform, so the Win32 API must not be available
1383 dnl ---------------------------------------------------------------------------
1384 dnl (Windows-only piece)
1385 wants_win32=0
1386 doesnt_want_win32=0
1387 case "${host}" in
1388   *-*-cygwin*)
1389       if test "$wxUSE_MSW" = 1 ; then
1390         wants_win32=1
1391         BAKEFILE_FORCE_PLATFORM=win32
1392       else
1393         doesnt_want_win32=1
1394       fi
1395   ;;
1396   *-*-mingw*)
1397       wants_win32=1
1398   ;;
1399 esac
1400
1401 dnl ---------------------------------------------------------------------------
1402 dnl Wine is a virtual platform, we need to patch things up a bit
1403 dnl ---------------------------------------------------------------------------
1404 if test "$wxUSE_WINE" = "yes"; then
1405     wants_win32=1
1406     dnl FIXME: we should do a better job of testing for these
1407     CC=winegcc
1408     CXX=wineg++
1409     LDFLAGS_GUI="-mwindows"
1410 fi
1411
1412 dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
1413 dnl     take effect on Cygwin/Mingw and not other platforms.
1414 if test "$wants_win32" = 1 ; then
1415     USE_UNIX=0
1416     USE_WIN32=1
1417     AC_DEFINE(__WIN32__)
1418     AC_DEFINE(__WIN95__)
1419     AC_DEFINE(__WINDOWS__)
1420     AC_DEFINE(__GNUWIN32__)
1421     AC_DEFINE(STRICT)
1422     AC_DEFINE(WINVER, 0x0400)
1423 fi
1424 if test "$doesnt_want_win32" = 1 ; then
1425     USE_UNIX=1
1426     USE_WIN32=0
1427 fi
1428 dnl (end of Windows-only piece)
1429
1430 if test "$USE_UNIX" = 1 ; then
1431     wxUSE_UNIX=yes
1432     AC_DEFINE(__UNIX__)
1433 fi
1434
1435 dnl ---------------------------------------------------------------------------
1436 dnl Checks for programs
1437 dnl ---------------------------------------------------------------------------
1438
1439 dnl flush the cache because checking for programs might abort
1440 AC_CACHE_SAVE
1441
1442 dnl C-compiler checks
1443 dnl   defines CC with the compiler to use
1444 dnl   defines GCC with yes if using gcc
1445 dnl   defines GCC empty if not using gcc
1446 dnl   defines CFLAGS
1447 dnl
1448 dnl this magic incantation is needed to prevent AC_PROG_CC from setting the
1449 dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add
1450 dnl -g and -O flags ourselves below
1451 CFLAGS=${CFLAGS:=}
1452 AC_BAKEFILE_PROG_CC
1453
1454 dnl is -traditional needed for correct compilations
1455 dnl   adds -traditional for gcc if needed
1456 AC_PROG_GCC_TRADITIONAL
1457
1458 dnl do all checks from now on using the C++ compiler: this saves us a lot of
1459 dnl problems with various functions which may be available in libc but not
1460 dnl declared in the header and various pointer conversions which compile with
1461 dnl the C compiler but not in C++
1462 AC_LANG_PUSH(C++)
1463
1464 dnl C++-compiler checks
1465 dnl   defines CXX with the compiler to use
1466 dnl   defines GXX with yes if using gxx
1467 dnl   defines GXX empty if not using gxx
1468 dnl   defines CXXFLAGS
1469 dnl
1470 dnl see CFLAGS line above
1471 CXXFLAGS=${CXXFLAGS:=}
1472 AC_BAKEFILE_PROG_CXX
1473
1474 dnl ranlib command
1475 dnl   defines RANLIB with the appropriate command
1476 AC_PROG_RANLIB
1477
1478 dnl ar command
1479 dnl   defines AR with the appropriate command
1480 AC_CHECK_TOOL(AR, ar)
1481 if test "x$AR" = "x" ; then
1482     AC_MSG_ERROR([ar is needed to build wxWidgets])
1483 fi
1484
1485 dnl install checks
1486 dnl   defines INSTALL with the appropriate command
1487 AC_PROG_INSTALL
1488
1489 dnl   make install path absolute (if not already);
1490 dnl   will fail with (some) MSDOS paths
1491 case ${INSTALL} in
1492   /* ) # Absolute
1493      ;;
1494   ?:* ) # Drive letter, considered as absolute.
1495      ;;
1496   *)
1497      INSTALL=`pwd`/${INSTALL} ;;
1498 esac
1499
1500
1501 case "${host}" in
1502
1503     dnl The other BSD's should probably go in here too, since this is
1504     dnl to workaround a strange static lib BSDism.
1505     dnl Mac OS X install seems to ignore -p option...
1506     *-*-darwin* )
1507         INSTALL_PROGRAM="cp -fp"
1508         INSTALL_DATA="cp -fp"
1509         ;;
1510     *)
1511         ;;
1512 esac
1513
1514 dnl strip command
1515 dnl   defines STRIP as strip or nothing (true) if not found
1516 AC_CHECK_TOOL(STRIP, strip, true)
1517
1518 dnl Win32 tools
1519 if test "$wxUSE_WINE" = "yes"; then
1520     AC_CHECK_TOOL(WINDRES, wrc)
1521     RESCOMP="$WINDRES"
1522 else
1523     case "${host}" in
1524     *-*-cygwin* | *-*-mingw32* )
1525         dnl Bakefile CVS (as of 2005-11-24) now detects windres properly
1526         dnl ... maybe it does, but it does not make it available here
1527         dnl anymore, so do it ourselves still.
1528         AC_CHECK_TOOL(WINDRES, windres)
1529         RESCOMP="$WINDRES"
1530         AC_CHECK_TOOL(DLLTOOL, dlltool)
1531         ;;
1532     esac
1533 fi
1534
1535 dnl does make support "-include" (only GNU make does AFAIK)?
1536 AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu,
1537 [
1538     if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
1539             egrep -s GNU > /dev/null); then
1540         wx_cv_prog_makeisgnu="yes"
1541     else
1542         wx_cv_prog_makeisgnu="no"
1543     fi
1544 ])
1545
1546 if test "x$wx_cv_prog_makeisgnu" = "xyes"; then
1547     IF_GNU_MAKE=""
1548 else
1549     IF_GNU_MAKE="#"
1550 fi
1551
1552 AC_SUBST(IF_GNU_MAKE)
1553
1554 dnl we don't need to check for VPATH support in GNU make - it does have it
1555 if test "x$wx_cv_prog_makeisgnu" != "xyes"; then
1556 dnl check if VPATH works
1557 AC_CACHE_CHECK([if make supports VPATH], wx_cv_prog_makevpath, [
1558 dnl create Makefile
1559 cat - << EOF > confMake
1560 check : file
1561         cp \$? \$@
1562         cp \$? final_file
1563 EOF
1564
1565 if test ! -d sub ; then
1566   mkdir sub
1567 fi
1568 echo dummy > sub/file
1569 ${MAKE-make} -f confMake VPATH=sub 2>&5 > /dev/null
1570 RESULT=$?
1571 rm -f sub/file check final_file confMake
1572 rmdir sub
1573 if test "$RESULT" = 0; then
1574   wx_cv_prog_makevpath="yes"
1575 else
1576   wx_cv_prog_makevpath="no"
1577 fi
1578 ])
1579
1580 if test "x$wx_cv_prog_makevpath" != "xyes"; then
1581 AC_MSG_ERROR([
1582 You need a make-utility that is able to use the variable
1583 VPATH correctly.
1584 If your version of make does not support VPATH correctly,
1585 please install GNU-make (possibly as gmake), and start
1586 configure with the following command:
1587 export MAKE=gmake; ./configure  for sh-type shells
1588 setenv MAKE gmake; ./configure  for csh-type shells
1589 Also please do remember to use gmake in this case every time
1590 you are trying to compile.
1591 ])
1592 fi dnl make without VPATH
1593 fi dnl not GNU make
1594
1595 dnl needed for making link to setup.h
1596 AC_PROG_LN_S
1597
1598
1599 dnl ------------------------------------------------------------------------
1600 dnl Platform specific tests
1601 dnl ------------------------------------------------------------------------
1602
1603 dnl xlC needs -qunique under AIX so that one source file can be
1604 dnl compiled to multiple object files and safely linked together.
1605 if test "x$XLCXX" = "xyes" -a "x$USE_AIX" = "x1"; then
1606     CXXFLAGS="-qunique $CXXFLAGS"
1607 fi
1608
1609 dnl This case is for PowerPC OS X vs. everything else
1610 case "${host}" in
1611   powerpc-*-darwin* )
1612     AC_MSG_CHECKING([if __POWERPC__ is already defined])
1613     AC_TRY_COMPILE([],[#ifndef __POWERPC__
1614         choke me for lack of PowerPC
1615 #endif
1616 ],
1617         [AC_MSG_RESULT([yes])],
1618         [AC_MSG_RESULT([no])
1619         AC_DEFINE(__POWERPC__)
1620     ])
1621   ;;
1622 esac
1623
1624 dnl This case is for OS X vs. everything else
1625 case "${host}" in
1626   *-*-darwin* )
1627     AC_MSG_CHECKING([if CoreFoundation/CFBase.h is usable])
1628     AC_TRY_COMPILE([#include <CoreFoundation/CFBase.h>
1629 ],[],
1630         [AC_MSG_RESULT([yes])],
1631         [AC_MSG_RESULT([no])
1632         AC_MSG_CHECKING([if __CF_USE_FRAMEWORK_INCLUDES__ is required])
1633         AC_TRY_COMPILE([#define __CF_USE_FRAMEWORK_INCLUDES__
1634 #include <CoreFoundation/CFBase.h>
1635         ],[],
1636         [AC_MSG_RESULT([yes])
1637         dnl We must use -D so source files that don't include wx/setup.h
1638         dnl but do include CFBase will work.
1639         CPPFLAGS="-D__CF_USE_FRAMEWORK_INCLUDES__ $CPPFLAGS"],
1640         [AC_MSG_FAILURE([no.  CoreFoundation not available.])]
1641         )
1642         ]
1643     )
1644   ;;
1645 esac
1646
1647 dnl This case is for OS/2 vs. everything else
1648 case "${host}" in
1649   *-pc-os2_emx | *-pc-os2-emx )
1650       dnl ---------------------------------------------------------------------
1651       dnl When we are using gcc on OS/2, we want to be either using resources
1652       dnl (PM) or a more complete POSIX emulation for Motif/GTK+/X11.
1653       dnl Moreover we need to link explicitly against either stdcpp.a or
1654       dnl stdcxx.a (depending on compiler version), since we are using "gcc",
1655       dnl not "g++/c++".
1656       dnl ---------------------------------------------------------------------
1657       dnl (OS/2-only piece)
1658       AC_LANG_PUSH(C)
1659       if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then
1660           dnl More complete Unix emulation for unix-like ports
1661           dnl by linking in POSIX/2's cExt (if available).
1662           AC_CHECK_LIB(cExt, drand48, LIBS="$LIBS -lcExt")
1663       else
1664           dnl Include resources for the "native" port (wxPM).
1665           RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res"
1666       fi
1667       dnl Check for the gcc version (and thereby for the C runtime library).
1668       dnl wx_cv_gccversion = EMX2 -> Standard EMX environment
1669       dnl wx_cv_gccversion = EMX3 -> EMX with gcc-3.0.3 or gcc-3.2.1
1670       dnl wx_cv_gccversion = Innotek5 -> gcc-3.2.2 with Innotek libc5
1671       dnl wx_cv_gccversion = Innotek6 -> gcc-3.3.5 with Innotek libc6.
1672       AC_CACHE_CHECK([for gcc/libc version], wx_cv_gccversion,[
1673           AC_TRY_RUN(
1674               dnl Check the gcc version macro.
1675               [
1676                   #include <stdio.h>
1677
1678                   int main()
1679                   {
1680                       FILE *f=fopen("conftestval", "w");
1681                       if (!f) exit(1);
1682                       fprintf(f,
1683                   #if (__GNUC__ < 3)
1684                               "EMX2"
1685                   #elif (__GNUC__==3) && ((__GNUC_MINOR__ < 2) || ((__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__<2)))
1686                               "EMX3"
1687                   #elif (__GNUC__==3) && (__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__==2)
1688                               "Innotek5"
1689                   #else
1690                               "Innotek6"
1691                   #endif
1692                       );
1693                       exit(0);
1694                   }
1695               ],
1696               wx_cv_gccversion=`cat conftestval`,
1697               wx_cv_gccversion="EMX2",
1698               dnl Compilation error: Assuming standard EMX environment
1699               wx_cv_gccversion="EMX2"
1700           )
1701       ])
1702       AC_LANG_POP
1703       if test "$wx_cv_gccversion" = "EMX2"; then
1704           LIBS="$LIBS -lstdcpp"
1705           LDFLAGS="$LDFLAGS -Zsysv-signals"
1706       else
1707           if test "$wx_cv_gccversion" = "EMX3"; then
1708               LIBS="$LIBS -lstdcxx -lgcc"
1709               LDFLAGS="$LDFLAGS -Zsysv-signals"
1710           else
1711               LIBS="$LIBS -lstdc++"
1712           fi
1713       fi
1714       if test "$wxUSE_SHARED" = "yes" -a "$wxUSE_OMF" = "no"; then
1715         AC_MSG_WARN([Building DLLs requires OMF mode, enabled])
1716         wxUSE_OMF=yes
1717         enable_omf=yes
1718       fi
1719       dnl (end of OS/2-only piece)
1720   ;;
1721   *)
1722       dnl ---------------------------------------------------------------------
1723       dnl look for strcasecmp() in string.h and then strings.h if it's not
1724       dnl there. Don't do this on OS/2, where "stricmp" is the function to be
1725       dnl used.
1726       dnl ---------------------------------------------------------------------
1727       dnl (non-OS/2-only piece)
1728
1729       AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
1730           AC_TRY_LINK([
1731               #include <string.h>
1732               ],
1733               [
1734                   strcasecmp("foo", "bar");
1735               ],
1736               ac_cv_string_strcasecmp=yes,
1737               ac_cv_string_strcasecmp=no
1738           )
1739       ])
1740
1741       if test x"$ac_cv_string_strcasecmp" = "xyes"; then
1742           AC_DEFINE(HAVE_STRCASECMP_IN_STRING_H)
1743       else
1744           AC_CACHE_CHECK([for strcasecmp() in strings.h], ac_cv_strings_strcasecmp, [
1745               AC_TRY_LINK([
1746                   #include <strings.h>
1747                   ],
1748                   [
1749                       strcasecmp("foo", "bar");
1750                   ],
1751                   ac_cv_strings_strcasecmp=yes,
1752                   ac_cv_strings_strcasecmp=no
1753               )
1754           ])
1755
1756           if test x"$ac_cv_strings_strcasecmp" = "xyes"; then
1757               AC_DEFINE(HAVE_STRCASECMP_IN_STRINGS_H)
1758           else
1759               AC_MSG_ERROR([No case-insensitive string comparison function found.])
1760           fi
1761       fi
1762
1763       dnl (end of non-OS/2-only piece)
1764   ;;
1765 esac
1766
1767 dnl ------------------------------------------------------------------------
1768 dnl Check for headers
1769 dnl ------------------------------------------------------------------------
1770
1771 dnl defines HAVE_STDLIB_H
1772 AC_CHECK_HEADERS(stdlib.h)
1773 dnl defines HAVE_MALLOC_H
1774 AC_CHECK_HEADERS(malloc.h)
1775 dnl defines HAVE_UNISTD_H
1776 AC_CHECK_HEADERS(unistd.h)
1777 dnl defines HAVE_WCHAR_H
1778 AC_CHECK_HEADERS(wchar.h)
1779
1780 dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
1781 if test "$ac_cv_header_wchar_h" != "yes"; then
1782     dnl defines HAVE_WCSTR_H
1783     AC_CHECK_HEADERS(wcstr.h)
1784 fi
1785
1786 dnl defines HAVE_FNMATCH_H
1787 AC_CHECK_HEADERS(fnmatch.h)
1788
1789 dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
1790 AC_CHECK_HEADERS(langinfo.h)
1791
1792 case "${host}" in
1793   *-pc-os2_emx | *-pc-os2-emx )
1794       dnl Explicitly link -lintl if langinfo.h is available
1795       dnl and intl not yet included in libc
1796       if test $ac_cv_header_langinfo_h = "yes" \
1797                 -a \(   "$wx_cv_gccversion" = "EMX2" \
1798                      -o "$wx_cv_gccversion" = "EMX3" \
1799                      -o "$wx_cv_gccversion" = "Innotek5" \); then
1800           LIBS="$LIBS -lintl"
1801       fi
1802   ;;
1803 esac
1804
1805 dnl POSIX needs this for select(), but old systems don't have it
1806 if test "$USE_UNIX" = 1 ; then
1807     AC_CHECK_HEADERS([sys/select.h])
1808 fi
1809
1810 dnl ---------------------------------------------------------------------------
1811 dnl Checks for compiler characteristics
1812 dnl ---------------------------------------------------------------------------
1813
1814 dnl defines const to be empty if c-compiler does not support const fully
1815 AC_C_CONST
1816 dnl defines inline to a sensible value for the c-compiler
1817 AC_C_INLINE
1818
1819 dnl check the sizes of integral types (give some reasonable default values for
1820 dnl cross-compiling)
1821 dnl   defines the size of certain types of variables in SIZEOF_<TYPE>
1822 AC_CHECK_SIZEOF(char, 1)
1823 AC_CHECK_SIZEOF(short, 2)
1824 AC_CHECK_SIZEOF(void *, 4)
1825 AC_CHECK_SIZEOF(int, 4)
1826 AC_CHECK_SIZEOF(long, 4)
1827 AC_CHECK_SIZEOF(size_t, 4)
1828
1829 case "${host}" in
1830     arm-*-linux* )
1831         AC_CHECK_SIZEOF(long long, 8)
1832     ;;
1833     *-hp-hpux* )
1834         AC_CHECK_SIZEOF(long long, 0)
1835         if test "$ac_cv_sizeof_long_long" != "0"; then
1836             dnl HPUX 10.20 headers need this define in order to use long long definitions
1837             CPPFLAGS="-D_INCLUDE_LONGLONG $CPPFLAGS"
1838         fi
1839     ;;
1840     * )
1841         AC_CHECK_SIZEOF(long long, 0)
1842 esac
1843
1844 dnl SGI/Irix's stdio.h does not include wchar_t. Mac OS X does not provide
1845 dnl wchar.h and wchar_t is defined by stdlib.h (GD)
1846 AC_CHECK_SIZEOF(wchar_t, 0,
1847     [
1848         /* DJGPP's wchar_t is now a keyword in C++ (still not C though) */
1849         #if defined(__DJGPP__) && !( (__GNUC_MINOR__ >= 8 && __GNUC__ == 2 ) || __GNUC__ >= 3 )
1850         #  error "fake wchar_t"
1851         #endif
1852         #ifdef HAVE_WCHAR_H
1853         #  ifdef __CYGWIN__
1854         #    include <stddef.h>
1855         #  endif
1856         #  include <wchar.h>
1857         #endif
1858         #ifdef HAVE_STDLIB_H
1859         #  include <stdlib.h>
1860         #endif
1861         #include <stdio.h>
1862     ]
1863 )
1864 if test "$ac_cv_sizeof_wchar_t" != "0"; then
1865     wxUSE_WCHAR_T=yes
1866 else
1867     wxUSE_WCHAR_T=no
1868 fi
1869
1870 dnl checks needed to define wxVaCopy
1871 AC_CACHE_CHECK([for va_copy],
1872     wx_cv_func_va_copy,
1873     [
1874         AC_LINK_IFELSE([
1875             #include <stdarg.h>
1876             void foo(char *f, ...)
1877             {
1878                 va_list ap1, ap2;
1879                 va_start(ap1, f);
1880                 va_copy(ap2, ap1);
1881                 va_end(ap2);
1882                 va_end(ap1);
1883             }
1884             int main()
1885             {
1886                 foo("hi", 17);
1887                 return 0;
1888             }],
1889             wx_cv_func_va_copy=yes,
1890             wx_cv_func_va_copy=no
1891         )
1892     ]
1893 )
1894
1895 if test $wx_cv_func_va_copy = "yes"; then
1896     AC_DEFINE(HAVE_VA_COPY)
1897 else
1898     dnl try to understand how can we copy va_lists
1899     AC_CACHE_CHECK([if va_list can be copied by value],
1900         wx_cv_type_va_list_lvalue,
1901         [
1902             AC_RUN_IFELSE([
1903                 #include <stdarg.h>
1904                 int foo(char *f, ...)
1905                 {
1906                     va_list ap1, ap2;
1907                     va_start(ap1, f);
1908                     ap2 = ap1;
1909                     if ( va_arg(ap1, int) != 17 || va_arg(ap2, int) != 17 )
1910                         return 1;
1911                     va_end(ap2);
1912                     va_end(ap1);
1913                     return 0;
1914                 }
1915                 int main()
1916                 {
1917                     return foo("hi", 17);
1918                 }],
1919                 wx_cv_type_va_list_lvalue=yes,
1920                 wx_cv_type_va_list_lvalue=no,
1921                 dnl assume most common case for cross-compiling...
1922                 wx_cv_type_va_list_lvalue=yes
1923             )
1924         ]
1925     )
1926
1927     if test $wx_cv_type_va_list_lvalue != "yes"; then
1928         dnl we suppose that the only thing which can't be copied like this
1929         dnl are arrays... only experience will show whether this is really true
1930         AC_DEFINE(VA_LIST_IS_ARRAY)
1931     fi
1932 fi
1933
1934 dnl check for large file support
1935 AC_SYS_LARGEFILE
1936
1937 dnl we need to define _FILE_OFFSET_BITS or _LARGE_FILES on the compiler command
1938 dnl line because otherwise the system headers risk being included before
1939 dnl wx/defs.h which defines these constants leading to inconsistent
1940 dnl sizeof(off_t) in different source files of the same program and linking
1941 dnl problems
1942 if test "x$wx_largefile" = "xyes"; then
1943     if test "x$ac_cv_sys_file_offset_bits" = "x64"; then
1944         WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES"
1945
1946         dnl We get "Large Files (ILP32) not supported in strict ANSI mode."
1947         dnl #error from HP standard headers unless __STDC_EXT__ is defined.
1948         dnl The compiler should define it automatically, but some old g++
1949         dnl versions don't define it, so test and add it if necessary. AFAIK
1950         dnl the problem only affects the C++ compiler so it is added to
1951         dnl CXXFLAGS only.
1952         if test "$USE_HPUX" = 1 -a "$GXX" = "yes"; then
1953             AC_CACHE_CHECK(
1954                 [if -D__STDC_EXT__ is required],
1955                 wx_cv_STDC_EXT_required,
1956                 [
1957                     AC_TRY_COMPILE(
1958                         [],
1959                         [
1960                             #ifndef __STDC_EXT__
1961                                 choke me
1962                             #endif
1963                         ],
1964                         wx_cv_STDC_EXT_required=no,
1965                         wx_cv_STDC_EXT_required=yes
1966                     )
1967                 ]
1968             )
1969             if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
1970                 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -D__STDC_EXT__"
1971             fi
1972         fi
1973     else
1974         WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGE_FILES"
1975     fi
1976     dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source
1977     AC_FUNC_FSEEKO
1978     if test "$ac_cv_sys_largefile_source" != no; then
1979         WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source"
1980     fi
1981 fi
1982
1983 dnl check for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
1984 WX_C_BIGENDIAN
1985
1986 dnl check for iostream (as opposed to iostream.h) standard header
1987 WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
1988
1989 dnl check whether C++ compiler supports bool built-in type
1990 WX_CPP_BOOL
1991
1992 dnl check whether C++ compiler supports explicit keyword
1993 WX_CPP_EXPLICIT
1994
1995 dnl check whether C++ compiler supports C++ casts
1996 AC_CXX_CONST_CAST
1997 AC_CXX_REINTERPRET_CAST
1998 AC_CXX_STATIC_CAST
1999 dnl we don't use HAVE_DYNAMIC_CAST anywhere right now...
2000 dnl AC_CXX_DYNAMIC_CAST
2001
2002 dnl With Sun CC, temporaries have block scope by default. This flag is needed
2003 dnl to get the expression scope behaviour that conforms to the standard.
2004 if test "x$SUNCXX" = xyes; then
2005     CXXFLAGS="-features=tmplife $CXXFLAGS"
2006 fi
2007
2008 dnl Sun X11 headers are (still, in 2005!) non-ANSI and the best they could do
2009 dnl was to hack their C++ compiler to accept them silently -- but C compiler
2010 dnl still spits out dozens of warnings for each X include file, so suppress
2011 dnl them
2012 if test "x$SUNCC" = xyes; then
2013     CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS"
2014 fi
2015
2016 dnl SGI mipsPro compiler gives this warning for "conversion from pointer to
2017 dnl same-sized integral type" even when there is an explicit cast and as there
2018 dnl is no way to turn it off and there are hundreds of these warnings in wx
2019 dnl sources, just turn it off for now
2020 dnl
2021 dnl a better long term solution would be to use #pragma set/reset woff in
2022 dnl wxPtrToUInt() and use it instead of casts elsewhere
2023 if test "x$SGICC" = "xyes"; then
2024     CFLAGS="-woff 3970 $CFLAGS"
2025 fi
2026 if test "x$SGICXX" = "xyes"; then
2027     CXXFLAGS="-woff 3970 $CXXFLAGS"
2028 fi
2029
2030 dnl HP-UX c89/aCC compiler warnings
2031 if test "x$HPCC" = "xyes"; then
2032     dnl 2011: "unrecognized preprocessor directive": nice warning but it's given
2033     dnl       even for directives inside #if which is not true (i.e. which are
2034     dnl       used for other compilers/OS) and so we have no way to get rid of it
2035     dnl 2450: "long long is non standard" -- yes, we know
2036     CFLAGS="+W 2011,2450 $CFLAGS"
2037 fi
2038 if test "x$HPCXX" = "xyes"; then
2039     dnl 2340: "value copied to temporary, reference to temporary used": very
2040     dnl       painful as triggered by any occurrence of user-defined conversion
2041     CXXFLAGS="+W 2340 $CXXFLAGS"
2042 fi
2043
2044 dnl DEC/Compaq/HP cxx warnings
2045 if test "x$COMPAQCXX" = "xyes"; then
2046     dnl -w0 enables all warnings, then we disable some of them:
2047     dnl basclsnondto: base class dtor non virtual (sometimes we do want this)
2048     dnl unrimpret:  "end of routine block may be unreachable" is given for
2049     dnl             every "if ( ) return ...; else return ...;"
2050     dnl intconlosbit: "conversion to integral type of smaller size could lose
2051     dnl               data" this is a useful warning but there are too many of
2052     dnl               them for now
2053     CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit"
2054 fi
2055
2056 dnl check for std::string or std::wstring
2057 if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
2058     if test "$wxUSE_UNICODE" = "yes"; then
2059         std_string="std::wstring"
2060         char_type="wchar_t"
2061     else
2062         std_string="std::string"
2063         char_type="char"
2064     fi
2065
2066     dnl check if <string> declares std::wstring
2067     AC_MSG_CHECKING([for $std_string in <string>])
2068     AC_TRY_COMPILE([#include <string>],
2069                    [$std_string foo;],
2070                    [AC_MSG_RESULT(yes)
2071                     AC_DEFINE(HAVE_STD_WSTRING)],
2072                    [AC_MSG_RESULT(no)
2073                     AC_MSG_CHECKING([if std::basic_string<$char_type> works])
2074                     AC_TRY_COMPILE([
2075                         #ifdef HAVE_WCHAR_H
2076                         #  ifdef __CYGWIN__
2077                         #    include <stddef.h>
2078                         #  endif
2079                         #  include <wchar.h>
2080                         #endif
2081                         #ifdef HAVE_STDLIB_H
2082                         #  include <stdlib.h>
2083                         #endif
2084                         #include <stdio.h>
2085                         #include <string>
2086                         ],
2087                         [std::basic_string<$char_type> foo;
2088                          const $char_type* dummy = foo.c_str();],
2089                         [AC_MSG_RESULT(yes)],
2090                         [AC_MSG_RESULT([no])
2091                          if test "$wxUSE_STL" = "yes"; then
2092                              AC_MSG_ERROR([Can't use --enable-stl without $std_string or std::basic_string<$char_type>])
2093                          elif grep wxUSE_STD_STRING $wx_arg_cache_file >/dev/null; then
2094                              AC_MSG_ERROR([Can't use --enable-std_string without $std_string or std::basic_string<$char_type>])
2095                          else
2096                              AC_MSG_WARN([No $std_string or std::basic_string<$char_type>, switching to --disable-std_string])
2097                              wxUSE_STD_STRING=no
2098                          fi
2099                         ]
2100                     )
2101                     ])
2102 fi
2103
2104 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
2105     AC_CHECK_TYPES([std::istream, std::ostream],,
2106                    [wxUSE_STD_IOSTREAM=no],
2107                    [#include <iostream>])
2108
2109     if test "$wxUSE_STD_IOSTREAM" != "yes"; then
2110         if grep wxUSE_STD_IOSTREAM $wx_arg_cache_file >/dev/null; then
2111             AC_MSG_ERROR([Can't use --enable-std_iostreams without std::istream and std::ostream])
2112         else
2113             AC_MSG_WARN([No std::iostreams, switching to --disable-std_iostreams])
2114         fi
2115     fi
2116 fi
2117
2118 if test "$wxUSE_STL" = "yes"; then
2119     dnl check for basic STL functionality
2120     AC_MSG_CHECKING([for basic STL functionality])
2121     AC_TRY_COMPILE([#include <string>
2122                     #include <functional>
2123                     #include <algorithm>
2124                     #include <vector>
2125                     #include <list>],
2126                     [std::vector<int> moo;
2127                      std::list<int> foo;
2128                      std::vector<int>::iterator it =
2129                          std::find_if(moo.begin(), moo.end(),
2130                                       std::bind2nd(std::less<int>(), 3));],
2131                     [AC_MSG_RESULT([yes])],
2132                     [AC_MSG_RESULT([no])
2133                      AC_MSG_ERROR([Basic STL functionality missing])])
2134
2135     dnl check for compliant std::string::compare
2136     AC_MSG_CHECKING([for compliant std::string::compare])
2137     AC_TRY_COMPILE([#include <string>],
2138                    [std::string foo, bar;
2139                     foo.compare(bar);
2140                     foo.compare(1, 1, bar);
2141                     foo.compare(1, 1, bar, 1, 1);
2142                     foo.compare("");
2143                     foo.compare(1, 1, "");
2144                     foo.compare(1, 1, "", 2);],
2145                    [AC_MSG_RESULT(yes)
2146                     AC_DEFINE(HAVE_STD_STRING_COMPARE)],
2147                    [AC_MSG_RESULT(no)])
2148
2149     dnl check for hash_map and hash_set headers
2150     AC_CHECK_HEADER([hash_map],
2151                     [AC_MSG_CHECKING([for hash_map and hash_set])
2152                      AC_TRY_COMPILE([#include <hash_map>
2153                                      #include <hash_set>],
2154                                     [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
2155                                      std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
2156                                     [AC_MSG_RESULT(yes)
2157                                      AC_DEFINE(HAVE_HASH_MAP)
2158                                      AC_DEFINE(HAVE_STD_HASH_MAP)],
2159                                     [AC_MSG_RESULT(no)])
2160                      ])
2161
2162     AC_CHECK_HEADER([ext/hash_map],
2163                     [AC_MSG_CHECKING([for hash_map and hash_set])
2164                      AC_TRY_COMPILE([#include <ext/hash_map>
2165                                      #include <ext/hash_set>],
2166                                     [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
2167                                      __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
2168                                     [AC_MSG_RESULT(yes)
2169                                      AC_DEFINE(HAVE_EXT_HASH_MAP)
2170                                      AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
2171                                     [AC_MSG_RESULT(no)])
2172                      ])
2173 fi
2174
2175 dnl ---------------------------------------------------------------------------
2176 dnl Define search path for includes and libraries: all headers and libs will be
2177 dnl looked for in all directories of this path
2178 dnl ---------------------------------------------------------------------------
2179
2180 dnl Notice that /usr/include should *not* be in this list, otherwise it breaks
2181 dnl compilation on Solaris/AIX/... with gcc because standard (non ANSI C)
2182 dnl headers are included instead of the "fixed" (ANSI-fied) gcc ones.
2183 dnl
2184 dnl Also try to put all directories which may contain X11R6 before those which
2185 dnl may contain X11R5/4 - we want to use R6 on machines which have both!
2186 dnl
2187 dnl In the same vein. Motif 2.1 should be tried before Motif 1.2 for the
2188 dnl systems which have both (AIX 4.x does)
2189 SEARCH_INCLUDE="\
2190     /usr/local/include        \
2191                               \
2192     /usr/Motif-2.1/include    \
2193     /usr/Motif-1.2/include    \
2194     /usr/include/Motif1.2     \
2195                               \
2196     /usr/dt/include           \
2197     /usr/openwin/include      \
2198                               \
2199     /usr/include/Xm           \
2200                               \
2201     /usr/X11R6/include        \
2202     /usr/X11R6.4/include      \
2203     /usr/X11R5/include        \
2204     /usr/X11R4/include        \
2205                               \
2206     /usr/include/X11R6        \
2207     /usr/include/X11R5        \
2208     /usr/include/X11R4        \
2209                               \
2210     /usr/local/X11R6/include  \
2211     /usr/local/X11R5/include  \
2212     /usr/local/X11R4/include  \
2213                               \
2214     /usr/local/include/X11R6  \
2215     /usr/local/include/X11R5  \
2216     /usr/local/include/X11R4  \
2217                               \
2218     /usr/X11/include          \
2219     /usr/include/X11          \
2220     /usr/local/X11/include    \
2221     /usr/local/include/X11    \
2222                               \
2223     /usr/XFree86/include/X11  \
2224     /usr/pkg/include          \
2225                               \
2226     /usr/openwin/share/include"
2227
2228 dnl try to find out the standard lib locations for the systems with multiple
2229 dnl ABIs
2230 AC_MSG_CHECKING([for libraries directory])
2231
2232 case "${host}" in
2233     *-*-irix6* )
2234         AC_CACHE_VAL(
2235             wx_cv_std_libpath,
2236             [
2237                 for d in WX_STD_LIBPATH(); do
2238                     for e in a so sl dylib dll.a; do
2239                         libc="$d/libc.$e"
2240                         if test -f $libc; then
2241                             save_LIBS="$LIBS"
2242                             LIBS="$libc"
2243                             AC_LINK_IFELSE([int main() { return 0; }],
2244                                 wx_cv_std_libpath=`echo $d | sed s@/usr/@@`)
2245                             LIBS="$save_LIBS"
2246                             if test "x$wx_cv_std_libpath" != "x"; then
2247                                 break 2
2248                             fi
2249                         fi
2250                     done
2251                 done
2252                 if test "x$wx_cv_std_libpath" = "x"; then
2253                     wx_cv_std_libpath="lib"
2254                 fi
2255             ]
2256         )
2257         ;;
2258
2259     *-*-solaris2* )
2260         dnl use ../lib or ../lib/64 depending on the size of void*
2261         if test "$ac_cv_sizeof_void_p" = 8 -a -d "/usr/lib/64"; then
2262             wx_cv_std_libpath="lib/64"
2263         else
2264             wx_cv_std_libpath="lib"
2265         fi
2266         ;;
2267
2268     *-*-linux* )
2269         dnl use ../lib or ../lib64 depending on the size of void*
2270         if test "$ac_cv_sizeof_void_p" = 8 -a \
2271                 -d "/usr/lib64" -a ! -h "/usr/lib64"; then
2272             wx_cv_std_libpath="lib64"
2273         else
2274             wx_cv_std_libpath="lib"
2275         fi
2276         ;;
2277
2278     *)
2279         wx_cv_std_libpath="lib";
2280         ;;
2281 esac
2282
2283 AC_MSG_RESULT($wx_cv_std_libpath)
2284
2285 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s@include@$wx_cv_std_libpath@g` /usr/$wx_cv_std_libpath"
2286
2287 dnl Cross compiling with gcc?
2288 if test "$build" != "$host" -a "$GCC" = yes; then
2289     dnl for gcc cross-compilers "$CC -print-prog-name=ld" prints the path to
2290     dnl the linker. Stripping off the trailing '/bin/ld' gives us a candiate
2291     dnl for a 'root' below which libraries and headers for the target system
2292     dnl might be installed.
2293     if cross_root=`$CC -print-prog-name=ld 2>/dev/null`; then
2294         cross_root=`dirname $cross_root`
2295         cross_root=`dirname $cross_root`
2296
2297         dnl substitute this candiate root for '^/usr' in the search lists,
2298         dnl strip out any that don't start '^/usr'.
2299         SEARCH_LIB=`for x in $SEARCH_LIB; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
2300         SEARCH_INCLUDE=`for x in $SEARCH_INCLUDE; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
2301         SEARCH_INCLUDE="$SEARCH_INCLUDE $cross_root/include"
2302
2303         dnl also have pkg-config search for *.pc files under this 'root'
2304         if test -z "$PKG_CONFIG_PATH"; then
2305             PKG_CONFIG_PATH="$cross_root/local/lib/pkgconfig:$cross_root/lib/pkgconfig"
2306             export PKG_CONFIG_PATH
2307         fi
2308
2309         dnl AC_PATH_XTRA doesn't work currently unless -x-includes and
2310         dnl -x-libraries are given on the command line. So if they are not
2311         dnl set then set them here to plausible defaults.
2312         if test -z "$x_includes" -o "$x_includes" = NONE; then
2313             WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, X11/Intrinsic.h)
2314             x_includes=$ac_find_includes
2315         fi
2316         if test -z "$x_libraries" -o "$x_libraries" = NONE; then
2317             WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xt)
2318             x_libraries=$ac_find_libraries
2319         fi
2320     fi
2321 fi
2322
2323 dnl ------------------------------------------------------------------------
2324 dnl Check for libraries
2325 dnl ------------------------------------------------------------------------
2326
2327 dnl flush the cache because checking for libraries below might abort
2328 AC_CACHE_SAVE
2329
2330 dnl check for glibc version
2331 dnl
2332 dnl VZ: I have no idea why had this check been there originally, but now
2333 dnl     we could probably do without it by just always adding _GNU_SOURCE
2334 if test "$USE_LINUX" = 1 -o "$USE_GNU" = 1; then
2335     AC_CACHE_CHECK([for glibc 2.1 or later], wx_cv_lib_glibc21,[
2336         AC_TRY_COMPILE([#include <features.h>],
2337             [
2338                 #if (__GLIBC__ < 2) || (__GLIBC_MINOR__ < 1)
2339                 not glibc 2.1
2340                 #endif
2341             ],
2342             [
2343                 wx_cv_lib_glibc21=yes
2344             ],
2345             [
2346                 wx_cv_lib_glibc21=no
2347             ]
2348         )
2349     ])
2350     if test "$wx_cv_lib_glibc21" = "yes"; then
2351         AC_DEFINE(wxHAVE_GLIBC2)
2352     fi
2353 fi
2354
2355 dnl we may need _GNU_SOURCE for 2 things:
2356 dnl
2357 dnl  1. to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+ (strictly speaking we
2358 dnl  only need _XOPEN_SOURCE=500 but just defining this disables _BSD_SOURCE
2359 dnl  which breaks libtiff compilation, so it is simpler to just define
2360 dnl  _GNU_SOURCE to get everything)
2361 dnl
2362 dnl  2. for Unicode functions
2363 if test "x$wx_cv_lib_glibc21" = "xyes"; then
2364     if test "$wxUSE_UNICODE" = "yes" -o "$wxUSE_THREADS" = "yes"; then
2365         AC_DEFINE(_GNU_SOURCE)
2366     fi
2367 fi
2368
2369 dnl Only add the -lm library if floating point functions cannot be used
2370 dnl without it.  This check is important on cygwin because of the bizarre
2371 dnl way that they have organized functions into libraries.  On cygwin, both
2372 dnl libc.a and libm.a are symbolic links to a single lib libcygwin.a.  This
2373 dnl means that
2374 dnl   1) linking with -lm is not necessary, and
2375 dnl   2) linking with -lm is dangerous if the order of libraries is wrong
2376 dnl In particular, if you compile any program with -mno-cygwin and link with
2377 dnl -lm, it will crash instantly when it is run.  This happens because the
2378 dnl linker incorrectly links the Cygwin libm.a (==libcygwin.a), which replaces
2379 dnl the ___main function instead of allowing it to be defined by
2380 dnl /usr/lib/mingw/libmingw32.a as it should be.
2381 dnl
2382 dnl On MacOS X, this test will find that -lm is unnecessary and leave it out.
2383 dnl
2384 dnl Just check a few floating point functions. If they are all found without
2385 dnl -lm, then we must not need -lm.
2386 have_cos=0
2387 have_floor=0
2388 AC_CHECK_FUNCS(cos, have_cos=1)
2389 AC_CHECK_FUNCS(floor, have_floor=1)
2390 AC_MSG_CHECKING(if floating point functions link without -lm)
2391 if test "$have_cos" = 1 -a "$have_floor" = 1; then
2392     AC_MSG_RESULT(yes)
2393 else
2394     AC_MSG_RESULT(no)
2395     LIBS="$LIBS -lm"
2396     # use different functions to avoid configure caching
2397     have_sin=0
2398     have_ceil=0
2399     AC_CHECK_FUNCS(sin, have_sin=1)
2400     AC_CHECK_FUNCS(ceil, have_ceil=1)
2401     AC_MSG_CHECKING(if floating point functions link with -lm)
2402     if test "$have_sin" = 1 -a "$have_ceil" = 1; then
2403         AC_MSG_RESULT(yes)
2404     else
2405         AC_MSG_RESULT(no)
2406         # not sure we should warn the user, crash, etc.
2407     fi
2408 fi
2409
2410 dnl ---------------------------------------------------------------------------
2411 dnl Optional libraries
2412 dnl
2413 dnl   --with-<lib>=sys
2414 dnl       looks for system library and fails if not found
2415 dnl
2416 dnl   --with-<lib>
2417 dnl   --with-<lib>=yes
2418 dnl       looks for system library and, if not found, prints a warning,
2419 dnl       falls back to the builtin wx version, and continues configuration
2420 dnl
2421 dnl   --with-<lib>=builtin
2422 dnl       uses builtin wx version without searching for system library
2423 dnl
2424 dnl   --with-<lib>=no
2425 dnl   --without-<lib>
2426 dnl       do not use library (neither system nor builtin wx version)
2427 dnl
2428 dnl ---------------------------------------------------------------------------
2429
2430 dnl ------------------------------------------------------------------------
2431 dnl Check for regex libraries
2432 dnl ------------------------------------------------------------------------
2433
2434 if test "$wxUSE_REGEX" != "no"; then
2435     AC_DEFINE(wxUSE_REGEX)
2436
2437     if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_REGEX" = "yes"; then
2438         AC_MSG_WARN([Defaulting to the the builtin regex library for Unicode build.])
2439         wxUSE_REGEX=builtin
2440     fi
2441
2442     if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; then
2443         dnl according to Unix 98 specs, regcomp() is in libc but I believe that
2444         dnl on some old systems it may be in libregex - check for it too?
2445         AC_CHECK_HEADER(regex.h, [AC_CHECK_FUNCS(regcomp re_search)])
2446
2447         if test "x$ac_cv_func_regcomp" != "xyes"; then
2448             if test "$wxUSE_REGEX" = "sys" ; then
2449                 AC_MSG_ERROR([system regex library not found! Use --with-regex to use built-in version])
2450             else
2451                 AC_MSG_WARN([system regex library not found, will use built-in instead])
2452                 wxUSE_REGEX=builtin
2453             fi
2454         else
2455             dnl we are using the system library
2456             wxUSE_REGEX=sys
2457             dnl only the built-in supports advanced REs
2458             AC_DEFINE(WX_NO_REGEX_ADVANCED)
2459         fi
2460     fi
2461 fi
2462
2463 dnl ------------------------------------------------------------------------
2464 dnl Check for zlib compression library
2465 dnl ------------------------------------------------------------------------
2466
2467 ZLIB_LINK=
2468 if test "$wxUSE_ZLIB" != "no" ; then
2469     AC_DEFINE(wxUSE_ZLIB)
2470
2471     if test "$wxUSE_ZLIB" = "sys" -o "$wxUSE_ZLIB" = "yes" ; then
2472         dnl don't test for zlib under Mac -- its verson there is 1.1.3 but we
2473         dnl should still use it because hopefully (can someone confirm this?)
2474         dnl Apple did fix the security problem in it and not using the system
2475         dnl library results in a whole bunch of warnings when linking with
2476         dnl Carbon framework
2477         if test "$USE_DARWIN" = 1; then
2478             system_zlib_h_ok="yes"
2479         else
2480             dnl we have troubles with ancient zlib versions (e.g. 1.0.4 is
2481             dnl known to not work) and although I don't know which is
2482             dnl the minimal required version it's safer to test for 1.1.4 as
2483             dnl it fixes a security problem in 1.1.3 -- and hopefully nobody
2484             dnl has anything more ancient (1.1.3 was released in July 1998)
2485             dnl anyhow
2486             AC_CACHE_CHECK([for zlib.h >= 1.1.4], ac_cv_header_zlib_h,
2487                 [AC_TRY_RUN(
2488                     dnl zlib.h defines ZLIB_VERSION="x.y.z"
2489                     [
2490                         #include <zlib.h>
2491                         #include <stdio.h>
2492
2493                         int main()
2494                         {
2495                             FILE *f=fopen("conftestval", "w");
2496                             if (!f) exit(1);
2497                             fprintf(f, "%s",
2498                                     ZLIB_VERSION[0] == '1' &&
2499                                     (ZLIB_VERSION[2] > '1' ||
2500                                     (ZLIB_VERSION[2] == '1' &&
2501                                      ZLIB_VERSION[4] >= '4')) ? "yes" : "no");
2502                             exit(0);
2503                         }
2504                     ],
2505                     ac_cv_header_zlib_h=`cat conftestval`,
2506                     ac_cv_header_zlib_h=no,
2507                     dnl cross-compiling: don't have an answer, try later
2508                     unset ac_cv_header_zlib_h
2509                 )]
2510             )
2511             dnl If the test above did not come up with a value (e.g. cross
2512             dnl compiling) then this should give a definitive answer
2513             AC_CHECK_HEADER(zlib.h)
2514
2515             system_zlib_h_ok=$ac_cv_header_zlib_h
2516         fi
2517
2518         if test "$system_zlib_h_ok" = "yes"; then
2519             AC_CHECK_LIB(z, deflate, ZLIB_LINK=" -lz")
2520         fi
2521
2522         if test "x$ZLIB_LINK" = "x" ; then
2523             if test "$wxUSE_ZLIB" = "sys" ; then
2524                 AC_MSG_ERROR([zlib library not found or too old! Use --with-zlib=builtin to use built-in version])
2525             else
2526                 AC_MSG_WARN([zlib library not found or too old, will use built-in instead])
2527                 wxUSE_ZLIB=builtin
2528             fi
2529         else
2530             dnl we are using the system library
2531             wxUSE_ZLIB=sys
2532         fi
2533     fi
2534 fi
2535
2536 dnl ------------------------------------------------------------------------
2537 dnl Check for png library
2538 dnl ------------------------------------------------------------------------
2539
2540 PNG_LINK=
2541 if test "$wxUSE_LIBPNG" != "no" ; then
2542     AC_DEFINE(wxUSE_LIBPNG)
2543
2544     if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBPNG" = "builtin" ; then
2545         AC_MSG_WARN([wxMGL doesn't work with builtin png library, will use MGL one instead])
2546         wxUSE_LIBPNG=sys
2547     fi
2548
2549     dnl for the check below to have a chance to succeed, we must already have
2550     dnl libz somewhere (don't do this when bulding wxMGL since its libpng
2551     dnl doesn't depend on zlib)
2552     if test "$wxUSE_MGL" != 1 -a "$wxUSE_LIBPNG" = "sys" -a "$wxUSE_ZLIB" != "sys" ; then
2553         AC_MSG_WARN([system png library doesn't work without system zlib, will use built-in instead])
2554         wxUSE_LIBPNG=builtin
2555     fi
2556
2557     if test "$wxUSE_MGL" != 1 ; then
2558         dnl Don't check for libpng when building wxMGL, libmgl contains it
2559         if test "$wxUSE_LIBPNG" = "sys" -o "$wxUSE_LIBPNG" = "yes" ; then
2560             dnl libpng version 0.9 is known to not work, if an even newer
2561             dnl version is required, just bump it up in the test below
2562             AC_CACHE_CHECK([for png.h > 0.90], ac_cv_header_png_h,
2563                 [AC_TRY_RUN(
2564                     dnl png.h defines PNG_LIBPNG_VER=number
2565                     [
2566                         #include <png.h>
2567                         #include <stdio.h>
2568
2569                         int main()
2570                         {
2571                             FILE *f=fopen("conftestval", "w");
2572                             if (!f) exit(1);
2573                             fprintf(f, "%s",
2574                                      PNG_LIBPNG_VER > 90 ? "yes" : "no");
2575                             exit(0);
2576                         }
2577                     ],
2578                     ac_cv_header_png_h=`cat conftestval`,
2579                     ac_cv_header_png_h=no,
2580                     dnl cross-compiling: test (later) if we have any png.h
2581                     unset ac_cv_header_png_h
2582                 )]
2583             )
2584             AC_CHECK_HEADER(png.h)
2585
2586             if test "$ac_cv_header_png_h" = "yes"; then
2587                 AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng -lz", , [-lz -lm])
2588             fi
2589
2590             if test "x$PNG_LINK" = "x" ; then
2591                 if test "$wxUSE_LIBPNG" = "sys" ; then
2592                     AC_MSG_ERROR([system png library not found or too old! Use --with-libpng=builtin to use built-in version])
2593                 else
2594                     AC_MSG_WARN([system png library not found or too old, will use built-in instead])
2595                     wxUSE_LIBPNG=builtin
2596                 fi
2597             else
2598                 dnl we are using the system library
2599                 wxUSE_LIBPNG=sys
2600             fi
2601         fi
2602     fi
2603
2604     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
2605 fi
2606
2607 dnl ------------------------------------------------------------------------
2608 dnl Check for jpeg library
2609 dnl ------------------------------------------------------------------------
2610
2611 JPEG_LINK=
2612 if test "$wxUSE_LIBJPEG" != "no" ; then
2613     AC_DEFINE(wxUSE_LIBJPEG)
2614
2615     if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBJPEG" = "builtin" ; then
2616         AC_MSG_WARN([wxMGL doesn't work with builtin jpeg library, will use MGL one instead])
2617         wxUSE_LIBJPEG=sys
2618     fi
2619
2620     if test "$wxUSE_MGL" != 1 ; then
2621         dnl Don't check for libjpeg when building wxMGL, libmgl contains it
2622         if test "$wxUSE_LIBJPEG" = "sys" -o "$wxUSE_LIBJPEG" = "yes" ; then
2623             dnl can't use AC_CHECK_HEADER as jconfig.h defines things like
2624             dnl HAVE_STDLIB_H which are already defined and this provokes
2625             dnl a compiler warning which configure considers as an error...
2626             AC_MSG_CHECKING(for jpeglib.h)
2627             AC_CACHE_VAL(ac_cv_header_jpeglib_h,
2628                 AC_TRY_COMPILE(
2629                     [
2630                         #undef HAVE_STDLIB_H
2631                         #include <stdio.h>
2632                         #include <jpeglib.h>
2633                     ],
2634                     [
2635                     ],
2636                     ac_cv_header_jpeglib_h=yes,
2637                     ac_cv_header_jpeglib_h=no
2638                 )
2639             )
2640             AC_MSG_RESULT($ac_cv_header_jpeglib_h)
2641
2642             if test "$ac_cv_header_jpeglib_h" = "yes"; then
2643                 AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LINK=" -ljpeg")
2644             fi
2645
2646             if test "x$JPEG_LINK" = "x" ; then
2647                 if test "$wxUSE_LIBJPEG" = "sys" ; then
2648                     AC_MSG_ERROR([system jpeg library not found! Use --with-libjpeg=builtin to use built-in version])
2649                 else
2650                     AC_MSG_WARN([system jpeg library not found, will use built-in instead])
2651                     wxUSE_LIBJPEG=builtin
2652                 fi
2653             else
2654                 dnl we are using the system library
2655                 wxUSE_LIBJPEG=sys
2656             fi
2657         fi
2658     fi
2659 fi
2660
2661 dnl ------------------------------------------------------------------------
2662 dnl Check for tiff library
2663 dnl ------------------------------------------------------------------------
2664
2665 TIFF_LINK=
2666 TIFF_PREREQ_LINKS=-lm
2667 if test "$wxUSE_LIBTIFF" != "no" ; then
2668     AC_DEFINE(wxUSE_LIBTIFF)
2669
2670     if test "$wxUSE_LIBTIFF" = "sys" -o "$wxUSE_LIBTIFF" = "yes" ; then
2671         dnl libtiff may depend on libjpeg and libz so use them in the test
2672         dnl below or it would fail
2673         if test "$wxUSE_LIBJPEG" = "sys"; then
2674             TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $JPEG_LINK"
2675         fi
2676         if test "$wxUSE_ZLIB" = "sys"; then
2677             TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $ZLIB_LINK"
2678         fi
2679         AC_CHECK_HEADER(tiffio.h,
2680                         [
2681                             AC_CHECK_LIB(tiff, TIFFError,
2682                                          TIFF_LINK=" -ltiff",
2683                                          ,
2684                                          $TIFF_PREREQ_LINKS)
2685                         ]
2686                        )
2687
2688         if test "x$TIFF_LINK" = "x" ; then
2689             if test "$wxUSE_LIBTIFF" = "sys" ; then
2690                 AC_MSG_ERROR([system tiff library not found! Use --with-libtiff=builtin to use built-in version])
2691             else
2692                 AC_MSG_WARN([system tiff library not found, will use built-in instead])
2693                 wxUSE_LIBTIFF=builtin
2694             fi
2695         else
2696             dnl we are using the system library
2697             wxUSE_LIBTIFF=sys
2698         fi
2699     fi
2700 fi
2701
2702 dnl ------------------------------------------------------------------------
2703 dnl Check for expat libraries
2704 dnl ------------------------------------------------------------------------
2705
2706 if test "$wxUSE_WCHAR_T" != "yes"; then
2707     if test "$wxUSE_EXPAT" != "no"; then
2708         AC_MSG_WARN([wxWidgets requires wchar_t to use expat, disabling])
2709         wxUSE_EXPAT=no
2710     fi
2711     if test "$wxUSE_XML" != "no"; then
2712         AC_MSG_WARN([wxWidgets requires wchar_t to use xml, disabling])
2713         wxUSE_XML=no
2714     fi
2715 fi
2716
2717 if test "$wxUSE_EXPAT" != "no"; then
2718     wxUSE_XML=yes
2719     AC_DEFINE(wxUSE_EXPAT)
2720     AC_DEFINE(wxUSE_XML)
2721
2722     if test "$wxUSE_EXPAT" = "sys" -o "$wxUSE_EXPAT" = "yes" ; then
2723         AC_CHECK_HEADER([expat.h], [found_expat_h=1])
2724         if test "x$found_expat_h" = "x1"; then
2725             dnl Expat 1.95.6 comes with broken expat.h:
2726             AC_CACHE_CHECK([if expat.h is valid C++ header],
2727                 wx_cv_expat_is_not_broken,
2728                 [
2729                 AC_TRY_COMPILE([#include <expat.h>],[],
2730                     wx_cv_expat_is_not_broken=yes,
2731                     wx_cv_expat_is_not_broken=no
2732                 )
2733                 ]
2734             )
2735             if test "$wx_cv_expat_is_not_broken" = "yes" ; then
2736                 AC_CHECK_LIB(expat, XML_ParserCreate, EXPAT_LINK=" -lexpat")
2737             fi
2738         fi
2739         if test "x$EXPAT_LINK" = "x" ; then
2740             if test "$wxUSE_EXPAT" = "sys" ; then
2741                 AC_MSG_ERROR([system expat library not found! Use --with-expat=builtin to use built-in version])
2742             else
2743                 AC_MSG_WARN([system expat library not found, will use built-in instead])
2744                 wxUSE_EXPAT=builtin
2745             fi
2746         else
2747             dnl we are using the system library
2748             wxUSE_EXPAT=sys
2749         fi
2750     fi
2751     if test "$wxUSE_EXPAT" = "builtin" ; then
2752         dnl Expat needs this:
2753         AC_CONFIG_SUBDIRS([src/expat])
2754     fi
2755 fi
2756
2757
2758 dnl ------------------------------------------------------------------------
2759 dnl Check for libmspack
2760 dnl ------------------------------------------------------------------------
2761
2762 if test "$wxUSE_LIBMSPACK" != "no"; then
2763     AC_CHECK_HEADER([mspack.h], [found_mspack_h=1])
2764     if test "x$found_mspack_h" = "x1"; then
2765         AC_CHECK_LIB(mspack, mspack_create_chm_decompressor,
2766                      MSPACK_LINK=" -lmspack")
2767     fi
2768     if test "x$MSPACK_LINK" = "x" ; then
2769         wxUSE_LIBMSPACK=no
2770     fi
2771 fi
2772
2773 if test "$wxUSE_LIBMSPACK" != "no"; then
2774     AC_DEFINE(wxUSE_LIBMSPACK)
2775 fi
2776
2777
2778 dnl ----------------------------------------------------------------
2779 dnl search for toolkit (widget sets)
2780 dnl ----------------------------------------------------------------
2781
2782 AFMINSTALL=
2783 WIN32INSTALL=
2784
2785 TOOLKIT=
2786 TOOLKIT_INCLUDE=
2787 WIDGET_SET=
2788
2789 dnl are we building for a win32 target environment?
2790 dnl If so, setup common stuff needed for both GUI and Base libs.
2791 if test "$USE_WIN32" = 1 ; then
2792     AC_CHECK_HEADERS(w32api.h)
2793     AC_CHECK_HEADER(windows.h, [],
2794     [
2795         AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
2796     ])
2797
2798     dnl --- FIXME: This is still a somewhat random list of libs,
2799     dnl ---        some of them should probably be included conditionally.
2800     LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32"
2801
2802     if test "$wxUSE_ACCESSIBILITY" = "yes" ; then
2803         LIBS="$LIBS -loleacc"
2804     fi
2805
2806     case "${host}" in
2807         *-*-cygwin* )
2808             dnl Cygwin doesn't include these by default
2809             LIBS="$LIBS -lkernel32 -luser32"
2810     esac
2811
2812     dnl add extra odbc libs if we have compiled in odbc
2813     if test "$wxUSE_ODBC" = "sys" ; then
2814         wxUSE_ODBC = "yes"
2815     fi
2816     if test "$wxUSE_ODBC" = "yes" ; then
2817         LIBS=" -lodbc32 -lole32 -loleaut32 $LIBS"
2818         AC_DEFINE(wxUSE_ODBC)
2819     fi
2820     dnl We might want to abort here if wxUSE_ODBC="builtin" isn't supported on msw.
2821
2822     dnl This one is still used by some sample makefiles.
2823     RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
2824     RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
2825
2826     dnl This lot we export to wx-config.  It must add the relevant
2827     dnl include directories at the point when they can be known.
2828     dnl (but are these (still) required anyway?)
2829     WXCONFIG_RESFLAGS="--define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
2830
2831     dnl install Win32-specific files in "make install"
2832     WIN32INSTALL=win32install
2833 fi
2834
2835 if test "$wxUSE_GUI" = "yes"; then
2836     USE_GUI=1
2837
2838     GUI_TK_LIBRARY=
2839
2840     WXGTK12=
2841     WXGTK127=
2842     WXGTK20=
2843     WXGPE=
2844
2845     if test "$wxUSE_COCOA" = 1 ; then
2846         if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes"; then
2847             AC_MSG_WARN([Printing not supported under wxCocoa yet, disabled])
2848             wxUSE_PRINTING_ARCHITECTURE=no
2849         fi
2850         if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
2851             AC_MSG_WARN([Drag and Drop not supported under wxCocoa yet, disabled])
2852             wxUSE_DRAG_AND_DROP=no
2853         fi
2854         if test "$wxUSE_DRAGIMAGE" = "yes"; then
2855             AC_MSG_WARN([Drag Image and DandD not supported under wxCocoa yet, disabled])
2856             wxUSE_DRAGIMAGE=no
2857         fi
2858     fi
2859
2860     if test "$wxUSE_MSW" = 1 ; then
2861         TOOLKIT=MSW
2862         GUIDIST=MSW_DIST
2863
2864         dnl -mwindows causes a heap of other default gui libs to be linked in.
2865         case "${host}" in
2866             *-*-mingw32* )
2867                 WXCONFIG_LDFLAGS_GUI="$LDFLAGS -Wl,--subsystem,windows -mwindows"
2868         esac
2869     fi
2870
2871     if test "$wxUSE_GTK" = 1; then
2872         dnl GTK+ test program must be compiled with C compiler
2873         AC_LANG_PUSH(C)
2874
2875         AC_MSG_CHECKING([for GTK+ version])
2876
2877         gtk_version_cached=1
2878         AC_CACHE_VAL(wx_cv_lib_gtk,
2879             [
2880                 dnl stupid GTK+ AM macros produce their own messages, so we
2881                 dnl have to pass to the next line
2882                 gtk_version_cached=0
2883                 AC_MSG_RESULT()
2884
2885                 dnl we must link against lgthread unless the user
2886                 dnl used --disable-threads
2887                 GTK_MODULES=
2888                 if test "$wxUSE_THREADS" = "yes"; then
2889                     GTK_MODULES=gthread
2890                 fi
2891
2892                 dnl detect GTK2
2893                 wx_cv_lib_gtk=
2894                 if test "x$wxGTK_VERSION" != "x1"
2895                 then
2896                     dnl The gthread.pc that ships with solaris returns '-mt',
2897                     dnl it's correct for Sun CC, but gcc requires '-pthreads'.
2898                     dnl So disable the compile check and remove the -mt below.
2899                     case "${host}" in
2900                         *-*-solaris2* )
2901                             if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then
2902                             enable_gtktest=no
2903                             fi
2904                     esac
2905
2906                     AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
2907
2908                     dnl Remove the '-mt' for gcc on solaris
2909                     case "${host}" in
2910                         *-*-solaris2* )
2911                             if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then
2912                                 GTK_CFLAGS=`echo $GTK_CFLAGS | sed 's/-mt//'`
2913                                 GTK_LIBS=`echo $GTK_LIBS | sed 's/-mt//'`
2914                             fi
2915                             dnl solaris also requires -lX11 for static lib
2916                             if test "$wxUSE_SHARED" != "yes"; then
2917                                 GTK_LIBS="$GTK_LIBS -lX11"
2918                             fi
2919                     esac
2920                 fi
2921
2922                 dnl detect GTK1.x
2923                 if test -z "$wx_cv_lib_gtk"; then
2924                     if test "x$wxGTK_VERSION" = "x1" -o "x$wxGTK_VERSION" = "xany" ; then
2925                         AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
2926
2927                         if test -z "$wx_cv_lib_gtk"; then
2928                             AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
2929                         fi
2930                     fi
2931                 fi
2932
2933                 if test -z "$wx_cv_lib_gtk"; then
2934                     dnl looks better in AC_MSG_RESULT
2935                     wx_cv_lib_gtk=none
2936                 else
2937                     dnl we need to cache GTK_CFLAGS and GTK_LIBS for the
2938                     dnl subsequent runs
2939                     wx_cv_cflags_gtk=$GTK_CFLAGS
2940                     wx_cv_libs_gtk=`echo $GTK_LIBS | sed -e 's/ -l[[^ ]]*cairo[[^ ]]*//g'`
2941                 fi
2942             ]
2943         )
2944
2945         dnl if it wasn't cached, the messages from AM_PATH_GTK() above are
2946         dnl enough
2947         if test "$gtk_version_cached" = 1; then
2948             AC_MSG_RESULT($wx_cv_lib_gtk)
2949         fi
2950
2951         case "$wx_cv_lib_gtk" in
2952             2.0)    WXGTK20=1
2953                     TOOLKIT_VERSION=2
2954                     ;;
2955             1.2.7)  WXGTK127=1
2956                     WXGTK12=1
2957                     ;;
2958             1.2.3)  WXGTK12=1
2959                     ;;
2960             *)      AC_MSG_ERROR([
2961 The development files for GTK+ were not found. For GTK+ 2, please
2962 ensure that pkg-config is in the path and that gtk+-2.0.pc is
2963 installed. For GTK+ 1.2 please check that gtk-config is in the path,
2964 and that the version is 1.2.3 or above. Also check that the
2965 libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
2966 --libs' are in the LD_LIBRARY_PATH or equivalent.
2967                             ])
2968                     ;;
2969         esac
2970
2971         if test "$WXGTK20" = 1; then
2972             save_CFLAGS="$CFLAGS"
2973             save_LIBS="$LIBS"
2974             CFLAGS="$wx_cv_cflags_gtk $CFLAGS"
2975             LIBS="$LIBS $wx_cv_libs_gtk"
2976
2977             dnl gtk_icon_size_lookup is not available in the GTK+ headers
2978             dnl that have shipped with some versions of Sun's JDS. Not using
2979             dnl AC_CHECK_FUNCS here since it only checks the function exists
2980             dnl in the lib (not the header).
2981             AC_MSG_CHECKING([if gtk_icon_size_lookup is missing])
2982             AC_TRY_COMPILE([
2983                             #include <gtk/gtk.h>
2984                            ],
2985                            [
2986                             void *f = gtk_icon_size_lookup;
2987                            ],
2988                            [
2989                             AC_MSG_RESULT([no])
2990                            ],
2991                            [
2992                             AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP)
2993                             AC_MSG_RESULT([yes])
2994                            ])
2995
2996             dnl test if we have at least GTK+ 2.6:
2997             AC_MSG_CHECKING([if GTK+ is version >= 2.6])
2998             AC_TRY_COMPILE([
2999                             #include <gtk/gtk.h>
3000                            ],
3001                            [
3002                             #if !GTK_CHECK_VERSION(2,6,0)
3003                             Not GTK+ 2.6
3004                             #endif
3005                            ],
3006                            [
3007                             AC_DEFINE(__WXGTK26__)
3008                             AC_DEFINE(__WXGTK24__)
3009                             AC_MSG_RESULT([yes])
3010                             ac_wxgtk26=1
3011                            ],
3012                            [
3013                             AC_MSG_RESULT([no])
3014                             ac_wxgtk26=0
3015                            ])
3016
3017             if test "$ac_wxgtk26" = 0; then
3018             dnl test if we have at least GTK+ 2.4:
3019             AC_MSG_CHECKING([if GTK+ is version >= 2.4])
3020             AC_TRY_COMPILE([
3021                             #include <gtk/gtk.h>
3022                            ],
3023                            [
3024                             #if !GTK_CHECK_VERSION(2,4,0)
3025                             Not GTK+ 2.4
3026                             #endif
3027                            ],
3028                            [
3029                             AC_DEFINE(__WXGTK24__)
3030                             AC_MSG_RESULT([yes])
3031                            ],
3032                            [
3033                             AC_MSG_RESULT([no])
3034                            ])
3035             fi
3036
3037             CFLAGS="$save_CFLAGS"
3038             LIBS="$save_LIBS"
3039         else
3040             if test "$wxUSE_UNICODE" = "yes"; then
3041                 AC_MSG_WARN([Unicode configuration not supported with GTK+ 1.x])
3042                 wxUSE_UNICODE=no
3043             fi
3044         fi
3045
3046         AC_LANG_POP
3047
3048         dnl we need poll() in src/gtk/app.cpp (we know that Darwin doesn't
3049         dnl have it but we do the check for the others)
3050         if test "$USE_DARWIN" != 1; then
3051             AC_CHECK_FUNCS(poll)
3052         fi
3053
3054         TOOLKIT_INCLUDE="$wx_cv_cflags_gtk"
3055         GUI_TK_LIBRARY="$wx_cv_libs_gtk $GUI_TK_LIBRARY"
3056
3057         AFMINSTALL=afminstall
3058         TOOLKIT=GTK
3059         GUIDIST=GTK_DIST
3060
3061         dnl test for XIM support in libgdk
3062         AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
3063
3064
3065         dnl test for external libxpm if we're configured to use it
3066         if test "$wxUSE_GPE" = "yes"; then
3067             AC_MSG_CHECKING(for gpewidget library)
3068             WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpewidget)
3069             if test "$ac_find_libraries" != "" ; then
3070                 WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
3071                 dnl -lgpewidget must be before all GTK libs and
3072                 dnl we guess its path from the prefix
3073                 GUI_TK_LIBRARY="-L${prefix}/lib -lgpewidget $GUI_TK_LIBRARY"
3074                 WXGPE=1
3075                 AC_MSG_RESULT([found in $ac_find_libraries])
3076             else
3077                 AC_MSG_RESULT(not found)
3078             fi
3079
3080             dnl AC_MSG_CHECKING(for gpe library)
3081             dnl WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpe)
3082             dnl if test "$ac_find_libraries" != "" ; then
3083             dnl     WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
3084             dnl     GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lgpe"
3085             dnl     AC_MSG_RESULT(found in $ac_find_libraries)
3086             dnl else
3087             dnl     AC_MSG_RESULT(not found)
3088             dnl fi
3089         fi
3090     fi
3091
3092     if test "$wxUSE_MGL" = 1; then
3093        AC_MSG_CHECKING(for SciTech MGL library)
3094         if test "x$MGL_ROOT" = x ; then
3095             AC_MSG_RESULT(not found)
3096             AC_MSG_ERROR([Cannot find MGL library. Make sure MGL_ROOT is set.])
3097         else
3098             AC_MSG_RESULT($MGL_ROOT)
3099         fi
3100
3101         AC_MSG_CHECKING(for libmgl location)
3102         dnl Find MGL library that we want
3103         dnl FIXME_MGL - test for MGL variants for freebsd etc.;
3104         dnl             and for non-x86 versions
3105         case "${host}" in
3106             *-*-linux* )
3107               dnl glibc.so, glibc are for older versions of MGL,
3108               dnl x86/a, x86/so are used by >= 5.0 R11
3109               if test "x$wxUSE_SHARED" = xyes ; then
3110                   mgl_os_candidates="linux/gcc/x86/so linux/gcc/x86/a linux/gcc/glibc.so linux/gcc/glibc"
3111               else
3112                   mgl_os_candidates="linux/gcc/x86/a linux/gcc/x86/so linux/gcc/glibc linux/gcc/glibc.so"
3113               fi
3114               ;;
3115             *-pc-msdosdjgpp )
3116               mgl_os_candidates="dos32/dj2"
3117               ;;
3118             *)
3119               AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.)
3120         esac
3121
3122         mgl_lib_type=""
3123         mgl_os=""
3124
3125         for mgl_os_i in $mgl_os_candidates ; do
3126             if test "x$mgl_os" = x ; then
3127                 if test "$wxUSE_DEBUG_FLAG" = yes ; then
3128                     if test -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.a -o \
3129                             -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.so; then
3130                         mgl_lib_type=debug
3131                         mgl_os=$mgl_os_i
3132                     fi
3133                 fi
3134                 if test "x$mgl_lib_type" = x ; then
3135                     if test -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.a -o \
3136                             -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.so; then
3137                         mgl_lib_type=release
3138                         mgl_os=$mgl_os_i
3139                     fi
3140                 fi
3141             fi
3142         done
3143
3144         if test "x$mgl_os" = x ; then
3145             AC_MSG_RESULT(not found)
3146             AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.])
3147         fi
3148         AC_MSG_RESULT("$MGL_ROOT/lib/$mgl_lib_type/$mgl_os")
3149
3150         wxUSE_UNIVERSAL="yes"
3151
3152         TOOLKIT_INCLUDE="-I$MGL_ROOT/include"
3153         GUI_TK_LIBRARY="-L$MGL_ROOT/lib/$mgl_lib_type/$mgl_os -lmgl -lmglcpp -lpm"
3154
3155         AFMINSTALL=afminstall
3156         TOOLKIT=MGL
3157         GUIDIST=MGL_DIST
3158     fi
3159
3160     if test "$wxUSE_DFB" = 1; then
3161        PKG_CHECK_MODULES(DIRECTFB,
3162                          [directfb >= 0.9.22],
3163                          [
3164                            wxUSE_UNIVERSAL="yes"
3165                            TOOLKIT_INCLUDE="$DIRECTFB_CFLAGS"
3166                            GUI_TK_LIBRARY="$DIRECTFB_LIBS"
3167                            TOOLKIT=DFB
3168                            GUIDIST=DFB_DIST
3169                          ],
3170                          [
3171                            AC_MSG_ERROR([DirectFB not found.])
3172                          ]
3173                          )
3174     fi
3175
3176     if test "$wxUSE_MICROWIN" = 1; then
3177         AC_MSG_CHECKING(for MicroWindows)
3178         if test "x$MICROWINDOWS" = x ; then
3179             AC_MSG_RESULT(not found)
3180             AC_MSG_ERROR([Cannot find MicroWindows library. Make sure MICROWINDOWS is set.])
3181         else
3182             AC_MSG_RESULT($MICROWINDOWS)
3183         fi
3184
3185         if test -f $MICROWINDOWS/lib/libmwin.a; then
3186             AC_MSG_RESULT(MicroWindows' libraries found.)
3187         else
3188             AC_MSG_ERROR([Cannot find MicroWindows libraries, make sure they are compiled.])
3189         fi
3190
3191         TOOLKIT_INCLUDE="-I$MICROWINDOWS/include"
3192         GUI_TK_LIBRARY="-L$MICROWINDOWS/lib -lmwin -lmwengine -mwfonts -mwdrivers -mwinlib"
3193
3194         wxUSE_UNIVERSAL="yes"
3195
3196         AFMINSTALL=afminstall
3197         TOOLKIT=MICROWIN
3198         GUIDIST=MICROWIN_DIST
3199
3200         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXMSW__ -D__WIN95__ -D__WIN32__ -DMWIN -DMICROWIN_NOCONTROLS -DMICROWIN_TODO=1"
3201     fi
3202
3203     dnl common part of X11 and Motif port checks
3204     if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
3205         dnl use standard macros to check for X headers/libs, this brings
3206         dnl support for the standard configure options --x-includes,
3207         dnl --x-libraries and --no-x
3208         AC_PATH_XTRA
3209
3210         if test "$no_x" = "yes"; then
3211           AC_MSG_ERROR([X11 not found, please use --x-includes and/or --x-libraries options (see config.log for details)])
3212         fi
3213
3214         dnl for some reason AC_PATH_XTRA seems to add -INONE and -LNONE (and
3215         dnl also sometimes -RNONE) to X_CFLAGS and X_LIBS respectively, filter
3216         dnl this junk out
3217         GUI_TK_LIBRARY=`echo $X_LIBS | sed 's/ -LNONE//' | sed 's/ -RNONE//'`
3218         TOOLKIT_INCLUDE=`echo $X_CFLAGS | sed 's/ -INONE//'`
3219         AFMINSTALL=afminstall
3220         COMPILED_X_PROGRAM=0
3221
3222     fi
3223
3224     if test "$wxUSE_X11" = 1; then
3225         if test "$wxUSE_NANOX" = "yes"; then
3226             AC_MSG_CHECKING(for MicroWindows/NanoX distribution)
3227             if test "x$MICROWIN" = x ; then
3228                 AC_MSG_RESULT(not found)
3229                 AC_MSG_ERROR([Cannot find MicroWindows library. Make sure MICROWIN is set.])
3230             else
3231                 AC_MSG_RESULT($MICROWIN)
3232                 AC_DEFINE(wxUSE_NANOX)
3233             fi
3234         fi
3235
3236         if test "$wxUSE_UNICODE" = "yes"; then
3237                 PKG_CHECK_MODULES(PANGOX, pangox,
3238                     [
3239                         CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
3240                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
3241                     ],
3242                     [
3243                         AC_MSG_ERROR([pangox library not found, library cannot be compiled in Unicode mode])
3244                     ]
3245                 )
3246                 PKG_CHECK_MODULES(PANGOFT2, pangoft2,
3247                     [
3248                         CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
3249                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
3250                     ],
3251                     [
3252                         AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
3253                         wxUSE_PRINTING_ARCHITECTURE="no"
3254                     ]
3255                 )
3256                 PKG_CHECK_MODULES(PANGOXFT, pangoxft,
3257                     [
3258                         AC_DEFINE(HAVE_PANGO_XFT)
3259                         CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS"
3260                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
3261                     ],
3262                     [
3263                         AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support])
3264                     ]
3265                 )
3266                 save_CXXFLAGS="$CXXFLAGS"
3267                 save_LIBS="$LIBS"
3268                 CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
3269                 LIBS="$LIBS $PANGOX_LIBS"
3270                 AC_CHECK_FUNCS([pango_font_family_is_monospace])
3271                 CXXFLAGS="$save_CXXFLAGS"
3272                 LIBS="$save_LIBS"
3273         fi
3274
3275         wxUSE_UNIVERSAL="yes"
3276
3277         if test "$wxUSE_NANOX" = "yes"; then
3278             TOOLKIT_INCLUDE="-I\$(top_srcdir)/include/wx/x11/nanox -I\$(MICROWIN)/src/include $TOOLKIT_INCLUDE"
3279             TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__NANOX__ -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 -DHAVE_FILEIO -DHAVE_BMP_SUPPORT=1 -DHAVE_GIF_SUPPORT=1 -DHAVE_PNM_SUPPORT=1 -DHAVE_XPM_SUPPORT=1 -DUNIX=1 -DUSE_EXPOSURE -DSCREEN_HEIGHT=480 -DSCREEN_WIDTH=640 -DSCREEN_DEPTH=4 -DX11=1"
3280             GUI_TK_LIBRARY="$GUI_TK_LIBRARY \$(MICROWIN)/src/lib/libnano-X.a"
3281         else
3282             GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lX11"
3283         fi
3284
3285         TOOLKIT=X11
3286         GUIDIST=X11_DIST
3287     fi
3288
3289     if test "$wxUSE_MOTIF" = 1; then
3290         if test "$wxUSE_UNICODE" = "yes"; then
3291             AC_MSG_ERROR([Unicode configuration not supported with Motif])
3292         fi
3293
3294         AC_MSG_CHECKING(for Motif/Lesstif headers)
3295         WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
3296         if test "$ac_find_includes" != "" ; then
3297             AC_MSG_RESULT(found in $ac_find_includes)
3298             WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
3299             TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
3300         else
3301             save_CXXFLAGS=$CXXFLAGS
3302             CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3303
3304             AC_TRY_COMPILE(
3305                 [
3306                     #include <Xm/Xm.h>
3307                 ],
3308                 [
3309                     int version;
3310                     version = xmUseVersion;
3311                 ],
3312                 [
3313                     AC_MSG_RESULT(found in default search path)
3314                     COMPILED_X_PROGRAM=1
3315                 ],
3316                 [
3317                     AC_MSG_RESULT(no)
3318                     AC_MSG_ERROR(please set CPPFLAGS to contain the location of Xm/Xm.h)
3319                 ]
3320             )
3321
3322             CXXFLAGS=$save_CXXFLAGS
3323         fi
3324
3325
3326         AC_MSG_CHECKING(for Motif/Lesstif library)
3327         WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
3328
3329         if test "x$ac_find_libraries" != "x" ; then
3330             AC_MSG_RESULT(found in $ac_find_libraries)
3331
3332             WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
3333             GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
3334         else
3335             dnl it might happen that we found headers in one of the standard
3336             dnl paths but the libs are elsewhere but still in default (linker)
3337             dnl path -- try to compile a test program to check for this
3338             save_CXXFLAGS=$CXXFLAGS
3339             CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3340             save_LIBS="$LIBS"
3341             LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11"
3342
3343             AC_TRY_LINK(
3344                 [
3345                     #include <Xm/Xm.h>
3346                 ],
3347                 [
3348                     int version;
3349                     version = xmUseVersion;
3350                 ],
3351                 [
3352                     AC_MSG_RESULT(found in default search path)
3353                     COMPILED_X_PROGRAM=1
3354                 ],
3355                 [
3356                     AC_MSG_RESULT(no)
3357                     AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
3358                 ]
3359             )
3360
3361             CXXFLAGS=$save_CXXFLAGS
3362             LIBS="$save_LIBS"
3363         fi
3364
3365         AC_MSG_CHECKING([if we need -lXp and/or -lSM -lICE])
3366         libp_link=""
3367         libsm_ice_link=""
3368         libs_found=0
3369         for libp in "" " -lXp"; do
3370             if test "$libs_found" = "0"; then
3371                 for libsm_ice in "" " -lSM -lICE"; do
3372                     if test "$libs_found" = "0"; then
3373                         save_LIBS="$LIBS"
3374                         LIBS="$GUI_TK_LIBRARY -lXm ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11"
3375                         save_CXXFLAGS=$CXXFLAGS
3376                         CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3377
3378                         AC_TRY_LINK(
3379                             [
3380                                 #include <Xm/Xm.h>
3381                                 #include <Xm/List.h>
3382                             ],
3383                             [
3384                                 XmString string = NULL;
3385                                 Widget w = NULL;
3386                                 int position = 0;
3387                                 XmListAddItem(w, string, position);
3388                             ],
3389                             [
3390                                 libp_link="$libp"
3391                                 libsm_ice_link="$libsm_ice"
3392                                 AC_MSG_RESULT(
3393                                     [need${libp_link}${libsm_ice_link}])
3394                                 libs_found=1
3395                             ], []
3396                         )
3397
3398                         LIBS="$save_LIBS"
3399                         CXXFLAGS=$save_CXXFLAGS
3400                     fi
3401                 done
3402             fi
3403         done
3404
3405         if test "$libs_found" = "0"; then
3406             AC_MSG_RESULT([can't find the right libraries])
3407             AC_MSG_ERROR([can't link a simple motif program])
3408         fi
3409
3410         dnl this seems to be needed under IRIX and shouldn't do any harm
3411         dnl elsewhere
3412         AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"])
3413
3414         save_CXXFLAGS=$CXXFLAGS
3415         CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3416
3417         AC_CACHE_CHECK([for Motif 2],
3418             wx_cv_lib_motif2,
3419             AC_TRY_COMPILE([
3420                             #include <Xm/Xm.h>
3421                            ],
3422                            [
3423                             #if XmVersion < 2000
3424                             Not Motif 2
3425                             #endif
3426                            ],
3427                            wx_cv_lib_motif2="yes",
3428                            wx_cv_lib_motif2="no"))
3429         if test "$wx_cv_lib_motif2" = "yes"; then
3430             AC_DEFINE(__WXMOTIF20__,1)
3431         else
3432             AC_DEFINE(__WXMOTIF20__,0)
3433         fi
3434
3435         AC_CACHE_CHECK([whether Motif is Lesstif],
3436             wx_cv_lib_lesstif,
3437             AC_TRY_COMPILE([
3438                             #include <Xm/Xm.h>
3439                            ],
3440                            [
3441                             #if !defined(LesstifVersion) || LesstifVersion <= 0
3442                             Not Lesstif
3443                             #endif
3444                            ],
3445                            wx_cv_lib_lesstif="yes",
3446                            wx_cv_lib_lesstif="no")
3447         )
3448         if test "$wx_cv_lib_lesstif" = "yes"; then
3449             AC_DEFINE(__WXLESSTIF__,1)
3450         else
3451             AC_DEFINE(__WXLESSTIF__,0)
3452         fi
3453
3454         CXXFLAGS=$save_CXXFLAGS
3455
3456         GUI_TK_LIBRARY="$GUI_TK_LIBRARY${libsgm_link} -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
3457         TOOLKIT=MOTIF
3458         GUIDIST=MOTIF_DIST
3459     fi
3460
3461     dnl more tests common to X11 and Motif:
3462     if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
3463         dnl test for external libxpm if we're configured to use it
3464         if test "$wxUSE_LIBXPM" = "sys"; then
3465             AC_MSG_CHECKING(for Xpm library)
3466             WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
3467             if test "$ac_find_libraries" != "" ; then
3468                 WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
3469                 GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
3470                 AC_MSG_RESULT(found in $ac_find_libraries)
3471
3472                 AC_CACHE_CHECK([for X11/xpm.h],
3473                     wx_cv_x11_xpm_h,
3474                     [
3475                         save_CXXFLAGS=$CXXFLAGS
3476                         CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3477
3478                         AC_TRY_COMPILE(
3479                             [
3480                                 #include <X11/xpm.h>
3481                             ],
3482                             [
3483                                 int version;
3484                                 version = XpmLibraryVersion();
3485                             ],
3486                             wx_cv_x11_xpm_h=yes,
3487                             wx_cv_x11_xpm_h=no
3488                         )
3489
3490                         CXXFLAGS=$save_CXXFLAGS
3491                     ]
3492                 )
3493
3494                 if test $wx_cv_x11_xpm_h = "yes"; then
3495                     GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXpm"
3496                     AC_DEFINE(wxHAVE_LIB_XPM)
3497                 else
3498                     AC_MSG_WARN([built-in less efficient XPM decoder will be used])
3499                 fi
3500             fi
3501
3502         fi
3503
3504         dnl XShapeQueryExtension checks: first the library, then prototype
3505         AC_CHECK_LIB([Xext], [XShapeQueryExtension],
3506                      [
3507                       GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXext"
3508                       wxHAVE_XEXT_LIB=1
3509                      ],
3510                      [], [$GUI_TK_LIBRARY -lX11])
3511
3512         if test "$wxHAVE_XEXT_LIB" = 1; then
3513             save_CXXFLAGS="$CXXFLAGS"
3514             CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3515
3516             AC_MSG_CHECKING([for X11/extensions/shape.h])
3517             AC_TRY_COMPILE([
3518                             #include <X11/Xlib.h>
3519                             #include <X11/extensions/shape.h>
3520                            ],
3521                            [
3522                             int dummy1, dummy2;
3523                             XShapeQueryExtension((Display*)NULL,
3524                                                  (int*)NULL, (int*)NULL);
3525                            ],
3526                            [
3527                             AC_DEFINE(HAVE_XSHAPE)
3528                             AC_MSG_RESULT([found])
3529                            ],
3530                            [
3531                             AC_MSG_RESULT([not found])
3532                            ])
3533             CXXFLAGS="$save_CXXFLAGS"
3534
3535         fi
3536     fi
3537
3538     if test "$wxUSE_MAC" = 1; then
3539         AC_MSG_CHECKING([for compiler syntax to enable Pascal strings])
3540         if test "$GCC" = yes; then
3541             AC_MSG_RESULT([gcc])
3542             CPPFLAGS_PASCAL="-fpascal-strings"
3543         elif test "`echo $CXX | sed -e 's@.*/@@'`" = "xlC"; then
3544             AC_MSG_RESULT([xlc])
3545             CPPFLAGS_PASCAL="-qmacpstr"
3546         else
3547             AC_MSG_RESULT([none])
3548         fi
3549
3550         if test "x$wxUSE_UNIX" = "xyes"; then
3551             CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon $CPPFLAGS"
3552         else
3553             dnl platform.h needs TARGET_CARBON before setup.h
3554             CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON $CPPFLAGS"
3555         fi
3556
3557         TOOLKIT=MAC
3558         dnl we can't call this MAC_DIST or autoconf thinks its a macro
3559         GUIDIST=MACX_DIST
3560         dnl wxMac version of wxBase and wxCocoa or wxBase-only built on Darwin
3561         dnl are different, so they need different names:
3562         WXBASEPORT="_carbon"
3563     fi
3564
3565     if test "$wxUSE_COCOA" = 1; then
3566         TOOLKIT=COCOA
3567         GUIDIST=COCOA_DIST
3568     fi
3569
3570     if test "$wxUSE_PM" = 1; then
3571         TOOLKIT=PM
3572         GUIDIST=PM_DIST
3573         AC_CACHE_CHECK([for type SPBCDATA],
3574             wx_cv_spbcdata,
3575             [
3576                 AC_TRY_COMPILE(
3577                     [
3578                         #define INCL_PM
3579                         #include <os2.h>
3580                     ],
3581                     [
3582                         SPBCDATA test;
3583                     ],
3584                     wx_cv_spbcdata=yes,
3585                     wx_cv_spbcdata=no
3586                 )
3587             ]
3588         )
3589
3590         if test $wx_cv_spbcdata = "yes"; then
3591             AC_DEFINE(HAVE_SPBCDATA)
3592         fi
3593     fi
3594
3595     dnl the name of the directory where the files for this toolkit live
3596     if test "$TOOLKIT" = "PM" ; then
3597         TOOLKIT_DIR="os2"
3598     else
3599         TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
3600     fi
3601
3602     if test "$wxUSE_UNIVERSAL" = "yes"; then
3603         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
3604         WIDGET_SET=univ
3605     fi
3606
3607     dnl distribute samples/demos/utils with GUI versions
3608     GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST"
3609     DISTDIR="wx\$(TOOLKIT)"
3610 else
3611     USE_GUI=0
3612
3613     dnl this doesn't quite work right for wxBase, but the places
3614     dnl where it is wrong aren't fatal (yet) though.
3615     TOOLKIT_DIR="base"
3616
3617     dnl the sources, their dependenices and the headers
3618     if test "$USE_WIN32" = 1 ; then
3619         dnl yes, the toolkit for wxBase on win32 is actually MSW
3620         dnl wxBase on unix does not need a 'TOOLKIT' defined.
3621         TOOLKIT="MSW"
3622     fi
3623
3624     dnl distribute only wxBase sources/headers
3625     GUIDIST="BASE_DIST"
3626     DISTDIR="wxBase"
3627 fi
3628
3629 dnl ---------------------------------------------------------------------------
3630 dnl Optional libraries included when system library is not used
3631 dnl ---------------------------------------------------------------------------
3632
3633 dnl do this after test for X11 above so that we have a chance of finding Xlib.h
3634 if test "$wxUSE_GUI" = "yes"; then
3635     if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_PM" != 1; then
3636         dnl defines HAVE_X11_XKBLIB_H
3637         AC_CHECK_HEADERS(X11/Xlib.h)
3638         AC_CHECK_HEADERS([X11/XKBlib.h], [], [],
3639                          [
3640                           #if HAVE_X11_XLIB_H
3641                             #include <X11/Xlib.h>
3642                           #endif
3643                          ])
3644     fi
3645 fi
3646
3647
3648 dnl ----------------------------------------------------------------
3649 dnl iODBC support
3650 dnl ----------------------------------------------------------------
3651
3652 IODBC_C_SRC=""
3653
3654
3655 dnl ODBC is handled separately for MSW
3656 if test "$TOOLKIT" != "MSW" ; then
3657
3658     if test "$wxUSE_ODBC" = "sys" -o "$wxUSE_ODBC" = "yes" ; then
3659         dnl This is not ideal we really ough to use the unixodbc-config
3660         dnl  or iodbc-config if they exist.
3661
3662         AC_CHECK_HEADER([sql.h], [found_sql_h=1])
3663         if test "x$found_sql_h" = "x1" ; then
3664             AC_CHECK_LIB(iodbc, SQLAllocEnv, ODBC_LINK=" -liodbc",
3665             [
3666                 AC_CHECK_LIB(unixodbc, SQLAllocEnv, ODBC_LINK=" -lunixodbc",
3667                 [
3668                     AC_CHECK_LIB(odbc, SQLAllocEnv, ODBC_LINK=" -lodbc")
3669                 ])
3670             ])
3671         fi
3672         if test "x$ODBC_LINK" = "x" ; then
3673             if test "$wxUSE_ODBC" = "sys" ; then
3674                 AC_MSG_ERROR([system ODBC library not found! Use --with-odbc=builtin to use built-in version])
3675             else
3676                 AC_MSG_WARN([system ODBC library not found, will use built-in instead])
3677                 wxUSE_ODBC=builtin
3678             fi
3679         else
3680             dnl we are using the system library
3681             wxUSE_ODBC=sys
3682         fi
3683     fi
3684
3685     if test "$wxUSE_ODBC" = "builtin" ; then
3686         AC_DEFINE(wxUSE_BUILTIN_IODBC)
3687     fi
3688 fi
3689
3690 if test "$wxUSE_ODBC" != "no" ; then
3691     AC_DEFINE(wxUSE_ODBC)
3692     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
3693
3694     dnl is this still necessary?
3695     WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_IODBC_"
3696 fi
3697
3698 dnl ---------------------------------------------------------------------------
3699 dnl wxDisplay Sanity checks
3700 dnl ---------------------------------------------------------------------------
3701
3702 if test "$wxUSE_DISPLAY" = "yes"; then
3703 dnl ---------------------------------------------------------------------------
3704 dnl Xinerama (for unix ) - Brian Victor
3705 dnl ---------------------------------------------------------------------------
3706     if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1; then
3707         AC_MSG_CHECKING([for Xinerama])
3708         WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xinerama)
3709         if test "$ac_find_libraries" != "" ; then
3710             WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3711             if test "$ac_path_to_link" != " -L/usr/lib" ; then
3712                 LDFLAGS="$LDFLAGS $ac_path_to_link"
3713             fi
3714             GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXinerama"
3715             AC_MSG_RESULT([yes])
3716
3717             AC_MSG_CHECKING([for Xxf86vm extension])
3718             WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xxf86vm)
3719             if test "$ac_find_libraries" != "" ; then
3720                 AC_MSG_RESULT([yes])
3721                 AC_CHECK_HEADERS([X11/extensions/xf86vmode.h],
3722                                  [
3723                                   GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXxf86vm"
3724                                  ],
3725                                  [],
3726                                  [
3727                                       #if HAVE_X11_XLIB_H
3728                                         #include <X11/Xlib.h>
3729                                       #endif
3730                                  ])
3731             else
3732                 AC_MSG_RESULT([no])
3733             fi
3734
3735         else
3736             AC_MSG_RESULT([no])
3737             AC_MSG_WARN([Xinerama not found; disabling wxDisplay])
3738             wxUSE_DISPLAY="no"
3739         fi
3740     elif test "$wxUSE_MSW" = 1; then
3741 dnl ---------------------------------------------------------------------------
3742 dnl DirectDraw for MSW - optionally used by WxDisplay.
3743 dnl ---------------------------------------------------------------------------
3744         AC_CHECK_HEADERS([ddraw.h], [], [], [#include <windows.h>])
3745     fi
3746 fi
3747
3748 dnl ---------------------------------------------------------------------------
3749 dnl OpenGL libraries
3750 dnl ---------------------------------------------------------------------------
3751
3752 USE_OPENGL=0
3753 if test "$wxUSE_OPENGL" = "yes"; then
3754     if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
3755         OPENGL_LIBS="-framework OpenGL -framework AGL"
3756     elif test "$wxUSE_MSW" = 1; then
3757         OPENGL_LIBS="-lopengl32 -lglu32"
3758     else
3759         dnl David Elliott: Without this snippet AC_CHECK_HEADER fails to find
3760         dnl GL/gl.h on Mac OS X where it is located in
3761         dnl /usr/X11R6/include/GL/gl.h:
3762
3763         WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, GL/gl.h)
3764         if test "$ac_find_includes" != "" ; then
3765             AC_MSG_RESULT(found in $ac_find_includes)
3766             WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS)
3767             CPPFLAGS="$ac_path_to_include $CPPFLAGS"
3768         fi
3769
3770         AC_CHECK_HEADER(GL/gl.h,
3771             [
3772                 found_gl=0
3773
3774                 AC_MSG_CHECKING([for -lGL])
3775                 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL)
3776                 if test "$ac_find_libraries" != "" ; then
3777                     AC_MSG_RESULT([yes])
3778
3779                     WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3780                     if test "$ac_path_to_link" != " -L/usr/lib" ; then
3781                         LDFLAGS_GL="$ac_path_to_link"
3782                     fi
3783
3784                     dnl don't suppose that libGL and libGLU are always in the
3785                     dnl same directory -- this is not true for some common
3786                     dnl distributions
3787                     AC_MSG_CHECKING([for -lGLU])
3788                     WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GLU)
3789                     if test "$ac_find_libraries" != "" ; then
3790                         WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3791                         if test "$ac_path_to_link" != " -L/usr/lib" -a \
3792                                     "$ac_path_to_link" != "$LDFLAGS_GL"; then
3793                             LDFLAGS_GL="$LDFLAGS_GL$ac_path_to_link"
3794                         fi
3795
3796                         found_gl=1
3797                         OPENGL_LIBS="-lGL -lGLU"
3798                         AC_MSG_RESULT([yes])
3799                     else
3800                         AC_MSG_RESULT([no])
3801                     fi
3802                 else
3803                     AC_MSG_RESULT([no])
3804                 fi
3805
3806                 if test "$found_gl" != 1; then
3807                     AC_MSG_CHECKING([for -lMesaGL])
3808                     WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],MesaGL)
3809                     if test "$ac_find_libraries" != "" ; then
3810                         WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3811                         LDFLAGS_GL="$LDFLAGS$ac_path_to_link"
3812                         OPENGL_LIBS="-lMesaGL -lMesaGLU"
3813                         AC_MSG_RESULT([yes])
3814                     else
3815                         AC_MSG_RESULT([no])
3816                     fi
3817                 fi
3818             ])
3819
3820         if test "x$OPENGL_LIBS" = "x"; then
3821             dnl it should be an error and not a warning because OpenGL is not on
3822             dnl by default and so if it had been explicitly requested, we
3823             dnl shouldn't just fall back to compiling the library without it
3824             AC_MSG_ERROR(OpenGL libraries not available)
3825         fi
3826     fi
3827
3828     if test "$wxUSE_OPENGL" = "yes"; then
3829         USE_OPENGL=1
3830         AC_DEFINE(wxUSE_OPENGL)
3831         AC_DEFINE(wxUSE_GLCANVAS)
3832         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl opengl/cube opengl/penguin opengl/isosurf"
3833     fi
3834 fi
3835
3836
3837 dnl the symbol which allows conditional compilation for the given toolkit
3838 if test -n "$TOOLKIT" ; then
3839     TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WX${TOOLKIT}__"
3840 fi
3841
3842
3843 dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
3844
3845 if test "$wxUSE_SHARED" = "yes"; then
3846     case "${host}" in
3847       *-pc-msdosdjgpp )
3848         dnl only static for now
3849         wxUSE_SHARED=no
3850         AC_MSG_WARN([Host system doesn't support shared libraries, disabling])
3851       ;;
3852     esac
3853 fi
3854
3855 if test "$wxUSE_SHARED" = "yes"; then
3856
3857     dnl use versioned symbols if available on the platform
3858     WX_VERSIONED_SYMBOLS([\$(top_builddir)version-script])
3859
3860     case "${host}" in
3861       *-*-linux* | *-*-gnu* )
3862         SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
3863         WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
3864         ;;
3865
3866       *-*-solaris2* )
3867         if test "$GCC" = yes ; then
3868             dnl newer versions of gcc need -isystem to compile X headers on
3869             dnl Solaris (which use old style C syntax)
3870             CPPFLAGS="-isystem /usr/openwin/include $CPPFLAGS"
3871
3872             dnl gcc may use Sun's ld, in which case -rpath gives a confusing
3873             dnl error message. We have to try both -Wl,-rpath and -Wl,-R:
3874             saveLdflags="$LDFLAGS"
3875             LDFLAGS="$saveLdflags -Wl,-rpath,/"
3876             AC_MSG_CHECKING([if the linker accepts -rpath])
3877             AC_TRY_LINK(
3878                 [],[],
3879                 [
3880                     AC_MSG_RESULT([yes])
3881                     SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
3882                     WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
3883                 ],[
3884                     AC_MSG_RESULT([no])
3885                     AC_MSG_CHECKING([if the linker accepts -R])
3886                     LDFLAGS="$saveLdflags -Wl,-R,/"
3887                     AC_TRY_LINK(
3888                         [],[],
3889                         [
3890                             AC_MSG_RESULT([yes])
3891                             SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"
3892                             WXCONFIG_RPATH="-Wl,-R,\$libdir"
3893                         ],[
3894                             AC_MSG_RESULT([no])
3895                         ])
3896                 ])
3897             LDFLAGS="$saveLdflags"
3898         else
3899             SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
3900             WXCONFIG_RPATH="-R\$libdir"
3901         fi
3902       ;;
3903
3904       *-*-darwin* )
3905         install_name_tool=`which install_name_tool`
3906         if test "$install_name_tool" -a -x "$install_name_tool"; then
3907             SAMPLES_RPATH_POSTLINK="\$(top_builddir)change-install-names \$(LIBDIRNAME) \$(prefix) \$@"
3908             cat <<EOF >change-install-names
3909 #!/bin/sh
3910 libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\`
3911 inst_cmd="install_name_tool "
3912 for i in \${libnames} ; do
3913     inst_cmd="\${inst_cmd} -change \${2}/lib/\${i} \${1}/\${i}"
3914 done
3915 \${inst_cmd} \${3}
3916 EOF
3917             chmod +x change-install-names
3918         fi
3919       ;;
3920
3921       *-*-cygwin* | *-*-mingw32* )
3922         dnl this one shouldn't be used for the library build so put it in a
3923         dnl separate variable from WXCONFIG_CPPFLAGS
3924         WXCONFIG_ONLY_CPPFLAGS="$WXCONFIG_ONLY_CPPFLAGS -DWXUSINGDLL"
3925         ;;
3926
3927       *-*-hpux* )
3928         SAMPLES_RPATH_FLAG="-Wl,+b,\$(top_builddir)lib"
3929         WXCONFIG_RPATH="-Wl,+b,\$libdir"
3930         ;;
3931
3932     esac
3933
3934     if test $wxUSE_RPATH = "no"; then
3935         SAMPLES_RPATH_FLAG=''
3936         SAMPLES_RPATH_POSTLINK=''
3937         WXCONFIG_RPATH=''
3938     fi
3939
3940     SHARED=1
3941
3942 else
3943
3944     config_linkage_component="-static"
3945     SHARED=0
3946
3947 fi
3948
3949
3950 UNICODE=0
3951 lib_unicode_suffix=
3952 WX_CHARTYPE="ansi"
3953 if test "$wxUSE_UNICODE" = "yes"; then
3954     lib_unicode_suffix=u
3955     WX_CHARTYPE="unicode"
3956     UNICODE=1
3957 fi
3958
3959 lib_debug_suffix=
3960 WX_DEBUGTYPE="release"
3961 DEBUG_FLAG=0
3962 if test "$wxUSE_DEBUG_FLAG" = "yes"; then
3963     lib_debug_suffix=d
3964     WX_DEBUGTYPE="debug"
3965     DEBUG_FLAG=1
3966 fi
3967
3968 WX_FLAVOUR=${WX_FLAVOUR:+-$WX_FLAVOUR}
3969 WX_LIB_FLAVOUR=`echo $WX_FLAVOUR | tr '-' '_'`
3970
3971 DEBUG_INFO=0
3972 if test "$wxUSE_DEBUG_INFO" = "yes"; then
3973     DEBUG_INFO=1
3974 fi
3975
3976 WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
3977
3978 TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}"
3979
3980 TOOLCHAIN_FULLNAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}-${WX_DEBUGTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}"
3981
3982 if test "$cross_compiling" = "yes"; then
3983     HOST_SUFFIX="-$host_alias"
3984     TOOLCHAIN_NAME="$TOOLCHAIN_NAME$HOST_SUFFIX"
3985     TOOLCHAIN_FULLNAME="${host_alias}-$TOOLCHAIN_FULLNAME"
3986 fi
3987
3988 dnl library link name
3989 dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix.
3990 dnl If we ever need to do that, we won't need to keep these.
3991 WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
3992 if test "${TOOLKIT_DIR}" = "os2"; then
3993     WX_LIBRARY_BASENAME_GUI="wx_pm${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
3994 else
3995     WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
3996 fi
3997
3998
3999
4000 if test "$wxUSE_COCOA" = 1; then
4001     AC_LANG_SAVE
4002     AC_WX_LANG_OBJECTIVEC
4003 dnl Recent AppKit/NSEvent.h include parts of IOKit which eventually
4004 dnl gets IOKit/graphics/IOGraphicsTypes.h included which typedefs
4005 dnl Point but only if MacTypes.h was not included first.  Of course,
4006 dnl if MacTypes.h is included later then you're screwed when it
4007 dnl tries to typedef Point.  Defining __Point__ will cause IOGraphicsTypes.h
4008 dnl to not typedef Point and thus fix the problem.
4009     AC_MSG_CHECKING([if AppKit/NSEvent.h conflicts with CoreFoundation])
4010     AC_TRY_COMPILE([#include <AppKit/NSEvent.h>
4011 #include <CoreFoundation/CoreFoundation.h>
4012         ],[],
4013         [AC_MSG_RESULT([no])],
4014         [AC_MSG_RESULT([yes])
4015         AC_MSG_CHECKING([if defining __Point__ will fix it])
4016         AC_TRY_COMPILE([#define __Point__ 1
4017 #include <AppKit/NSEvent.h>
4018 #include <CoreFoundation/CoreFoundation.h>
4019             ],[],
4020             [AC_MSG_RESULT([yes])
4021             AC_DEFINE(__Point__)
4022             ],
4023             [AC_MSG_FAILURE([no])]
4024         )]
4025     )
4026     AC_LANG_RESTORE
4027 fi
4028
4029 if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
4030     dnl base name of the resource file for wxMac must be the same
4031     dnl as library installation base name (-install_name)
4032     WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.r"
4033     WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
4034
4035     dnl add the resources target for wxMac
4036     LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
4037
4038     AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
4039     AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
4040     AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
4041
4042     MACSETFILE="\$(SETFILE)"
4043
4044     dnl resources are bundled both with shared library and applications
4045     dnl since the carb resource *must* be included in the application
4046     if test "$wxUSE_MAC" = 1; then
4047         POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o"
4048         RESCOMP="$REZ"
4049         WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o"
4050     else
4051         POSTLINK_COMMAND="echo -n | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}"
4052         RESCOMP="echo -n \| $REZ"
4053         WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII"
4054     fi
4055
4056 else
4057     dnl default value is to (silently) do nothing in the makefile
4058     MACSETFILE="@true"
4059
4060     if test "$wxUSE_PM" = 1; then
4061         RESCOMP="emxbind"
4062         WXCONFIG_RESFLAGS="-ep"
4063
4064         dnl Is this one really used anywhere for pm?
4065         POSTLINK_COMMAND="$RESCOMP $WXCONFIG_RESFLAGS"
4066     else
4067         POSTLINK_COMMAND="@true"
4068     fi
4069
4070 fi
4071
4072
4073 dnl ---------------------------------------------------------------------------
4074 dnl Checks for typedefs
4075 dnl ---------------------------------------------------------------------------
4076
4077 dnl   defines mode_t if not already defined
4078 AC_TYPE_MODE_T
4079 dnl   defines off_t if not already defined
4080 AC_TYPE_OFF_T
4081 dnl   defines pid_t if not already defined
4082 AC_TYPE_PID_T
4083 dnl   defines size_t if not already defined
4084 AC_TYPE_SIZE_T
4085 dnl   defines uid_t and gid_t if not already defined
4086 AC_TYPE_UID_T
4087
4088 dnl sets HAVE_SSIZE_T if ssize_t is defined
4089 AC_CHECK_TYPES(ssize_t)
4090
4091 dnl check what exactly size_t is on this machine - this is necessary to avoid
4092 dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
4093 AC_CACHE_CHECK([if size_t is unsigned int],
4094     wx_cv_size_t_is_uint,
4095     [
4096     dnl an obvious check like AC_TRY_COMPILE[struct Foo { ... };] doesn't work
4097     dnl with egcs (at least) up to 1.1.1 as it allows you to compile duplicate
4098     dnl methods in a local class (i.e. class inside a function) declaration
4099     dnl without any objections!!
4100     dnl
4101     dnl hence the hack below: we must have Foo at global scope!
4102     AC_TRY_COMPILE([#include <stddef.h>],
4103         [
4104             return 0; }
4105
4106             struct Foo { void foo(size_t); void foo(unsigned int); };
4107
4108             int bar() {
4109         ],
4110         wx_cv_size_t_is_uint=no,
4111         wx_cv_size_t_is_uint=yes
4112     )
4113     ]
4114 )
4115
4116 if test "$wx_cv_size_t_is_uint" = "yes"; then
4117     AC_DEFINE(wxSIZE_T_IS_UINT)
4118 else
4119     AC_CACHE_CHECK([if size_t is unsigned long],
4120         wx_cv_size_t_is_ulong,
4121         AC_TRY_COMPILE([#include <stddef.h>],
4122             [
4123                 return 0; }
4124
4125                 struct Foo { void foo(size_t); void foo(unsigned long); };
4126
4127                 int bar() {
4128             ],
4129             wx_cv_size_t_is_ulong=no,
4130             wx_cv_size_t_is_ulong=yes
4131         )
4132     )
4133
4134     if test "$wx_cv_size_t_is_ulong" = "yes"; then
4135         AC_DEFINE(wxSIZE_T_IS_ULONG)
4136     fi
4137 fi
4138
4139 dnl ---------------------------------------------------------------------------
4140 dnl Checks for structures
4141 dnl ---------------------------------------------------------------------------
4142
4143 dnl does passwd struct has the pw_gecos field?
4144 AC_CACHE_CHECK([for pw_gecos in struct passwd], wx_cv_struct_pw_gecos,
4145     [
4146         AC_TRY_COMPILE([#include <pwd.h>],
4147              [
4148                 char *p;
4149                 struct passwd *pw;
4150                 p = pw->pw_gecos;
4151              ],
4152              [
4153                 wx_cv_struct_pw_gecos=yes
4154              ],
4155              [
4156                 wx_cv_struct_pw_gecos=no
4157              ]
4158         )
4159     ]
4160 )
4161
4162 if test "$wx_cv_struct_pw_gecos" = "yes"; then
4163     AC_DEFINE(HAVE_PW_GECOS)
4164 fi
4165
4166 dnl ---------------------------------------------------------------------------
4167 dnl Check for functions
4168 dnl ---------------------------------------------------------------------------
4169
4170 dnl don't check for wchar_t functions if we haven't got wchar_t itself
4171 if test "$wxUSE_WCHAR_T" = "yes"; then
4172     AC_DEFINE(wxUSE_WCHAR_T)
4173
4174     dnl check for wcslen in all possible places
4175     WCSLEN_FOUND=0
4176     WCHAR_LINK=
4177     AC_CHECK_FUNCS(wcslen, WCSLEN_FOUND=1)
4178
4179     if test "$WCSLEN_FOUND" = 0; then
4180         if test "$TOOLKIT" = "MSW"; then
4181             AC_CHECK_LIB(msvcrt, wcslen, WCHAR_OK=1)
4182         else
4183             AC_CHECK_LIB(w, wcslen, [
4184                             WCHAR_LINK=" -lw"
4185                             WCSLEN_FOUND=1
4186                         ])
4187         fi
4188     fi
4189
4190     if test "$WCSLEN_FOUND" = 1; then
4191         AC_DEFINE(HAVE_WCSLEN)
4192     fi
4193
4194     dnl On HP-UX aCC need this define to find mbstrtowcs() &c
4195     dnl Can't be used for g++ since the mbstate_t in wchar.h can conflict
4196     dnl with g++'s in <cwchar> (unless -D_INCLUDE__STDC_A1_SOURCE is in the
4197     dnl flags when g++ is configured, it will declare it's own).
4198     if test "$USE_HPUX" = 1 -a "$GCC" != "yes"; then
4199         CPPFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CPPFLAGS"
4200     fi
4201
4202     dnl Try to use wcsrtombs instead of wcstombs which is buggy in old GNU
4203     dnl libc versions if possible. AC_CHECK_FUNCS only checks it's in the
4204     dnl library, not the header, so do a header check for mbstate_t first.
4205     AC_CHECK_TYPES([mbstate_t],
4206                    [AC_CHECK_FUNCS(wcsrtombs)],
4207                    [],
4208                    [#include <wchar.h>])
4209 else
4210     AC_MSG_WARN([Wide character support is unavailable])
4211 fi
4212
4213 dnl check for vsnprintf() -- a safe version of vsprintf())
4214 dnl
4215 dnl the trouble here is that on some systems (e.g HP-UX 10) this function is
4216 dnl present in libc but not in the system headers and so AC_CHECK_FUNCS (which,
4217 dnl stupidly, provides a dummy function declaration inside its extension)
4218 dnl succeeds, even with C++ compiler, but the compilation of wxWidgets fails
4219 dnl
4220 dnl so we first check if the function is in the library
4221 AC_CHECK_FUNCS(snprintf vsnprintf)
4222
4223 if test "$ac_cv_func_vsnprintf" = "yes"; then
4224     dnl yes it is -- now check if it is in the headers
4225     AC_CACHE_CHECK([for vsnprintf declaration], wx_cv_func_vsnprintf_decl,
4226         [
4227             dnl our troubles are not over: HP-UX 11 prototypes vsnprintf() as
4228             dnl taking "char *" and not "const char *" while Metrowerks does
4229             dnl provide a correct vsnprintf declaration but in C++ mode it's
4230             dnl always in std namespace and so we have to bring it in scope
4231             AC_TRY_COMPILE(
4232                 [
4233                     #include <stdio.h>
4234                     #include <stdarg.h>
4235                     #ifdef __MSL__
4236                     #if __MSL__ >= 0x6000
4237                     namespace std {}
4238                     using namespace std;
4239                     #endif
4240                     #endif
4241                 ],
4242                 [
4243                     char *buf;
4244                     va_list ap;
4245                     vsnprintf(buf, 10u, "%s", ap);
4246                 ],
4247                 wx_cv_func_vsnprintf_decl=yes,
4248                 wx_cv_func_vsnprintf_decl=no
4249             )
4250         ]
4251     )
4252
4253     if test "$wx_cv_func_vsnprintf_decl" = "yes"; then
4254         AC_DEFINE(HAVE_VSNPRINTF_DECL)
4255
4256         dnl we know there is a vsnprintf declaration, but some old headers
4257         dnl may have one taking a "char *" format instead of "const char *"
4258         AC_CACHE_CHECK([if vsnprintf declaration is broken], wx_cv_func_broken_vsnprintf_decl,
4259             [
4260                 AC_TRY_COMPILE(
4261                     [
4262                         #include <stdio.h>
4263                         #include <stdarg.h>
4264                         #ifdef __MSL__
4265                         #if __MSL__ >= 0x6000
4266                         namespace std {}
4267                         using namespace std;
4268                         #endif
4269                         #endif
4270                     ],
4271                     [
4272                         char *buf;
4273                         va_list ap;
4274                         const char *fmt = "%s";
4275                         vsnprintf(buf, 10u, fmt, ap);
4276                     ],
4277                     wx_cv_func_broken_vsnprintf_decl=no,
4278                     wx_cv_func_broken_vsnprintf_decl=yes
4279                 )
4280             ]
4281         )
4282
4283         if test "$wx_cv_func_broken_vsnprintf_decl" = "yes"; then
4284             AC_DEFINE(HAVE_BROKEN_VSNPRINTF_DECL)
4285         fi
4286     fi
4287 fi
4288
4289 dnl the same as above but for snprintf() now: it's not present in at least AIX
4290 dnl 4.2 headers
4291 if test "$ac_cv_func_snprintf" = "yes"; then
4292     AC_CACHE_CHECK([for snprintf declaration], wx_cv_func_snprintf_decl,
4293         [
4294             AC_TRY_COMPILE(
4295                 [
4296                     #include <stdio.h>
4297                     #include <stdarg.h>
4298                     #ifdef __MSL__
4299                     #if __MSL__ >= 0x6000
4300                     namespace std {}
4301                     using namespace std;
4302                     #endif
4303                     #endif
4304                 ],
4305                 [
4306                     char *buf;
4307                     snprintf(buf, 10u, "%s", "wx");
4308                 ],
4309                 wx_cv_func_snprintf_decl=yes,
4310                 wx_cv_func_snprintf_decl=no
4311             )
4312         ]
4313     )
4314
4315     if test "$wx_cv_func_snprintf_decl" = "yes"; then
4316         AC_DEFINE(HAVE_SNPRINTF_DECL)
4317
4318         dnl we know there is an snprintf declaration, but some old headers
4319         dnl may have one taking a "char *" format instead of "const char *"
4320         AC_CACHE_CHECK([if snprintf declaration is broken], wx_cv_func_broken_snprintf_decl,
4321             [
4322                 AC_TRY_COMPILE(
4323                     [
4324                         #include <stdio.h>
4325                         #include <stdarg.h>
4326                         #ifdef __MSL__
4327                         #if __MSL__ >= 0x6000
4328                         namespace std {}
4329                         using namespace std;
4330                         #endif
4331                         #endif
4332                     ],
4333                     [
4334                         char *buf;
4335                         const char *fmt = "%s";
4336                         snprintf(buf, 10u, fmt, "wx");
4337                     ],
4338                     wx_cv_func_broken_snprintf_decl=no,
4339                     wx_cv_func_broken_snprintf_decl=yes
4340                 )
4341             ]
4342         )
4343
4344         if test "$wx_cv_func_broken_snprintf_decl" = "yes"; then
4345             AC_DEFINE(HAVE_BROKEN_SNPRINTF_DECL)
4346         fi
4347     fi
4348
4349     if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then
4350
4351         dnl check if snprintf() has support for positional arguments
4352         dnl NB: if snprintf() has positional support we can safely suppose that also
4353         dnl     other *printf() functions support them as they all belong to the same
4354         dnl     family and they all fallback to the same implementation
4355         AC_CACHE_CHECK([if snprintf supports positional arguments], wx_cv_func_snprintf_pos_params,
4356             [
4357                 AC_TRY_RUN(
4358                     [
4359                         #include <stdio.h>
4360
4361                         int main (void)
4362                         {
4363                             char buffer[128];
4364                             snprintf (buffer, 128, "%2\$d %3\$d %1\$d", 1, 2, 3);
4365                             if (strcmp ("2 3 1", buffer) == 0)
4366                                 exit (0);
4367                             exit (1);
4368                         }
4369                     ],
4370                     wx_cv_func_snprintf_pos_params=no,
4371                     wx_cv_func_snprintf_pos_params=yes
4372                 )
4373             ]
4374         )
4375
4376         if test "$wx_cv_func_snprintf_pos_params" = "yes"; then
4377             AC_DEFINE(HAVE_UNIX98_PRINTF)
4378         fi
4379     fi
4380 fi
4381
4382
4383 if test "$wxUSE_UNICODE" = yes; then
4384     dnl also look if we have wide char IO functions
4385     AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf)
4386
4387     dnl MinGW has a vswprintf with a different prototype, and
4388     dnl a _vsnwprintf with the correct prototype, but AC_CHECK_FUNCS
4389     dnl finds it even if it is not declared in some versions...
4390     AC_MSG_CHECKING([for _vsnwprintf])
4391     AC_TRY_COMPILE([#include <wchar.h>],
4392                    [&_vsnwprintf;],
4393                    [AC_MSG_RESULT([yes])
4394                     AC_DEFINE(HAVE__VSNWPRINTF)],
4395                    [AC_MSG_RESULT([no])]);
4396 fi
4397
4398 if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
4399     AC_CHECK_FUNCS(fnmatch)
4400 fi
4401
4402 if test "$wxUSE_FILE" = "yes"; then
4403     AC_CHECK_FUNCS(fsync)
4404 fi
4405
4406 AC_CHECK_FUNCS(round)
4407 if test "$ac_cv_func_round" = yes; then
4408     AC_CHECK_DECLS(round,,,[#include <math.h>])
4409 fi
4410
4411
4412 dnl the following tests are for Unix(like) systems only
4413 if test "$TOOLKIT" != "MSW"; then
4414
4415 dnl check for available version of iconv()
4416
4417 AM_ICONV
4418 LIBS="$LIBICONV $LIBS"
4419
4420 dnl check for POSIX signals if we need them
4421 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
4422     AC_CHECK_FUNCS(sigaction)
4423
4424     if test "$ac_cv_func_sigaction" = "no"; then
4425         AC_MSG_WARN([No POSIX signal functions on this system, wxApp::OnFatalException will not be called])
4426         wxUSE_ON_FATAL_EXCEPTION=no
4427     fi
4428
4429     if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
4430       AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
4431       [
4432         AC_TRY_COMPILE([#include <signal.h>],
4433                      [
4434                         extern void testSigHandler(int);
4435
4436                         struct sigaction sa;
4437                         sa.sa_handler = testSigHandler;
4438                      ], [
4439                         wx_cv_type_sa_handler=int
4440                      ], [
4441                         wx_cv_type_sa_handler=void
4442                      ])
4443       ])
4444
4445       AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
4446     fi
4447 fi
4448
4449 dnl backtrace() and backtrace_symbols() for wxStackWalker
4450 if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
4451     AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
4452         [
4453             AC_TRY_COMPILE([#include <execinfo.h>],
4454                 [
4455                     void *trace[1];
4456                     char **messages;
4457
4458                     backtrace(trace, 1);
4459                     messages = backtrace_symbols(trace, 1);
4460                 ],
4461                 wx_cv_func_backtrace=yes,
4462                 wx_cv_func_backtrace=no
4463             )
4464         ]
4465     )
4466
4467
4468     if test "$wx_cv_func_backtrace" = "no"; then
4469         AC_MSG_WARN([backtrace() is not available, wxStackWalker will not be available])
4470         wxUSE_STACKWALKER=no
4471     else
4472         AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
4473             [
4474                 AC_TRY_LINK([#include <cxxabi.h>],
4475                     [
4476                         int rc;
4477                         __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
4478                     ],
4479                     wx_cv_func_cxa_demangle=yes,
4480                     wx_cv_func_cxa_demangle=no
4481                 )
4482             ]
4483         )
4484
4485         if test "$wx_cv_func_cxa_demangle" = "yes"; then
4486             AC_DEFINE(HAVE_CXA_DEMANGLE)
4487         fi
4488     fi
4489 fi
4490
4491 if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then
4492     AC_MSG_WARN([wxStackWalker is only available on Win32 and UNIX... disabled])
4493     wxUSE_STACKWALKER=no
4494 fi
4495
4496
4497 dnl check for the function for temp files creation
4498 AC_CHECK_FUNCS(mkstemp mktemp, break)
4499
4500 dnl get the library function to use for wxGetDiskSpace(): it is statfs() under
4501 dnl Linux and *BSD and statvfs() under Solaris
4502 AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
4503     AC_TRY_COMPILE(
4504         [
4505              #if defined(__BSD__)
4506              #include <sys/param.h>
4507              #include <sys/mount.h>
4508              #else
4509              #include <sys/vfs.h>
4510              #endif
4511         ],
4512         [
4513              long l;
4514              struct statfs fs;
4515              statfs("/", &fs);
4516              l = fs.f_bsize;
4517              l += fs.f_blocks;
4518              l += fs.f_bavail;
4519         ],
4520          wx_cv_func_statfs=yes,
4521          wx_cv_func_statfs=no
4522     )
4523 )
4524
4525 if test "$wx_cv_func_statfs" = "yes"; then
4526     dnl check whether we have its dcelaration too: some systems (AIX 4) lack it
4527     AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl,
4528         AC_TRY_COMPILE(
4529             [
4530                  #if defined(__BSD__)
4531                  #include <sys/param.h>
4532                  #include <sys/mount.h>
4533                  #else
4534                  #include <sys/vfs.h>
4535                  #endif
4536             ],
4537             [
4538                 struct statfs fs;
4539                 statfs("", &fs);
4540             ],
4541             wx_cv_func_statfs_decl=yes,
4542             wx_cv_func_statfs_decl=no
4543         )
4544     )
4545
4546     if test "$wx_cv_func_statfs_decl" = "yes"; then
4547         AC_DEFINE(HAVE_STATFS_DECL)
4548     fi
4549
4550     wx_cv_type_statvfs_t="struct statfs"
4551     AC_DEFINE(HAVE_STATFS)
4552 else
4553     AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs,
4554         AC_TRY_COMPILE(
4555             [
4556                 #include <stddef.h>
4557                 #include <sys/statvfs.h>
4558             ],
4559             [
4560                 statvfs("/", NULL);
4561             ],
4562             wx_cv_func_statvfs=yes,
4563             wx_cv_func_statvfs=no
4564         )
4565     )
4566
4567     if test "$wx_cv_func_statvfs" = "yes"; then
4568         dnl we also have to check whether we should use statvfs_t (works under
4569         dnl Solaris 8, doesn't work under Solaris 7) or "struct statvfs" (vice
4570         dnl versa) as the argument for statvfs in 64 bit off_t mode (in 32 bit
4571         dnl mode both work fine)
4572         dnl
4573         dnl for this check C++ compiler has to be used as passing incompatible
4574         dnl pointers is just a warning and not an error in C
4575         AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
4576             AC_TRY_COMPILE(
4577                 [
4578                     #include <sys/statvfs.h>
4579                 ],
4580                 [
4581                     long l;
4582                     statvfs_t fs;
4583                     statvfs("/", &fs);
4584                     l = fs.f_bsize;
4585                     l += fs.f_blocks;
4586                     l += fs.f_bavail;
4587                 ],
4588                 wx_cv_type_statvfs_t=statvfs_t,
4589                 [
4590                     AC_TRY_COMPILE(
4591                         [
4592                             #include <sys/statvfs.h>
4593                         ],
4594                         [
4595                             long l;
4596                             struct statvfs fs;
4597                             statvfs("/", &fs);
4598                             l = fs.f_bsize;
4599                             l += fs.f_blocks;
4600                             l += fs.f_bavail;
4601                         ],
4602                         wx_cv_type_statvfs_t="struct statvfs",
4603                         wx_cv_type_statvfs_t="unknown"
4604                     )
4605                 ]
4606             )
4607         )
4608
4609         if test "$wx_cv_type_statvfs_t" != "unknown"; then
4610             AC_DEFINE(HAVE_STATVFS)
4611         fi
4612     else
4613         dnl set it for the test below
4614         wx_cv_type_statvfs_t="unknown"
4615     fi
4616 fi
4617
4618 if test "$wx_cv_type_statvfs_t" != "unknown"; then
4619     AC_DEFINE_UNQUOTED(WX_STATFS_T, $wx_cv_type_statvfs_t)
4620 else
4621     AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
4622 fi
4623
4624 dnl check for fcntl() or at least flock() needed by Unix implementation of
4625 dnl wxSingleInstanceChecker
4626 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
4627     AC_CHECK_FUNCS(fcntl flock, break)
4628
4629     if test "$ac_cv_func_fcntl" != "yes" -a "$ac_cv_func_flock" != "yes"; then
4630         AC_MSG_WARN(wxSingleInstanceChecker not available)
4631         wxUSE_SNGLINST_CHECKER=no
4632     fi
4633 fi
4634
4635 dnl check for timegm() used by datetime.cpp
4636 AC_CHECK_FUNCS(timegm)
4637
4638 dnl look for a function to modify the environment
4639 AC_CHECK_FUNCS(putenv setenv, break)
4640
4641 HAVE_SOME_SLEEP_FUNC=0
4642 if test "$USE_BEOS" = 1; then
4643     dnl BeOS has its own (wonder where did they get it from) sleep() function
4644     dnl in unistd.h
4645     AC_DEFINE(HAVE_SLEEP)
4646     HAVE_SOME_SLEEP_FUNC=1
4647 fi
4648
4649 if test "$USE_DARWIN" = 1; then
4650     dnl Mac OS X/Darwin has both nanosleep and usleep
4651     dnl but only usleep is defined in unistd.h
4652     AC_DEFINE(HAVE_USLEEP)
4653     HAVE_SOME_SLEEP_FUNC=1
4654 fi
4655
4656 if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
4657     dnl try nanosleep() in libc and libposix4, if this fails - usleep()
4658     POSIX4_LINK=
4659     AC_CHECK_FUNCS(nanosleep,
4660         AC_DEFINE(HAVE_NANOSLEEP),
4661         [
4662             AC_CHECK_LIB(posix4, nanosleep,
4663                 [
4664                     AC_DEFINE(HAVE_NANOSLEEP)
4665                     POSIX4_LINK=" -lposix4"
4666                 ],
4667                 [
4668                     AC_CHECK_FUNCS(usleep,
4669                         AC_DEFINE(HAVE_USLEEP),
4670                         AC_MSG_WARN([wxSleep() function will not work])
4671                     )
4672                 ]
4673             )
4674         ]
4675     )
4676 fi
4677
4678 dnl check for uname (POSIX) and gethostname (BSD)
4679 AC_CHECK_FUNCS(uname gethostname, break)
4680
4681 WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT])
4682
4683 dnl check for inet_addr and inet_aton (these may live either in libc, or in
4684 dnl libnsl or libresolv or libsocket)
4685 INET_LINK=
4686 AC_CHECK_FUNCS(inet_addr,
4687     AC_DEFINE(HAVE_INET_ADDR),
4688     [
4689         AC_CHECK_LIB(nsl, inet_addr,
4690             INET_LINK="nsl",
4691             [
4692                 AC_CHECK_LIB(resolv, inet_addr,
4693                     INET_LINK="resolv",
4694                     [
4695                         AC_CHECK_LIB(socket, inet_addr,
4696                             INET_LINK="socket"
4697                         )
4698                     ]
4699                 )
4700             ]
4701         )
4702     ]
4703 )
4704
4705 AC_CHECK_FUNCS(inet_aton,
4706         AC_DEFINE(HAVE_INET_ATON),
4707         [
4708             dnl only check it in the same lib
4709             AC_CHECK_LIB($INET_LINK, inet_aton, AC_DEFINE(HAVE_INET_ATON))
4710         ])
4711
4712 if test "x$INET_LINK" != "x"; then
4713     AC_DEFINE(HAVE_INET_ADDR)
4714     INET_LINK=" -l$INET_LINK"
4715 fi
4716
4717 fi
4718 dnl if !MSW
4719
4720
4721 dnl ------------------------------------------
4722 dnl Checks specific to contrib libs (MMedia)
4723 dnl ------------------------------------------
4724
4725 dnl Check for ESD:
4726 EXTRALIBS_ESD=
4727 AC_CHECK_LIB(esd, esd_close, [
4728     AC_CHECK_HEADERS([esd.h], [
4729     EXTRALIBS_ESD="-lesd"
4730   ])
4731 ])
4732 AC_SUBST(EXTRALIBS_ESD)
4733
4734 dnl check for known CD-ROM interface
4735 AC_MSG_CHECKING([for known CD-ROM interface])
4736 AC_TRY_COMPILE([#ifdef __linux__
4737                 #include <linux/cdrom.h>
4738                 #else
4739                 /* For Solaris */
4740                 #include <sys/cdio.h>
4741                 #endif
4742                 ],
4743                [struct cdrom_tocentry entry, old_entry;],
4744                [AC_MSG_RESULT([yes])
4745                 AC_DEFINE(HAVE_KNOWN_CDROM_INTERFACE)],
4746                [AC_MSG_RESULT([no])])
4747
4748 dnl ===========================================================================
4749 dnl Now we have all the info we need - use it!
4750 dnl ===========================================================================
4751
4752 dnl flush the cache
4753 AC_CACHE_SAVE
4754
4755 dnl ---------------------------------------------------------------------------
4756 dnl thread support for Unix (for Win32 and OS/2 see past
4757 dnl                          the next matching "else")
4758 dnl ---------------------------------------------------------------------------
4759
4760 dnl under MSW (except mingw32) we always have thread support
4761 if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
4762
4763     dnl the code below:
4764     dnl
4765     dnl   defines THREADS_LINK and THREADS_CXXFLAGS which are the options
4766     dnl   necessary to build the MT programs for the linker and compiler
4767     dnl   respectively
4768     dnl
4769     dnl   sets wxUSE_THREADS=1 if thread support is activated
4770
4771     THREADS_LINK=
4772     THREADS_CXXFLAGS=
4773
4774     if test "$wxUSE_THREADS" = "yes" ; then
4775         if test "$USE_BEOS" = 1; then
4776             AC_MSG_WARN([BeOS threads are not yet supported... disabled])
4777             wxUSE_THREADS="no"
4778         fi
4779     fi
4780
4781     if test "$wxUSE_THREADS" = "yes" ; then
4782         dnl find if POSIX threads are available
4783         dnl
4784         dnl the tests here are based on ACX_PTHREAD macro from autoconf macro
4785         dnl archive from http://ac-archive.sourceforge.net/
4786         dnl
4787         dnl thanks to Steven G. Johnson <stevenj@alum.mit.edu> and Alejandro
4788         dnl Forero Cuervo <bachue@bachue.com> for the original code
4789
4790         dnl TODO: cache the result
4791
4792         dnl define the list of the thread options to try in the loop below
4793         dnl with the convention that anything starting with '-' is a cpp flag
4794         dnl while anything else is a library (i.e. there is an implicit "-l")
4795         THREAD_OPTS="-pthread"
4796         case "${host}" in
4797           *-*-solaris2* | *-*-sunos4* )
4798                 if test "x$GCC" = "xyes"; then
4799                     dnl Solaris/gcc combination use this one for some reason
4800                     THREAD_OPTS="-pthreads $THREAD_OPTS"
4801                 else
4802                     THREAD_OPTS="-mt $THREAD_OPTS"
4803                 fi
4804                 ;;
4805           *-*-freebsd*)
4806                 dnl look, in order, for the kernel threads, then Linux threads
4807                 dnl and finally the userland threads
4808                 THREAD_OPTS="-kthread lthread $THREAD_OPTS c_r"
4809                 ;;
4810           *-*-darwin* | *-*-cygwin* )
4811                 dnl Darwin / Mac OS X just uses -lpthread tested below
4812                 dnl and so does Cygwin
4813                 THREAD_OPTS=""
4814                 ;;
4815           *-*-aix*)
4816                 dnl AIX calls the library libpthreads - thanks IBM!
4817                 THREAD_OPTS="pthreads"
4818                 ;;
4819           *-hp-hpux* )
4820                 if test "x$GCC" = "xyes"; then
4821                     dnl g++ versions before 3.3.2 don't support -pthread.
4822                     $CXX -dumpspecs | grep 'pthread:' >/dev/null ||
4823                         THREAD_OPTS=""
4824                 else
4825                     dnl HP-UX aCC (tested with version B3910B A.06.05 [Jul 25
4826                     dnl 2005]) supports -mt
4827                     THREAD_OPTS="-mt"
4828                 fi
4829                 ;;
4830
4831           *-*-irix* )
4832                 dnl gcc under IRIX doesn't seem to like -pthread, but it
4833                 dnl doesn't give an error for it neither, just a warning
4834                 dnl message -- but this is still very annoying
4835                 if test "x$GCC" = "xyes"; then
4836                     THREAD_OPTS=""
4837                 fi
4838                 ;;
4839
4840           *-*-*UnixWare*)
4841                 dnl flying by man pages here: Caldera online docs use this
4842                 if test "x$GCC" != "xyes"; then
4843                     THREAD_OPTS="-Ethread"
4844                 fi
4845                 ;;
4846         esac
4847
4848         dnl simply linking with libpthread should make the test below work but
4849         dnl it's far from certain that the threaded programs compiled without
4850         dnl any special switches actually work, so try it after all the others
4851         THREAD_OPTS="$THREAD_OPTS pthread none"
4852
4853         dnl now test for all possibilities
4854         THREADS_OK=no
4855         for flag in $THREAD_OPTS; do
4856             case $flag in
4857                 none)
4858                     AC_MSG_CHECKING([whether pthreads work without any flags])
4859                     ;;
4860
4861                 -*)
4862                     AC_MSG_CHECKING([whether pthreads work with $flag])
4863                     THREADS_CXXFLAGS="$flag"
4864                     ;;
4865
4866                 *)
4867                     AC_MSG_CHECKING([for the pthreads library -l$flag])
4868                     THREADS_LINK="-l$flag"
4869                     ;;
4870               esac
4871
4872               save_LIBS="$LIBS"
4873               save_CXXFLAGS="$CXXFLAGS"
4874               LIBS="$THREADS_LINK $LIBS"
4875               CXXFLAGS="$THREADS_CXXFLAGS $CXXFLAGS"
4876
4877               AC_TRY_LINK([#include <pthread.h>],
4878                           [pthread_create(0,0,0,0);],
4879                           THREADS_OK=yes)
4880
4881               LIBS="$save_LIBS"
4882               CXXFLAGS="$save_CXXFLAGS"
4883
4884               AC_MSG_RESULT($THREADS_OK)
4885               if test "x$THREADS_OK" = "xyes"; then
4886                       break;
4887               fi
4888
4889               THREADS_LINK=""
4890               THREADS_CXXFLAGS=""
4891       done
4892
4893       if test "x$THREADS_OK" != "xyes"; then
4894           wxUSE_THREADS=no
4895           AC_MSG_WARN([No thread support on this system... disabled])
4896       else
4897           dnl yes, these special compiler flags should be used with the
4898           dnl linker as well
4899           LDFLAGS="$THREADS_CXXFLAGS $LDFLAGS"
4900           LIBS="$THREADS_LINK $LIBS"
4901
4902           AC_MSG_CHECKING([if more special flags are required for pthreads])
4903           flag=no
4904           case "${host}" in
4905             *-aix*)
4906                 dnl again quoting from
4907                 dnl http://www-1.ibm.com/servers/esdd/articles/gnu.html:
4908                 dnl
4909                 dnl     When compiling and linking with -pthread, the library
4910                 dnl     search path should include -L/usr/lib/threads at the
4911                 dnl     beginning of the path.
4912                 LDFLAGS="-L/usr/lib/threads $LDFLAGS"
4913                 flag="-D_THREAD_SAFE"
4914                 ;;
4915             *-freebsd*)
4916                 flag="-D_THREAD_SAFE"
4917                 ;;
4918             *-hp-hpux* )
4919                 flag="-D_REENTRANT"
4920                 if test "x$GCC" != "xyes"; then
4921                     dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm
4922                     flag="$flag -D_RWSTD_MULTI_THREAD"
4923                 fi
4924                 ;;
4925             *solaris* | alpha*-osf*)
4926                 flag="-D_REENTRANT"
4927                 ;;
4928           esac
4929           AC_MSG_RESULT(${flag})
4930           if test "x$flag" != xno; then
4931               THREADS_CXXFLAGS="$THREADS_CXXFLAGS $flag"
4932           fi
4933
4934           dnl don't add these options to CPPFLAGS as cpp might not know them
4935           WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS $THREADS_CXXFLAGS"
4936       fi
4937     fi
4938
4939     dnl do other tests only if we are using threads
4940     if test "$wxUSE_THREADS" = "yes" ; then
4941       AC_CHECK_FUNCS(thr_setconcurrency)
4942
4943       dnl can't use AC_CHECK_FUNCS for this one as it's usually a macro and so
4944       dnl wouldn't be found by it
4945       AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup,
4946       [
4947         AC_TRY_COMPILE([#include <pthread.h>
4948                void ThreadCleanupFunc(void *p);
4949             ],
4950             [
4951                 void *p;
4952                 pthread_cleanup_push(ThreadCleanupFunc, p);
4953                 pthread_cleanup_pop(0);
4954             ], [
4955                wx_cv_func_pthread_cleanup=yes
4956             ], [
4957                wx_cv_func_pthread_cleanup=no
4958             ]
4959         )
4960       ])
4961       if test "x$wx_cv_func_pthread_cleanup" = "xyes"; then
4962         AC_DEFINE(wxHAVE_PTHREAD_CLEANUP)
4963       fi
4964
4965       AC_CHECK_HEADERS(sched.h)
4966       if test "$ac_cv_header_sched_h" = "yes"; then
4967           AC_CHECK_FUNC(sched_yield,
4968             AC_DEFINE(HAVE_SCHED_YIELD),
4969             [
4970                 AC_CHECK_LIB(posix4,
4971                     sched_yield,
4972                     [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK=" -lposix4"],
4973                     AC_MSG_WARN(wxThread::Yield will not work properly)
4974                 )
4975             ]
4976           )
4977       fi
4978
4979       dnl to be able to set the thread priority, we need to have all of the
4980       dnl following functions:
4981       dnl   1. pthread_attr_getschedpolicy
4982       dnl   2. sched_get_priority_min and sched_get_priority_max
4983       dnl      (this one can be in either libpthread or libposix4 (under Solaris))
4984       dnl   3. pthread_attr_getschedparam and pthread_attr_setschedparam
4985       HAVE_PRIOR_FUNCS=0
4986       AC_CHECK_FUNC(pthread_attr_getschedpolicy,
4987                      [AC_CHECK_FUNC(pthread_attr_setschedparam,
4988                        [AC_CHECK_FUNC(sched_get_priority_max,
4989                            HAVE_PRIOR_FUNCS=1,
4990                            [AC_CHECK_LIB([posix4], sched_get_priority_max,
4991                              [
4992                                 HAVE_PRIOR_FUNCS=1
4993                                 POSIX4_LINK=" -lposix4"
4994                              ],
4995                            )]
4996                        )]
4997                      )]
4998                    )
4999
5000       if test "$HAVE_PRIOR_FUNCS" = 1; then
5001         AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS)
5002       else
5003         AC_MSG_WARN(Setting thread priority will not work)
5004       fi
5005
5006       AC_CHECK_FUNC(pthread_cancel,
5007                     AC_DEFINE(HAVE_PTHREAD_CANCEL),
5008                     AC_MSG_WARN([wxThread::Kill() will not work properly]))
5009
5010       AC_CHECK_FUNC(pthread_attr_setstacksize,
5011                     AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE))
5012
5013       dnl mutexattr_t initialization is done in quite different ways on different
5014       dnl platforms, so check for a few things:
5015       dnl
5016       dnl HAVE_MUTEX_RECURSIVE means that we can create recursive mutexes
5017       dnl HAVE_MUTEXATTR_SETTYPE means that we do it using
5018       dnl pthread_mutexattr_settype(PTHREAD_MUTEX_RECURSIVE) and if it is not
5019       dnl defined, we do it by directly assigned
5020       dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
5021
5022       AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
5023       [
5024         AC_TRY_COMPILE([#include <pthread.h>],
5025             [
5026                pthread_mutexattr_t attr;
5027                pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
5028             ],
5029             wx_cv_type_pthread_mutexattr_t=yes,
5030             wx_cv_type_pthread_mutexattr_t=no
5031         )
5032       ])
5033
5034       if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then
5035         AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T)
5036
5037         dnl check if we already have the declaration we need, it is not
5038         dnl present in some systems' headers
5039         AC_CACHE_CHECK([for pthread_mutexattr_settype declaration],
5040                        wx_cv_func_pthread_mutexattr_settype_decl, [
5041                        AC_TRY_COMPILE([#include <pthread.h>],
5042                            [
5043                                pthread_mutexattr_t attr;
5044                                pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
5045                            ],
5046                            wx_cv_func_pthread_mutexattr_settype_decl=yes,
5047                            wx_cv_func_pthread_mutexattr_settype_decl=no
5048                        )
5049         ])
5050         if test "$wx_cv_func_pthread_mutexattr_settype_decl" = "yes"; then
5051             AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_SETTYPE_DECL)
5052         fi
5053       else
5054         dnl don't despair, there may be another way to do it
5055         AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER],
5056                        wx_cv_type_pthread_rec_mutex_init,
5057         [
5058             AC_TRY_COMPILE([#include <pthread.h>],
5059                 [
5060                     pthread_mutex_t attr = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
5061                 ], [
5062                     wx_cv_type_pthread_rec_mutex_init=yes
5063                 ], [
5064                     wx_cv_type_pthread_rec_mutex_init=no
5065                 ]
5066             )
5067         ])
5068         if test "$wx_cv_type_pthread_rec_mutex_init" = "yes"; then
5069           AC_DEFINE(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
5070         else
5071           dnl this may break code working elsewhere, so at least warn about it
5072           AC_MSG_WARN([wxMutex won't be recursive on this platform])
5073         fi
5074       fi
5075     fi
5076
5077 dnl from if !MSW
5078 else
5079     if test "$wxUSE_THREADS" = "yes" ; then
5080       case "${host}" in
5081         *-*-mingw32* )
5082             dnl check if the compiler accepts -mthreads
5083             AC_CACHE_CHECK([if compiler supports -mthreads],
5084                 wx_cv_cflags_mthread,
5085                 [
5086                     CXXFLAGS_OLD="$CXXFLAGS"
5087                     CXXFLAGS="-mthreads $CXXFLAGS"
5088                     AC_TRY_COMPILE([], [],
5089                         wx_cv_cflags_mthread=yes,
5090                         wx_cv_cflags_mthread=no
5091                     )
5092                 ]
5093             )
5094
5095             if test "$wx_cv_cflags_mthread" = "yes"; then
5096                 dnl it does, use it
5097                 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -mthreads"
5098                 LDFLAGS="$LDFLAGS -mthreads"
5099             else
5100                 dnl it doesn't
5101                 CXXFLAGS="$CXXFLAGS_OLD"
5102             fi
5103         ;;
5104         *-pc-os2*emx )
5105             WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -Zmt -D__ST_MT_ERRNO__"
5106             WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -Zmt -D__ST_MT_ERRNO__"
5107             LDFLAGS="$LDFLAGS -Zmt"
5108         ;;
5109       esac
5110     fi
5111 fi
5112
5113 AC_CHECK_FUNC(localtime_r, [ AC_DEFINE(HAVE_LOCALTIME_R) ])
5114 AC_CHECK_FUNC(gmtime_r, [ AC_DEFINE(HAVE_GMTIME_R) ])
5115 AC_CHECK_FUNC(readdir_r, [ AC_DEFINE(HAVE_READDIR_R) ])
5116 dnl By preference, we probably should use getaddrinfo which avoids thread
5117 dnl safety issues and supports IPv6, however there currently is no code
5118 dnl for it, so testing for it is temporarily disabled and we are restricted
5119 dnl to gethostbyname_r/gethostbyaddr_r  and getservbyname_r
5120
5121 dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [
5122     dnl no getaddrinfo, so check for gethostbyname_r and
5123     dnl related functions (taken from python's configure.in)
5124     dnl sigh -- gethostbyname_r is a mess; it can have 3, 5 or 6 arguments
5125       AX_FUNC_WHICH_GETHOSTBYNAME_R
5126       if test "x$ac_cv_func_which_gethostbyname_r" = "xno" -o \
5127               "x$ac_cv_func_which_gethostbyname_r" = "xunknown" ; then
5128           AC_CHECK_FUNC(gethostbyname, [ AC_DEFINE(HAVE_GETHOSTBYNAME) ])
5129       fi
5130       dnl A similar test for getservbyname_r
5131       dnl I'm tempted to just not do this test which is taking much time and
5132       dnl do something similar as for gethostbyaddr_r, but OTOH the macro
5133       dnl doing the test already exists, so using it is easy enough.     - SN
5134       AC_raf_FUNC_WHICH_GETSERVBYNAME_R
5135       if test "x$ac_cv_func_which_getservbyname_r" = "xno" -o \
5136               "x$ac_cv_func_which_getservbyname_r" = "xunknown" ; then
5137           AC_CHECK_FUNCS(getservbyname,[ AC_DEFINE(HAVE_GETSERVBYNAME) ])
5138       fi
5139       dnl For gethostbyaddr_r, we currently do no separate test, instead, we
5140       dnl silently assume it's available exactly if gethostbyname_r is
5141       dnl available and always requires two more arguments than
5142       dnl gethostbyname_r.
5143       dnl (also, I'm lazy and there no m4 file that's ready for use for this
5144       dnl  function, although it should be easy to rewrite the gethostbyname_r
5145       dnl  check to fit this case, if it's really needed.                - SN )
5146 dnl    ]
5147 dnl )
5148
5149 if test "$wxUSE_THREADS" = "yes"; then
5150   AC_DEFINE(wxUSE_THREADS)
5151
5152   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
5153 else
5154   dnl on some systems, _REENTRANT should be defined if we want to use any _r()
5155   dnl functions - add tests for other functions here as well
5156   if test "$wx_cv_func_strtok_r" = "yes"; then
5157     AC_MSG_CHECKING(if -D_REENTRANT is needed)
5158     if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
5159         WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_REENTRANT"
5160         AC_MSG_RESULT(yes)
5161     else
5162         AC_MSG_RESULT(no)
5163     fi
5164   fi
5165 fi
5166
5167 if test "$WXGTK20" = 1 ; then
5168   AC_DEFINE_UNQUOTED(__WXGTK20__,$WXGTK20)
5169   WXGTK12=1
5170 fi
5171
5172 if test "$WXGTK12" = 1 ; then
5173   AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
5174 fi
5175
5176 if test "$WXGTK127" = 1 ; then
5177   AC_DEFINE_UNQUOTED(__WXGTK127__,$WXGTK127)
5178 fi
5179
5180 if test "$WXGPE" = 1 ; then
5181   AC_DEFINE_UNQUOTED(__WXGPE__,$WXGPE)
5182 fi
5183
5184 dnl DEBUG_CFLAGS contains debugging options (supposed to be the same for C and C++
5185 dnl compilers: we'd need a separate DEBUG_CXXFLAGS if this is ever not the case)
5186 DEBUG_CFLAGS=
5187 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
5188     DEBUG_CFLAGS="-g"
5189     wxUSE_OPTIMISE=no
5190 fi
5191
5192 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
5193     wxUSE_DEBUG_INFO=yes
5194     if test "$GCC" = yes; then
5195         DEBUG_CFLAGS="-ggdb"
5196     fi
5197 fi
5198
5199 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
5200     AC_DEFINE(WXDEBUG)
5201     WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D__WXDEBUG__"
5202 else
5203     if test "$wxUSE_GTK" = 1 ; then
5204         if test "x$wxGTK_VERSION" = "x1" ; then
5205             CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS"
5206         fi
5207     fi
5208 fi
5209
5210 if test "$wxUSE_MEM_TRACING" = "yes" ; then
5211     AC_DEFINE(wxUSE_MEMORY_TRACING)
5212     AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
5213     AC_DEFINE(wxUSE_DEBUG_NEW_ALWAYS)
5214     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
5215 fi
5216
5217 if test "$wxUSE_DMALLOC" = "yes" ; then
5218     DMALLOC_LIBS="-ldmallocthcxx"
5219 fi
5220
5221 dnl cc/cxx/ld option for profiling
5222 PROFILE_FLAGS=
5223 if test "$wxUSE_PROFILE" = "yes" ; then
5224     PROFILE_FLAGS=" -pg"
5225 fi
5226
5227 if test "$GCC" = "yes" ; then
5228     if test "$wxUSE_NO_RTTI" = "yes" ; then
5229         WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fno-rtti"
5230     fi
5231     if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
5232         WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fno-exceptions"
5233     fi
5234     if test "$wxUSE_PERMISSIVE" = "yes" ; then
5235         WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -fpermissive"
5236     fi
5237
5238     dnl Ian Brown <ian.brown@printsoft.de> reports that versions of gcc before
5239     dnl 3.0 overflow the table of contents on rs6000 as they create an entry
5240     dnl for each subroutine by default -- using the switch below only creates
5241     dnl one entry per file instead at the price of minor performance penalty
5242     dnl
5243     dnl As of wx2.4 a bug in the hppa gcc compiler causes a similar problem
5244     dnl without -ffunction-sections.  No idea how long we'll need to maintain
5245     dnl this, or even the extent of gcc/wx version combinations affected, but
5246     dnl also as above, this 'fix' does not come without side effects.
5247     dnl
5248     dnl TODO: test for the gcc version here (how?)
5249     case "${host}" in
5250       powerpc*-*-aix* )
5251         WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -mminimal-toc"
5252         ;;
5253       *-hppa* )
5254         WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -ffunction-sections"
5255         ;;
5256     esac
5257 fi
5258
5259 dnl C/C++ compiler option for optimization (supposed to be the same for both)
5260 OPTIMISE_CFLAGS=
5261 if test "$wxUSE_OPTIMISE" = "no" ; then
5262     if test "$GCC" = yes ; then
5263         dnl use -O0 because compiling with it is faster than compiling with no
5264         dnl optimization options at all (at least with g++ 3.2)
5265         OPTIMISE_CFLAGS="-O0"
5266     fi
5267 else
5268     if test "$GCC" = yes ; then
5269         case "${host}" in
5270             *-pc-os2_emx | *-pc-os2-emx )
5271                 dnl Not all of the supported gcc versions understand
5272                 dnl -fstrict-aliasing and none actually needs it (yet).
5273                 OPTIMISE_CFLAGS="-O2"
5274             ;;
5275             *)
5276                 dnl Switch on optimisation but keep strict-aliasing off for
5277                 dnl now (see -fstrict-aliasing in the gcc manual). When it is
5278                 dnl switched back on consider using -Wstrict-aliasing=2.
5279                 OPTIMISE_CFLAGS="-O2 -fno-strict-aliasing"
5280             ;;
5281         esac
5282     else
5283         OPTIMISE_CFLAGS="-O"
5284     fi
5285 fi
5286
5287 dnl ---------------------------------------------------------------------------
5288 dnl compatibility level
5289 dnl ---------------------------------------------------------------------------
5290
5291 if test "x$WXWIN_COMPATIBILITY_2_4" = "xyes"; then
5292     AC_DEFINE(WXWIN_COMPATIBILITY_2_4)
5293
5294     WXWIN_COMPATIBILITY_2_6="yes"
5295 fi
5296
5297 if test "x$WXWIN_COMPATIBILITY_2_6" != "xno"; then
5298     AC_DEFINE(WXWIN_COMPATIBILITY_2_6)
5299 fi
5300
5301 dnl ---------------------------------------------------------------------------
5302 dnl the library may be built without GUI classes at all
5303 dnl ---------------------------------------------------------------------------
5304
5305 if test "$wxUSE_GUI" = "yes"; then
5306     AC_DEFINE(wxUSE_GUI)
5307
5308     dnl the things we always pull in the GUI version of the library:
5309     dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
5310     dnl    library really can't be built without those)
5311     dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
5312     dnl    almost any program and the first 2 are needed to show a message box
5313     dnl    which want to be always able to do)
5314     dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
5315     dnl    to compile without them (if the app doesn't do any drawing, it doesn't
5316     dnl    need the dcs, pens, brushes, ...), this just can't be done now
5317     dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
5318     dnl 5. misc stuff: timers, settings, message box
5319 fi
5320
5321 dnl ---------------------------------------------------------------------------
5322 dnl Unix/Windows
5323 dnl ---------------------------------------------------------------------------
5324
5325 if test "$wxUSE_UNIX" = "yes"; then
5326   AC_DEFINE(wxUSE_UNIX)
5327 fi
5328
5329 dnl ------------------------------------------------------------------------
5330 dnl DLL support
5331 dnl ------------------------------------------------------------------------
5332
5333 dnl under MSW we always have LoadLibrary/GetProcAddress
5334 if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
5335
5336     HAVE_DL_FUNCS=0
5337     HAVE_SHL_FUNCS=0
5338     if test "$wxUSE_DYNAMIC_LOADER" = "yes" -o "$wxUSE_DYNLIB_CLASS" = "yes" ; then
5339         if test "$USE_DARWIN" = 1; then
5340             dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
5341             HAVE_DL_FUNCS=1
5342         elif test "$USE_DOS" = 1; then
5343             HAVE_DL_FUNCS=0
5344         else
5345             dnl the test is a bit complicated because we check for dlopen() both with
5346             dnl and without -ldl and we also try to find shl_load() if there is no
5347             dnl dlopen() on this system
5348             AC_CHECK_FUNCS(dlopen,
5349             [
5350                 AC_DEFINE(HAVE_DLOPEN)
5351                 HAVE_DL_FUNCS=1
5352             ],
5353             [
5354                 AC_CHECK_LIB(dl, dlopen,
5355                             [
5356                                 AC_DEFINE(HAVE_DLOPEN)
5357                                 HAVE_DL_FUNCS=1
5358                                 DL_LINK=" -ldl$DL_LINK"
5359                             ],
5360                             [
5361                                 AC_CHECK_FUNCS(shl_load,
5362                                               [
5363                                                 AC_DEFINE(HAVE_SHL_LOAD)
5364                                                 HAVE_SHL_FUNCS=1
5365                                               ],
5366                                               [
5367                                                 AC_CHECK_LIB(shl_load, dld,
5368                                                              [
5369                                                                 HAVE_SHL_FUNCS=1
5370                                                                 DL_LINK=" -ldld$DL_LINK"
5371                                                              ])
5372                                               ])
5373                             ])
5374             ])
5375
5376         dnl check also for dlerror()
5377         if test "$HAVE_DL_FUNCS" = 1; then
5378             AC_CHECK_FUNCS(dlerror,
5379                 AC_DEFINE(HAVE_DLERROR),
5380                 [
5381                     AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR))
5382                 ]
5383             )
5384         fi
5385         fi
5386
5387         if test "$HAVE_DL_FUNCS" = 0; then
5388             if test "$HAVE_SHL_FUNCS" = 0; then
5389               if test "$USE_UNIX" = 1 -o "$USE_DOS" = 1; then
5390                   AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
5391                   wxUSE_DYNAMIC_LOADER=no
5392                   wxUSE_DYNLIB_CLASS=no
5393               else
5394                   AC_MSG_WARN([Assuming wxLibrary class works on this platform])
5395               fi
5396             fi
5397         fi
5398     fi
5399 fi
5400
5401 if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
5402     AC_DEFINE(wxUSE_DYNAMIC_LOADER)
5403 fi
5404 if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
5405     AC_DEFINE(wxUSE_DYNLIB_CLASS)
5406 fi
5407
5408
5409 dnl ---------------------------------------------------------------------------
5410 dnl Verify consistency of plugins/monolithic/shared settings:
5411 dnl ---------------------------------------------------------------------------
5412
5413 if test "$wxUSE_PLUGINS" = "yes" ; then
5414     if test "$wxUSE_SHARED" = "no" ; then
5415         AC_MSG_WARN([plugins supported only in shared build, disabling])
5416         wxUSE_PLUGINS=no
5417     fi
5418     if test "$wxUSE_MONOLITHIC" = "yes" ; then
5419         AC_MSG_WARN([plugins not supported monolithic build, disabling])
5420         wxUSE_PLUGINS=no
5421     fi
5422     if test "$wxUSE_DYNLIB_CLASS" = "no" ; then
5423         AC_MSG_WARN([plugins require wxDynamicLibrary, disabling])
5424         wxUSE_PLUGINS=no
5425     fi
5426     if test "$wxUSE_PLUGINS" = "yes" ; then
5427         AC_DEFINE(wxUSE_PLUGINS)
5428     fi
5429 fi
5430
5431 dnl ---------------------------------------------------------------------------
5432 dnl Register non-GUI class options for makefiles and setup.h
5433 dnl ---------------------------------------------------------------------------
5434
5435 if test "$wxUSE_STL" = "yes"; then
5436   AC_DEFINE(wxUSE_STL)
5437 fi
5438
5439 if test "$wxUSE_APPLE_IEEE" = "yes"; then
5440   AC_DEFINE(wxUSE_APPLE_IEEE)
5441 fi
5442
5443 if test "$wxUSE_TIMER" = "yes"; then
5444   AC_DEFINE(wxUSE_TIMER)
5445 fi
5446
5447 dnl Unix implementation needs additional checks because audio support
5448 dnl comes in many favours:
5449 if test "$USE_UNIX" = "1" ; then
5450     dnl it's not enough to check for just the header because OSS under NetBSD
5451     dnl redefines ioctl as oss_ioctrl inside it and so we also need to test
5452     dnl whether we need -lossaudio at link-time
5453     AC_CACHE_CHECK([for SNDCTL_DSP_SPEED in sys/soundcard.h], ac_cv_header_sys_soundcard, [
5454         AC_TRY_LINK([
5455                 #include <sys/ioctl.h>
5456                 #include <sys/soundcard.h>
5457             ],
5458             [
5459                 ioctl(0, SNDCTL_DSP_SPEED, 0);
5460             ],
5461             ac_cv_header_sys_soundcard=yes,
5462             [
5463                 saveLibs="$LIBS"
5464                 LIBS="$saveLibs -lossaudio"
5465                 AC_TRY_LINK([
5466                         #include <sys/ioctl.h>
5467                         #include <sys/soundcard.h>
5468                     ],
5469                     [
5470                         ioctl(0, SNDCTL_DSP_SPEED, 0);
5471                     ],
5472                     ac_cv_header_sys_soundcard=yes,
5473                     [
5474                         LIBS="$saveLibs"
5475                         ac_cv_header_sys_soundcard=no
5476                     ]
5477                 )
5478             ]
5479         )
5480     ])
5481
5482     if test "$ac_cv_header_sys_soundcard" = "yes"; then
5483         AC_DEFINE(HAVE_SYS_SOUNDCARD_H)
5484     else
5485         DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"
5486     fi
5487 fi
5488 WITH_PLUGIN_SDL=0
5489 if test "$wxUSE_SOUND" = "yes"; then
5490   if test "$USE_UNIX" = "1" ; then
5491     if test "$wxUSE_LIBSDL" != "no"; then
5492       AM_PATH_SDL([1.2.0],
5493                   [
5494                     EXTRALIBS_SDL="$SDL_LIBS"
5495                     CXXFLAGS="$SDL_CFLAGS $CXXFLAGS"
5496                     AC_DEFINE(wxUSE_LIBSDL)
5497                   ],
5498                   [wxUSE_LIBSDL="no"])
5499       if test "$wxUSE_LIBSDL" = "yes" -a "$wxUSE_PLUGINS" = "yes" ; then
5500         WITH_PLUGIN_SDL=1
5501       fi
5502     fi
5503   fi
5504
5505   AC_DEFINE(wxUSE_SOUND)
5506   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
5507 fi
5508
5509 if test "$WXGTK20" = 1; then
5510     if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
5511         if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
5512
5513                 PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
5514                                   [libgnomeprintui-2.2 >= 2.8],
5515                     [
5516 dnl                     EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
5517                         CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
5518                         AC_DEFINE(wxUSE_LIBGNOMEPRINT)
5519                     ],
5520                     [
5521                         AC_MSG_WARN([libgnomeprintui not found, library will use standard PostScript printing])
5522                         wxUSE_LIBGNOMEPRINT="no"
5523                     ]
5524                 )
5525         fi
5526     fi
5527 fi
5528
5529 if test "$WXGTK20" = 1; then
5530     if test "$wxUSE_MIMETYPE" = "yes" ; then
5531         if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then
5532
5533                 PKG_CHECK_MODULES(GNOMEVFS,
5534                                   [gnome-vfs-2.0 >= 2.0],
5535                     [
5536 dnl                     EXTRALIBS_GNOMEVFS="$LIBGNOMEVFS_LIBS"
5537                         CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
5538                         AC_DEFINE(wxUSE_LIBGNOMEVFS)
5539                     ],
5540                     [
5541                         AC_MSG_WARN([libgnomevfs not found, library won't be able to associate MIME type])
5542                         wxUSE_LIBGNOMEVFS="no"
5543                     ]
5544                 )
5545         fi
5546     fi
5547 fi
5548
5549 if test "$WXGTK20" = 1; then
5550     if test "$wxUSE_LIBHILDON" = "yes" ; then
5551         PKG_CHECK_MODULES(HILDON, 
5552                           [hildon-lgpl >= 0.9],
5553             [
5554                 EXTRALIBS_HILDON="$HILDON_LIBS"
5555                 CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
5556                 AC_DEFINE(wxUSE_LIBHILDON)
5557             ],
5558             [
5559                 AC_MSG_WARN([libhildon_lgpl not found])
5560                         wxUSE_LIBHILDON="no"
5561             ]
5562         )
5563     fi
5564 fi
5565
5566 if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
5567   AC_DEFINE(wxUSE_CMDLINE_PARSER)
5568 fi
5569
5570 if test "$wxUSE_STOPWATCH" = "yes"; then
5571   AC_DEFINE(wxUSE_STOPWATCH)
5572 fi
5573
5574 if test "$wxUSE_DATETIME" = "yes"; then
5575   AC_DEFINE(wxUSE_DATETIME)
5576 fi
5577
5578 if test "$wxUSE_FILE" = "yes"; then
5579   AC_DEFINE(wxUSE_FILE)
5580 fi
5581
5582 if test "$wxUSE_FFILE" = "yes"; then
5583   AC_DEFINE(wxUSE_FFILE)
5584 fi
5585
5586 if test "$wxUSE_FILESYSTEM" = "yes"; then
5587   AC_DEFINE(wxUSE_FILESYSTEM)
5588 fi
5589
5590 if test "$wxUSE_FS_ZIP" = "yes"; then
5591   AC_DEFINE(wxUSE_FS_ZIP)
5592 fi
5593
5594 if test "$wxUSE_ARCHIVE_STREAMS" = "yes"; then
5595   AC_DEFINE(wxUSE_ARCHIVE_STREAMS)
5596 fi
5597
5598 if test "$wxUSE_ZIPSTREAM" = "yes"; then
5599   if test "$wxUSE_ARCHIVE_STREAMS" != "yes"; then
5600     AC_MSG_WARN(wxZip requires wxArchive... disabled)
5601   elif test "$wxUSE_ZLIB" = "no"; then
5602     AC_MSG_WARN(wxZip requires wxZlib... disabled)
5603   else
5604     AC_DEFINE(wxUSE_ZIPSTREAM)
5605   fi
5606 fi
5607
5608 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
5609   if test "$USE_UNIX" != 1; then
5610     AC_MSG_WARN([Catching fatal exceptions not currently supported on this system, wxApp::OnFatalException will not be called])
5611     wxUSE_ON_FATAL_EXCEPTION=no
5612   else
5613     AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
5614   fi
5615 fi
5616
5617 if test "$wxUSE_STACKWALKER" = "yes"; then
5618     AC_DEFINE(wxUSE_STACKWALKER)
5619 fi
5620
5621 if test "$wxUSE_DEBUGREPORT" = "yes"; then
5622     if test "$USE_UNIX" != "1" -a "$USE_WIN32" != "1"; then
5623         AC_MSG_WARN([Creating debug reports not currently supported on this system, disabled])
5624         wxUSE_DEBUGREPORT=no
5625     else
5626         AC_DEFINE(wxUSE_DEBUGREPORT)
5627         if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
5628             SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS debugrpt"
5629         fi
5630     fi
5631 fi
5632
5633 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
5634   AC_DEFINE(wxUSE_SNGLINST_CHECKER)
5635 fi
5636
5637 if test "$wxUSE_BUSYINFO" = "yes"; then
5638   AC_DEFINE(wxUSE_BUSYINFO)
5639 fi
5640
5641 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
5642   AC_DEFINE(wxUSE_STD_IOSTREAM)
5643 fi
5644
5645 if test "$wxUSE_STD_STRING" = "yes"; then
5646   AC_DEFINE(wxUSE_STD_STRING)
5647 fi
5648
5649 if test "$wxUSE_STDPATHS" = "yes"; then
5650   AC_DEFINE(wxUSE_STDPATHS)
5651 fi
5652
5653 if test "$wxUSE_TEXTBUFFER" = "yes"; then
5654     AC_DEFINE(wxUSE_TEXTBUFFER)
5655 fi
5656
5657 if test "$wxUSE_TEXTFILE" = "yes"; then
5658   if test "$wxUSE_FILE" != "yes" -o "$wxUSE_TEXTBUFFER" != "yes" ; then
5659     AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer... disabled)
5660   else
5661     AC_DEFINE(wxUSE_TEXTFILE)
5662   fi
5663 fi
5664
5665 if test "$wxUSE_CONFIG" = "yes" ; then
5666   if test "$wxUSE_TEXTFILE" != "yes"; then
5667     AC_MSG_WARN(wxConfig requires wxTextFile... disabled)
5668   else
5669     AC_DEFINE(wxUSE_CONFIG)
5670     AC_DEFINE(wxUSE_CONFIG_NATIVE)
5671     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
5672   fi
5673 fi
5674
5675 if test "$wxUSE_INTL" = "yes" ; then
5676   if test "$wxUSE_FILE" != "yes"; then
5677     AC_MSG_WARN(I18n code requires wxFile... disabled)
5678   else
5679     AC_DEFINE(wxUSE_INTL)
5680     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
5681     GUIDIST="$GUIDIST INTL_DIST"
5682   fi
5683 fi
5684
5685 if test "$wxUSE_LOG" = "yes"; then
5686   AC_DEFINE(wxUSE_LOG)
5687
5688     if test "$wxUSE_LOGGUI" = "yes"; then
5689       AC_DEFINE(wxUSE_LOGGUI)
5690     fi
5691
5692     if test "$wxUSE_LOGWINDOW" = "yes"; then
5693       AC_DEFINE(wxUSE_LOGWINDOW)
5694     fi
5695
5696     if test "$wxUSE_LOGDIALOG" = "yes"; then
5697       AC_DEFINE(wxUSE_LOG_DIALOG)
5698     fi
5699
5700     dnl the keyboard sample requires wxUSE_LOG
5701     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS keyboard"
5702 fi
5703
5704 if test "$wxUSE_LONGLONG" = "yes"; then
5705   AC_DEFINE(wxUSE_LONGLONG)
5706 fi
5707
5708 if test "$wxUSE_GEOMETRY" = "yes"; then
5709   AC_DEFINE(wxUSE_GEOMETRY)
5710 fi
5711
5712 if test "$wxUSE_STREAMS" = "yes" ; then
5713   AC_DEFINE(wxUSE_STREAMS)
5714 fi
5715
5716 if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then
5717   AC_DEFINE(wxUSE_PRINTF_POS_PARAMS)
5718 fi
5719
5720
5721 dnl ---------------------------------------------------------------------------
5722 dnl time/date functions
5723 dnl ---------------------------------------------------------------------------
5724
5725 if test "$wxUSE_DATETIME" = "yes"; then
5726     dnl check for strptime and for its declaration as some systems lack it
5727     AC_CHECK_FUNCS(strptime)
5728     if test "$ac_cv_func_strptime" = "yes"; then
5729         AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl,
5730             [
5731                 AC_TRY_COMPILE(
5732                     [
5733                         #include <time.h>
5734                     ],
5735                     [
5736                         struct tm t;
5737                         strptime("foo", "bar", &t);
5738                     ],
5739                     wx_cv_func_strptime_decl=yes,
5740                     wx_cv_func_strptime_decl=no
5741                 )
5742             ]
5743         )
5744     fi
5745     if test "$wx_cv_func_strptime_decl" = "yes"; then
5746         AC_DEFINE(HAVE_STRPTIME_DECL)
5747     fi
5748
5749     dnl check for timezone variable
5750     dnl   doesn't exist under Darwin / Mac OS X which uses tm_gmtoff instead
5751     AC_CACHE_CHECK(for timezone variable in <time.h>,
5752                    wx_cv_var_timezone,
5753                    [
5754                         AC_TRY_COMPILE(
5755                             [
5756                                 #include <time.h>
5757                             ],
5758                             [
5759                                 int tz;
5760                                 tz = timezone;
5761                             ],
5762                             [
5763                                 wx_cv_var_timezone=timezone
5764                             ],
5765                             [
5766                                 AC_TRY_COMPILE(
5767                                     [
5768                                         #include <time.h>
5769                                     ],
5770                                     [
5771                                         int tz;
5772                                         tz = _timezone;
5773                                     ],
5774                                     [
5775                                         wx_cv_var_timezone=_timezone
5776                                     ],
5777                                     [
5778                                         AC_TRY_COMPILE(
5779                                             [
5780                                                 #include <time.h>
5781                                             ],
5782                                             [
5783                                                 int tz;
5784                                                 tz = __timezone;
5785                                             ],
5786                                             [
5787                                                 wx_cv_var_timezone=__timezone
5788                                             ],
5789                                             [
5790                                                 if test "$USE_DOS" = 0 ; then
5791                                                     AC_MSG_WARN(no timezone variable, will use tm_gmtoff instead)
5792                                                 fi
5793                                             ]
5794                                         )
5795                                     ]
5796                                 )
5797                             ]
5798                         )
5799                    ]
5800     )
5801
5802     dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
5803     if test "x$wx_cv_var_timezone" != x ; then
5804         AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
5805     fi
5806
5807     dnl check for localtime (it's POSIX, but the check can do no harm...)
5808     AC_CHECK_FUNCS(localtime)
5809
5810     if test "$ac_cv_func_localtime" = "yes"; then
5811         AC_CACHE_CHECK(for tm_gmtoff in struct tm,
5812                        wx_cv_struct_tm_has_gmtoff,
5813         [
5814             AC_TRY_COMPILE(
5815                 [
5816                     #include <time.h>
5817                 ],
5818                 [
5819                     struct tm tm;
5820                     tm.tm_gmtoff++;
5821                 ],
5822                 [
5823                     wx_cv_struct_tm_has_gmtoff=yes
5824                 ],
5825                 wx_cv_struct_tm_has_gmtoff=no
5826             )
5827         ])
5828     fi
5829
5830     if test "$wx_cv_struct_tm_has_gmtoff" = "yes"; then
5831         AC_DEFINE(WX_GMTOFF_IN_TM)
5832     fi
5833
5834     dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the
5835     dnl function to be used for high resolution timers
5836     AC_CHECK_FUNCS(gettimeofday ftime, break)
5837
5838     if test "$ac_cv_func_gettimeofday" = "yes"; then
5839         AC_CACHE_CHECK([whether gettimeofday takes two arguments],
5840                        wx_cv_func_gettimeofday_has_2_args,
5841         [
5842             dnl on some _really_ old systems it takes only 1 argument
5843             AC_TRY_COMPILE(
5844                 [
5845                     #include <sys/time.h>
5846                     #include <unistd.h>
5847                 ],
5848                 [
5849                     struct timeval tv;
5850                     gettimeofday(&tv, NULL);
5851                 ],
5852                 wx_cv_func_gettimeofday_has_2_args=yes,
5853                 AC_TRY_COMPILE(
5854                     [
5855                         #include <sys/time.h>
5856                         #include <unistd.h>
5857                     ],
5858                     [
5859                         struct timeval tv;
5860                         gettimeofday(&tv);
5861                     ],
5862                     wx_cv_func_gettimeofday_has_2_args=no,
5863                     [
5864                         AC_MSG_WARN([failed to determine number of gettimeofday() arguments])
5865                         wx_cv_func_gettimeofday_has_2_args=unknown
5866                     ]
5867                 )
5868             )
5869         ])
5870
5871         if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then
5872             AC_DEFINE(WX_GETTIMEOFDAY_NO_TZ)
5873         fi
5874     fi
5875
5876     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
5877 fi
5878
5879 dnl ------------------------------------------------------------------------
5880 dnl wxSocket
5881 dnl ------------------------------------------------------------------------
5882
5883 dnl VZ: the GUI hooks wxSocket needs are not implemented yet in some toolkits
5884 if test "$wxUSE_SOCKETS" = "yes"; then
5885     if test "$wxUSE_MGL" = "1"; then
5886         AC_MSG_WARN([wxSocket not yet supported under MGL... disabled])
5887         wxUSE_SOCKETS="no"
5888     fi
5889 fi
5890
5891 if test "$wxUSE_SOCKETS" = "yes"; then
5892     dnl under MSW we always have sockets
5893     if test "$TOOLKIT" != "MSW"; then
5894         dnl under Solaris and OS/2, socket functions live in -lsocket
5895         AC_CHECK_FUNC(socket,,
5896             [
5897                 AC_CHECK_LIB(socket, socket,
5898                     if test "$INET_LINK" != " -lsocket"; then
5899                         INET_LINK="$INET_LINK -lsocket"
5900                     fi,
5901                     [
5902                         AC_MSG_WARN([socket library not found - sockets will be disabled])
5903                         wxUSE_SOCKETS=no
5904                     ]
5905                 )
5906             ]
5907         )
5908     fi
5909 fi
5910
5911 if test "$wxUSE_SOCKETS" = "yes" ; then
5912     dnl this test may be appropriate if building under cygwin
5913     dnl right now I'm assuming it also uses the winsock stuff
5914     dnl like mingw does..  -- RL
5915     if test "$TOOLKIT" != "MSW"; then
5916         dnl determine the type of third argument for getsockname
5917         dnl This test needs to be done in C++ mode since gsocket.cpp now
5918         dnl is C++ code and pointer cast that are possible even without
5919         dnl warning in C still fail in C++.
5920         AC_CACHE_CHECK([what is the type of the third argument of getsockname],
5921                        wx_cv_type_getsockname3,
5922             [
5923                 AC_TRY_COMPILE(
5924                     [
5925                         #include <sys/types.h>
5926                         #include <sys/socket.h>
5927                     ],
5928                     [
5929                         socklen_t len;
5930                         getsockname(0, 0, &len);
5931                     ],
5932                     wx_cv_type_getsockname3=socklen_t,
5933                     [
5934                         dnl the compiler will compile the version with size_t
5935                         dnl even if the real type of the last parameter is int
5936                         dnl but it should give at least a warning about
5937                         dnl converting between incompatible pointer types, so
5938                         dnl try to use it to get the correct behaviour at
5939                         dnl least with gcc (otherwise we'd always use size_t)
5940                         CXXFLAGS_OLD="$CXXFLAGS"
5941                         if test "$GCC" = yes ; then
5942                             CXXFLAGS="-Werror $CXXFLAGS"
5943                         fi
5944
5945                         AC_TRY_COMPILE(
5946                             [
5947                                 #include <sys/types.h>
5948                                 #include <sys/socket.h>
5949                             ],
5950                             [
5951                                 size_t len;
5952                                 getsockname(0, 0, &len);
5953                             ],
5954                             wx_cv_type_getsockname3=size_t,
5955                             AC_TRY_COMPILE(
5956                                 [
5957                                     #include <sys/types.h>
5958                                     #include <sys/socket.h>
5959                                 ],
5960                                 [
5961                                     int len;
5962                                     getsockname(0, 0, &len);
5963                                 ],
5964                                 wx_cv_type_getsockname3=int,
5965                                 wx_cv_type_getsockname3=unknown
5966                             )
5967                         )
5968
5969                         CXXFLAGS="$CXXFLAGS_OLD"
5970                     ]
5971                 )
5972             ])
5973
5974         if test "$wx_cv_type_getsockname3" = "unknown"; then
5975             wxUSE_SOCKETS=no
5976             AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
5977         else
5978             AC_DEFINE_UNQUOTED(WX_SOCKLEN_T, $wx_cv_type_getsockname3)
5979         fi
5980         dnl Do this again for getsockopt as it may be different
5981         AC_CACHE_CHECK([what is the type of the fifth argument of getsockopt],
5982                        wx_cv_type_getsockopt5,
5983             [
5984                 AC_TRY_COMPILE(
5985                     [
5986                         #include <sys/types.h>
5987                         #include <sys/socket.h>
5988                     ],
5989                     [
5990                         socklen_t len;
5991                         getsockopt(0, 0, 0, 0, &len);
5992                     ],
5993                     wx_cv_type_getsockopt5=socklen_t,
5994                     [
5995                         dnl the compiler will compile the version with size_t
5996                         dnl even if the real type of the last parameter is int
5997                         dnl but it should give at least a warning about
5998                         dnl converting between incompatible pointer types, so
5999                         dnl try to use it to get the correct behaviour at
6000                         dnl least with gcc (otherwise we'd always use size_t)
6001                         CXXFLAGS_OLD="$CXXFLAGS"
6002                         if test "$GCC" = yes ; then
6003                             CXXFLAGS="-Werror $CXXFLAGS"
6004                         fi
6005
6006                         AC_TRY_COMPILE(
6007                             [
6008                                 #include <sys/types.h>
6009                                 #include <sys/socket.h>
6010                             ],
6011                             [
6012                                 size_t len;
6013                                 getsockopt(0, 0, 0, 0, &len);
6014                             ],
6015                             wx_cv_type_getsockopt5=size_t,
6016                             AC_TRY_COMPILE(
6017                                 [
6018                                     #include <sys/types.h>
6019                                     #include <sys/socket.h>
6020                                 ],
6021                                 [
6022                                     int len;
6023                                     getsockopt(0, 0, 0, 0, &len);
6024                                 ],
6025                                 wx_cv_type_getsockopt5=int,
6026                                 wx_cv_type_getsockopt5=unknown
6027                             )
6028                         )
6029
6030                         CXXFLAGS="$CXXFLAGS_OLD"
6031                     ]
6032                 )
6033             ])
6034
6035         if test "$wx_cv_type_getsockopt5" = "unknown"; then
6036             wxUSE_SOCKETS=no
6037             AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
6038         else
6039             AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5)
6040         fi
6041     fi
6042 fi
6043
6044 if test "$wxUSE_SOCKETS" = "yes" ; then
6045     AC_DEFINE(wxUSE_SOCKETS)
6046     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
6047 fi
6048
6049 if test "$wxUSE_PROTOCOL" = "yes"; then
6050     if test "$wxUSE_SOCKETS" != "yes"; then
6051         AC_MSG_WARN(Protocol classes require sockets... disabled)
6052         wxUSE_PROTOCOL=no
6053     fi
6054 fi
6055
6056 if test "$wxUSE_PROTOCOL" = "yes"; then
6057     AC_DEFINE(wxUSE_PROTOCOL)
6058
6059     if test "$wxUSE_PROTOCOL_HTTP" = "yes"; then
6060         AC_DEFINE(wxUSE_PROTOCOL_HTTP)
6061     fi
6062     if test "$wxUSE_PROTOCOL_FTP" = "yes"; then
6063         AC_DEFINE(wxUSE_PROTOCOL_FTP)
6064     fi
6065     if test "$wxUSE_PROTOCOL_FILE" = "yes"; then
6066         AC_DEFINE(wxUSE_PROTOCOL_FILE)
6067     fi
6068 else
6069     if test "$wxUSE_FS_INET" = "yes"; then
6070         AC_MSG_WARN([HTTP filesystem require protocol classes... disabled])
6071         wxUSE_FS_INET="no"
6072     fi
6073 fi
6074
6075 if test "$wxUSE_URL" = "yes"; then
6076     if test "$wxUSE_PROTOCOL" != "yes"; then
6077         AC_MSG_WARN(wxURL class requires wxProtocol... disabled)
6078         wxUSE_URL=no
6079     fi
6080     if test "$wxUSE_URL" = "yes"; then
6081         AC_DEFINE(wxUSE_URL)
6082     fi
6083 fi
6084
6085 if test "$wxUSE_FS_INET" = "yes"; then
6086   AC_DEFINE(wxUSE_FS_INET)
6087 fi
6088
6089 dnl ---------------------------------------------------------------------------
6090 dnl Joystick support
6091 dnl ---------------------------------------------------------------------------
6092
6093 if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then
6094     wxUSE_JOYSTICK=no
6095
6096     dnl under MSW we always have joystick support
6097     if test "$TOOLKIT" = "MSW"; then
6098         wxUSE_JOYSTICK=yes
6099
6100     dnl mac only available on darwin
6101     elif test "$TOOLKIT" = "MAC" -o "$TOOLKIT" = "COCOA"; then
6102         if test "$USE_DARWIN" = 1; then
6103             dnl check for a bug in the headers, some have bad setEventCallout
6104             AC_MSG_CHECKING([headers have declarations needed for joystick support])
6105             AC_TRY_COMPILE( [ #include <IOKit/hid/IOHIDLib.h> ],
6106                             [ IOHIDQueueInterface *qi = NULL;
6107                               IOHIDCallbackFunction cb = NULL;
6108                               qi->setEventCallout(NULL, cb, NULL, NULL); ],
6109                             [ wxUSE_JOYSTICK=yes ]
6110                           )
6111             AC_MSG_RESULT($wxUSE_JOYSTICK)
6112         fi
6113
6114     dnl joystick support is only for Linux 2.1.x or greater
6115     else
6116         AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes)
6117     fi
6118
6119     if test "$wxUSE_JOYSTICK" = "yes"; then
6120         AC_DEFINE(wxUSE_JOYSTICK)
6121         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
6122     else
6123         AC_MSG_WARN(Joystick not supported by this system... disabled)
6124     fi
6125 fi
6126
6127
6128 dnl ---------------------------------------------------------------------------
6129 dnl String stuff
6130 dnl ---------------------------------------------------------------------------
6131
6132 if test "$wxUSE_FONTMAP" = "yes" ; then
6133   AC_DEFINE(wxUSE_FONTMAP)
6134 fi
6135
6136 if test "$wxUSE_UNICODE" = "yes" ; then
6137   AC_DEFINE(wxUSE_UNICODE)
6138
6139   if test "$USE_WIN32" != 1; then
6140       wxUSE_UNICODE_MSLU=no
6141   fi
6142
6143   if test "$USE_WIN32" = 1 -a "$wxUSE_UNICODE_MSLU" = "yes"; then
6144         AC_CHECK_LIB(unicows,main,
6145             [
6146                 AC_DEFINE(wxUSE_UNICODE_MSLU)
6147             ],
6148             [
6149                 AC_MSG_WARN([Compiler doesn't support MSLU (libunicows.a), disabled.
6150                              Applications will only run on Windows NT/2000/XP!])
6151                 wxUSE_UNICODE_MSLU=no
6152             ])
6153     fi
6154 fi
6155
6156 if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
6157   AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
6158 fi
6159
6160 dnl ----------------------------------------------------------------
6161 dnl Register PostScript options for makefiles and setup.h
6162 dnl ----------------------------------------------------------------
6163
6164 if test "$wxUSE_POSTSCRIPT" = "yes" ; then
6165   AC_DEFINE(wxUSE_POSTSCRIPT)
6166 fi
6167
6168 AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
6169
6170 AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
6171
6172 dnl ---------------------------------------------------------------------------
6173 dnl big GUI components: MDI, doc/view, printing, help, ...
6174 dnl ---------------------------------------------------------------------------
6175
6176 if test "$wxUSE_CONSTRAINTS" = "yes"; then
6177     AC_DEFINE(wxUSE_CONSTRAINTS)
6178     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
6179 fi
6180
6181 if test "$wxUSE_MDI" = "yes"; then
6182     AC_DEFINE(wxUSE_MDI)
6183
6184     if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
6185         AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
6186         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
6187     fi
6188 fi
6189
6190 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
6191     AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
6192     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
6193     if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
6194         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
6195     fi
6196 fi
6197
6198 if test "$wxUSE_HELP" = "yes"; then
6199     AC_DEFINE(wxUSE_HELP)
6200     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
6201
6202     if test "$wxUSE_MSW" = 1; then
6203       if test "$wxUSE_MS_HTML_HELP" = "yes"; then
6204         AC_DEFINE(wxUSE_MS_HTML_HELP)
6205       fi
6206     fi
6207
6208     if test "$wxUSE_WXHTML_HELP" = "yes"; then
6209       if test "$wxUSE_HTML" = "yes"; then
6210         AC_DEFINE(wxUSE_WXHTML_HELP)
6211       else
6212         AC_MSG_WARN(Cannot use wxHTML-based help without wxHTML so it won't be compiled)
6213         wxUSE_WXHTML_HELP=no
6214       fi
6215     fi
6216 fi
6217
6218 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
6219     if test "$wxUSE_CONSTRAINTS" != "yes"; then
6220         AC_MSG_WARN(Printing support cannot be used without constraints so it won't be compiled without it)
6221     else
6222         AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
6223     fi
6224     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
6225 fi
6226
6227 if test "$wxUSE_PROLOGIO" = "yes" -o  "$wxUSE_RESOURCES" = "yes"; then
6228     AC_MSG_ERROR([wxExpr and old-style resources are now available in contrib only])
6229 fi
6230
6231 dnl ---------------------------------------------------------------------------
6232 dnl wxMetafile availability
6233 dnl ---------------------------------------------------------------------------
6234
6235 if test "$wxUSE_METAFILE" = "yes"; then
6236     if test "$wxUSE_MSW" != 1 -a "$wxUSE_MAC" != 1 -a "$wxUSE_PM" != 1; then
6237         AC_MSG_WARN([wxMetafile is not available on this system... disabled])
6238         wxUSE_METAFILE=no
6239     fi
6240 fi
6241
6242 dnl ---------------------------------------------------------------------------
6243 dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
6244 dnl ---------------------------------------------------------------------------
6245
6246 dnl check for ole headers and disable a few features requiring it if not
6247 dnl present (earlier versions of mingw32 don't have ole2.h)
6248 if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
6249                           -o "$wxUSE_CLIPBOARD"     = "yes" \
6250                           -o "$wxUSE_OLE"     = "yes" \
6251                           -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
6252     AC_CHECK_HEADERS(ole2.h)
6253
6254     if test "$ac_cv_header_ole2_h" = "yes" ; then
6255         if test "$GCC" = yes ; then
6256             AC_MSG_CHECKING([if g++ requires -fvtable-thunks])
6257             AC_TRY_COMPILE([#include <windows.h>
6258                             #include <ole2.h>],
6259                            [],
6260                            [AC_MSG_RESULT(no)],
6261                            [AC_MSG_RESULT(yes)
6262                             WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fvtable-thunks"])
6263             LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
6264             if test "$wxUSE_OLE" = "yes" ; then
6265                 AC_DEFINE(wxUSE_OLE)
6266                 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS oleauto"
6267             fi
6268         fi
6269
6270         dnl for OLE clipboard and dnd
6271         if test "$wxUSE_DATAOBJ" = "yes" ; then
6272             AC_DEFINE(wxUSE_DATAOBJ)
6273         fi
6274     else
6275         AC_MSG_WARN([Some features disabled because OLE headers not found])
6276
6277         wxUSE_CLIPBOARD=no
6278         wxUSE_DRAG_AND_DROP=no
6279         wxUSE_DATAOBJ=no
6280         wxUSE_OLE=no
6281     fi
6282
6283     if test "$wxUSE_METAFILE" = "yes"; then
6284         AC_DEFINE(wxUSE_METAFILE)
6285
6286         dnl this one should probably be made separately configurable
6287         AC_DEFINE(wxUSE_ENH_METAFILE)
6288     fi
6289 fi
6290
6291 if test "$wxUSE_IPC" = "yes"; then
6292     if test "$wxUSE_SOCKETS" != "yes" -a "$USE_WIN32" != 1; then
6293         AC_MSG_WARN(wxWidgets IPC classes require sockets... disabled)
6294         wxUSE_IPC=no
6295     fi
6296
6297     if test "$wxUSE_IPC" = "yes"; then
6298         AC_DEFINE(wxUSE_IPC)
6299         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ipc"
6300     fi
6301 fi
6302
6303 if test "$wxUSE_DATAOBJ" = "yes"; then
6304     if test "$wxUSE_MGL" = 1; then
6305         AC_MSG_WARN([wxDataObject not yet supported under MGL... disabled])
6306         wxUSE_DATAOBJ=no
6307     else
6308         AC_DEFINE(wxUSE_DATAOBJ)
6309     fi
6310 else
6311     AC_MSG_WARN([Clipboard and drag-and-drop require wxDataObject -- disabled])
6312     wxUSE_CLIPBOARD=no
6313     wxUSE_DRAG_AND_DROP=no
6314 fi
6315
6316 if test "$wxUSE_CLIPBOARD" = "yes"; then
6317     if test "$wxUSE_MGL" = 1; then
6318         AC_MSG_WARN([Clipboard not yet supported under MGL... disabled])
6319         wxUSE_CLIPBOARD=no
6320     fi
6321
6322     if test "$wxUSE_CLIPBOARD" = "yes"; then
6323         AC_DEFINE(wxUSE_CLIPBOARD)
6324     fi
6325 fi
6326
6327 if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
6328     if test "$wxUSE_GTK" = 1; then
6329         if test "$WXGTK12" != 1; then
6330             AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2... disabled])
6331             wxUSE_DRAG_AND_DROP=no
6332         fi
6333     fi
6334
6335     if test "$wxUSE_MOTIF" = 1; then
6336         AC_MSG_WARN([Drag and drop not yet supported under Motif... disabled])
6337         wxUSE_DRAG_AND_DROP=no
6338     fi
6339
6340     if test "$wxUSE_X11" = 1; then
6341         AC_MSG_WARN([Drag and drop not yet supported under X11... disabled])
6342         wxUSE_DRAG_AND_DROP=no
6343     fi
6344
6345     if test "$wxUSE_MGL" = 1; then
6346         AC_MSG_WARN([Drag and drop not yet supported under MGL... disabled])
6347         wxUSE_DRAG_AND_DROP=no
6348     fi
6349
6350     if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
6351         AC_DEFINE(wxUSE_DRAG_AND_DROP)
6352     fi
6353
6354 fi
6355
6356 if test "$wxUSE_DRAG_AND_DROP" = "yes" -o "$wxUSE_CLIPBOARD" = "yes"; then
6357     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
6358 fi
6359
6360 if test "$wxUSE_SPLINES" = "yes" ; then
6361   AC_DEFINE(wxUSE_SPLINES)
6362 fi
6363
6364 if test "$wxUSE_MOUSEWHEEL" = "yes" ; then
6365   AC_DEFINE(wxUSE_MOUSEWHEEL)
6366 fi
6367
6368 dnl ---------------------------------------------------------------------------
6369 dnl GUI controls
6370 dnl ---------------------------------------------------------------------------
6371
6372 USES_CONTROLS=0
6373 if test "$wxUSE_CONTROLS" = "yes"; then
6374   USES_CONTROLS=1
6375 fi
6376
6377 if test "$wxUSE_ACCEL" = "yes"; then
6378   AC_DEFINE(wxUSE_ACCEL)
6379   USES_CONTROLS=1
6380 fi
6381
6382 if test "$wxUSE_BUTTON" = "yes"; then
6383   AC_DEFINE(wxUSE_BUTTON)
6384   USES_CONTROLS=1
6385 fi
6386
6387 if test "$wxUSE_BMPBUTTON" = "yes"; then
6388   AC_DEFINE(wxUSE_BMPBUTTON)
6389   USES_CONTROLS=1
6390 fi
6391
6392 if test "$wxUSE_CALCTRL" = "yes"; then
6393   AC_DEFINE(wxUSE_CALENDARCTRL)
6394   USES_CONTROLS=1
6395   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS calendar"
6396 fi
6397
6398 if test "$wxUSE_CARET" = "yes"; then
6399   AC_DEFINE(wxUSE_CARET)
6400   USES_CONTROLS=1
6401   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
6402 fi
6403
6404 if test "$wxUSE_COMBOBOX" = "yes"; then
6405   AC_DEFINE(wxUSE_COMBOBOX)
6406   USES_CONTROLS=1
6407 fi
6408
6409 if test "$wxUSE_COMBOCTRL" = "yes"; then
6410   AC_DEFINE(wxUSE_COMBOCTRL)
6411   USES_CONTROLS=1
6412 fi
6413
6414 if test "$wxUSE_CHOICE" = "yes"; then
6415   AC_DEFINE(wxUSE_CHOICE)
6416   USES_CONTROLS=1
6417 fi
6418
6419 if test "$wxUSE_CHOICEBOOK" = "yes"; then
6420     AC_DEFINE(wxUSE_CHOICEBOOK)
6421     USES_CONTROLS=1
6422 fi
6423
6424 if test "$wxUSE_CHECKBOX" = "yes"; then
6425   AC_DEFINE(wxUSE_CHECKBOX)
6426   USES_CONTROLS=1
6427 fi
6428
6429 if test "$wxUSE_CHECKLST" = "yes"; then
6430   AC_DEFINE(wxUSE_CHECKLISTBOX)
6431   USES_CONTROLS=1
6432   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
6433 fi
6434
6435 if test "$wxUSE_COLOURPICKERCTRL" = "yes"; then
6436   AC_DEFINE(wxUSE_COLOURPICKERCTRL)
6437   USES_CONTROLS=1
6438 fi
6439
6440 if test "$wxUSE_DATEPICKCTRL" = "yes"; then
6441   AC_DEFINE(wxUSE_DATEPICKCTRL)
6442   USES_CONTROLS=1
6443 fi
6444
6445 if test "$wxUSE_DIRPICKERCTRL" = "yes"; then
6446   AC_DEFINE(wxUSE_DIRPICKERCTRL)
6447   USES_CONTROLS=1
6448 fi
6449
6450 if test "$wxUSE_FILEPICKERCTRL" = "yes"; then
6451   AC_DEFINE(wxUSE_FILEPICKERCTRL)
6452   USES_CONTROLS=1
6453 fi
6454
6455 if test "$wxUSE_FONTPICKERCTRL" = "yes"; then
6456   AC_DEFINE(wxUSE_FONTPICKERCTRL)
6457   USES_CONTROLS=1
6458 fi
6459
6460 if test "$wxUSE_DISPLAY" = "yes"; then
6461     AC_DEFINE(wxUSE_DISPLAY)
6462     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon"
6463 fi
6464
6465 if test "$wxUSE_GAUGE" = "yes"; then
6466   AC_DEFINE(wxUSE_GAUGE)
6467   USES_CONTROLS=1
6468 fi
6469
6470 if test "$wxUSE_GRID" = "yes"; then
6471   AC_DEFINE(wxUSE_GRID)
6472   USES_CONTROLS=1
6473   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
6474 fi
6475
6476 if test "$wxUSE_HYPERLINKCTRL" = "yes"; then
6477   AC_DEFINE(wxUSE_HYPERLINKCTRL)
6478   USES_CONTROLS=1
6479 fi
6480
6481 if test "$wxUSE_DATAVIEWCTRL" = "yes"; then
6482   AC_DEFINE(wxUSE_DATAVIEWCTRL)
6483   USES_CONTROLS=1
6484   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dataview"
6485 fi
6486
6487 if test "$wxUSE_IMAGLIST" = "yes"; then
6488     AC_DEFINE(wxUSE_IMAGLIST)
6489 fi
6490
6491 if test "$wxUSE_LISTBOOK" = "yes"; then
6492     AC_DEFINE(wxUSE_LISTBOOK)
6493     USES_CONTROLS=1
6494 fi
6495
6496 if test "$wxUSE_LISTBOX" = "yes"; then
6497     AC_DEFINE(wxUSE_LISTBOX)
6498     USES_CONTROLS=1
6499     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listbox"
6500 fi
6501
6502 if test "$wxUSE_LISTCTRL" = "yes"; then
6503     if test "$wxUSE_IMAGLIST" = "yes"; then
6504         AC_DEFINE(wxUSE_LISTCTRL)
6505         USES_CONTROLS=1
6506         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
6507     else
6508         AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
6509     fi
6510 fi
6511
6512 if test "$wxUSE_NOTEBOOK" = "yes"; then
6513     AC_DEFINE(wxUSE_NOTEBOOK)
6514     USES_CONTROLS=1
6515     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
6516 fi
6517
6518 if test "$wxUSE_ODCOMBOBOX" = "yes"; then
6519   AC_DEFINE(wxUSE_ODCOMBOBOX)
6520   USES_CONTROLS=1
6521   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS combo"
6522 fi
6523
6524 dnl if test "$wxUSE_PROPSHEET" = "yes"; then
6525 dnl     AC_DEFINE(wxUSE_PROPSHEET)
6526 dnl     USES_CONTROLS=1
6527 dnl     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist"
6528 dnl fi
6529
6530 if test "$wxUSE_RADIOBOX" = "yes"; then
6531     AC_DEFINE(wxUSE_RADIOBOX)
6532     USES_CONTROLS=1
6533 fi
6534
6535 if test "$wxUSE_RADIOBTN" = "yes"; then
6536     AC_DEFINE(wxUSE_RADIOBTN)
6537     USES_CONTROLS=1
6538 fi
6539
6540 if test "$wxUSE_SASH" = "yes"; then
6541     AC_DEFINE(wxUSE_SASH)
6542     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
6543 fi
6544
6545 if test "$wxUSE_SCROLLBAR" = "yes"; then
6546     AC_DEFINE(wxUSE_SCROLLBAR)
6547     USES_CONTROLS=1
6548     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
6549 fi
6550
6551 if test "$wxUSE_SLIDER" = "yes"; then
6552     AC_DEFINE(wxUSE_SLIDER)
6553     USES_CONTROLS=1
6554 fi
6555
6556 if test "$wxUSE_SPINBTN" = "yes"; then
6557     AC_DEFINE(wxUSE_SPINBTN)
6558     USES_CONTROLS=1
6559 fi
6560
6561 if test "$wxUSE_SPINCTRL" = "yes"; then
6562     AC_DEFINE(wxUSE_SPINCTRL)
6563     USES_CONTROLS=1
6564 fi
6565
6566 if test "$wxUSE_SPLITTER" = "yes"; then
6567     AC_DEFINE(wxUSE_SPLITTER)
6568     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
6569 fi
6570
6571 if test "$wxUSE_STATBMP" = "yes"; then
6572     AC_DEFINE(wxUSE_STATBMP)
6573     USES_CONTROLS=1
6574 fi
6575
6576 if test "$wxUSE_STATBOX" = "yes"; then
6577     AC_DEFINE(wxUSE_STATBOX)
6578     USES_CONTROLS=1
6579 fi
6580
6581 if test "$wxUSE_STATTEXT" = "yes"; then
6582     AC_DEFINE(wxUSE_STATTEXT)
6583     USES_CONTROLS=1
6584 fi
6585
6586 if test "$wxUSE_STATLINE" = "yes"; then
6587     AC_DEFINE(wxUSE_STATLINE)
6588     USES_CONTROLS=1
6589 fi
6590
6591 if test "$wxUSE_STATUSBAR" = "yes"; then
6592     dnl this will get undefined in wx/chkconf.h if it's not supported
6593     AC_DEFINE(wxUSE_NATIVE_STATUSBAR)
6594     AC_DEFINE(wxUSE_STATUSBAR)
6595     USES_CONTROLS=1
6596
6597     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
6598 fi
6599
6600 if test "$wxUSE_TAB_DIALOG" = "yes"; then
6601     AC_DEFINE(wxUSE_TAB_DIALOG)
6602 fi
6603
6604 if test "$wxUSE_TEXTCTRL" = "yes"; then
6605     AC_DEFINE(wxUSE_TEXTCTRL)
6606     USES_CONTROLS=1
6607     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS text"
6608 fi
6609
6610 if test "$wxUSE_TOGGLEBTN" = "yes"; then
6611     if test "$wxUSE_COCOA" = 1 ; then
6612         AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
6613         wxUSE_TOGGLEBTN=no
6614     fi
6615
6616     if test "$wxUSE_TOGGLEBTN" = "yes"; then
6617         AC_DEFINE(wxUSE_TOGGLEBTN)
6618         USES_CONTROLS=1
6619     fi
6620 fi
6621
6622 if test "$wxUSE_TOOLBAR" = "yes"; then
6623     AC_DEFINE(wxUSE_TOOLBAR)
6624     USES_CONTROLS=1
6625
6626     if test "$wxUSE_UNIVERSAL" = "yes"; then
6627         wxUSE_TOOLBAR_NATIVE="no"
6628     else
6629         wxUSE_TOOLBAR_NATIVE="yes"
6630         AC_DEFINE(wxUSE_TOOLBAR_NATIVE)
6631     fi
6632
6633     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
6634 fi
6635
6636 if test "$wxUSE_TOOLTIPS" = "yes"; then
6637     if test "$wxUSE_MOTIF" = 1; then
6638         AC_MSG_WARN([wxTooltip not supported yet under Motif... disabled])
6639     else
6640         if test "$wxUSE_UNIVERSAL" = "yes"; then
6641             AC_MSG_WARN([wxTooltip not supported yet in wxUniversal... disabled])
6642         else
6643             AC_DEFINE(wxUSE_TOOLTIPS)
6644         fi
6645     fi
6646 fi
6647
6648 if test "$wxUSE_TREEBOOK" = "yes"; then
6649     AC_DEFINE(wxUSE_TREEBOOK)
6650     USES_CONTROLS=1
6651 fi
6652
6653 if test "$wxUSE_TOOLBOOK" = "yes"; then
6654     AC_DEFINE(wxUSE_TOOLBOOK)
6655     USES_CONTROLS=1
6656 fi
6657
6658 if test "$wxUSE_TREECTRL" = "yes"; then
6659     if test "$wxUSE_IMAGLIST" = "yes"; then
6660         AC_DEFINE(wxUSE_TREECTRL)
6661         USES_CONTROLS=1
6662         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
6663     else
6664         AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
6665     fi
6666 fi
6667
6668 if test "$wxUSE_POPUPWIN" = "yes"; then
6669     if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
6670         AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled])
6671     else
6672         if test "$wxUSE_PM" = 1; then
6673             AC_MSG_WARN([wxPopupWindow not yet supported under PM... disabled])
6674         else
6675             AC_DEFINE(wxUSE_POPUPWIN)
6676             SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS popup"
6677
6678             USES_CONTROLS=1
6679         fi
6680     fi
6681 fi
6682
6683 if test "$wxUSE_DIALUP_MANAGER" = "yes"; then
6684     if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
6685         AC_MSG_WARN([Dialup manager not yet supported under Mac OS X... disabled])
6686     else
6687         AC_DEFINE(wxUSE_DIALUP_MANAGER)
6688         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
6689     fi
6690 fi
6691
6692 if test "$wxUSE_TIPWINDOW" = "yes"; then
6693     if test "$wxUSE_PM" = 1; then
6694         AC_MSG_WARN([wxTipWindow not yet supported under PM... disabled])
6695     else
6696         AC_DEFINE(wxUSE_TIPWINDOW)
6697     fi
6698 fi
6699
6700 if test "$USES_CONTROLS" = 1; then
6701     AC_DEFINE(wxUSE_CONTROLS)
6702 fi
6703
6704 dnl ---------------------------------------------------------------------------
6705 dnl misc options
6706 dnl ---------------------------------------------------------------------------
6707
6708 dnl please keep the settings below in alphabetical order
6709 if test "$wxUSE_ACCESSIBILITY" = "yes"; then
6710     AC_DEFINE(wxUSE_ACCESSIBILITY)
6711     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access"
6712 fi
6713
6714 if test "$wxUSE_DC_CACHEING" = "yes"; then
6715     AC_DEFINE(wxUSE_DC_CACHEING)
6716 fi
6717
6718 if test "$wxUSE_DRAGIMAGE" = "yes"; then
6719     AC_DEFINE(wxUSE_DRAGIMAGE)
6720     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
6721 fi
6722
6723 if test "$wxUSE_EXCEPTIONS" = "yes"; then
6724     if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
6725         AC_MSG_WARN([--enable-exceptions can't be used with --enable-no_exceptions])
6726     else
6727         AC_DEFINE(wxUSE_EXCEPTIONS)
6728         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS except"
6729     fi
6730 fi
6731
6732 USE_HTML=0
6733 if test "$wxUSE_HTML" = "yes"; then
6734     AC_DEFINE(wxUSE_HTML)
6735     USE_HTML=1
6736     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html html/about html/help html/helpview html/printing html/test html/virtual html/widget html/zip htlbox"
6737     if test "$wxUSE_MAC" = 1; then
6738         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html/htmlctrl"
6739     fi
6740 fi
6741 if test "$wxUSE_WEBKIT" = "yes"; then
6742     if test "$wxUSE_MAC" = 1 -a "$USE_DARWIN" = 1; then
6743         old_CPPFLAGS="$CPPFLAGS"
6744         CPPFLAGS="-x objective-c++ $CPPFLAGS"
6745         AC_CHECK_HEADER([WebKit/HIWebView.h],
6746                         [
6747                            AC_DEFINE(wxUSE_WEBKIT)
6748                            WEBKIT_LINK="-framework WebKit"
6749                         ],
6750                         [
6751                            AC_MSG_WARN([WebKit headers not found; disabling wxWebKit])
6752                            wxUSE_WEBKIT=no
6753                         ],
6754                         [#include <Carbon/Carbon.h>])
6755         CPPFLAGS="$old_CPPFLAGS"
6756     elif test "$wxUSE_COCOA" = 1; then
6757         AC_DEFINE(wxUSE_WEBKIT)
6758     else
6759         wxUSE_WEBKIT=no
6760     fi
6761 fi
6762
6763 USE_XRC=0
6764 if test "$wxUSE_XRC" = "yes"; then
6765     if test "$wxUSE_XML" != "yes"; then
6766         AC_MSG_WARN([XML library not built, XRC resources disabled])
6767         wxUSE_XRC=no
6768     else
6769         AC_DEFINE(wxUSE_XRC)
6770         USE_XRC=1
6771         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS xrc"
6772     fi
6773 fi
6774
6775 USE_AUI=0
6776 if test "$wxUSE_AUI" = "yes"; then
6777    AC_DEFINE(wxUSE_AUI)
6778    USE_AUI=1
6779    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS aui"
6780 fi
6781
6782 if test "$wxUSE_MENUS" = "yes"; then
6783     AC_DEFINE(wxUSE_MENUS)
6784     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu"
6785 fi
6786
6787 if test "$wxUSE_METAFILE" = "yes"; then
6788     AC_DEFINE(wxUSE_METAFILE)
6789 fi
6790
6791 if test "$wxUSE_MIMETYPE" = "yes"; then
6792     AC_DEFINE(wxUSE_MIMETYPE)
6793 fi
6794
6795 if test "$wxUSE_MINIFRAME" = "yes"; then
6796     AC_DEFINE(wxUSE_MINIFRAME)
6797     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
6798 fi
6799
6800 if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
6801     AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
6802     if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \
6803         "$TOOLKIT" = "MOTIF" -o "$TOOLKIT" = "COCOA"; then
6804         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
6805     fi
6806 fi
6807
6808
6809 if test "$wxUSE_VALIDATORS" = "yes"; then
6810     AC_DEFINE(wxUSE_VALIDATORS)
6811     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
6812 fi
6813
6814 if test "$wxUSE_PALETTE" = "yes" ; then
6815   AC_DEFINE(wxUSE_PALETTE)
6816 fi
6817
6818 if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then
6819   dnl Must be done this late because -lunicows must be before all the other libs
6820   LIBS=" -lunicows $LIBS"
6821 fi
6822
6823 USE_RICHTEXT=0
6824 if test "$wxUSE_RICHTEXT" = "yes"; then
6825     AC_DEFINE(wxUSE_RICHTEXT)
6826     USE_RICHTEXT=1
6827     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS richtext"
6828 fi
6829
6830 dnl ---------------------------------------------------------------------------
6831 dnl wxImage options
6832 dnl ---------------------------------------------------------------------------
6833
6834 if test "$wxUSE_IMAGE" = "yes" ; then
6835     AC_DEFINE(wxUSE_IMAGE)
6836
6837     if test "$wxUSE_GIF" = "yes" ; then
6838       AC_DEFINE(wxUSE_GIF)
6839     fi
6840
6841     if test "$wxUSE_PCX" = "yes" ; then
6842       AC_DEFINE(wxUSE_PCX)
6843     fi
6844
6845     if test "$wxUSE_IFF" = "yes" ; then
6846       AC_DEFINE(wxUSE_IFF)
6847     fi
6848
6849     if test "$wxUSE_PNM" = "yes" ; then
6850       AC_DEFINE(wxUSE_PNM)
6851     fi
6852
6853     if test "$wxUSE_XPM" = "yes" ; then
6854       AC_DEFINE(wxUSE_XPM)
6855     fi
6856
6857     if test "$wxUSE_ICO_CUR" = "yes" ; then
6858       AC_DEFINE(wxUSE_ICO_CUR)
6859     fi
6860 fi
6861
6862 dnl ---------------------------------------------------------------------------
6863 dnl common dialogs
6864 dnl ---------------------------------------------------------------------------
6865
6866 if test "$wxUSE_CHOICEDLG" = "yes"; then
6867     AC_DEFINE(wxUSE_CHOICEDLG)
6868 fi
6869
6870 if test "$wxUSE_COLOURDLG" = "yes"; then
6871     AC_DEFINE(wxUSE_COLOURDLG)
6872 fi
6873
6874 if test "$wxUSE_FILEDLG" = "yes"; then
6875     AC_DEFINE(wxUSE_FILEDLG)
6876 fi
6877
6878 if test "$wxUSE_FINDREPLDLG" = "yes"; then
6879     AC_DEFINE(wxUSE_FINDREPLDLG)
6880 fi
6881
6882 if test "$wxUSE_FONTDLG" = "yes"; then
6883     AC_DEFINE(wxUSE_FONTDLG)
6884 fi
6885
6886 if test "$wxUSE_DIRDLG" = "yes"; then
6887     if test "$wxUSE_TREECTRL" != "yes"; then
6888         AC_MSG_WARN(wxDirDialog requires wxTreeCtrl so it won't be compiled without it)
6889     else
6890         AC_DEFINE(wxUSE_DIRDLG)
6891     fi
6892 fi
6893
6894 if test "$wxUSE_MSGDLG" = "yes"; then
6895     AC_DEFINE(wxUSE_MSGDLG)
6896 fi
6897
6898 if test "$wxUSE_NUMBERDLG" = "yes"; then
6899     AC_DEFINE(wxUSE_NUMBERDLG)
6900 fi
6901
6902 if test "$wxUSE_PROGRESSDLG" = "yes"; then
6903     if test "$wxUSE_CONSTRAINTS" != "yes"; then
6904        AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them)
6905     else
6906         AC_DEFINE(wxUSE_PROGRESSDLG)
6907     fi
6908 fi
6909
6910 if test "$wxUSE_SPLASH" = "yes"; then
6911     AC_DEFINE(wxUSE_SPLASH)
6912     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splash"
6913 fi
6914
6915 if test "$wxUSE_STARTUP_TIPS" = "yes"; then
6916     if test "$wxUSE_CONSTRAINTS" != "yes"; then
6917        AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them)
6918     else
6919         AC_DEFINE(wxUSE_STARTUP_TIPS)
6920     fi
6921 fi
6922
6923 if test "$wxUSE_TEXTDLG" = "yes"; then
6924     AC_DEFINE(wxUSE_TEXTDLG)
6925 fi
6926
6927 if test "$wxUSE_WIZARDDLG" = "yes"; then
6928     AC_DEFINE(wxUSE_WIZARDDLG)
6929     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wizard"
6930 fi
6931
6932 dnl ---------------------------------------------------------------------------
6933 dnl wxMediaCtrl
6934 dnl ---------------------------------------------------------------------------
6935
6936 USE_MEDIA=0
6937
6938 if test "$wxUSE_MEDIACTRL" = "yes"; then
6939     USE_MEDIA=1
6940
6941     dnl -----------------------------------------------------------------------
6942     dnl GStreamer
6943     dnl -----------------------------------------------------------------------
6944     if test "$wxUSE_GTK" = 1; then
6945         wxUSE_GSTREAMER="no"
6946
6947         dnl -------------------------------------------------------------------
6948         dnl Test for at least 0.8 gstreamer module from pkg-config
6949         dnl Even totem doesn't accept 0.9 evidently.
6950         dnl
6951         dnl So, we first check to see if 0.10 if available - if not we
6952         dnl try the older 0.8 version
6953         dnl -------------------------------------------------------------------
6954         GST_VERSION_MAJOR=0
6955         GST_VERSION_MINOR=10
6956         GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
6957
6958         if test "$wxUSE_GSTREAMER8" = "no"; then
6959             PKG_CHECK_MODULES(GST,
6960                 [gstreamer-$GST_VERSION gstreamer-plugins-base-$GST_VERSION gconf-2.0],
6961                 [
6962                     wxUSE_GSTREAMER="yes"
6963                     GST_LIBS="$GST_LIBS -lgstinterfaces-$GST_VERSION"
6964                 ],
6965                 [
6966                     AC_MSG_WARN([GStreamer 0.10 not available, falling back to 0.8])
6967                     GST_VERSION_MINOR=8
6968                 ]
6969             )
6970         else
6971             dnl check only for 0.8
6972             GST_VERSION_MINOR=8
6973         fi
6974
6975         if test $GST_VERSION_MINOR = "8"; then
6976             GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
6977             PKG_CHECK_MODULES(GST,
6978                 [gstreamer-$GST_VERSION gstreamer-interfaces-$GST_VERSION gstreamer-gconf-$GST_VERSION],
6979                 wxUSE_GSTREAMER="yes",
6980                 [
6981                     AC_MSG_WARN([GStreamer 0.8/0.10 not available.])
6982                 ])
6983         fi
6984
6985
6986         if test "$wxUSE_GSTREAMER" = "yes"; then
6987             dnl system gstreamer package is compiled with Sun CC and outputs
6988             dnl CC-specific "-mt" in its flags, remove it for gcc compilation
6989             case "${host}" in
6990                 *-*-solaris2* )
6991                     if "$GCC" = yes; then
6992                         GST_CFLAGS=`echo $GST_CFLAGS | sed 's/-mt//'`
6993                         GST_LIBS=`echo $GST_LIBS | sed 's/-mt//'`
6994                     fi
6995             esac
6996
6997             CPPFLAGS="$GST_CFLAGS $CPPFLAGS"
6998             LIBS="$GST_LIBS $LIBS"
6999
7000             AC_DEFINE(wxUSE_GSTREAMER)
7001         else
7002             USE_MEDIA=0
7003         fi
7004     fi
7005
7006     if test $USE_MEDIA = 1; then
7007         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
7008         AC_DEFINE(wxUSE_MEDIACTRL)
7009     fi
7010 fi
7011
7012 dnl ---------------------------------------------------------------------------
7013 dnl get the string with OS info - used by wxGetOsDescription() on MacOS X
7014 dnl ---------------------------------------------------------------------------
7015
7016 if test "$cross_compiling" = "yes"; then
7017     dnl Use best guess from host as we can't use uname when cross compiling
7018     OSINFO="\"$host\""
7019 else
7020     dnl attualy work out OS version
7021     OSINFO=`uname -s -r -m`
7022     OSINFO="\"$OSINFO\""
7023 fi
7024
7025 AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
7026
7027 dnl ---------------------------------------------------------------------------
7028 dnl define the variable containing the installation prefix (used in dcpsg.cpp)
7029 dnl ---------------------------------------------------------------------------
7030
7031 if test "x$prefix" != "xNONE"; then
7032     wxPREFIX=$prefix
7033 else
7034     wxPREFIX=$ac_default_prefix
7035 fi
7036
7037 AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX")
7038
7039
7040 dnl ---------------------------------------------------------------------------
7041 dnl define variables with all built libraries for wx-config
7042 dnl ---------------------------------------------------------------------------
7043
7044 CORE_BASE_LIBS="net base"
7045 CORE_GUI_LIBS="adv core"
7046
7047 if test "$wxUSE_XML" = "yes" ; then
7048     CORE_BASE_LIBS="xml $CORE_BASE_LIBS"
7049 fi
7050 if test "$wxUSE_ODBC" != "no" ; then
7051     CORE_BASE_LIBS="odbc $CORE_BASE_LIBS"
7052     CORE_GUI_LIBS="dbgrid $CORE_GUI_LIBS"
7053 fi
7054 if test "$wxUSE_HTML" = "yes" ; then
7055     CORE_GUI_LIBS="html $CORE_GUI_LIBS"
7056 fi
7057 if test "$wxUSE_DEBUGREPORT" = "yes" ; then
7058     CORE_GUI_LIBS="qa $CORE_GUI_LIBS"
7059 fi
7060 if test "$wxUSE_XRC" = "yes" ; then
7061     CORE_GUI_LIBS="xrc $CORE_GUI_LIBS"
7062 fi
7063 if test "$wxUSE_AUI" = "yes" ; then
7064     CORE_GUI_LIBS="aui $CORE_GUI_LIBS"
7065 fi
7066
7067 if test "$wxUSE_GUI" != "yes"; then
7068     CORE_GUI_LIBS=""
7069 fi
7070
7071 AC_SUBST(CORE_BASE_LIBS)
7072 AC_SUBST(CORE_GUI_LIBS)
7073
7074 dnl ---------------------------------------------------------------------------
7075 dnl Output the makefiles and such from the results found above
7076 dnl ---------------------------------------------------------------------------
7077
7078 dnl no more tests from here
7079 AC_LANG_POP
7080
7081 dnl all additional libraries (except wxWidgets itself) we link with
7082
7083 if test "$wxUSE_MAC" = 1 ; then
7084     if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then
7085         if test "$USE_DARWIN" = 1; then
7086             LDFLAGS="$LDFLAGS -framework QuickTime"
7087         else
7088             LDFLAGS="$LDFLAGS -lQuickTimeLib"
7089         fi
7090     fi
7091     if test "$USE_DARWIN" = 1; then
7092         LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework System"
7093     else
7094         LDFLAGS="$LDFLAGS -lCarbonLib"
7095     fi
7096 fi
7097 if test "$wxUSE_COCOA" = 1 ; then
7098     LDFLAGS="$LDFLAGS -framework IOKit -framework Cocoa"
7099     if test "$wxUSE_MEDIACTRL" = "yes"; then
7100         LDFLAGS="$LDFLAGS -framework QuickTime"
7101     fi
7102 fi
7103 if test "$USE_DARWIN" = 1 -a "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1 ; then
7104     LDFLAGS="$LDFLAGS -framework IOKit -framework CoreServices -framework System -framework ApplicationServices"
7105 fi
7106
7107 LIBS="$ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $DL_LINK $LIBS"
7108
7109 if test "$wxUSE_GUI" = "yes"; then
7110
7111     dnl TODO add checks that these samples will really compile (i.e. all the
7112     dnl      library features they need are present)
7113
7114     dnl TODO some samples are never built so far: mfc (requires VC++)
7115     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \
7116                      dynamic erase event exec font image minimal mobile \
7117                      mobile/wxedit mobile/styles propsize render \
7118                      rotate shaped vscroll widgets"
7119
7120     if test "$wxUSE_MONOLITHIC" != "yes"; then
7121         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
7122     fi
7123     if test "$TOOLKIT" = "MSW"; then
7124         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS regtest"
7125         if test "$wxUSE_UNIVERSAL" != "yes"; then
7126             SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ownerdrw nativdlg"
7127         fi
7128     fi
7129     if test "$TOOLKIT" = "PM" -a "$wxUSE_UNIVERSAL" != "yes"; then
7130         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ownerdrw"
7131     fi
7132 else
7133     SAMPLES_SUBDIRS="console"
7134 fi
7135
7136
7137 dnl C/C++ compiler options used to compile wxWidgets
7138 dnl
7139 dnl check for icc before gcc as icc is also recognized as gcc
7140 if test "x$INTELCC" = "xyes" ; then
7141     dnl Warnings which can't be easily suppressed in C code are disabled:
7142     dnl
7143     dnl     remark #810: conversion from "x" to "y" may lose significant bits
7144     dnl     remark #869: parameter "foo" was never referenced
7145     dnl     remark #1572: floating-point equality and inequality comparisons
7146     dnl                   are unreliable
7147     dnl     remark #1684: conversion from pointer to same-sized integral type
7148     dnl
7149     dnl (for others see below)
7150     CWARNINGS="-Wall -wd810,869,981,1418,1572,1684"
7151 elif test "$GCC" = yes ; then
7152     CWARNINGS="-Wall -Wundef"
7153 fi
7154
7155 if test "x$INTELCXX" = "xyes" ; then
7156     dnl Intel compiler gives some warnings which simply can't be worked
7157     dnl around or of which we have too many (810, 869) so it's impractical to
7158     dnl keep them enabled even if in theory it would be nice and some others
7159     dnl (279) are generated for standard macros and so there is nothing we can
7160     dnl do about them
7161     dnl
7162     dnl     remark #279: controlling expression is constant
7163     dnl     remark #383: value copied to temporary, reference to temporary used
7164     dnl     remark #444: destructor for base class "xxx" is not virtual
7165     dnl     remark #810: conversion from "x" to "y" may lose significant bits
7166     dnl     remark #869: parameter "foo" was never referenced
7167     dnl     remark #981: operands are evaluated in unspecified order
7168     dnl     remark #1418: external definition with no prior declaration
7169     dnl     remark #1419: external declaration in primary source file
7170     CXXWARNINGS="-Wall -wd279,383,444,810,869,981,1418,1419"
7171 elif test "$GXX" = yes ; then
7172     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
7173     CXXWARNINGS="-Wall -Wundef -Wno-ctor-dtor-privacy"
7174 fi
7175
7176
7177 dnl combine everything together and remove the extra white space while doing it
7178 WXCONFIG_CFLAGS=`echo $WXCONFIG_CFLAGS`
7179 WXCONFIG_CXXFLAGS=`echo $WXCONFIG_CFLAGS $WXCONFIG_CXXFLAGS`
7180
7181
7182 dnl add -I options we use during library compilation
7183 dnl
7184 dnl note that the order is somewhat important: wxWidgets headers should
7185 dnl come first and the one with setup.h should be before $(top_srcdir)/include
7186 dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g.
7187 dnl CodeWarrior):
7188 CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \
7189  -I\\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
7190  -I\\${top_srcdir}/include $TOOLKIT_INCLUDE \
7191  $CPPFLAGS `
7192
7193 C_AND_CXX_FLAGS="$DEBUG_CFLAGS $PROFILE_FLAGS $OPTIMISE_CFLAGS"
7194 CFLAGS=`echo $WXCONFIG_CFLAGS $CWARNINGS $C_AND_CXX_FLAGS $CFLAGS `
7195 CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $CXXWARNINGS $C_AND_CXX_FLAGS $CXXFLAGS `
7196
7197 dnl now that we added WXCONFIG_CPPFLAGS to CPPFLAGS we can add the wx-config
7198 dnl only stuff to it
7199 WXCONFIG_CPPFLAGS=`echo $WXCONFIG_CPPFLAGS $WXCONFIG_ONLY_CPPFLAGS`
7200
7201
7202 if test "x$MWCC" = "xyes"; then
7203     dnl Correct MW 8.3 to be more similar to GCC.  In particular we
7204     dnl must use <regex.h> from system not our local copy on OS X,
7205     dnl but must use local not system on OS 9.
7206     dnl The following should make all -I paths usable for <> includes
7207     dnl while first checking in real system paths.  With 8.3 using
7208     dnl -gccincludes it will actually check local paths before system
7209     dnl even for <> which is totally wrong.
7210
7211     dnl Note that because this absolutely needs to be before any -I
7212     dnl that we have to tack it on to the end of the compiler commandline.
7213     CC="$CC -cwd source -I-"
7214     CXX="$CXX -cwd source -I-"
7215 fi
7216
7217
7218 LIBS=`echo $LIBS`
7219 EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
7220 EXTRALIBS_XML="$EXPAT_LINK"
7221 EXTRALIBS_HTML="$MSPACK_LINK"
7222 EXTRALIBS_ODBC="$ODBC_LINK"
7223 if test "$wxUSE_GUI" = "yes"; then
7224     EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT`
7225 fi
7226 if test "$wxUSE_OPENGL" = "yes"; then
7227     EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS"
7228 fi
7229
7230 LDFLAGS="$LDFLAGS $PROFILE_FLAGS"
7231
7232 WXCONFIG_LIBS="$LIBS"
7233
7234 dnl wx-config must output builtin 3rd party libs in --libs in static build:
7235 if test "$wxUSE_REGEX" = "builtin" ; then
7236     wxconfig_3rdparty="regex${lib_unicode_suffix} $wxconfig_3rdparty"
7237 fi
7238 if test "$wxUSE_EXPAT" = "builtin" ; then
7239     wxconfig_3rdparty="expat $wxconfig_3rdparty"
7240 fi
7241 if test "$wxUSE_ODBC" = "builtin" ; then
7242     wxconfig_3rdparty="odbc $wxconfig_3rdparty"
7243 fi
7244 if test "$wxUSE_LIBTIFF" = "builtin" ; then
7245     wxconfig_3rdparty="tiff $wxconfig_3rdparty"
7246 fi
7247 if test "$wxUSE_LIBJPEG" = "builtin" ; then
7248     wxconfig_3rdparty="jpeg $wxconfig_3rdparty"
7249 fi
7250 if test "$wxUSE_LIBPNG" = "builtin" ; then
7251     wxconfig_3rdparty="png $wxconfig_3rdparty"
7252 fi
7253 if test "$wxUSE_ZLIB" = "builtin" ; then
7254     wxconfig_3rdparty="zlib $wxconfig_3rdparty"
7255 fi
7256
7257 for i in $wxconfig_3rdparty ; do
7258     WXCONFIG_LIBS="-lwx${i}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX} $WXCONFIG_LIBS"
7259 done
7260
7261
7262 if test "x$wxUSE_UNIVERSAL" = "xyes" ; then
7263     WXUNIV=1
7264 else
7265     WXUNIV=0
7266 fi
7267
7268 AC_SUBST(wxUSE_ZLIB)
7269 AC_SUBST(wxUSE_REGEX)
7270 AC_SUBST(wxUSE_EXPAT)
7271 AC_SUBST(wxUSE_ODBC)
7272 AC_SUBST(wxUSE_LIBJPEG)
7273 AC_SUBST(wxUSE_LIBPNG)
7274 AC_SUBST(wxUSE_LIBTIFF)
7275
7276 if test $wxUSE_MONOLITHIC = "yes" ; then
7277     MONOLITHIC=1
7278 else
7279     MONOLITHIC=0
7280 fi
7281
7282 if test $wxUSE_PLUGINS = "yes" ; then
7283     USE_PLUGINS=1
7284 else
7285     USE_PLUGINS=0
7286 fi
7287
7288 if test $wxUSE_ODBC != "no" ; then
7289     USE_ODBC=1
7290 else
7291     USE_ODBC=0
7292 fi
7293
7294 if test "$wxUSE_DEBUGREPORT" = "yes" ; then
7295     USE_QA=1
7296 else
7297     USE_QA=0
7298 fi
7299
7300 if test $wxUSE_OFFICIAL_BUILD = "yes" ; then
7301     OFFICIAL_BUILD=1
7302 else
7303     OFFICIAL_BUILD=0
7304 fi
7305
7306 AC_SUBST(VENDOR)
7307 AC_SUBST(OFFICIAL_BUILD)
7308 AC_SUBST(WX_FLAVOUR)
7309 AC_SUBST(WX_LIB_FLAVOUR)
7310
7311 AC_SUBST(WXUNIV)
7312 AC_SUBST(MONOLITHIC)
7313 AC_SUBST(USE_PLUGINS)
7314 AC_SUBST(LIBS)
7315 AC_SUBST(EXTRALIBS)
7316 AC_SUBST(EXTRALIBS_XML)
7317 AC_SUBST(EXTRALIBS_HTML)
7318 AC_SUBST(EXTRALIBS_ODBC)
7319 AC_SUBST(EXTRALIBS_GUI)
7320 AC_SUBST(EXTRALIBS_OPENGL)
7321 AC_SUBST(EXTRALIBS_SDL)
7322 AC_SUBST(WITH_PLUGIN_SDL)
7323 AC_SUBST(EXTRALIBS_GNOMEPRINT)
7324 AC_SUBST(EXTRALIBS_GNOMEVFS)
7325 AC_SUBST(EXTRALIBS_HILDON)
7326 AC_SUBST(UNICODE)
7327 AC_SUBST(BUILD)
7328 AC_SUBST(DEBUG_INFO)
7329 AC_SUBST(DEBUG_FLAG)
7330 TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr "[[A-Z]]" "[[a-z]]"`
7331 AC_SUBST(TOOLKIT_LOWERCASE)
7332 AC_SUBST(TOOLKIT_VERSION)
7333 AC_SUBST(SAMPLES_RPATH_FLAG)
7334 AC_SUBST(SAMPLES_RPATH_POSTLINK)
7335 AC_SUBST(HOST_SUFFIX)
7336 AC_SUBST(CPPUNIT_CFLAGS)
7337 AC_SUBST(CPPUNIT_LIBS)
7338
7339 case "$TOOLKIT" in
7340     GTK)
7341         TOOLKIT_DESC="GTK+"
7342         if test "$WXGTK20" = 1; then
7343             TOOLKIT_DESC="$TOOLKIT_DESC 2"
7344             if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
7345                 TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomeprint";
7346             fi
7347             if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then
7348                 TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomevfs"
7349             fi
7350             if test "$wxUSE_LIBHILDON" = "yes"; then
7351                 TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon"
7352             fi
7353
7354             if test "$TOOLKIT_EXTRA" != ""; then
7355                 TOOLKIT_DESC="$TOOLKIT_DESC with support for `echo $TOOLKIT_EXTRA | tr -s ' '`"
7356             fi
7357         fi
7358         ;;
7359
7360     ?*)
7361         TOOLKIT_DESC=$TOOLKIT_LOWERCASE
7362         ;;
7363
7364     *)
7365         TOOLKIT_DESC="base only"
7366         ;;
7367 esac
7368
7369 if test "$wxUSE_WINE" = "yes"; then
7370     BAKEFILE_FORCE_PLATFORM=win32
7371 fi
7372
7373 dnl ---------------------------------------------------------------------------
7374 dnl Add Universal binary support 
7375 dnl Note we don't do this earlier because adding these cpp/ld flags could
7376 dnl cause configure tests to fail.
7377 dnl ---------------------------------------------------------------------------
7378 if test "$wxUSE_MAC" = 1 ; then
7379     if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then
7380         dnl --enable-universal_binary uses a default SDK (currently 10.4u)
7381         dnl --enable-universal_binary=SDK names a path to an SDK
7382         if test "x$wxUSE_UNIVERSAL_BINARY" == xyes; then
7383             OSX_UNIV_OPTS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
7384         else 
7385             dnl '' would mean universal with no SDK, which may be the case if
7386             dnl the compiler uses a sysroot by default
7387             OSX_UNIV_OPTS=${wxUSE_UNIVERSAL_BINARY:+"-isysroot '$wxUSE_UNIVERSAL_BINARY'"}
7388         fi
7389         OSX_UNIV_OPTS="$OSX_UNIV_OPTS -arch ppc -arch i386"
7390         CXXFLAGS="$OSX_UNIV_OPTS $CXXFLAGS"
7391         CFLAGS="$OSX_UNIV_OPTS $CFLAGS"
7392         LDFLAGS="$OSX_UNIV_OPTS $LDFLAGS"
7393         bk_use_pch=no
7394     fi
7395     # TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)?
7396     #       The makefile currently uses AR and RANLIB, which libtool apparently supercedes.
7397 fi
7398
7399 AC_BAKEFILE([m4_include(autoconf_inc.m4)])
7400
7401 dnl HACK ALERT!! 
7402 dnl For now, we need to alter bk-deps not to generate deps
7403 dnl when we've configured a Universal binary build.
7404 dnl The next version of Bakefile will have the correct fix for this
7405 dnl at which time, this hack can be removed.
7406
7407 if test "$wxUSE_MAC" = 1 ; then
7408     if test "x$wxUSE_UNIVERSAL_BINARY" != "xno" ; then
7409         sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp
7410         mv temp bk-deps
7411         chmod +x bk-deps
7412     fi
7413 fi
7414
7415 if test "$wxUSE_SHARED" = "yes"; then
7416
7417     dnl We get the shared build linker from bakefile, since it
7418     dnl moved all the logic for this out of this file and into
7419     dnl its own macro.  But it can't decide on whether to return
7420     dnl us $(VAR), ${VAR}, or the present expansion of VAR.
7421     dnl So normalise and expand everything here now, because its
7422     dnl not going to change inside wx-config anyway.
7423     sanitised_bakefile_mess=`echo "$SHARED_LD_CXX" | tr -d '()'`
7424     EXE_LINKER=`eval echo "$sanitised_bakefile_mess"`
7425
7426     dnl Need addtional flag on OS/2, so override bakefiles value
7427     dnl (there currently is no suitable variable to which the
7428     dnl  missing flags could be added, AFAICS. SN, 18.12.2004. )
7429     case "${host}" in
7430       *-pc-os2_emx | *-pc-os2-emx )
7431         SHARED_LD_CC="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
7432         SHARED_LD_CXX="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
7433         cp -p ${srcdir}/src/os2/dllnames.sh .
7434         cp -p ${srcdir}/src/os2/dllar.sh .
7435       ;;
7436     esac
7437 else
7438
7439     dnl No bakefile support for static builds, but this should be ok for most.
7440     EXE_LINKER="$CXX -o"
7441
7442 fi
7443 if test "$wxUSE_OMF" = "yes"; then
7444     case "${host}" in
7445       *-pc-os2_emx | *-pc-os2-emx )
7446         LDFLAGS="$LDFLAGS -Zlinker /EXEPACK"
7447         LDFLAGS_GUI="-Zlinker /PMTYPE:PM"
7448         WXCONFIG_LDFLAGS_GUI="-Zlinker /PMTYPE:PM"
7449       ;;
7450     esac
7451 fi
7452
7453 dnl find out if the compiler supports PCH
7454 dnl
7455 dnl TODO: this should be in bakefile
7456 if test $GCC_PCH = 1 ; then
7457     CPPFLAGS="-DWX_PRECOMP $CPPFLAGS"
7458 fi
7459
7460 dnl TOOLCHAIN_DEFS should be used for both wx and client code
7461 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS $TOOLCHAIN_DEFS"
7462
7463 dnl for convenience, sort the samples in alphabetical order
7464 dnl
7465 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
7466 dnl       in this list - hence uniq. But normally, this shouldn't be needed!
7467 dnl
7468 dnl       Unfortunately, there is a bug in OS/2's tr, such that
7469 dnl       tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
7470 dnl       only removes the Unix-like part of the introduced line break.
7471 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
7472
7473 dnl subtle bakefile goop.
7474 dnl Used in wx-config now too, as its STATIC_FLAG with different makeup.
7475 dnl I wish we would have called it something less likely to clash with
7476 dnl things though.
7477 AC_SUBST(SHARED)
7478
7479 dnl global options
7480 AC_SUBST(WX_LIBRARY_BASENAME_NOGUI)
7481 AC_SUBST(WX_LIBRARY_BASENAME_GUI)
7482
7483 dnl toolkit options
7484 AC_SUBST(USE_GUI)
7485 AC_SUBST(AFMINSTALL)
7486 AC_SUBST(WIN32INSTALL)
7487 AC_SUBST(TOOLKIT)
7488 AC_SUBST(TOOLKIT_DIR)
7489 AC_SUBST(TOOLCHAIN_NAME)
7490 AC_SUBST(TOOLCHAIN_FULLNAME)
7491
7492 dnl wx-config options
7493 AC_SUBST(host_alias)
7494 AC_SUBST(cross_compiling)
7495 AC_SUBST(WIDGET_SET)
7496 AC_SUBST(WX_RELEASE)
7497 AC_SUBST(WX_VERSION)
7498 AC_SUBST(WX_SUBVERSION)
7499 AC_SUBST(WX_CHARTYPE)
7500 AC_SUBST(WX_DEBUGTYPE)
7501
7502 dnl note that in addition to the usual CPP/C/CXXFLAGS which are used for
7503 dnl building the library itself, we also have WXCONFIG_-prefixed variants which
7504 dnl are used when building the libraries using the library
7505 dnl
7506 dnl so put anything which should be used only during the library build in, e.g.
7507 dnl CXXFLAGS, but put everything else (by default) into WXCONFIG_CXXFLAGS
7508 dnl
7509 dnl and, finally, for some things which should be only used by wx-config but
7510 dnl not during the library compilation, use WXCONFIG_ONLY_CPPFLAGS which is
7511 dnl added to WXCONFIG_CPPFLAGS after adding the latter to CPPFLAGS
7512 AC_SUBST(WXCONFIG_CPPFLAGS)
7513 AC_SUBST(WXCONFIG_CFLAGS)
7514 AC_SUBST(WXCONFIG_CXXFLAGS)
7515
7516 AC_SUBST(WXCONFIG_LIBS)
7517 AC_SUBST(WXCONFIG_RPATH)
7518 AC_SUBST(WXCONFIG_LDFLAGS_GUI)
7519 AC_SUBST(WXCONFIG_RESFLAGS)
7520 AC_SUBST(EXE_LINKER)
7521
7522 dnl distribution vars
7523 AC_SUBST(GUIDIST)
7524 AC_SUBST(DISTDIR)
7525
7526 dnl additional subdirectories where we will build
7527 AC_SUBST(SAMPLES_SUBDIRS)
7528
7529 dnl additional libraries and linker settings
7530 AC_SUBST(LDFLAGS)
7531 AC_SUBST(LDFLAGS_GL)
7532 AC_SUBST(OPENGL_LIBS)
7533 AC_SUBST(DMALLOC_LIBS)
7534 AC_SUBST(WX_VERSION_TAG)
7535
7536 dnl additional resurces settings
7537 AC_SUBST(RESCOMP)
7538 AC_SUBST(WINDRES)
7539 AC_SUBST(REZ)
7540 AC_SUBST(RESFLAGS)
7541 AC_SUBST(RESPROGRAMOBJ)
7542 AC_SUBST(WX_RESOURCES_MACOSX_ASCII)
7543 AC_SUBST(WX_RESOURCES_MACOSX_DATA)
7544
7545 dnl additional for Mac OS X
7546 AC_SUBST(DEREZ)
7547 AC_SUBST(LIBWXMACRES)
7548 AC_SUBST(POSTLINK_COMMAND)
7549 AC_SUBST(MACSETFILE)
7550
7551 dnl other tools
7552 AC_SUBST(GCC)
7553 AC_SUBST(DLLTOOL)
7554
7555
7556 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
7557 dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am
7558 dnl - and we do use it)
7559 AC_PROG_MAKE_SET
7560
7561
7562 AC_CONFIG_HEADERS([lib/wx/include/${TOOLCHAIN_FULLNAME}/wx/setup.h:setup.h.in])
7563
7564 if test "$USE_WIN32" = 1; then
7565     AC_CONFIG_COMMANDS(
7566         [
7567             rcdefs.h
7568         ],
7569         [
7570             mkdir -p $outdir &&
7571             $CPP $infile | sed 's/^# *[1-9].*//;s/^ *//;/./,/^$/!d' > $outdir/rcdefs.h
7572         ],
7573         [
7574             CPP="$CPP"
7575             infile="$srcdir/include/wx/msw/genrcdefs.h"
7576             outdir="lib/wx/include/$TOOLCHAIN_FULLNAME/wx/msw"
7577         ]
7578     )
7579 fi
7580
7581 AC_CONFIG_FILES([ lib/wx/config/${TOOLCHAIN_FULLNAME}:wx-config.in ],
7582                 [ chmod +x lib/wx/config/${TOOLCHAIN_FULLNAME} ],
7583                 [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
7584
7585 AC_CONFIG_FILES([ lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}:wx-config-inplace.in ],
7586                 [ chmod +x lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} ],
7587                 [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
7588
7589 AC_CONFIG_FILES([ version-script Makefile ])
7590
7591 AC_CONFIG_COMMANDS([wx-config],
7592                    [ rm -f wx-config
7593                      ${LN_S} lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} wx-config
7594                    ],
7595                    [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}"
7596                      LN_S="${LN_S}"
7597                    ])
7598
7599 dnl This would give us us build dir that in every significant way
7600 dnl resembles an installed wx in prefix=$builddir.  It is troublesome
7601 dnl though in this form because AC_CONFIG_LINKS will fail for directories
7602 dnl on platforms that do not have symlinks.
7603 dnl AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR:include ])
7604 dnl AC_CONFIG_LINKS([ contrib/include ])
7605
7606 if test "$wxWITH_SUBDIRS" != "no"; then
7607 dnl Configure samples, contrib etc. directories, but only if they are present:
7608 if test "$wxUSE_GUI" = "yes"; then
7609     SUBDIRS="samples demos utils contrib"
7610 else dnl we build wxBase only
7611     dnl there are no wxBase programs in contrib nor demos
7612     SUBDIRS="samples utils"
7613 fi
7614 dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected
7615 AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"])
7616
7617 for subdir in `echo $SUBDIRS`; do
7618     if test -d ${srcdir}/${subdir} ; then
7619         if test "$wxUSE_GUI" = "yes"; then
7620             if test ${subdir} = "samples"; then
7621                 dnl only take those samples which compile in the current
7622                 dnl configuration and which exist
7623                 makefiles="samples/Makefile.in $makefiles"
7624                 for sample in `echo $SAMPLES_SUBDIRS`; do
7625                     if test -d $srcdir/samples/$sample; then
7626                         makefiles="samples/$sample/Makefile.in $makefiles"
7627                     fi
7628                 done
7629             else
7630                 dnl assume that everything compiles for utils &c
7631                 dnl any that shouldn't be built can be added to
7632                 dnl DISABLED_UTILS, DISABLED_CONTRIB or DISABLED_DEMOS
7633                 disabled_var=DISABLED_`echo $subdir | tr [[a-z]] [[A-Z]]`;
7634                 eval "disabled=\$$disabled_var"
7635                 disabled=/`echo X $disabled | sed 's@ @/|/@g'`/
7636                 makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | egrep -v "$disabled"`
7637             fi
7638         else dnl we build wxBase only
7639             dnl don't take all samples/utils, just those which build with
7640             dnl wxBase
7641             if test ${subdir} = "samples"; then
7642                 makefiles="samples/Makefile.in samples/console/Makefile.in"
7643             elif test ${subdir} = "utils"; then
7644                 makefiles=""
7645                 for util in HelpGen tex2rtf ; do
7646                     if test -d $srcdir/utils/$util ; then
7647                         makefiles="utils/$util/Makefile.in \
7648                                    utils/$util/src/Makefile.in \
7649                                    $makefiles"
7650                     fi
7651                 done
7652             else dnl assume that everything compiles for tests
7653                 makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
7654             fi
7655         fi
7656
7657         for mkin in $makefiles ; do
7658             mk=`echo $mkin | sed 's/Makefile\.in/Makefile/g'`
7659             AC_CONFIG_FILES([$mk])
7660         done
7661     fi
7662 done
7663 fi dnl wxWITH_SUBDIRS
7664
7665 AC_OUTPUT
7666
7667 dnl report how we have been configured
7668 echo
7669 echo "Configured wxWidgets ${WX_VERSION} for \`${host}'"
7670 echo ""
7671 echo "  Which GUI toolkit should wxWidgets use?                 ${TOOLKIT_DESC}"
7672 echo "  Should wxWidgets be compiled into single library?       ${wxUSE_MONOLITHIC:-yes}"
7673
7674 echo "  Should wxWidgets be compiled in debug mode?             ${wxUSE_DEBUG:-no}"
7675 echo "  Should wxWidgets be linked as a shared library?         ${wxUSE_SHARED:-no}"
7676 echo "  Should wxWidgets be compiled in Unicode mode?           ${wxUSE_UNICODE:-no}"
7677
7678 echo "  What level of wxWidgets compatibility should be enabled?"
7679 echo "                                       wxWidgets 2.4      ${WXWIN_COMPATIBILITY_2_4:-no}"
7680 echo "                                       wxWidgets 2.6      ${WXWIN_COMPATIBILITY_2_6:-yes}"
7681
7682 echo "  Which libraries should wxWidgets use?"
7683 echo "                                       jpeg               ${wxUSE_LIBJPEG-none}"
7684 echo "                                       png                ${wxUSE_LIBPNG-none}"
7685 echo "                                       regex              ${wxUSE_REGEX}"
7686 echo "                                       tiff               ${wxUSE_LIBTIFF-none}"
7687 if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
7688 echo "                                       xpm                ${wxUSE_LIBXPM-none}"
7689 fi
7690 echo "                                       zlib               ${wxUSE_ZLIB}"
7691 echo "                                       odbc               ${wxUSE_ODBC}"
7692 echo "                                       expat              ${wxUSE_EXPAT}"
7693 echo "                                       libmspack          ${wxUSE_LIBMSPACK}"
7694 echo "                                       sdl                ${wxUSE_LIBSDL}"
7695
7696 echo ""
7697
7698 dnl vi: set et sts=4 sw=4 com=\:dnl: