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