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