wxCocoa: enable combo box
[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.57)
5
6 dnl ---------------------------------------------------------------------------
7 dnl
8 dnl Top-level configure.in for wxWindows by Robert Roebling, Phil Blecker,
9 dnl Vadim Zeitlin and Ron Lee
10 dnl
11 dnl This script is under the wxWindows licence.
12 dnl
13 dnl Version: $Id$
14 dnl ---------------------------------------------------------------------------
15
16 dnl ---------------------------------------------------------------------------
17 dnl initialization
18 dnl ---------------------------------------------------------------------------
19
20 AC_INIT([wxWindows], [2.5.0], [wx-dev@lists.wxwindows.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 dnl
35 dnl ..and update WX_CURRENT, WX_RELEASE and WX_AGE according to the
36 dnl following rules:
37 dnl
38 dnl    If any changes have been made to the public interface, that is if any
39 dnl    exported class, method, global or global type has been added, removed
40 dnl    or changed in any way, then do:  WX_CURRENT += 1
41 dnl
42 dnl    If source changes have been made that *do not* alter the public
43 dnl    interface then do:  WX_REVISION += 1
44 dnl    If WX_CURRENT was incremented (as above) instead do:  WX_REVISION = 0
45 dnl
46 dnl    If any public interface was added, do:  WX_AGE += 1
47 dnl    If any public interface was removed (or altered in a way effectively
48 dnl    removing the previous definition), instead do:  WX_AGE = 0
49 dnl
50 dnl When the major or minor version numbers are incremented, all the above
51 dnl variables should be reset to 0.
52 dnl
53 dnl The resulting library name will be of the form:
54 dnl   libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE)
55
56 WX_MAJOR_VERSION_NUMBER=2
57 WX_MINOR_VERSION_NUMBER=5
58 WX_RELEASE_NUMBER=0
59
60 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
61 WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
62
63 WX_MSW_VERSION=$WX_MAJOR_VERSION_NUMBER$WX_MINOR_VERSION_NUMBER$WX_RELEASE_NUMBER
64
65 WX_CURRENT=0
66 WX_REVISION=0
67 WX_AGE=0
68
69
70 dnl ------------------------------------------------------------------------
71 dnl Check platform (host system)
72 dnl ------------------------------------------------------------------------
73
74 dnl OS (assume Unix)
75 USE_UNIX=1
76 USE_WIN32=0
77 USE_DOS=0
78 USE_BEOS=0
79 USE_MAC=0
80
81 dnl Unix kind
82 USE_AIX=
83 USE_BSD=                            dnl any BSD
84 USE_DARWIN=                         dnl a.k.a. Mac OS X
85 USE_FREEBSD=
86 USE_GNU=                            dnl GNU/Hurd
87 USE_HPUX=
88 USE_LINUX=
89 USE_NETBSD=
90 USE_OPENBSD=
91 USE_OSF=                            dnl OSF/1 (obsolete?)
92 USE_SGI=
93 USE_SOLARIS=                        dnl Solaris ("SunOS" >= 5)
94 USE_SUN=                            dnl SunOS or Solaris
95 USE_SUNOS=                          dnl old/real SunOS (obsolete)
96 USE_SVR4=                           dnl SysV R4
97 USE_SYSV=                           dnl any System V
98 USE_VMS=
99 USE_ULTRIX=
100 USE_UNIXWARE=
101
102 dnl hardware platform
103 USE_ALPHA=
104
105 dnl on some platforms xxx_r() functions are declared inside "#ifdef
106 dnl _REENTRANT" and it's easier to just define this symbol for these platforms
107 dnl than checking it during run-time
108 NEEDS_D_REENTRANT_FOR_R_FUNCS=0
109
110 dnl the list of all available toolkits
111 dnl
112 dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
113 ALL_TOOLKITS="COCOA GTK MAC MGL MICROWIN MOTIF MSW PM X11"
114
115 dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
116 dnl     which are either yes or no
117 DEFAULT_wxUSE_COCOA=0
118 DEFAULT_wxUSE_GTK=0
119 DEFAULT_wxUSE_MAC=0
120 DEFAULT_wxUSE_MGL=0
121 DEFAULT_wxUSE_MICROWIN=0
122 DEFAULT_wxUSE_MOTIF=0
123 DEFAULT_wxUSE_MSW=0
124 DEFAULT_wxUSE_PM=0
125 DEFAULT_wxUSE_X11=0
126
127 dnl these are the values which are really default for the given platform -
128 dnl they're not cached and are only used if no --with-toolkit was given *and*
129 dnl nothing was found in the cache
130 DEFAULT_DEFAULT_wxUSE_COCOA=0
131 DEFAULT_DEFAULT_wxUSE_GTK=0
132 DEFAULT_DEFAULT_wxUSE_MAC=0
133 DEFAULT_DEFAULT_wxUSE_MGL=0
134 DEFAULT_DEFAULT_wxUSE_MICROWIN=0
135 DEFAULT_DEFAULT_wxUSE_MOTIF=0
136 DEFAULT_DEFAULT_wxUSE_MSW=0
137 DEFAULT_DEFAULT_wxUSE_PM=0
138 DEFAULT_DEFAULT_wxUSE_X11=0
139
140 PROGRAM_EXT=
141 SO_SUFFIX=so
142 SAMPLES_RPATH_FLAG=
143
144 dnl to support a new system, you need to add its canonical name (as determined
145 dnl by config.sub or specified by the configure command line) to this "case"
146 dnl and also define the shared library flags below - search for
147 dnl SHARED_LIB_SETUP to find the exact place
148 case "${host}" in
149   *-hp-hpux* )
150     USE_HPUX=1
151     DEFAULT_DEFAULT_wxUSE_MOTIF=1
152     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
153     SO_SUFFIX=sl
154     AC_DEFINE(__HPUX__)
155   ;;
156   *-*-linux* )
157     USE_LINUX=1
158     AC_DEFINE(__LINUX__)
159     TMP=`uname -m`
160     if test "x$TMP" = "xalpha"; then
161       USE_ALPHA=1
162       AC_DEFINE(__ALPHA__)
163     fi
164     DEFAULT_DEFAULT_wxUSE_GTK=1
165   ;;
166   *-*-gnu* )
167     USE_GNU=1
168     AC_DEFINE(__GNU__)
169     TMP=`uname -m`
170     if test "x$TMP" = "xalpha"; then
171       USE_ALPHA=1
172       AC_DEFINE(__ALPHA__)
173     fi
174     DEFAULT_DEFAULT_wxUSE_GTK=1
175   ;;
176   *-*-irix5* | *-*-irix6* )
177     USE_SGI=1
178     USE_SVR4=1
179     AC_DEFINE(__SGI__)
180     AC_DEFINE(__SVR4__)
181     DEFAULT_DEFAULT_wxUSE_MOTIF=1
182   ;;
183   *-*-solaris2* )
184     USE_SUN=1
185     USE_SOLARIS=1
186     USE_SVR4=1
187     AC_DEFINE(__SUN__)
188     AC_DEFINE(__SOLARIS__)
189     AC_DEFINE(__SVR4__)
190     DEFAULT_DEFAULT_wxUSE_MOTIF=1
191     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
192   ;;
193   *-*-sunos4* )
194     USE_SUN=1
195     USE_SUNOS=1
196     USE_BSD=1
197     AC_DEFINE(__SUN__)
198     AC_DEFINE(__SUNOS__)
199     AC_DEFINE(__BSD__)
200     DEFAULT_DEFAULT_wxUSE_MOTIF=1
201   ;;
202   *-*-freebsd*)
203     USE_BSD=1
204     USE_FREEBSD=1
205     AC_DEFINE(__FREEBSD__)
206     AC_DEFINE(__BSD__)
207     DEFAULT_DEFAULT_wxUSE_GTK=1
208   ;;
209   *-*-openbsd*)
210     USE_BSD=1
211     USE_OPENBSD=1
212     AC_DEFINE(__OPENBSD__)
213     AC_DEFINE(__BSD__)
214     DEFAULT_DEFAULT_wxUSE_GTK=1
215   ;;
216   *-*-netbsd*)
217     USE_BSD=1
218     USE_NETBSD=1
219     AC_DEFINE(__NETBSD__)
220     AC_DEFINE(__BSD__)
221     DEFAULT_DEFAULT_wxUSE_GTK=1
222   ;;
223   *-*-osf* )
224     USE_ALPHA=1
225     USE_OSF=1
226     AC_DEFINE(__ALPHA__)
227     AC_DEFINE(__OSF__)
228     DEFAULT_DEFAULT_wxUSE_MOTIF=1
229     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
230   ;;
231   *-*-dgux5* )
232     USE_ALPHA=1
233     USE_SVR4=1
234     AC_DEFINE(__ALPHA__)
235     AC_DEFINE(__SVR4__)
236     DEFAULT_DEFAULT_wxUSE_MOTIF=1
237   ;;
238   *-*-sysv5* )
239     USE_SYSV=1
240     USE_SVR4=1
241     AC_DEFINE(__SYSV__)
242     AC_DEFINE(__SVR4__)
243     DEFAULT_DEFAULT_wxUSE_MOTIF=1
244   ;;
245   *-*-aix* )
246     USE_AIX=1
247     USE_SYSV=1
248     USE_SVR4=1
249     dnl quoting from http://www-1.ibm.com/servers/esdd/articles/gnu.html:
250     dnl
251     dnl     Both archive libraries and shared libraries on AIX have an .a
252     dnl     extension. This will explain why you can't link with an .so and
253     dnl     why it works with the name changed to .a.
254     SO_SUFFIX=a
255     AC_DEFINE(__AIX__)
256     AC_DEFINE(__SYSV__)
257     AC_DEFINE(__SVR4__)
258     DEFAULT_DEFAULT_wxUSE_MOTIF=1
259   ;;
260
261   *-*-*UnixWare*)
262     USE_SYSV=1
263     USE_SVR4=1
264     USE_UNIXWARE=1
265     AC_DEFINE(__UNIXWARE__)
266   ;;
267
268   *-*-cygwin* | *-*-mingw32* )
269     dnl MBN: some of the defines have been moved after toolkit detection
270     dnl      because for wxMotif/wxGTK/wxX11 to build on Cygwin
271     dnl      USE_UNIX  must be set and not USE_WIN32
272     SO_SUFFIX=dll
273     PROGRAM_EXT=".exe"
274     RESCOMP=windres
275     DEFAULT_DEFAULT_wxUSE_MSW=1
276   ;;
277
278   *-pc-msdosdjgpp )
279     USE_UNIX=0
280     USE_DOS=1
281     AC_DEFINE(__DOS__)
282     PROGRAM_EXT=".exe"
283     DEFAULT_DEFAULT_wxUSE_MGL=1
284     dnl DJGPP needs explicit -lstdc++ for some reason (VS: mayb some versions only?)
285     LIBS="$LIBS -lstdc++"
286   ;;
287
288   *-pc-os2_emx | *-pc-os2-emx )
289     AC_DEFINE(__EMX__)
290     PROGRAM_EXT=".exe"
291     DEFAULT_DEFAULT_wxUSE_PM=1
292   ;;
293
294   powerpc-*-darwin* )
295     dnl PowerPC Darwin based distributions (including Mac OS X)
296     USE_BSD=1
297     USE_DARWIN=1
298     SO_SUFFIX=dylib
299     AC_DEFINE(__BSD__)
300     AC_DEFINE(__DARWIN__)
301     AC_DEFINE(__POWERPC__)
302     AC_DEFINE(TARGET_CARBON)
303     DEFAULT_DEFAULT_wxUSE_MAC=1
304   ;;
305
306   *-*-beos* )
307     dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
308     USE_BEOS=1
309     AC_DEFINE(__BEOS__)
310   ;;
311
312   *)
313     AC_MSG_ERROR(unknown system type ${host}.)
314 esac
315
316 dnl ---------------------------------------------------------------------------
317 dnl command line options for configure
318 dnl ---------------------------------------------------------------------------
319
320 dnl the default values for all options - we collect them all here to simplify
321 dnl modification of the default values (for example, if the defaults for some
322 dnl platform should be changed, it can be done here too)
323 dnl
324 dnl NB: see also DEFAULT_wxUSE<toolkit> variables defined above
325
326 WX_ARG_CACHE_INIT
327
328 dnl useful to test the compilation with minimum options, define as 0 for normal
329 dnl usage
330 DEBUG_CONFIGURE=0
331 if test $DEBUG_CONFIGURE = 1; then
332   DEFAULT_wxUSE_UNIVERSAL=no
333   DEFAULT_wxUSE_STL=no
334
335   DEFAULT_wxUSE_NANOX=no
336
337   DEFAULT_wxUSE_THREADS=yes
338
339   DEFAULT_wxUSE_SHARED=yes
340   DEFAULT_wxUSE_OPTIMISE=no
341   DEFAULT_wxUSE_PROFILE=no
342   DEFAULT_wxUSE_NO_DEPS=no
343   DEFAULT_wxUSE_NO_RTTI=no
344   DEFAULT_wxUSE_NO_EXCEPTIONS=no
345   DEFAULT_wxUSE_PERMISSIVE=no
346   DEFAULT_wxUSE_DEBUG_FLAG=yes
347   DEFAULT_wxUSE_DEBUG_INFO=yes
348   DEFAULT_wxUSE_DEBUG_GDB=yes
349   DEFAULT_wxUSE_MEM_TRACING=no
350   DEFAULT_wxUSE_DEBUG_CONTEXT=no
351   DEFAULT_wxUSE_DMALLOC=no
352   DEFAULT_wxUSE_APPLE_IEEE=no
353
354   DEFAULT_wxUSE_LOG=yes
355   DEFAULT_wxUSE_LOGWINDOW=no
356   DEFAULT_wxUSE_LOGGUI=no
357   DEFAULT_wxUSE_LOGDIALOG=no
358
359   DEFAULT_wxUSE_GUI=yes
360   DEFAULT_wxUSE_CONTROLS=no
361
362   DEFAULT_wxUSE_REGEX=no
363   DEFAULT_wxUSE_ZLIB=no
364   DEFAULT_wxUSE_LIBPNG=no
365   DEFAULT_wxUSE_LIBJPEG=no
366   DEFAULT_wxUSE_LIBTIFF=no
367   DEFAULT_wxUSE_ODBC=no
368   DEFAULT_wxUSE_OPENGL=no
369
370   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
371   DEFAULT_wxUSE_SNGLINST_CHECKER=no
372   DEFAULT_wxUSE_STD_IOSTREAM=no
373   DEFAULT_wxUSE_CMDLINE_PARSER=no
374   DEFAULT_wxUSE_DATETIME=no
375   DEFAULT_wxUSE_TIMER=no
376   DEFAULT_wxUSE_STOPWATCH=no
377   DEFAULT_wxUSE_FILE=no
378   DEFAULT_wxUSE_FFILE=no
379   DEFAULT_wxUSE_TEXTBUFFER=no
380   DEFAULT_wxUSE_TEXTFILE=no
381   DEFAULT_wxUSE_WAVE=no
382   DEFAULT_wxUSE_INTL=no
383   DEFAULT_wxUSE_CONFIG=no
384   DEFAULT_wxUSE_FONTMAP=no
385   DEFAULT_wxUSE_STREAMS=no
386   DEFAULT_wxUSE_SOCKETS=no
387   DEFAULT_wxUSE_OLE=no
388   DEFAULT_wxUSE_DATAOBJ=no
389   DEFAULT_wxUSE_DIALUP_MANAGER=no
390   DEFAULT_wxUSE_JOYSTICK=no
391   DEFAULT_wxUSE_DYNLIB_CLASS=no
392   DEFAULT_wxUSE_DYNAMIC_LOADER=no
393   DEFAULT_wxUSE_LONGLONG=no
394   DEFAULT_wxUSE_GEOMETRY=no
395
396   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
397   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
398   DEFAULT_wxUSE_POSTSCRIPT=no
399
400   DEFAULT_wxUSE_CLIPBOARD=no
401   DEFAULT_wxUSE_TOOLTIPS=no
402   DEFAULT_wxUSE_DRAG_AND_DROP=no
403   DEFAULT_wxUSE_DRAGIMAGE=no
404   DEFAULT_wxUSE_SPLINES=no
405
406   DEFAULT_wxUSE_MDI_ARCHITECTURE=no
407   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
408   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
409
410   DEFAULT_wxUSE_RESOURCES=no
411   DEFAULT_wxUSE_CONSTRAINTS=no
412   DEFAULT_wxUSE_IPC=no
413   DEFAULT_wxUSE_HELP=no
414   DEFAULT_wxUSE_MS_HTML_HELP=no
415   DEFAULT_wxUSE_WXHTML_HELP=no
416   DEFAULT_wxUSE_TREELAYOUT=no
417   DEFAULT_wxUSE_METAFILE=no
418   DEFAULT_wxUSE_MIMETYPE=no
419   DEFAULT_wxUSE_SYSTEM_OPTIONS=no
420   DEFAULT_wxUSE_PROTOCOL=no
421   DEFAULT_wxUSE_PROTOCOL_HTTP=no
422   DEFAULT_wxUSE_PROTOCOL_FTP=no
423   DEFAULT_wxUSE_PROTOCOL_FILE=no
424   DEFAULT_wxUSE_URL=no
425
426   DEFAULT_wxUSE_COMMONDLGS=no
427   DEFAULT_wxUSE_CHOICEDLG=no
428   DEFAULT_wxUSE_COLOURDLG=no
429   DEFAULT_wxUSE_DIRDLG=no
430   DEFAULT_wxUSE_FILEDLG=no
431   DEFAULT_wxUSE_FINDREPLDLG=no
432   DEFAULT_wxUSE_FONTDLG=no
433   DEFAULT_wxUSE_MSGDLG=no
434   DEFAULT_wxUSE_NUMBERDLG=no
435   DEFAULT_wxUSE_TEXTDLG=no
436   DEFAULT_wxUSE_SPLASH=no
437   DEFAULT_wxUSE_STARTUP_TIPS=no
438   DEFAULT_wxUSE_PROGRESSDLG=no
439   DEFAULT_wxUSE_WIZARDDLG=no
440
441   DEFAULT_wxUSE_MENUS=no
442   DEFAULT_wxUSE_MINIFRAME=no
443   DEFAULT_wxUSE_HTML=no
444   DEFAULT_wxUSE_FILESYSTEM=no
445   DEFAULT_wxUSE_FS_INET=no
446   DEFAULT_wxUSE_FS_ZIP=no
447   DEFAULT_wxUSE_BUSYINFO=no
448   DEFAULT_wxUSE_ZIPSTREAM=no
449   DEFAULT_wxUSE_VALIDATORS=no
450
451   DEFAULT_wxUSE_ACCEL=no
452   DEFAULT_wxUSE_BUTTON=no
453   DEFAULT_wxUSE_BMPBUTTON=no
454   DEFAULT_wxUSE_CALCTRL=no
455   DEFAULT_wxUSE_CARET=no
456   DEFAULT_wxUSE_CHECKBOX=no
457   DEFAULT_wxUSE_CHECKLST=no
458   DEFAULT_wxUSE_CHOICE=no
459   DEFAULT_wxUSE_COMBOBOX=no
460   DEFAULT_wxUSE_DISPLAY=no
461   DEFAULT_wxUSE_GAUGE=no
462   DEFAULT_wxUSE_GRID=no
463   DEFAULT_wxUSE_IMAGLIST=no
464   DEFAULT_wxUSE_LISTBOX=no
465   DEFAULT_wxUSE_LISTCTRL=no
466   DEFAULT_wxUSE_NOTEBOOK=no
467   DEFAULT_wxUSE_RADIOBOX=no
468   DEFAULT_wxUSE_RADIOBTN=no
469   DEFAULT_wxUSE_SASH=no
470   DEFAULT_wxUSE_SCROLLBAR=no
471   DEFAULT_wxUSE_SLIDER=no
472   DEFAULT_wxUSE_SPINBTN=no
473   DEFAULT_wxUSE_SPINCTRL=no
474   DEFAULT_wxUSE_SPLITTER=no
475   DEFAULT_wxUSE_STATBMP=no
476   DEFAULT_wxUSE_STATBOX=no
477   DEFAULT_wxUSE_STATLINE=no
478   DEFAULT_wxUSE_STATTEXT=no
479   DEFAULT_wxUSE_STATUSBAR=yes
480   DEFAULT_wxUSE_TABDIALOG=no
481   DEFAULT_wxUSE_TEXTCTRL=no
482   DEFAULT_wxUSE_TOGGLEBTN=no
483   DEFAULT_wxUSE_TOOLBAR=no
484   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
485   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
486   DEFAULT_wxUSE_TREECTRL=no
487   DEFAULT_wxUSE_POPUPWIN=no
488   DEFAULT_wxUSE_TIPWINDOW=no
489
490   DEFAULT_wxUSE_UNICODE=no
491   DEFAULT_wxUSE_UNICODE_MSLU=no
492   DEFAULT_wxUSE_WCSRTOMBS=no
493
494   DEFAULT_wxUSE_PALETTE=no
495   DEFAULT_wxUSE_IMAGE=no
496   DEFAULT_wxUSE_GIF=no
497   DEFAULT_wxUSE_PCX=no
498   DEFAULT_wxUSE_PNM=no
499   DEFAULT_wxUSE_IFF=no
500   DEFAULT_wxUSE_XPM=no
501   DEFAULT_wxUSE_ICO_CUR=no
502   DEFAULT_wxUSE_ACCESSIBILITY=no
503   
504   DEFAULT_wxUSE_MONOLITHIC=yes
505 else
506   DEFAULT_wxUSE_UNIVERSAL=no
507   DEFAULT_wxUSE_STL=no
508
509   DEFAULT_wxUSE_NANOX=no
510
511   DEFAULT_wxUSE_THREADS=yes
512
513   DEFAULT_wxUSE_SHARED=yes
514   DEFAULT_wxUSE_OPTIMISE=yes
515   DEFAULT_wxUSE_PROFILE=no
516   DEFAULT_wxUSE_NO_DEPS=no
517   DEFAULT_wxUSE_NO_RTTI=no
518   DEFAULT_wxUSE_NO_EXCEPTIONS=no
519   DEFAULT_wxUSE_PERMISSIVE=no
520   DEFAULT_wxUSE_DEBUG_FLAG=no
521   DEFAULT_wxUSE_DEBUG_INFO=no
522   DEFAULT_wxUSE_DEBUG_GDB=no
523   DEFAULT_wxUSE_MEM_TRACING=no
524   DEFAULT_wxUSE_DEBUG_CONTEXT=no
525   DEFAULT_wxUSE_DMALLOC=no
526   DEFAULT_wxUSE_APPLE_IEEE=yes
527
528   DEFAULT_wxUSE_LOG=yes
529   DEFAULT_wxUSE_LOGWINDOW=yes
530   DEFAULT_wxUSE_LOGGUI=yes
531   DEFAULT_wxUSE_LOGDIALOG=yes
532
533   DEFAULT_wxUSE_GUI=yes
534
535   DEFAULT_wxUSE_REGEX=yes
536   DEFAULT_wxUSE_ZLIB=yes
537   DEFAULT_wxUSE_LIBPNG=yes
538   DEFAULT_wxUSE_LIBJPEG=yes
539   DEFAULT_wxUSE_LIBTIFF=yes
540   DEFAULT_wxUSE_ODBC=no
541   DEFAULT_wxUSE_OPENGL=no
542
543   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
544   DEFAULT_wxUSE_SNGLINST_CHECKER=yes
545   DEFAULT_wxUSE_STD_IOSTREAM=no
546   DEFAULT_wxUSE_CMDLINE_PARSER=yes
547   DEFAULT_wxUSE_DATETIME=yes
548   DEFAULT_wxUSE_TIMER=yes
549   DEFAULT_wxUSE_STOPWATCH=yes
550   DEFAULT_wxUSE_FILE=yes
551   DEFAULT_wxUSE_FFILE=yes
552   DEFAULT_wxUSE_TEXTBUFFER=yes
553   DEFAULT_wxUSE_TEXTFILE=yes
554   DEFAULT_wxUSE_WAVE=no
555   DEFAULT_wxUSE_INTL=yes
556   DEFAULT_wxUSE_CONFIG=yes
557   DEFAULT_wxUSE_FONTMAP=yes
558   DEFAULT_wxUSE_STREAMS=yes
559   DEFAULT_wxUSE_SOCKETS=yes
560   DEFAULT_wxUSE_OLE=yes
561   DEFAULT_wxUSE_DATAOBJ=yes
562   DEFAULT_wxUSE_DIALUP_MANAGER=yes
563   DEFAULT_wxUSE_JOYSTICK=yes
564   DEFAULT_wxUSE_DYNLIB_CLASS=yes
565   DEFAULT_wxUSE_DYNAMIC_LOADER=yes
566   DEFAULT_wxUSE_LONGLONG=yes
567   DEFAULT_wxUSE_GEOMETRY=yes
568
569   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
570   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
571   DEFAULT_wxUSE_POSTSCRIPT=yes
572
573   DEFAULT_wxUSE_CLIPBOARD=yes
574   DEFAULT_wxUSE_TOOLTIPS=yes
575   DEFAULT_wxUSE_DRAG_AND_DROP=yes
576   DEFAULT_wxUSE_DRAGIMAGE=yes
577   DEFAULT_wxUSE_SPLINES=yes
578
579   DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
580   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
581   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
582
583   DEFAULT_wxUSE_RESOURCES=no
584   DEFAULT_wxUSE_CONSTRAINTS=yes
585   DEFAULT_wxUSE_IPC=yes
586   DEFAULT_wxUSE_HELP=yes
587   DEFAULT_wxUSE_MS_HTML_HELP=yes
588   DEFAULT_wxUSE_WXHTML_HELP=yes
589   DEFAULT_wxUSE_TREELAYOUT=yes
590   DEFAULT_wxUSE_METAFILE=yes
591   DEFAULT_wxUSE_MIMETYPE=yes
592   DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
593   DEFAULT_wxUSE_PROTOCOL=yes
594   DEFAULT_wxUSE_PROTOCOL_HTTP=yes
595   DEFAULT_wxUSE_PROTOCOL_FTP=yes
596   DEFAULT_wxUSE_PROTOCOL_FILE=yes
597   DEFAULT_wxUSE_URL=yes
598
599   DEFAULT_wxUSE_COMMONDLGS=yes
600   DEFAULT_wxUSE_CHOICEDLG=yes
601   DEFAULT_wxUSE_COLOURDLG=yes
602   DEFAULT_wxUSE_DIRDLG=yes
603   DEFAULT_wxUSE_FILEDLG=yes
604   DEFAULT_wxUSE_FINDREPLDLG=yes
605   DEFAULT_wxUSE_FONTDLG=yes
606   DEFAULT_wxUSE_MSGDLG=yes
607   DEFAULT_wxUSE_NUMBERDLG=yes
608   DEFAULT_wxUSE_TEXTDLG=yes
609   DEFAULT_wxUSE_SPLASH=yes
610   DEFAULT_wxUSE_STARTUP_TIPS=yes
611   DEFAULT_wxUSE_PROGRESSDLG=yes
612   DEFAULT_wxUSE_WIZARDDLG=yes
613
614   DEFAULT_wxUSE_MENUS=yes
615   DEFAULT_wxUSE_MINIFRAME=yes
616   DEFAULT_wxUSE_HTML=yes
617   DEFAULT_wxUSE_FILESYSTEM=yes
618   DEFAULT_wxUSE_FS_INET=yes
619   DEFAULT_wxUSE_FS_ZIP=yes
620   DEFAULT_wxUSE_BUSYINFO=yes
621   DEFAULT_wxUSE_ZIPSTREAM=yes
622   DEFAULT_wxUSE_VALIDATORS=yes
623
624   DEFAULT_wxUSE_ACCEL=yes
625   DEFAULT_wxUSE_BUTTON=yes
626   DEFAULT_wxUSE_BMPBUTTON=yes
627   DEFAULT_wxUSE_CALCTRL=yes
628   DEFAULT_wxUSE_CARET=yes
629   DEFAULT_wxUSE_CHECKBOX=yes
630   DEFAULT_wxUSE_CHECKLST=yes
631   DEFAULT_wxUSE_CHOICE=yes
632   DEFAULT_wxUSE_COMBOBOX=yes
633   DEFAULT_wxUSE_DISPLAY=no
634   DEFAULT_wxUSE_GAUGE=yes
635   DEFAULT_wxUSE_GRID=yes
636   DEFAULT_wxUSE_IMAGLIST=yes
637   DEFAULT_wxUSE_LISTBOX=yes
638   DEFAULT_wxUSE_LISTCTRL=yes
639   DEFAULT_wxUSE_NOTEBOOK=yes
640   DEFAULT_wxUSE_RADIOBOX=yes
641   DEFAULT_wxUSE_RADIOBTN=yes
642   DEFAULT_wxUSE_SASH=yes
643   DEFAULT_wxUSE_SCROLLBAR=yes
644   DEFAULT_wxUSE_SLIDER=yes
645   DEFAULT_wxUSE_SPINBTN=yes
646   DEFAULT_wxUSE_SPINCTRL=yes
647   DEFAULT_wxUSE_SPLITTER=yes
648   DEFAULT_wxUSE_STATBMP=yes
649   DEFAULT_wxUSE_STATBOX=yes
650   DEFAULT_wxUSE_STATLINE=yes
651   DEFAULT_wxUSE_STATTEXT=yes
652   DEFAULT_wxUSE_STATUSBAR=yes
653   DEFAULT_wxUSE_TABDIALOG=no
654   DEFAULT_wxUSE_TEXTCTRL=yes
655   DEFAULT_wxUSE_TOGGLEBTN=yes
656   DEFAULT_wxUSE_TOOLBAR=yes
657   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
658   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
659   DEFAULT_wxUSE_TREECTRL=yes
660   DEFAULT_wxUSE_POPUPWIN=yes
661   DEFAULT_wxUSE_TIPWINDOW=yes
662
663   DEFAULT_wxUSE_UNICODE=no
664   DEFAULT_wxUSE_UNICODE_MSLU=yes
665   DEFAULT_wxUSE_WCSRTOMBS=no
666
667   DEFAULT_wxUSE_PALETTE=yes
668   DEFAULT_wxUSE_IMAGE=yes
669   DEFAULT_wxUSE_GIF=yes
670   DEFAULT_wxUSE_PCX=yes
671   DEFAULT_wxUSE_IFF=no
672   DEFAULT_wxUSE_PNM=yes
673   DEFAULT_wxUSE_XPM=yes
674   DEFAULT_wxUSE_ICO_CUR=yes
675   DEFAULT_wxUSE_ACCESSIBILITY=no
676   
677   DEFAULT_wxUSE_MONOLITHIC=yes
678 fi
679
680 dnl WX_ARG_WITH should be used to select whether an external package will be
681 dnl used or not, to configure compile-time features of this package itself,
682 dnl use WX_ARG_ENABLE instead
683
684 dnl ============================
685 dnl external package dependecies
686 dnl ============================
687
688 dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
689 dnl these values manually
690 for toolkit in `echo $ALL_TOOLKITS`; do
691   LINE=`grep "wxUSE_$toolkit=" ${wx_arg_cache_file}`
692   if test "x$LINE" != "x" ; then
693     has_toolkit_in_cache=1
694     eval "DEFAULT_$LINE"
695     eval "CACHE_$toolkit=1"
696   fi
697 done
698
699 dnl ---------------------------------------------------------------------------
700 dnl --disable-gui will build only non-GUI part of wxWindows: check for this
701 dnl first to disable many other switches if it's given
702 dnl
703 dnl NB: this is still in testing stage, don't use if you don't know what you're
704 dnl     doing
705 dnl ---------------------------------------------------------------------------
706
707 WX_ARG_ENABLE(gui,         [  --enable-gui            use GUI classes], wxUSE_GUI)
708 WX_ARG_ENABLE(monolithic,  [  --disable-monolithic    don't build wxWindows as single library], wxUSE_MONOLITHIC)
709
710 if test "$wxUSE_GUI" = "yes"; then
711
712 WX_ARG_ENABLE(universal,   [  --enable-universal      use wxWindows GUI controls instead of native ones], wxUSE_UNIVERSAL)
713 AC_ARG_WITH(gtk,           [  --with-gtk              use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
714 AC_ARG_WITH(motif,         [  --with-motif            use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
715 AC_ARG_WITH(mac,           [  --with-mac              use Mac OS X], [wxUSE_MAC="$withval" TOOLKIT_GIVEN=1])
716 AC_ARG_WITH(cocoa,         [  --with-cocoa            use Cocoa], [wxUSE_COCOA="$withval" TOOLKIT_GIVEN=1])
717 AC_ARG_WITH(wine,          [  --with-wine             use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
718 AC_ARG_WITH(msw,           [  --with-msw              use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])
719 AC_ARG_WITH(pm,            [  --with-pm               use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
720 AC_ARG_WITH(mgl,           [  --with-mgl              use SciTech MGL], [wxUSE_MGL="$withval" wxUSE_UNIVERSAL="yes" CACHE_MGL=1 TOOLKIT_GIVEN=1])
721 AC_ARG_WITH(microwin,      [  --with-microwin         use MicroWindows], [wxUSE_MICROWIN="$withval" CACHE_MICROWIN=1 TOOLKIT_GIVEN=1])
722 AC_ARG_WITH(x11,           [  --with-x11              use X11], [wxUSE_X11="$withval" wxUSE_UNIVERSAL="yes" CACHE_X11=1 TOOLKIT_GIVEN=1])
723 WX_ARG_ENABLE(nanox,       [  --enable-nanox          use NanoX], wxUSE_NANOX)
724
725 WX_ARG_ENABLE(gtk2,        [  --enable-gtk2           use GTK+ 2.0 if available (EXPERIMENTAL)], wxUSE_GTK2)
726
727 WX_ARG_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
728 WX_ARG_SYS_WITH(libjpeg,   [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
729 WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
730 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
731
732 fi
733 dnl for GUI only
734
735 WX_ARG_WITH(dmalloc,       [  --with-dmalloc          use dmalloc library (http://dmalloc.com/)], wxUSE_DMALLOC)
736 WX_ARG_SYS_WITH(regex,     [  --with-regex            enable support for wxRegEx class], wxUSE_REGEX)
737 WX_ARG_SYS_WITH(zlib,      [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
738 WX_ARG_SYS_WITH(odbc,      [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
739
740 dnl ---------------------------------------------------------------------------
741 dnl compile options
742 dnl ---------------------------------------------------------------------------
743
744 WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code], wxUSE_SHARED)
745 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
746 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
747 WX_ARG_ENABLE(stl,         [  --enable-stl            use STL for containers], wxUSE_STL)
748
749 if test "$wxUSE_DEBUG" = "yes"; then
750   DEFAULT_wxUSE_DEBUG_FLAG=yes
751   DEFAULT_wxUSE_DEBUG_INFO=yes
752 elif test "$wxUSE_DEBUG" = "no"; then
753   DEFAULT_wxUSE_DEBUG_FLAG=no
754   DEFAULT_wxUSE_DEBUG_INFO=no
755 fi
756
757 WX_ARG_ENABLE(debug_flag,    [  --enable-debug_flag     set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
758 WX_ARG_ENABLE(debug_info,    [  --enable-debug_info     create code with debugging information], wxUSE_DEBUG_INFO)
759 WX_ARG_ENABLE(debug_gdb,     [  --enable-debug_gdb      create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
760 WX_ARG_ENABLE(debug_cntxt,   [  --enable-debug_cntxt    use wxDebugContext], wxUSE_DEBUG_CONTEXT)
761 WX_ARG_ENABLE(mem_tracing,   [  --enable-mem_tracing    create code with memory tracing], wxUSE_MEM_TRACING)
762 WX_ARG_ENABLE(profile,       [  --enable-profile        create code with profiling information], wxUSE_PROFILE)
763 WX_ARG_ENABLE(no_rtti,       [  --enable-no_rtti        create code without RTTI information], wxUSE_NO_RTTI)
764 WX_ARG_ENABLE(no_exceptions, [  --enable-no_exceptions  create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS)
765 WX_ARG_ENABLE(permissive,    [  --enable-permissive     compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
766 WX_ARG_ENABLE(no_deps,       [  --enable-no_deps        create code without dependency information], wxUSE_NO_DEPS)
767
768 WX_ARG_ENABLE(compat20,      [  --enable-compat20       enable wxWindows 2.0 compatibility], WXWIN_COMPATIBILITY_2)
769 WX_ARG_ENABLE(compat22,      [  --enable-compat22       enable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
770 WX_ARG_ENABLE(compat24,      [  --disable-compat24      disable wxWindows 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, disable)
771
772 AC_ARG_ENABLE(rpath,         [  --enable-rpath=DIR      output the rpath flag from wx-config], [wxRPATH_DIR="$enableval"])
773
774 if test "$wxRPATH_DIR" != "" -a "$wxRPATH_DIR" != "disable"; then
775    WXCONFIG_RPATH="-Wl,-rpath -Wl,$wxRPATH_DIR"
776 fi
777
778
779 dnl ---------------------------------------------------------------------------
780 dnl (small) optional non GUI classes
781 dnl ---------------------------------------------------------------------------
782
783 WX_ARG_ENABLE(intl,          [  --enable-intl           use internationalization system], wxUSE_INTL)
784 WX_ARG_ENABLE(config,        [  --enable-config         use wxConfig (and derived) classes], wxUSE_CONFIG)
785
786 WX_ARG_ENABLE(protocols,     [  --enable-protocols      use wxProtocol and derived classes], wxUSE_PROTOCOL)
787 WX_ARG_ENABLE(ftp,           [  --enable-ftp            use wxFTP (requires wxProtocol], wxUSE_PROTOCOL_FTP)
788 WX_ARG_ENABLE(http,          [  --enable-http           use wxHTTP (requires wxProtocol], wxUSE_PROTOCOL_HTTP)
789 WX_ARG_ENABLE(fileproto,     [  --enable-fileproto      use wxFileProto class (requires wxProtocol], wxUSE_PROTOCOL_FILE)
790 WX_ARG_ENABLE(sockets,       [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
791 WX_ARG_ENABLE(ole,           [  --enable-ole            use OLE classes], wxUSE_OLE)
792 WX_ARG_ENABLE(dataobj,       [  --enable-dataobj        use data object classes], wxUSE_DATAOBJ)
793
794 WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
795
796 WX_ARG_ENABLE(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
797 WX_ARG_ENABLE(datetime,      [  --enable-datetime       use wxDateTime class], wxUSE_DATETIME)
798 WX_ARG_ENABLE(stopwatch,     [  --enable-stopwatch      use wxStopWatch class], wxUSE_STOPWATCH)
799 WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
800 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
801 WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUSE_TIMER)
802 WX_ARG_ENABLE(wave,          [  --enable-wave           use wxWave class], wxUSE_WAVE)
803 WX_ARG_ENABLE(fraction,      [  --enable-fraction       use wxFraction class], wxUSE_FRACTION)
804 WX_ARG_ENABLE(dynlib,        [  --enable-dynlib         use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
805 WX_ARG_ENABLE(dynamicloader, [  --enable-dynamicloader  use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER)
806 WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
807 WX_ARG_ENABLE(geometry,      [  --enable-geometry       use geometry class], wxUSE_GEOMETRY)
808 WX_ARG_ENABLE(log,           [  --enable-log            use logging system], wxUSE_LOG)
809 WX_ARG_ENABLE(streams,       [  --enable-streams        use wxStream etc classes], wxUSE_STREAMS)
810 WX_ARG_ENABLE(file,          [  --enable-file           use wxFile classes], wxUSE_FILE)
811 WX_ARG_ENABLE(ffile,         [  --enable-ffile          use wxFFile classes], wxUSE_FFILE)
812 WX_ARG_ENABLE(textbuf,       [  --enable-textbuf        use wxTextBuffer class], wxUSE_TEXTBUFFER)
813 WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile class], wxUSE_TEXTFILE)
814 WX_ARG_ENABLE(fontmap,       [  --enable-fontmap        use font encodings conversion classes], wxUSE_FONTMAP)
815 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
816 WX_ARG_ENABLE(mslu,          [  --enable-mslu           use MS Layer for Unicode on Windows 9x (win32 only)], wxUSE_UNICODE_MSLU)
817 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
818 WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
819 WX_ARG_ENABLE(filesystem,    [  --enable-filesystem     use virtual file systems classes], wxUSE_FILESYSTEM)
820 WX_ARG_ENABLE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
821 WX_ARG_ENABLE(fs_zip,        [  --enable-fs_zip         use virtual ZIP filesystems], wxUSE_FS_ZIP)
822 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
823
824 WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals and pass them to wxApp::OnFatalException], wxUSE_ON_FATAL_EXCEPTION)
825 WX_ARG_ENABLE(snglinst,      [  --enable-snglinst       use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
826
827 WX_ARG_ENABLE(mimetype,      [  --enable-mimetype       use wxMimeTypesManager], wxUSE_MIMETYPE)
828 WX_ARG_ENABLE(system_options,[  --enable-sysoptions     use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
829
830 WX_ARG_ENABLE(url,           [  --enable-url            use wxURL class], wxUSE_URL)
831 WX_ARG_ENABLE(protocol,      [  --enable-protocol       use wxProtocol class], wxUSE_PROTOCOL)
832 WX_ARG_ENABLE(protocol_http, [  --enable-protocol-http  HTTP support in wxProtocol], wxUSE_PROTOCOL_HTTP)
833 WX_ARG_ENABLE(protocol_ftp,  [  --enable-protocol-ftp   FTP support in wxProtocol], wxUSE_PROTOCOL_FTP)
834 WX_ARG_ENABLE(protocol_file, [  --enable-protocol-file  FILE support in wxProtocol], wxUSE_PROTOCOL_FILE)
835
836
837 dnl ---------------------------------------------------------------------------
838 dnl "big" options (i.e. those which change a lot of things throughout the library)
839 dnl ---------------------------------------------------------------------------
840
841 WX_ARG_ENABLE(threads,     [  --enable-threads        use threads], wxUSE_THREADS)
842
843 if test "$wxUSE_GUI" = "yes"; then
844
845 dnl ---------------------------------------------------------------------------
846 dnl "big" GUI options
847 dnl ---------------------------------------------------------------------------
848
849 WX_ARG_ENABLE(docview,     [  --enable-docview        use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
850 WX_ARG_ENABLE(help,        [  --enable-help           use help subsystem], wxUSE_HELP)
851 WX_ARG_ENABLE(mshtmlhelp,  [  --enable-mshtmlhelp     use MS HTML Help (win32)], wxUSE_MS_HTML_HELP)
852 WX_ARG_ENABLE(html,        [  --enable-html           use wxHTML sub-library], wxUSE_HTML)
853 WX_ARG_ENABLE(htmlhelp,    [  --enable-htmlhelp       use wxHTML-based help], wxUSE_WXHTML_HELP)
854 WX_ARG_ENABLE(constraints, [  --enable-constraints    use layout-constraints system], wxUSE_CONSTRAINTS)
855 WX_ARG_ENABLE(printarch,   [  --enable-printarch      use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
856 WX_ARG_ENABLE(mdi,         [  --enable-mdi            use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
857 WX_ARG_ENABLE(loggui,      [  --enable-loggui         use standard GUI logger], wxUSE_LOGGUI)
858 WX_ARG_ENABLE(logwin,      [  --enable-logwin         use wxLogWindow], wxUSE_LOGWINDOW)
859 WX_ARG_ENABLE(logdialog,   [  --enable-logdialog      use wxLogDialog], wxUSE_LOGDIALOG)
860
861 dnl ---------------------------------------------------------------------------
862 dnl PostScript options
863 dnl ---------------------------------------------------------------------------
864 WX_ARG_ENABLE(postscript,  [  --enable-postscript     use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT)
865
866 dnl VZ: these options seem to be always on, if someone wants to change it please do
867 dnl WX_ARG_ENABLE(PS-normalized,    [  --enable-PS-normalized  use normalized PS fonts], dnl             wxUSE_NORMALIZED_PS_FONTS)
868 dnl WX_ARG_ENABLE(afmfonts,        [  --enable-afmfonts       use Adobe Font Metric Font table], dnl             wxUSE_AFM_FOR_POSTSCRIPT)
869
870 dnl ---------------------------------------------------------------------------
871 dnl resources
872 dnl ---------------------------------------------------------------------------
873
874 WX_ARG_ENABLE(prologio,    [  --enable-prologio       not available; see contrib], wxUSE_PROLOGIO)
875 WX_ARG_ENABLE(resources,   [  --enable-resources      not available; see contrib], wxUSE_RESOURCES)
876
877 dnl ---------------------------------------------------------------------------
878 dnl IPC &c
879 dnl ---------------------------------------------------------------------------
880
881 WX_ARG_ENABLE(clipboard,   [  --enable-clipboard      use wxClipboard class], wxUSE_CLIPBOARD)
882 WX_ARG_ENABLE(dnd,         [  --enable-dnd            use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
883 WX_ARG_ENABLE(metafile,    [  --enable-metafile       use win32 metafiles], wxUSE_METAFILE)
884
885 dnl WX_ARG_ENABLE(treelayout,  [  --enable-treelayout     use wxTreeLayout class], wxUSE_TREELAYOUT)
886
887 dnl ---------------------------------------------------------------------------
888 dnl optional GUI controls (in alphabetical order except the first one)
889 dnl ---------------------------------------------------------------------------
890
891 WX_ARG_ENABLE(controls,    [  --enable-controls       use all usual controls], wxUSE_CONTROLS)
892
893 dnl even with --enable-controls, some may be disabled by giving
894 dnl --disable-<control> later on the command line - but by default all will be
895 dnl used (and vice versa)
896 if test "$wxUSE_CONTROLS" = "yes"; then
897   DEFAULT_wxUSE_ACCEL=yes
898   DEFAULT_wxUSE_BMPBUTTON=yes
899   DEFAULT_wxUSE_BUTTON=yes
900   DEFAULT_wxUSE_CALCTRL=no
901   DEFAULT_wxUSE_CARET=yes
902   DEFAULT_wxUSE_COMBOBOX=yes
903   DEFAULT_wxUSE_CHECKBOX=yes
904   DEFAULT_wxUSE_CHECKLISTBOX=yes
905   DEFAULT_wxUSE_CHOICE=yes
906   DEFAULT_wxUSE_GAUGE=yes
907   DEFAULT_wxUSE_GRID=yes
908   DEFAULT_wxUSE_IMAGLIST=yes
909   DEFAULT_wxUSE_LISTBOX=yes
910   DEFAULT_wxUSE_LISTCTRL=yes
911   DEFAULT_wxUSE_NOTEBOOK=yes
912   DEFAULT_wxUSE_RADIOBOX=yes
913   DEFAULT_wxUSE_RADIOBTN=yes
914   DEFAULT_wxUSE_SASH=yes
915   DEFAULT_wxUSE_SCROLLBAR=yes
916   DEFAULT_wxUSE_SLIDER=yes
917   DEFAULT_wxUSE_SPINBTN=yes
918   DEFAULT_wxUSE_SPINCTRL=yes
919   DEFAULT_wxUSE_SPLITTER=yes
920   DEFAULT_wxUSE_STATBMP=yes
921   DEFAULT_wxUSE_STATBOX=yes
922   DEFAULT_wxUSE_STATLINE=yes
923   DEFAULT_wxUSE_STATUSBAR=yes
924   DEFAULT_wxUSE_TAB_DIALOG=yes
925   DEFAULT_wxUSE_TOGGLEBTN=yes
926   DEFAULT_wxUSE_TOOLBAR=yes
927   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
928   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
929   DEFAULT_wxUSE_TOOLTIPS=yes
930   DEFAULT_wxUSE_TREECTRL=yes
931   DEFAULT_wxUSE_POPUPWIN=yes
932   DEFAULT_wxUSE_TIPWINDOW=yes
933 elif test "$wxUSE_CONTROLS" = "no"; then
934   DEFAULT_wxUSE_ACCEL=no
935   DEFAULT_wxUSE_BMPBUTTON=no
936   DEFAULT_wxUSE_BUTTON=no
937   DEFAULT_wxUSE_CALCTRL=no
938   DEFAULT_wxUSE_CARET=no
939   DEFAULT_wxUSE_COMBOBOX=no
940   DEFAULT_wxUSE_CHECKBOX=no
941   DEFAULT_wxUSE_CHECKLISTBOX=no
942   DEFAULT_wxUSE_CHOICE=no
943   DEFAULT_wxUSE_GAUGE=no
944   DEFAULT_wxUSE_GRID=no
945   DEFAULT_wxUSE_IMAGLIST=no
946   DEFAULT_wxUSE_LISTBOX=no
947   DEFAULT_wxUSE_LISTCTRL=no
948   DEFAULT_wxUSE_NOTEBOOK=no
949   DEFAULT_wxUSE_RADIOBOX=no
950   DEFAULT_wxUSE_RADIOBTN=no
951   DEFAULT_wxUSE_SASH=no
952   DEFAULT_wxUSE_SCROLLBAR=no
953   DEFAULT_wxUSE_SLIDER=no
954   DEFAULT_wxUSE_SPINBTN=no
955   DEFAULT_wxUSE_SPINCTRL=no
956   DEFAULT_wxUSE_SPLITTER=no
957   DEFAULT_wxUSE_STATBMP=no
958   DEFAULT_wxUSE_STATBOX=no
959   DEFAULT_wxUSE_STATLINE=no
960   DEFAULT_wxUSE_STATUSBAR=no
961   DEFAULT_wxUSE_TAB_DIALOG=no
962   DEFAULT_wxUSE_TOGGLEBTN=no
963   DEFAULT_wxUSE_TOOLBAR=no
964   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
965   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
966   DEFAULT_wxUSE_TOOLTIPS=no
967   DEFAULT_wxUSE_TREECTRL=no
968   DEFAULT_wxUSE_POPUPWIN=no
969   DEFAULT_wxUSE_TIPWINDOW=no
970 fi
971
972 ## FIXME: This is a blatant hack
973 if test "x$wxUSE_COCOA" != "x" -a "$wxUSE_COCOA" != "0" ; then
974   wxUSE_PRINTING_ARCHITECTURE=no
975   wxUSE_HELP=no
976   wxUSE_CLIPBOARD=no
977   wxUSE_DRAG_AND_DROP=no
978   wxUSE_DATAOBJ=no
979   # Generic notebook requires tab dialog
980   DEFAULT_wxUSE_TABDIALOG=yes
981   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
982   DEFAULT_wxUSE_GAUGE=no
983   DEFAULT_wxUSE_SCROLLBAR=no
984   DEFAULT_wxUSE_CALCTRL=no
985   DEFAULT_wxUSE_SPINBTN=no
986   DEFAULT_wxUSE_SPINCTRL=no
987   DEFAULT_wxUSE_TOOLTIPS=no
988   DEFAULT_wxUSE_DRAGIMAGE=no
989   DEFAULT_wxUSE_PROGRESSDLG=no
990 fi
991
992 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
993 WX_ARG_ENABLE(button,      [  --enable-button         use wxButton class], wxUSE_BUTTON)
994 WX_ARG_ENABLE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
995 WX_ARG_ENABLE(calendar,    [  --enable-calendar       use wxCalendarCtrl class], wxUSE_CALCTRL)
996 WX_ARG_ENABLE(caret,       [  --enable-caret          use wxCaret class], wxUSE_CARET)
997 WX_ARG_ENABLE(checkbox,    [  --enable-checkbox       use wxCheckBox class], wxUSE_CHECKBOX)
998 WX_ARG_ENABLE(checklst,    [  --enable-checklst       use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
999 WX_ARG_ENABLE(choice,      [  --enable-choice         use wxChoice class], wxUSE_CHOICE)
1000 WX_ARG_ENABLE(combobox,    [  --enable-combobox       use wxComboBox class], wxUSE_COMBOBOX)
1001 WX_ARG_ENABLE(display,     [  --enable-display        use wxDisplay class], wxUSE_DISPLAY)
1002 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
1003 WX_ARG_ENABLE(grid,        [  --enable-grid           use wxGrid class], wxUSE_GRID)
1004 WX_ARG_ENABLE(imaglist,    [  --enable-imaglist       use wxImageList class], wxUSE_IMAGLIST)
1005 WX_ARG_ENABLE(listbox,     [  --enable-listbox        use wxListBox class], wxUSE_LISTBOX)
1006 WX_ARG_ENABLE(listctrl,    [  --enable-listctrl       use wxListCtrl class], wxUSE_LISTCTRL)
1007 WX_ARG_ENABLE(notebook,    [  --enable-notebook       use wxNotebook class], wxUSE_NOTEBOOK)
1008 WX_ARG_ENABLE(radiobox,    [  --enable-radiobox       use wxRadioBox class], wxUSE_RADIOBOX)
1009 WX_ARG_ENABLE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
1010 WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
1011 WX_ARG_ENABLE(scrollbar,   [  --enable-scrollbar      use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
1012 WX_ARG_ENABLE(slider,      [  --enable-slider         use wxSlider class], wxUSE_SLIDER)
1013 WX_ARG_ENABLE(spinbtn,     [  --enable-spinbtn        use wxSpinButton class], wxUSE_SPINBTN)
1014 WX_ARG_ENABLE(spinctrl,    [  --enable-spinctrl       use wxSpinCtrl class], wxUSE_SPINCTRL)
1015 WX_ARG_ENABLE(splitter,    [  --enable-splitter       use wxSplitterWindow class], wxUSE_SPLITTER)
1016 WX_ARG_ENABLE(statbmp,     [  --enable-statbmp        use wxStaticBitmap class], wxUSE_STATBMP)
1017 WX_ARG_ENABLE(statbox,     [  --enable-statbox        use wxStaticBox class], wxUSE_STATBOX)
1018 WX_ARG_ENABLE(statline,    [  --enable-statline       use wxStaticLine class], wxUSE_STATLINE)
1019 WX_ARG_ENABLE(stattext,    [  --enable-stattext       use wxStaticText class], wxUSE_STATTEXT)
1020 WX_ARG_ENABLE(statusbar,   [  --enable-statusbar      use wxStatusBar class], wxUSE_STATUSBAR)
1021 WX_ARG_ENABLE(tabdialog,   [  --enable-tabdialog      use wxTabControl class], wxUSE_TABDIALOG)
1022 WX_ARG_ENABLE(textctrl,    [  --enable-textctrl       use wxTextCtrl class], wxUSE_TEXTCTRL)
1023 WX_ARG_ENABLE(togglebtn,   [  --enable-togglebtn      use wxToggleButton class], wxUSE_TOGGLEBTN)
1024 WX_ARG_ENABLE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUSE_TOOLBAR)
1025 WX_ARG_ENABLE(tbarnative,  [  --enable-tbarnative     use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
1026 WX_ARG_ENABLE(tbarsmpl,    [  --enable-tbarsmpl       use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
1027 WX_ARG_ENABLE(treectrl,    [  --enable-treectrl       use wxTreeCtrl class], wxUSE_TREECTRL)
1028 WX_ARG_ENABLE(tipwindow,   [  --enable-tipwindow      use wxTipWindow class], wxUSE_TIPWINDOW)
1029 WX_ARG_ENABLE(popupwin,    [  --enable-popupwin       use wxPopUpWindow class], wxUSE_POPUPWIN)
1030
1031 dnl ---------------------------------------------------------------------------
1032 dnl common dialogs
1033 dnl ---------------------------------------------------------------------------
1034
1035 WX_ARG_ENABLE(commondlg,   [  --enable-commondlg      use all common dialogs], wxUSE_COMMONDLGS)
1036 WX_ARG_ENABLE(choicedlg,   [  --enable-choicedlg      use wxChoiceDialog], wxUSE_CHOICEDLG)
1037 WX_ARG_ENABLE(coldlg,      [  --enable-coldlg         use wxColourDialog], wxUSE_COLOURDLG)
1038 WX_ARG_ENABLE(filedlg,     [  --enable-filedlg        use wxFileDialog], wxUSE_FILEDLG)
1039 WX_ARG_ENABLE(finddlg,     [  --enable-finddlg        use wxFindReplaceDialog], wxUSE_FINDREPLDLG)
1040 WX_ARG_ENABLE(fontdlg,     [  --enable-fontdlg        use wxFontDialog], wxUSE_FONTDLG)
1041 WX_ARG_ENABLE(dirdlg,      [  --enable-dirdlg         use wxDirDialog], wxUSE_DIRDLG)
1042 WX_ARG_ENABLE(msgdlg,      [  --enable-msgdlg         use wxMessageDialog], wxUSE_MSGDLG)
1043 WX_ARG_ENABLE(numberdlg,   [  --enable-numberdlg      use wxNumberEntryDialog], wxUSE_NUMBERDLG)
1044 WX_ARG_ENABLE(splash,      [  --enable-splash         use wxSplashScreen], wxUSE_SPLASH)
1045 WX_ARG_ENABLE(textdlg,     [  --enable-textdlg        use wxTextDialog], wxUSE_TEXTDLG)
1046 WX_ARG_ENABLE(tipdlg,      [  --enable-tipdlg         use startup tips], wxUSE_STARTUP_TIPS)
1047 WX_ARG_ENABLE(progressdlg, [  --enable-progressdlg    use wxProgressDialog], wxUSE_PROGRESSDLG)
1048 WX_ARG_ENABLE(wizarddlg,   [  --enable-wizarddlg      use wxWizard], wxUSE_WIZARDDLG)
1049
1050 dnl ---------------------------------------------------------------------------
1051 dnl misc GUI options
1052 dnl ---------------------------------------------------------------------------
1053
1054 WX_ARG_ENABLE(menus,       [  --enable-menus          use wxMenu/wxMenuBar/wxMenuItem classes], wxUSE_MENUS)
1055 WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
1056 WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUSE_TOOLTIPS)
1057 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
1058 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
1059 WX_ARG_ENABLE(busyinfo,    [  --enable-busyinfo       use wxBusyInfo], wxUSE_BUSYINFO)
1060 WX_ARG_ENABLE(joystick,    [  --enable-joystick       use wxJoystick (Linux only)], wxUSE_JOYSTICK)
1061 WX_ARG_ENABLE(metafile,    [  --enable-metafiles      use wxMetaFile (Windows only)], wxUSE_METAFILE)
1062 WX_ARG_ENABLE(dragimage,   [  --enable-dragimage      use wxDragImage], wxUSE_DRAGIMAGE)
1063 WX_ARG_ENABLE(accessibility,[  --enable-accessibility  enable accessibility support], wxUSE_ACCESSIBILITY)
1064
1065 dnl ---------------------------------------------------------------------------
1066 dnl support for image formats that do not rely on external library
1067 dnl ---------------------------------------------------------------------------
1068
1069 WX_ARG_ENABLE(palette,     [  --enable-palette        use wxPalette class], wxUSE_PALETTE)
1070 WX_ARG_ENABLE(image,       [  --enable-image          use wxImage class], wxUSE_IMAGE)
1071 WX_ARG_ENABLE(gif,         [  --enable-gif            use gif images (GIF file format)], wxUSE_GIF)
1072 WX_ARG_ENABLE(pcx,         [  --enable-pcx            use pcx images (PCX file format)], wxUSE_PCX)
1073 WX_ARG_ENABLE(iff,         [  --enable-iff            use iff images (IFF file format)], wxUSE_IFF)
1074 WX_ARG_ENABLE(pnm,         [  --enable-pnm            use pnm images (PNM file format)], wxUSE_PNM)
1075 WX_ARG_ENABLE(xpm,         [  --enable-xpm            use xpm images (XPM file format)], wxUSE_XPM)
1076 WX_ARG_ENABLE(ico_cur,     [  --enable-icocur         use Windows ICO and CUR formats], wxUSE_ICO_CUR)
1077
1078 fi
1079
1080 dnl General settings (needed for GUI and non-GUI compilations alike).
1081 dnl Path separator; ':' for unix, ';' for OS/2
1082 dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise
1083 case "${host}" in
1084   *-pc-os2_emx | *-pc-os2-emx )
1085     PATH_IFS=';'
1086 dnl Really ought to text for this as meanwhile there are flex versions using
1087 dnl lex.yy as well due to FAT support being more and more dropped...
1088     LEX_STEM="lexyy"
1089   ;;
1090   *)
1091     PATH_IFS=':'
1092     LEX_STEM="lex.yy"
1093   ;;
1094 esac
1095
1096 dnl for GUI only
1097
1098 dnl cache the options values before (may be) aborting below
1099 WX_ARG_CACHE_FLUSH
1100
1101 dnl check that no more than one toolkit is given and that if none are given that
1102 dnl we have a default one
1103
1104 AC_MSG_CHECKING(for toolkit)
1105
1106 # In Wine, we need to default to MSW, not GTK or MOTIF
1107 if test "$wxUSE_WINE" = "yes"; then
1108     DEFAULT_DEFAULT_wxUSE_GTK=0
1109     DEFAULT_DEFAULT_wxUSE_MOTIF=0
1110     DEFAULT_DEFAULT_wxUSE_MSW=1
1111 fi
1112
1113 if test "$wxUSE_GUI" = "yes"; then
1114
1115     if test "$USE_BEOS" = 1; then
1116         AC_MSG_ERROR([BeOS GUI is not supported yet, use --disable-gui])
1117     fi
1118
1119     if test "$TOOLKIT_GIVEN" = 1; then
1120       dnl convert "yes" to 1 and "no" to 0
1121       for toolkit in `echo $ALL_TOOLKITS`; do
1122         var=wxUSE_$toolkit
1123         eval "value=\$${var}"
1124         eval "$var=`echo \$value | sed -e "s/yes/1/" -e "s/no/0/"`"
1125       done
1126     else
1127       dnl try to guess the most apropriate toolkit for this platform
1128       for toolkit in `echo $ALL_TOOLKITS`; do
1129         if test "$has_toolkit_in_cache" != 1; then
1130           var=DEFAULT_DEFAULT_wxUSE_$toolkit
1131         else
1132           var=DEFAULT_wxUSE_$toolkit
1133         fi
1134         eval "wxUSE_$toolkit=\$${var}"
1135       done
1136     fi
1137
1138     dnl we suppose that expr is available (maybe there is a better way to do
1139     dnl this? what about using ALL_TOOLKITS? TODO)
1140     NUM_TOOLKITS=`expr ${wxUSE_COCOA:-0} + ${wxUSE_GTK:-0} + ${wxUSE_MAC:-0} \
1141                   + ${wxUSE_MGL:-0} + ${wxUSE_MICROWIN:-0} \
1142                   + ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} + ${wxUSE_X11:-0}`
1143
1144     dnl Allow wxUSE_PM only for OS/2 with EMX.
1145     case "${host}" in
1146       *-pc-os2_emx | *-pc-os2-emx )
1147         NUM_TOOLKITS=`expr ${NUM_TOOLKITS} + ${wxUSE_PM:-0}`
1148     esac
1149
1150     case "$NUM_TOOLKITS" in
1151       1)
1152       ;;
1153       0)
1154         AC_MSG_ERROR(Please specify a toolkit -- cannot determine the default for ${host})
1155       ;;
1156       *)
1157         AC_MSG_ERROR(Please specify at most one toolkit (maybe some are cached in configarg.cache?))
1158     esac
1159
1160     dnl cache the wxUSE_<TOOLKIT> values too
1161     for toolkit in `echo $ALL_TOOLKITS`; do
1162       var=wxUSE_$toolkit
1163       eval "value=\$${var}"
1164       if test "x$value" != x; then
1165         cache_var=CACHE_$toolkit
1166         eval "cache=\$${cache_var}"
1167         if test "$cache" = 1; then
1168           echo "$var=$value" >> ${wx_arg_cache_file}
1169         fi
1170         if test "$value" = 1; then
1171           toolkit_echo=`echo $toolkit | tr [[A-Z]] [[a-z]]`
1172           AC_MSG_RESULT($toolkit_echo)
1173         fi
1174       fi
1175     done
1176 else
1177     if test "x$host_alias" != "x"; then
1178         AC_MSG_RESULT(base ($host_alias hosted) only)
1179     else
1180         AC_MSG_RESULT(base only)
1181     fi
1182 fi
1183
1184 dnl ---------------------------------------------------------------------------
1185 dnl When we are using Cygwin with Motif/GTK+, we want it to appear like
1186 dnl 'just' a POSIX platform, so the Win32 API must not be available
1187 dnl ---------------------------------------------------------------------------
1188 dnl (Windows-only piece)
1189 wants_win32=0
1190 doesnt_want_win32=0
1191 case "${host}" in
1192   *-*-cygwin*)
1193       if test "$wxUSE_MSW" = 1 ; then
1194         wants_win32=1
1195       else
1196         doesnt_want_win32=1
1197       fi
1198   ;;
1199   *-*-mingw*)
1200       wants_win32=1
1201   ;;
1202 esac
1203
1204 dnl ---------------------------------------------------------------------------
1205 dnl Wine is a virtual platform, we need to patch things up a bit
1206 dnl ---------------------------------------------------------------------------
1207 if test "$wxUSE_WINE" = "yes"; then
1208     wants_win32=1
1209     dnl FIXME: we should do a better job of testing for these
1210     CC=winegcc
1211     CXX=wineg++
1212     RESCOMP=wrc
1213 fi
1214
1215 dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
1216 dnl     take effect on Cygwin/Mingw and not other platforms.
1217 if test "$wants_win32" = 1 ; then
1218     USE_UNIX=0
1219     USE_WIN32=1
1220     AC_DEFINE(__WIN32__)
1221     AC_DEFINE(__WIN95__)
1222     AC_DEFINE(__WINDOWS__)
1223     AC_DEFINE(__GNUWIN32__)
1224     AC_DEFINE(STRICT)
1225     AC_DEFINE(WINVER, 0x0400)
1226 fi
1227 if test "$doesnt_want_win32" = 1 ; then
1228     USE_UNIX=1
1229     USE_WIN32=0
1230 fi
1231 dnl (end of Windows-only piece)
1232
1233 if test "$USE_UNIX" = 1 ; then
1234     wxUSE_UNIX=yes
1235     AC_DEFINE(__UNIX__)
1236 fi
1237
1238 dnl ---------------------------------------------------------------------------
1239 dnl Checks for programs
1240 dnl ---------------------------------------------------------------------------
1241
1242 dnl flush the cache because checking for programs might abort
1243 AC_CACHE_SAVE
1244
1245 dnl cross-compiling support: we're cross compiling if the build system is
1246 dnl different from the target one (assume host and target be always the same)
1247 if test "$build" != "$host" ; then
1248     if test "$USE_WIN32" = 1 -o "$USE_DOS" = 1 -o "$USE_UNIX"; then
1249         CC=$host_alias-gcc
1250         CXX=$host_alias-c++
1251         AR=$host_alias-ar
1252         RANLIB=$host_alias-ranlib
1253         DLLTOOL=$host_alias-dlltool
1254         RESCOMP=$host_alias-windres
1255         LD=$host_alias-ld
1256         NM=$host_alias-nm
1257         STRIP=$host_alias-strip
1258     else
1259         AC_MSG_ERROR($build_alias -> $host_alias cross compilation not supported yet.)
1260     fi
1261 fi
1262
1263 dnl C-compiler checks
1264 dnl   defines CC with the compiler to use
1265 dnl   defines GCC with yes if using gcc
1266 dnl   defines GCC empty if not using gcc
1267 dnl   defines CFLAGS
1268 dnl
1269 dnl this magic incantation is needed to prevent AC_PROG_CC from setting the
1270 dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add
1271 dnl -g and -O flags ourselves below
1272 CFLAGS=${CFLAGS:=}
1273 AC_PROG_CC
1274
1275 dnl is -traditional needed for correct compilations
1276 dnl   adds -traditional for gcc if needed
1277 AC_PROG_GCC_TRADITIONAL
1278
1279 AC_LANG_SAVE
1280 AC_LANG_CPLUSPLUS
1281
1282 dnl C++-compiler checks
1283 dnl   defines CXX with the compiler to use
1284 dnl   defines GXX with yes if using gxx
1285 dnl   defines GXX empty if not using gxx
1286 dnl   defines CXXFLAGS
1287 dnl
1288 dnl see CFLAGS line above
1289 CXXFLAGS=${CXXFLAGS:=}
1290 AC_PROG_CXX
1291
1292 AC_LANG_RESTORE
1293
1294 dnl ranlib command
1295 dnl   defines RANLIB with the appropriate command
1296 AC_PROG_RANLIB
1297
1298 dnl ar command
1299 dnl   defines AR with the appropriate command
1300 AC_CHECK_PROG(AR, ar, ar, ar)
1301
1302 dnl install checks
1303 dnl   defines INSTALL with the appropriate command
1304 AC_PROG_INSTALL
1305
1306 dnl   make install path absolute (if not already);
1307 dnl   will fail with (some) MSDOS paths
1308 case ${INSTALL} in
1309   /* ) # Absolute
1310      ;;
1311   ?:* ) # Drive letter, considered as absolute.
1312      ;;
1313   *)
1314      INSTALL=`pwd`/${INSTALL} ;;
1315 esac
1316
1317 dnl HP-UX install doesn't handle the "-d" switch so don't use it there
1318 case ${host} in
1319     *-hp-hpux* )
1320         INSTALL_DIR="mkdir"
1321         ;;
1322
1323     *)  INSTALL_DIR="$INSTALL -d"
1324         ;;
1325 esac
1326
1327
1328 case "${host}" in
1329
1330     dnl The other BSD's should probably go in here too, since this is
1331     dnl to workaround a strange static lib BSDism.
1332     dnl Mac OS X install seems to ignore -p option...
1333     powerpc-*-darwin* )
1334         INSTALL_PROGRAM="cp -fp"
1335         INSTALL_DATA="cp -fp"
1336         ;;
1337     *)
1338         ;;
1339 esac
1340
1341 dnl strip command
1342 dnl   defines STRIP as strip or nothing if not found
1343 AC_CHECK_PROG(STRIP, strip, strip, true)
1344
1345 dnl does make support "-include" (only GNU make does AFAIK)?
1346 AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu,
1347 [
1348     if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
1349             egrep -s GNU > /dev/null); then
1350         wx_cv_prog_makeisgnu="yes"
1351     else
1352         wx_cv_prog_makeisgnu="no"
1353     fi
1354 ])
1355
1356 if test "x$wx_cv_prog_makeisgnu" = "xyes"; then
1357     IF_GNU_MAKE=""
1358 else
1359     IF_GNU_MAKE="#"
1360 fi
1361
1362 AC_SUBST(IF_GNU_MAKE)
1363
1364 dnl we don't need to check for VPATH support in GNU make - it does have it
1365 if test "x$wx_cv_prog_makeisgnu" != "xyes"; then
1366 dnl check if VPATH works
1367 AC_CACHE_CHECK([if make supports VPATH], wx_cv_prog_makevpath, [
1368 dnl create Makefile
1369 cat - << EOF > confMake
1370 check : file
1371         cp \$? \$@
1372         cp \$? final_file
1373 EOF
1374
1375 if test ! -d sub ; then
1376   mkdir sub
1377 fi
1378 echo dummy > sub/file
1379 ${MAKE-make} -f confMake VPATH=sub 2>&5 > /dev/null
1380 RESULT=$?
1381 rm -f sub/file check final_file confMake
1382 rmdir sub
1383 if test "$RESULT" = 0; then
1384   wx_cv_prog_makevpath="yes"
1385 else
1386   wx_cv_prog_makevpath="no"
1387 fi
1388 ])
1389
1390 if test "x$wx_cv_prog_makevpath" != "xyes"; then
1391 AC_MSG_ERROR([
1392 You need a make-utility that is able to use the variable
1393 VPATH correctly.
1394 If your version of make does not support VPATH correctly,
1395 please install GNU-make (possibly as gmake), and start
1396 configure with the following command:
1397 export MAKE=gmake; ./configure  for sh-type shells
1398 setenv MAKE gmake; ./configure  for csh-type shells
1399 Also please do remember to use gmake in this case every time
1400 you are trying to compile.
1401 ])
1402 fi dnl make without VPATH
1403 fi dnl not GNU make
1404
1405 dnl YACC checks
1406 dnl   defines YACC with the appropriate command
1407 AC_PROG_YACC
1408
1409 dnl LEX checks
1410 dnl   defines LEX with the appropriate command
1411 dnl   defines LEXLIB with the appropriate library
1412 AC_PROG_LEX
1413
1414 dnl needed for making link to setup.h
1415 AC_PROG_LN_S
1416
1417 dnl ---------------------------------------------------------------------------
1418 dnl When we are using gcc on OS/2, we want to be either using resources (PM)
1419 dnl or a more complete POSIX emulation for Motif/GTK+/X11
1420 dnl ---------------------------------------------------------------------------
1421 dnl (OS/2-only piece)
1422 case "${host}" in
1423   *-pc-os2_emx | *-pc-os2-emx )
1424       dnl Explicitly link -lstdcpp, since we are using "gcc" not "g++"/"c++".
1425       LIBS="$LIBS -lstdcpp"
1426       if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then
1427           dnl More complete Unix emulation for unix-like ports
1428           dnl by linking in POSIX/2's cExt (if available).
1429           AC_CHECK_LIB(cExt, drand48, LIBS="$LIBS -lcExt")
1430       else
1431           dnl Include resources for the "native" port (wxPM).
1432           RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res"
1433       fi
1434   ;;
1435 esac
1436 dnl (end of OS/2-only piece)
1437
1438 dnl ------------------------------------------------------------------------
1439 dnl Check for headers
1440 dnl ------------------------------------------------------------------------
1441
1442 dnl test for strings.h needed under AIX, but do not check for it wxMac as
1443 dnl it exists but is only a simple redirection to string.h and it is in
1444 dnl conflict with Strings.h in FlatCarbon headers
1445 dnl
1446 dnl Autoconf 2.5 tends to check for strings.h on its own, so avoiding the 
1447 dnl test (as the current configure script does) is not possible.  Instead, 
1448 dnl you must remind autoconf that strings.h is NOT valid.  The autoconf 
1449 dnl test succeeds because there is a strings.h file that simply includes 
1450 dnl string.h.  Unfortunately, there is also a strings.h as part of the 
1451 dnl FlatCarbon headers.                                    -- David Elliott
1452 if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
1453     AC_CACHE_CHECK([for strings.h], ac_cv_header_strings_h, 
1454                    [ac_cv_header_strings_h=no])
1455     if test "$ac_cv_header_strings_h" = "no"; then
1456         AC_MSG_RESULT([forced no into cache])
1457     else
1458         AC_MSG_WARN([strings.h is not compatible with Mac OS X])
1459     fi
1460 fi
1461 dnl defines HAVE_STRINGS_H
1462 AC_CHECK_HEADERS(strings.h)
1463
1464 dnl defines HAVE_STDLIB_H
1465 AC_CHECK_HEADERS(stdlib.h)
1466 dnl defines HAVE_MALLOC_H
1467 AC_CHECK_HEADERS(malloc.h)
1468 dnl defines HAVE_UNISTD_H
1469 AC_CHECK_HEADERS(unistd.h)
1470 dnl defines HAVE_WCHAR_H
1471 AC_CHECK_HEADERS(wchar.h)
1472
1473 dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
1474 if test "$ac_cv_header_wchar_h" != "yes"; then
1475     dnl defines HAVE_WCSTR_H
1476     AC_CHECK_HEADERS(wcstr.h)
1477 fi
1478
1479 dnl defines HAVE_FNMATCH_H
1480 AC_CHECK_HEADERS(fnmatch.h)
1481
1482 if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
1483     AC_CHECK_FUNCS(fnmatch)
1484 fi
1485
1486 dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
1487 AC_CHECK_HEADERS(langinfo.h)
1488
1489 case "${host}" in
1490   *-pc-os2_emx | *-pc-os2-emx )
1491       dnl Explicitly link -lintl if langinfo.h is available.
1492       if test $ac_cv_header_langinfo_h = "yes"; then
1493           LIBS="$LIBS -lintl"
1494       fi
1495   ;;
1496 esac
1497
1498 if test "$wxUSE_GUI" = "yes"; then
1499     if test "$wxUSE_UNIX" = "yes"; then
1500         dnl defines HAVE_X11_XKBLIB_H
1501         AC_CHECK_HEADERS(X11/XKBlib.h)
1502     fi
1503 fi
1504
1505 dnl ---------------------------------------------------------------------------
1506 dnl Checks for compiler characteristics
1507 dnl ---------------------------------------------------------------------------
1508
1509 dnl defines const to be empty if c-compiler does not support const fully
1510 AC_C_CONST
1511 dnl defines inline to a sensible value for the c-compiler
1512 AC_C_INLINE
1513
1514 dnl check the sizes of integral types (give some reasonable default values for
1515 dnl cross-compiling)
1516 dnl   defines the size of certain types of variables in SIZEOF_<TYPE>
1517 AC_CHECK_SIZEOF(char, 1)
1518 AC_CHECK_SIZEOF(short, 2)
1519 AC_CHECK_SIZEOF(void *, 4)
1520 AC_CHECK_SIZEOF(int, 4)
1521 AC_CHECK_SIZEOF(long, 4)
1522
1523 case "${host}" in
1524     arm-*-linux* )
1525         AC_CHECK_SIZEOF(long long, 8)
1526     ;;
1527     *-hp-hpux* )
1528         AC_CHECK_SIZEOF(long long, 0)
1529         if test "$ac_cv_sizeof_long_long" != "0"; then
1530             dnl HPUX 10.20 headers need this define in order to use long long definitions
1531             CPPFLAGS="$CPPFLAGS -D_INCLUDE_LONGLONG"
1532         fi
1533     ;;
1534     * )
1535         AC_CHECK_SIZEOF(long long, 0)
1536 esac
1537
1538 dnl we have to do it ourselves because SGI/Irix's stdio.h does not include
1539 dnl wchar_t and AC_CHECK_SIZEOF only includes stdio.h
1540 dnl Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD)
1541 AC_CACHE_CHECK([size of wchar_t], wx_cv_sizeof_wchar_t,
1542 [
1543     AC_TRY_RUN(
1544         [
1545             /* DJGPP only has fake wchar_t: */
1546             #ifdef __DJGPP__
1547             #  error "fake wchar_t"
1548             #endif
1549             #ifdef HAVE_WCHAR_H
1550             #  ifdef __CYGWIN__
1551             #    include <stddef.h>
1552             #  endif
1553             #  include <wchar.h>
1554             #endif
1555             #ifdef HAVE_STDLIB_H
1556             #  include <stdlib.h>
1557             #endif
1558             #include <stdio.h>
1559             int main()
1560             {
1561                 FILE *f=fopen("conftestval", "w");
1562                 if (!f) exit(1);
1563                 fprintf(f, "%i", sizeof(wchar_t));
1564                 exit(0);
1565             }
1566         ],
1567         wx_cv_sizeof_wchar_t=`cat conftestval`,
1568         wx_cv_sizeof_wchar_t=0,
1569         [
1570             case "${host}" in
1571               *-pc-msdosdjgpp )
1572                 wx_cv_sizeof_wchar_t=0
1573                 ;;
1574               * )
1575                 wx_cv_sizeof_wchar_t=4
1576                 ;;
1577             esac
1578         ]
1579     )
1580 ])
1581
1582 AC_DEFINE_UNQUOTED(SIZEOF_WCHAR_T, $wx_cv_sizeof_wchar_t)
1583
1584 dnl check for large file support
1585 AC_SYS_LARGEFILE
1586
1587 dnl we need to define _FILE_OFFSET_BITS or _LARGE_FILES on the compiler command
1588 dnl line because otherwise the system headers risk being included before
1589 dnl wx/defs.h which defines these constants leading to inconsistent
1590 dnl sizeof(off_t) in different source files of the same program and linking
1591 dnl problems
1592 if test "x$wx_largefile" = "xyes"; then
1593     if test "x$ac_cv_sys_file_offset_bits" = "x64"; then
1594         WX_LARGEFILE_FLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGE_FILES"
1595     else
1596         WX_LARGEFILE_FLAGS="-D_LARGE_FILES"
1597     fi
1598     CPPFLAGS="$CPPFLAGS $WX_LARGEFILE_FLAGS"
1599 fi
1600
1601 dnl check for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
1602 WX_C_BIGENDIAN
1603
1604 dnl check for iostream (as opposed to iostream.h) standard header
1605 WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
1606
1607 dnl check whether C++ compiler supports bool built-in type
1608 WX_CPP_BOOL
1609
1610 dnl check whether C++ compiler supports explicit keyword
1611 WX_CPP_EXPLICIT
1612
1613 dnl check whether C++ compiler supports C++ casts
1614 AC_CXX_CONST_CAST
1615
1616 dnl ---------------------------------------------------------------------------
1617 dnl Define search path for includes and libraries: all headers and libs will be
1618 dnl looked for in all directories of this path
1619 dnl ---------------------------------------------------------------------------
1620
1621 dnl Notice that /usr/include should *not* be in this list, otherwise it breaks
1622 dnl compilation on Solaris/AIX/... with gcc because standard (non ANSI C)
1623 dnl headers are included instead of the "fixed" (ANSI-fied) gcc ones.
1624 dnl
1625 dnl Also try to put all directories which may contain X11R6 before those which
1626 dnl may contain X11R5/4 - we want to use R6 on machines which have both!
1627 SEARCH_INCLUDE="\
1628     /usr/local/include        \
1629                               \
1630     /usr/Motif-1.2/include    \
1631     /usr/Motif-2.1/include    \
1632                               \
1633     /usr/include/Motif1.2     \
1634     /opt/xpm/include/X11      \
1635     /opt/GBxpm/include/       \
1636     /opt/GBxpm/X11/include/   \
1637                               \
1638     /usr/Motif1.2/include     \
1639     /usr/dt/include           \
1640     /usr/openwin/include      \
1641                               \
1642     /usr/include/Xm           \
1643                               \
1644     /usr/X11R6/include        \
1645     /usr/X11R6.4/include      \
1646     /usr/X11R5/include        \
1647     /usr/X11R4/include        \
1648                               \
1649     /usr/include/X11R6        \
1650     /usr/include/X11R5        \
1651     /usr/include/X11R4        \
1652                               \
1653     /usr/local/X11R6/include  \
1654     /usr/local/X11R5/include  \
1655     /usr/local/X11R4/include  \
1656                               \
1657     /usr/local/include/X11R6  \
1658     /usr/local/include/X11R5  \
1659     /usr/local/include/X11R4  \
1660                               \
1661     /usr/X11/include          \
1662     /usr/include/X11          \
1663     /usr/local/X11/include    \
1664     /usr/local/include/X11    \
1665                               \
1666     /usr/X386/include         \
1667     /usr/x386/include         \
1668     /usr/XFree86/include/X11  \
1669                               \
1670     X:/XFree86/include        \
1671     X:/XFree86/include/X11    \
1672                               \
1673     /usr/include/gtk          \
1674     /usr/local/include/gtk    \
1675     /usr/include/glib         \
1676     /usr/local/include/glib   \
1677                               \
1678     /usr/include/qt           \
1679     /usr/local/include/qt     \
1680                               \
1681     /usr/include/windows      \
1682     /usr/include/wine         \
1683     /usr/local/include/wine   \
1684                               \
1685     /usr/unsupported/include  \
1686     /usr/athena/include       \
1687     /usr/local/x11r5/include  \
1688     /usr/lpp/Xamples/include  \
1689                               \
1690     /usr/openwin/share/include"
1691
1692 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
1693
1694 dnl ------------------------------------------------------------------------
1695 dnl Check for libraries
1696 dnl ------------------------------------------------------------------------
1697
1698 dnl flush the cache because checking for libraries below might abort
1699 AC_CACHE_SAVE
1700
1701 dnl check for glibc version
1702 dnl
1703 dnl VZ: I have no idea why had this check been there originally, but now
1704 dnl     we could probably do without it by just always adding _GNU_SOURCE
1705 if test "$USE_LINUX" = 1 -o "$USE_GNU" = 1; then
1706     AC_CACHE_CHECK([for glibc 2.1 or later], wx_cv_lib_glibc21,[
1707         AC_TRY_COMPILE([#include <features.h>],
1708             [
1709                 #if (__GLIBC__ < 2) || (__GLIBC_MINOR__ < 1)
1710                     #error not glibc2.1
1711                 #endif
1712             ],
1713             [
1714                 wx_cv_lib_glibc21=yes
1715             ],
1716             [
1717                 wx_cv_lib_glibc21=no
1718             ]
1719         )
1720     ])
1721     if test "$wx_cv_lib_glibc21" = "yes"; then
1722         AC_DEFINE(wxHAVE_GLIBC2)
1723     fi
1724 fi
1725
1726 dnl we may need _GNU_SOURCE for 2 things:
1727 dnl
1728 dnl  1. to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+ (strictly speaking we
1729 dnl  only need _XOPEN_SOURCE=500 but just defining this disables _BSD_SOURCE
1730 dnl  which breaks libtiff compilation, so it is simpler to just define
1731 dnl  _GNU_SOURCE to get everything)
1732 dnl
1733 dnl  2. for Unicode functions
1734 if test "x$wx_cv_lib_glibc21" = "xyes"; then
1735     if test "$wxUSE_UNICODE" = "yes" -o "$wxUSE_THREADS" = "yes"; then
1736         AC_DEFINE(_GNU_SOURCE)
1737     fi
1738 fi
1739
1740 dnl ---------------------------------------------------------------------------
1741 dnl Optional libraries
1742 dnl
1743 dnl   --with-<lib>=sys
1744 dnl       looks for system library and fails if not found
1745 dnl
1746 dnl   --with-<lib>
1747 dnl   --with-<lib>=yes
1748 dnl       looks for system library and, if not found, prints a warning,
1749 dnl       falls back to the builtin wx version, and continues configuration
1750 dnl
1751 dnl   --with-<lib>=builtin
1752 dnl       uses builtin wx version without searching for system library
1753 dnl
1754 dnl   --with-<lib>=no
1755 dnl   --without-<lib>
1756 dnl       do not use library (neither system nor builtin wx version)
1757 dnl
1758 dnl ---------------------------------------------------------------------------
1759
1760 dnl ------------------------------------------------------------------------
1761 dnl Check for regex libraries
1762 dnl ------------------------------------------------------------------------
1763
1764 REGEX_INCLUDE=
1765 if test "$wxUSE_REGEX" != "no"; then
1766     AC_DEFINE(wxUSE_REGEX)
1767
1768     if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; then
1769         dnl according to Unix 98 specs, regcomp() is in libc but I believe that
1770         dnl on some old systems it may be in libregex - check for it too?
1771         AC_CHECK_HEADER(regex.h, [AC_CHECK_FUNCS(regcomp)])
1772
1773         if test "x$ac_cv_func_regcomp" != "xyes"; then
1774             if test "$wxUSE_REGEX" = "sys" ; then
1775                 AC_MSG_ERROR([system regex library not found! Use --with-regex to use built-in version])
1776             else
1777                 AC_MSG_WARN([system regex library not found, will use built-in instead])
1778                 wxUSE_REGEX=builtin
1779             fi
1780         else
1781             dnl we are using the system library
1782             wxUSE_REGEX=sys
1783         fi
1784     fi
1785
1786     if test "$wxUSE_REGEX" = "builtin" ; then
1787         REGEX_INCLUDE="-I\${top_srcdir}/src/regex"
1788     fi
1789 fi
1790
1791 dnl ------------------------------------------------------------------------
1792 dnl Check for zlib compression library
1793 dnl ------------------------------------------------------------------------
1794
1795 ZLIB_INCLUDE=
1796 ZLIB_LINK=
1797 if test "$wxUSE_ZLIB" != "no" ; then
1798     AC_DEFINE(wxUSE_ZLIB)
1799
1800     if test "$wxUSE_ZLIB" = "sys" -o "$wxUSE_ZLIB" = "yes" ; then
1801         dnl don't test for zlib under Mac -- its verson there is 1.1.3 but we
1802         dnl should still use it because hopefully (can someone confirm this?)
1803         dnl Apple did fix the security problem in it and not using the system
1804         dnl library results in a whole bunch of warnings when linking with
1805         dnl Carbon framework
1806         if test "$USE_DARWIN" = 1; then
1807             system_zlib_h_ok="yes"
1808         else
1809             dnl we have troubles with ancient zlib versions (e.g. 1.0.4 is
1810             dnl known to not work) and although I don't know which is
1811             dnl the minimal required version it's safer to test for 1.1.4 as
1812             dnl it fixes a security problem in 1.1.3 -- and hopefully nobody
1813             dnl has anything more ancient (1.1.3 was released in July 1998)
1814             dnl anyhow
1815             AC_CACHE_CHECK([for zlib.h >= 1.1.4], ac_cv_header_zlib_h,
1816                 [AC_TRY_RUN(
1817                     dnl zlib.h defines ZLIB_VERSION="x.y.z"
1818                     [
1819                         #include <zlib.h>
1820                         #include <stdio.h>
1821
1822                         int main()
1823                         {
1824                             FILE *f=fopen("conftestval", "w");
1825                             if (!f) exit(1);
1826                             fprintf(f, "%s",
1827                                     ZLIB_VERSION[0] == '1' &&
1828                                     (ZLIB_VERSION[2] > '1' ||
1829                                     (ZLIB_VERSION[2] == '1' &&
1830                                      ZLIB_VERSION[4] >= '4')) ? "yes" : "no");
1831                             exit(0);
1832                         }
1833                     ],
1834                     ac_cv_header_zlib_h=`cat conftestval`,
1835                     ac_cv_header_zlib_h=no,
1836                     dnl cross-compiling: don't have an answer, try later
1837                     unset ac_cv_header_zlib_h
1838                 )]
1839             )
1840             dnl If the test above did not come up with a value (e.g. cross
1841             dnl compiling) then this should give a definitive answer
1842             AC_CHECK_HEADER(zlib.h)
1843
1844             system_zlib_h_ok=$ac_cv_header_zlib_h
1845         fi
1846
1847         if test "$system_zlib_h_ok" = "yes"; then
1848             AC_CHECK_LIB(z, deflate, ZLIB_LINK=" -lz")
1849         fi
1850
1851         if test "x$ZLIB_LINK" = "x" ; then
1852             if test "$wxUSE_ZLIB" = "sys" ; then
1853                 AC_MSG_ERROR([zlib library not found or too old! Use --with-zlib=builtin to use built-in version])
1854             else
1855                 AC_MSG_WARN([zlib library not found or too old, will use built-in instead])
1856                 wxUSE_ZLIB=builtin
1857             fi
1858         else
1859             dnl we are using the system library
1860             wxUSE_ZLIB=sys
1861         fi
1862     fi
1863
1864     if test "$wxUSE_ZLIB" = "builtin" ; then
1865         ZLIB_INCLUDE="-I\${top_srcdir}/src/zlib"
1866     fi
1867 fi
1868
1869 dnl ------------------------------------------------------------------------
1870 dnl Check for png library
1871 dnl ------------------------------------------------------------------------
1872
1873 PNG_INCLUDE=
1874 PNG_LINK=
1875 if test "$wxUSE_LIBPNG" != "no" ; then
1876     AC_DEFINE(wxUSE_LIBPNG)
1877
1878     if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBPNG" = "builtin" ; then
1879         AC_MSG_WARN([wxMGL doesn't work with builtin png library, will use MGL one instead])
1880         wxUSE_LIBPNG=sys
1881     fi
1882
1883     dnl for the check below to have a chance to succeed, we must already have
1884     dnl libz somewhere (don't do this when bulding wxMGL since its libpng
1885     dnl doesn't depend on zlib)
1886     if test "$wxUSE_MGL" != 1 -a "$wxUSE_LIBPNG" = "sys" -a "$wxUSE_ZLIB" != "sys" ; then
1887         AC_MSG_WARN([system png library doesn't work without system zlib, will use built-in instead])
1888         wxUSE_LIBPNG=builtin
1889     fi
1890
1891     if test "$wxUSE_MGL" != 1 ; then
1892         dnl Don't check for libpng when building wxMGL, libmgl contains it
1893         if test "$wxUSE_LIBPNG" = "sys" -o "$wxUSE_LIBPNG" = "yes" ; then
1894             dnl libpng version 0.9 is known to not work, if an even newer
1895             dnl version is required, just bump it up in the test below
1896             AC_CACHE_CHECK([for png.h > 0.90], ac_cv_header_png_h,
1897                 [AC_TRY_RUN(
1898                     dnl png.h defines PNG_LIBPNG_VER=number
1899                     [
1900                         #include <png.h>
1901                         #include <stdio.h>
1902
1903                         int main()
1904                         {
1905                             FILE *f=fopen("conftestval", "w");
1906                             if (!f) exit(1);
1907                             fprintf(f, "%s",
1908                                      PNG_LIBPNG_VER > 90 ? "yes" : "no");
1909                             exit(0);
1910                         }
1911                     ],
1912                     ac_cv_header_png_h=`cat conftestval`,
1913                     ac_cv_header_png_h=no,
1914                     dnl cross-compiling: test (later) if we have any png.h
1915                     unset ac_cv_header_png_h
1916                 )]
1917             )
1918             AC_CHECK_HEADER(png.h)
1919
1920             if test "$ac_cv_header_png_h" = "yes"; then
1921                 AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng", , [-lz -lm])
1922             fi
1923
1924             if test "x$PNG_LINK" = "x" ; then
1925                 if test "$wxUSE_LIBPNG" = "sys" ; then
1926                     AC_MSG_ERROR([system png library not found or too old! Use --with-libpng=builtin to use built-in version])
1927                 else
1928                     AC_MSG_WARN([system png library not found or too old, will use built-in instead])
1929                     wxUSE_LIBPNG=builtin
1930                 fi
1931             else
1932                 dnl we are using the system library
1933                 wxUSE_LIBPNG=sys
1934             fi
1935         fi
1936     fi
1937
1938     if test "$wxUSE_LIBPNG" = "builtin" ; then
1939         PNG_INCLUDE="-I\${top_srcdir}/src/png"
1940     fi
1941
1942     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
1943 fi
1944
1945 dnl ------------------------------------------------------------------------
1946 dnl Check for jpeg library
1947 dnl ------------------------------------------------------------------------
1948
1949 JPEG_INCLUDE=
1950 JPEG_LINK=
1951 if test "$wxUSE_LIBJPEG" != "no" ; then
1952     AC_DEFINE(wxUSE_LIBJPEG)
1953
1954     if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBJPEG" = "builtin" ; then
1955         AC_MSG_WARN([wxMGL doesn't work with builtin jpeg library, will use MGL one instead])
1956         wxUSE_LIBJPEG=sys
1957     fi
1958
1959     if test "$wxUSE_MGL" != 1 ; then
1960         dnl Don't check for libjpeg when building wxMGL, libmgl contains it
1961         if test "$wxUSE_LIBJPEG" = "sys" -o "$wxUSE_LIBJPEG" = "yes" ; then
1962             dnl can't use AC_CHECK_HEADER as jconfig.h defines things like
1963             dnl HAVE_STDLIB_H which are already defined and this provokes
1964             dnl a compiler warning which configure considers as an error...
1965             AC_MSG_CHECKING(for jpeglib.h)
1966             AC_CACHE_VAL(ac_cv_header_jpeglib_h,
1967                 AC_TRY_COMPILE(
1968                     [
1969                         #undef HAVE_STDLIB_H
1970                         #include <stdio.h>
1971                         #include <jpeglib.h>
1972                     ],
1973                     [
1974                     ],
1975                     ac_cv_header_jpeglib_h=yes,
1976                     ac_cv_header_jpeglib_h=no
1977                 )
1978             )
1979             AC_MSG_RESULT($ac_cv_header_jpeglib_h)
1980
1981             if test "$ac_cv_header_jpeglib_h" = "yes"; then
1982                 AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LINK=" -ljpeg")
1983             fi
1984
1985             if test "x$JPEG_LINK" = "x" ; then
1986                 if test "$wxUSE_LIBJPEG" = "sys" ; then
1987                     AC_MSG_ERROR([system jpeg library not found! Use --with-libjpeg=builtin to use built-in version])
1988                 else
1989                     AC_MSG_WARN([system jpeg library not found, will use built-in instead])
1990                     wxUSE_LIBJPEG=builtin
1991                 fi
1992             else
1993                 dnl we are using the system library
1994                 wxUSE_LIBJPEG=sys
1995             fi
1996         fi
1997     fi
1998
1999     if test "$wxUSE_LIBJPEG" = "builtin" ; then
2000         JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg"
2001     fi
2002 fi
2003
2004 dnl ------------------------------------------------------------------------
2005 dnl Check for tiff library
2006 dnl ------------------------------------------------------------------------
2007
2008 TIFF_INCLUDE=
2009 TIFF_LINK=
2010 TIFF_PREREQ_LINKS=-lm
2011 if test "$wxUSE_LIBTIFF" != "no" ; then
2012     AC_DEFINE(wxUSE_LIBTIFF)
2013
2014     if test "$wxUSE_LIBTIFF" = "sys" -o "$wxUSE_LIBTIFF" = "yes" ; then
2015         dnl libtiff may depend on libjpeg and libz so use them in the test
2016         dnl below or it would fail
2017         if test "$wxUSE_LIBJPEG" = "sys"; then
2018             TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $JPEG_LINK"
2019         fi
2020         if test "$wxUSE_ZLIB" = "sys"; then
2021             TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $ZLIB_LINK"
2022         fi
2023         AC_CHECK_HEADER(tiffio.h,
2024                         AC_CHECK_LIB(tiff, TIFFError,
2025                                      TIFF_LINK=" -ltiff",
2026                                      ,
2027                                      $TIFF_PREREQ_LINKS)
2028                        )
2029
2030         if test "x$TIFF_LINK" = "x" ; then
2031             if test "$wxUSE_LIBTIFF" = "sys" ; then
2032                 AC_MSG_ERROR([system tiff library not found! Use --with-libtiff=builtin to use built-in version])
2033             else
2034                 AC_MSG_WARN([system tiff library not found, will use built-in instead])
2035                 wxUSE_LIBTIFF=builtin
2036             fi
2037         else
2038             dnl we are using the system library
2039             wxUSE_LIBTIFF=sys
2040         fi
2041     fi
2042
2043     if test "$wxUSE_LIBTIFF" = "builtin" ; then
2044         TIFF_INCLUDE="-I\${top_srcdir}/src/tiff"
2045     fi
2046 fi
2047
2048 dnl ----------------------------------------------------------------
2049 dnl search for toolkit (widget sets)
2050 dnl ----------------------------------------------------------------
2051
2052 AFMINSTALL=
2053 WIN32INSTALL=
2054
2055 TOOLKIT=
2056 TOOLKIT_INCLUDE=
2057 WIDGET_SET=
2058
2059 dnl are we building for a win32 target environment?
2060 dnl If so, setup common stuff needed for both GUI and Base libs.
2061 if test "$USE_WIN32" = 1 ; then
2062     AC_CHECK_HEADERS(w32api.h)
2063     AC_CHECK_HEADER(windows.h, [],
2064     [
2065         AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
2066     ])
2067
2068     dnl check if can use _WIN32_IE macro
2069     AC_CACHE_CHECK([if w32api has good enough MSIE support], wx_cv_w32api_win32_ie,
2070     [
2071       AC_TRY_COMPILE([#include <w32api.h>],
2072                      [
2073                        #define wxCHECK_W32API_VERSION( major, minor ) \
2074                        ( defined( __W32API_MAJOR_VERSION ) && defined( __W32API_MINOR_VERSION ) \
2075                        && ( ( __W32API_MAJOR_VERSION > (major) ) \
2076                        || ( __W32API_MAJOR_VERSION == (major) && __W32API_MINOR_VERSION >= (minor))))
2077
2078                        #if !wxCHECK_W32API_VERSION(1,1)
2079                        #error You need w32api 1.1 or newer
2080                        #endif
2081                      ], [
2082                         wx_cv_w32api_win32_ie=yes
2083                      ], [
2084                         wx_cv_w32api_win32_ie=no
2085                      ])
2086     ])
2087     if test "$wx_cv_w32api_win32_ie" = "yes" ; then
2088         CPPFLAGS="$CPPFLAGS -D_WIN32_IE=0x400"
2089     fi
2090
2091     dnl --- FIXME: This is still a somewhat random list of libs,
2092     dnl ---        some of them should probably be included conditionally.
2093     LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32"
2094
2095     if test "$wxUSE_ACCESSIBILITY" = "yes" ; then
2096         LIBS="$LIBS -loleacc"
2097     fi
2098
2099     case "${host}" in
2100         *-*-cygwin* )
2101             dnl Cygwin doesn't include these by default
2102             LIBS="$LIBS -lkernel32 -luser32"
2103             TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WIN95__"
2104     esac
2105
2106     dnl add extra odbc libs if we have compiled in odbc
2107     if test "$wxUSE_ODBC" = "sys" ; then
2108         wxUSE_ODBC = "yes"
2109     fi
2110     if test "$wxUSE_ODBC" = "yes" ; then
2111         LIBS=" -lodbc32 -lole32 -loleaut32 $LIBS"
2112         AC_DEFINE(wxUSE_ODBC)
2113     fi
2114     dnl We might want to abort here if wxUSE_ODBC="builtin" isn't supported on msw.
2115
2116     RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
2117     RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
2118
2119     dnl install Win32-specific files in "make install"
2120     WIN32INSTALL=win32install
2121 fi
2122
2123 if test "$wxUSE_GUI" = "yes"; then
2124     USE_GUI=1
2125
2126     GUI_TK_LIBRARY=
2127
2128     WXGTK12=
2129     WXGTK127=
2130     WXGTK20=
2131
2132     if test "$wxUSE_MSW" = 1 ; then
2133         TOOLKIT=MSW
2134         GUIDIST=MSW_DIST
2135     fi
2136
2137     if test "$wxUSE_GTK" = 1; then
2138         AC_MSG_CHECKING([for GTK+ version])
2139
2140         gtk_version_cached=1
2141         AC_CACHE_VAL(wx_cv_lib_gtk,
2142             [
2143                 dnl stupid GTK+ AM macros produce their own messages, so we
2144                 dnl have to pass to the next line
2145                 gtk_version_cached=0
2146                 AC_MSG_RESULT()
2147
2148                 dnl we must link against lgthread unless the user
2149                 dnl used --disable-threads
2150                 GTK_MODULES=
2151                 if test "$wxUSE_THREADS" = "yes"; then
2152                     GTK_MODULES=gthread
2153                 fi
2154
2155                 dnl note that if we fail to find GTK2 we abort and don't fall
2156                 dnl back to GTK1.x
2157                 wx_cv_lib_gtk=
2158                 if test "x$wxUSE_GTK2" = "xyes"; then
2159                     AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
2160                 else
2161                     AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
2162
2163                     if test -z "$wx_cv_lib_gtk"; then
2164                         AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
2165                     fi
2166                 fi
2167
2168                 if test -z "$wx_cv_lib_gtk"; then
2169                     dnl looks better in AC_MSG_RESULT
2170                     wx_cv_lib_gtk=none
2171                 else
2172                     dnl we need to cache GTK_CFLAGS and GTK_LIBS for the
2173                     dnl subsequent runs
2174                     wx_cv_cflags_gtk=$GTK_CFLAGS
2175                     wx_cv_libs_gtk=$GTK_LIBS
2176                 fi
2177             ]
2178         )
2179
2180         dnl if it wasn't cached, the messages from AM_PATH_GTK() above are
2181         dnl enough
2182         if test "$gtk_version_cached" = 1; then
2183             AC_MSG_RESULT($wx_cv_lib_gtk)
2184         fi
2185
2186         case "$wx_cv_lib_gtk" in
2187             2.0)    WXGTK20=1
2188                     TOOLKIT_VERSION=2
2189                     ;;
2190             1.2.7)  WXGTK127=1
2191                     WXGTK12=1
2192                     ;;
2193             1.2.3)  WXGTK12=1
2194                     ;;
2195             *)      AC_MSG_ERROR([
2196 Please check that gtk-config is in path, the directory
2197 where GTK+ libraries are installed (returned by
2198 'gtk-config --libs' command) is in LD_LIBRARY_PATH or
2199 equivalent variable and GTK+ is version 1.2.3 or above.
2200                             ])
2201                     ;;
2202         esac
2203
2204         if test "$WXGTK20" = 1; then
2205             if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
2206                 PKG_CHECK_MODULES(PANGOFT2, pangoft2,
2207                     [
2208                         CXXFLAGS="$CXXFLAGS $PANGOFT2_CFLAGS"
2209                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
2210                     ],
2211                     [
2212                         AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
2213                         wxUSE_PRINTING_ARCHITECTURE="no"
2214                     ]
2215                 )
2216             fi
2217         else
2218             if test "$wxUSE_UNICODE" = "yes"; then
2219                 AC_MSG_WARN([Unicode configuration not supported with GTK+ 1.x])
2220                 wxUSE_UNICODE=no
2221             fi
2222         fi
2223
2224         dnl we need poll() in src/gtk/app.cpp (we know that Darwin doesn't
2225         dnl have it but we do the check for the others)
2226         if test "$USE_DARWIN" != 1; then
2227             AC_CHECK_FUNCS(poll)
2228         fi
2229
2230         TOOLKIT_INCLUDE="$wx_cv_cflags_gtk"
2231         GUI_TK_LIBRARY="$wx_cv_libs_gtk $GUI_TK_LIBRARY"
2232
2233         AFMINSTALL=afminstall
2234         TOOLKIT=GTK
2235         GUIDIST=GTK_DIST
2236
2237         dnl test for XIM support in libgdk
2238         AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
2239     fi
2240
2241     if test "$wxUSE_MGL" = 1; then
2242        AC_MSG_CHECKING(for SciTech MGL library)
2243         if test "x$MGL_ROOT" = x ; then
2244             AC_MSG_RESULT(not found)
2245             AC_MSG_ERROR([Cannot find MGL library. Make sure MGL_ROOT is set.])
2246         else
2247             AC_MSG_RESULT($MGL_ROOT)
2248         fi
2249
2250         AC_MSG_CHECKING(for libmgl location)
2251         dnl Find MGL library that we want
2252         dnl FIXME_MGL - test for MGL variants for freebsd etc.
2253         case "${host}" in
2254             *-*-linux* )
2255               if test "x$wxUSE_SHARED" = xyes ; then
2256                   mgl_os_candidates="linux/gcc/glibc.so linux/gcc/glibc"
2257               else
2258                   mgl_os_candidates="linux/gcc/glibc linux/gcc/glibc.so"
2259               fi
2260               ;;
2261             *-pc-msdosdjgpp )
2262               mgl_os_candidates="dos32/dj2"
2263               ;;
2264             *)
2265               AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.)
2266         esac
2267
2268         mgl_lib_type=""
2269         mgl_os=""
2270
2271         for mgl_os_i in $mgl_os_candidates ; do
2272             if test "x$mgl_os" = x ; then
2273                 if test "$wxUSE_DEBUG_FLAG" = yes ; then
2274                     if test -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.a -o \
2275                             -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.so; then
2276                         mgl_lib_type=debug
2277                         mgl_os=$mgl_os_i
2278                     fi
2279                 fi
2280                 if test "x$mgl_lib_type" = x ; then
2281                     if test -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.a -o \
2282                             -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.so; then
2283                         mgl_lib_type=release
2284                         mgl_os=$mgl_os_i
2285                     fi
2286                 fi
2287             fi
2288         done
2289
2290         if test "x$mgl_os" = x ; then
2291             AC_MSG_RESULT(not found)
2292             AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.])
2293         fi
2294         AC_MSG_RESULT("$MGL_ROOT/lib/$mgl_lib_type/$mgl_os")
2295
2296         wxUSE_UNIVERSAL="yes"
2297
2298         TOOLKIT_INCLUDE="-I$MGL_ROOT/include"
2299         GUI_TK_LIBRARY="-L$MGL_ROOT/lib/$mgl_lib_type/$mgl_os -lmgl -lmglcpp -lpm"
2300
2301         AFMINSTALL=afminstall
2302         TOOLKIT=MGL
2303         GUIDIST=MGL_DIST
2304     fi
2305
2306     if test "$wxUSE_MICROWIN" = 1; then
2307         AC_MSG_CHECKING(for MicroWindows)
2308         if test "x$MICROWINDOWS" = x ; then
2309             AC_MSG_RESULT(not found)
2310             AC_MSG_ERROR([Cannot find MicroWindows library. Make sure MICROWINDOWS is set.])
2311         else
2312             AC_MSG_RESULT($MICROWINDOWS)
2313         fi
2314
2315         if test -f $MICROWINDOWS/lib/libmwin.a; then
2316             AC_MSG_RESULT(MicroWindows' libraries found.)
2317         else
2318             AC_MSG_ERROR([Cannot find MicroWindows libraries, make sure they are compiled.])
2319         fi
2320
2321         TOOLKIT_INCLUDE="-I$MICROWINDOWS/include"
2322         GUI_TK_LIBRARY="-L$MICROWINDOWS/lib -lmwin -lmwengine -mwfonts -mwdrivers -mwinlib"
2323
2324         wxUSE_UNIVERSAL="yes"
2325
2326         AFMINSTALL=afminstall
2327         TOOLKIT=MICROWIN
2328         GUIDIST=MICROWIN_DIST
2329
2330         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXMSW__ -D__WIN95__ -D__WIN32__ -DMWIN -DMICROWIN_NOCONTROLS -DMICROWIN_TODO=1"
2331     fi
2332
2333     if test "$wxUSE_X11" = 1; then
2334         dnl use standard macros to check for X headers/libs, this brings support
2335         dnl for the standard configure options --x-includes and --x-libraries
2336         AC_PATH_XTRA
2337
2338         if test "$no_x" = "yes"; then
2339           AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
2340         fi
2341
2342         GUI_TK_LIBRARY="$X_LIBS"
2343         TOOLKIT_INCLUDE="$X_CFLAGS"
2344         AFMINSTALL=afminstall
2345         COMPILED_X_PROGRAM=0
2346
2347         if test "$wxUSE_NANOX" = "yes"; then
2348             AC_MSG_CHECKING(for MicroWindows/NanoX distribution)
2349             if test "x$MICROWIN" = x ; then
2350                 AC_MSG_RESULT(not found)
2351                 AC_MSG_ERROR([Cannot find MicroWindows library. Make sure MICROWIN is set.])
2352             else
2353                 AC_MSG_RESULT($MICROWIN)
2354                 AC_DEFINE(wxUSE_NANOX)
2355             fi
2356         fi
2357
2358         xpm_link=
2359         AC_MSG_CHECKING(for Xpm library)
2360         WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
2361         if test "$ac_find_libraries" != "" ; then
2362             WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
2363             GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
2364             xpm_link=" -lXpm"
2365             AC_DEFINE(wxHAVE_LIB_XPM)
2366             AC_MSG_RESULT(found at $ac_find_libraries)
2367         else
2368             AC_TRY_COMPILE(
2369                 [
2370                     #include <X11/xpm.h>
2371                 ],
2372                 [
2373                     int version;
2374                     version = XpmLibraryVersion();
2375                 ],
2376                 [
2377                     xpm_link=" -lXpm"
2378                     AC_DEFINE(wxHAVE_LIB_XPM)
2379                     AC_MSG_RESULT(found in default search path)
2380                     COMPILED_X_PROGRAM=0
2381                 ],
2382                 [
2383                     AC_MSG_RESULT(no)
2384                     AC_MSG_WARN(library will be compiled without support for images in XPM format)
2385                 ]
2386             )
2387         fi
2388
2389         AC_CHECK_LIB([Xext], [XShapeQueryExtension],
2390                      [
2391                       GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXext"
2392                       wxHAVE_XEXT_LIB=1
2393                      ],
2394                      [], [$GUI_TK_LIBRARY -lX11])
2395
2396         if test "$wxUSE_UNICODE" = "yes"; then
2397                 PKG_CHECK_MODULES(PANGOX, pangox,
2398                     [
2399                         CXXFLAGS="$CXXFLAGS $PANGOX_CFLAGS"
2400                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
2401                     ],
2402                     [
2403                         AC_MSG_ERROR([pangox library not found, library cannot be compiled in Unicode mode])
2404                     ]
2405                 )
2406                 PKG_CHECK_MODULES(PANGOFT2, pangoft2,
2407                     [
2408                         CXXFLAGS="$CXXFLAGS $PANGOFT2_CFLAGS"
2409                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
2410                     ],
2411                     [
2412                         AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
2413                         wxUSE_PRINTING_ARCHITECTURE="no"
2414                     ]
2415                 )
2416                 PKG_CHECK_MODULES(PANGOXFT, pangoxft,
2417                     [
2418                         CXXFLAGS="$CXXFLAGS $PANGOXFT_CFLAGS"
2419                         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
2420                     ],
2421                     [
2422                         AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support])
2423                     ]
2424                 )
2425         fi
2426
2427         wxUSE_UNIVERSAL="yes"
2428
2429         if test "$wxUSE_NANOX" = "yes"; then
2430             TOOLKIT_INCLUDE="-I\$(top_srcdir)/include/wx/x11/nanox -I\$(MICROWIN)/src/include $TOOLKIT_INCLUDE"
2431             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"
2432             GUI_TK_LIBRARY="$GUI_TK_LIBRARY \$(MICROWIN)/src/lib/libnano-X.a"
2433         else
2434             GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lX11$xpm_link"
2435         fi
2436
2437         TOOLKIT_VPATH="\${top_srcdir}/src/x11"
2438         TOOLKIT=X11
2439         GUIDIST=X11_DIST
2440     fi
2441
2442     if test "$wxUSE_MOTIF" = 1; then
2443         dnl use standard macros to check for X headers/libs, this brings support
2444         dnl for the standard configure options --x-includes and --x-libraries
2445         AC_PATH_XTRA
2446
2447         if test "$no_x" = "yes"; then
2448           AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
2449         fi
2450
2451         dnl for some reason AC_PATH_XTRA seems to add -INONE and -LNONE to
2452         dnl X_LIBS and X_CFLAGS respectively -- what for??
2453         GUI_TK_LIBRARY=`echo $X_LIBS | sed 's/ -LNONE//'`
2454         TOOLKIT_INCLUDE=`echo $X_CFLAGS | sed 's/ -INONE//'`
2455         AFMINSTALL=afminstall
2456         COMPILED_X_PROGRAM=0
2457
2458         AC_MSG_CHECKING(for Motif/Lesstif headers)
2459         WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
2460         if test "$ac_find_includes" != "" ; then
2461             AC_MSG_RESULT(found in $ac_find_includes)
2462             WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
2463             TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
2464         else
2465             AC_TRY_COMPILE(
2466                 [
2467                     #include <Xm/Xm.h>
2468                 ],
2469                 [
2470                     int version;
2471                     version = xmUseVersion;
2472                 ],
2473                 [
2474                     AC_MSG_RESULT(found in default search path)
2475                     COMPILED_X_PROGRAM=1
2476                 ],
2477                 [
2478                     AC_MSG_RESULT(no)
2479                     AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
2480                 ]
2481             )
2482         fi
2483
2484         if test "$COMPILED_X_PROGRAM" = 0; then
2485             AC_MSG_CHECKING(for Motif/Lesstif library)
2486             WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
2487             if test "$ac_find_libraries" != "" ; then
2488                 AC_MSG_RESULT(found at $ac_find_libraries)
2489
2490                 WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
2491                 GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
2492             else
2493                 dnl it might happen that we found headers in one of the
2494                 dnl standard paths but the libs are elsewhere - we do need to
2495                 dnl try to compile a sample program then here
2496                 save_CFLAGS=$CFLAGS
2497                 CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
2498
2499                 AC_TRY_COMPILE(
2500                     [
2501                         #include <Xm/Xm.h>
2502                     ],
2503                     [
2504                         int version;
2505                         version = xmUseVersion;
2506                     ],
2507                     [
2508                         AC_MSG_RESULT(found in default search path)
2509                         COMPILED_X_PROGRAM=1
2510                     ],
2511                     [
2512                         AC_MSG_RESULT(no)
2513                         AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
2514                     ]
2515                 )
2516
2517                 CFLAGS=$save_CFLAGS
2518             fi
2519         fi
2520
2521         xpm_link=
2522         AC_MSG_CHECKING(for Xpm library)
2523         WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
2524         if test "$ac_find_libraries" != "" ; then
2525             WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
2526             GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
2527
2528             xpm_link=" -lXpm"
2529             AC_DEFINE(wxHAVE_LIB_XPM)
2530             AC_MSG_RESULT(found at $ac_find_libraries)
2531         else
2532             save_CFLAGS=$CFLAGS
2533             CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
2534
2535             AC_TRY_COMPILE(
2536                 [
2537                     #include <X11/xpm.h>
2538                 ],
2539                 [
2540                     int version;
2541                     version = XpmLibraryVersion();
2542                 ],
2543                 [
2544                     xpm_link=" -lXpm"
2545                     AC_DEFINE(wxHAVE_LIB_XPM)
2546                     AC_MSG_RESULT(found in default search path)
2547                     COMPILED_X_PROGRAM=0
2548                 ],
2549                 [
2550                     AC_MSG_RESULT(no)
2551                     AC_MSG_WARN(library will be compiled without support for images in XPM format)
2552                 ]
2553             )
2554
2555             CFLAGS=$save_CFLAGS
2556         fi
2557
2558         AC_MSG_CHECKING([if we need -lXp and/or -lSM -lICE])
2559         libp_link=""
2560         libsm_ice_link=""
2561         libs_found=0
2562         for libp in "" " -lXp"; do
2563             if test "$libs_found" = "0"; then
2564                 for libsm_ice in " -lSM -lICE"; do
2565                     if test "$libs_found" = "0"; then
2566                         save_LIBS="$LIBS"
2567                         LIBS="$GUI_TK_LIBRARY -lXm${xpm_link} ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11"
2568                         save_CFLAGS=$CFLAGS
2569                         CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
2570
2571                         AC_TRY_LINK(
2572                             [
2573                                 #include <Xm/Xm.h>
2574                                 #include <Xm/List.h>
2575                             ],
2576                             [
2577                                 XmString string = NULL;
2578                                 Widget w = NULL;
2579                                 int position = 0;
2580                                 XmListAddItem(w, string, position);
2581                             ],
2582                             [
2583                                 libp_link="$libp"
2584                                 libsm_ice_link="$libsm_ice"
2585                                 AC_MSG_RESULT(
2586                                     [need${libp_link}${libsm_ice_link}])
2587                                 libs_found=1
2588                             ], []
2589                         )
2590
2591                         LIBS="$save_LIBS"
2592                         CFLAGS=$save_CFLAGS
2593                     fi
2594                 done
2595             fi
2596         done
2597
2598         if test "$libs_found" = "0"; then
2599             AC_MSG_RESULT([can't find the right libraries])
2600             AC_MSG_ERROR([can't link a simple motif program])
2601         fi
2602
2603         save_CFLAGS=$CFLAGS
2604         CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
2605         AC_MSG_CHECKING([for Motif 2])
2606         AC_TRY_COMPILE([
2607                         #include <Xm/Xm.h>
2608                        ],
2609                        [
2610                         #if XmVersion < 2000
2611                         #error "Not Motif 2"
2612                         #endif
2613                        ],
2614                        [
2615                         AC_DEFINE(__WXMOTIF20__,1)
2616                         AC_MSG_RESULT([found])
2617                        ],
2618                        [
2619                         AC_DEFINE(__WXMOTIF20__,0)
2620                         AC_MSG_RESULT([not found])
2621                        ])
2622         CFLAGS=$save_CFLAGS
2623
2624         GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm$xpm_link${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
2625         TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo${PATH_IFS}\${top_srcdir}/src/x11"
2626         TOOLKIT=MOTIF
2627         GUIDIST=MOTIF_DIST
2628         wxHAVE_XEXT_LIB=1
2629     fi
2630
2631     if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1 &&
2632        test "$wxHAVE_XEXT_LIB" = 1; then
2633         save_CFLAGS="$CFLAGS"
2634         CFLAGS="$CFLAGS $TOOLKIT_INCLUDE"
2635
2636         AC_MSG_CHECKING([for X11/extensions/shape.h])
2637         AC_TRY_COMPILE([
2638                         #include <X11/Xlib.h> 
2639                         #include <X11/extensions/shape.h>
2640                        ],
2641                        [
2642                         int dummy1, dummy2;
2643                         XShapeQueryExtension((Display*)NULL,
2644                                              (int*)NULL, (int*)NULL);
2645                        ],
2646                        [
2647                         AC_DEFINE(HAVE_XSHAPE)
2648                         AC_MSG_RESULT([found])
2649                        ],
2650                        [
2651                         AC_MSG_RESULT([not found])
2652                        ])
2653         CFLAGS="$save_CFLAGS"
2654     fi
2655
2656     if test "$wxUSE_MAC" = 1; then
2657         CPPFLAGS="$CPPFLAGS -fpascal-strings -I\${top_srcdir}/src/mac/morefilex -I/Developer/Headers/FlatCarbon"
2658
2659         TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefilex"
2660         TOOLKIT=MAC
2661         dnl we can't call this MAC_DIST or autoconf thinks its a macro
2662         GUIDIST=MACX_DIST
2663     fi
2664
2665     if test "$wxUSE_COCOA" = 1; then
2666         TOOLKIT_VPATH="\${top_srcdir}/src/cocoa"
2667         TOOLKIT=COCOA
2668         GUIDIST=COCOA_DIST
2669     fi
2670
2671     if test "$wxUSE_PM" = 1; then
2672         TOOLKIT=PM
2673         GUIDIST=GTK_DIST
2674         AC_MSG_WARN([OS/2 threads are not yet supported... disabled])
2675         wxUSE_THREADS="no"
2676     fi
2677
2678     dnl the name of the directory where the files for this toolkit live
2679     if test "$TOOLKIT" = "PM" ; then
2680         TOOLKIT_DIR="os2"
2681     else
2682         TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
2683     fi
2684
2685     dnl misc other files depending on the port
2686     PORT_FILES="\${top_srcdir}/src/\$(TOOLKITDIR)/files.lst"
2687
2688     if test "$wxUSE_UNIVERSAL" = "yes"; then
2689         ALL_OBJECTS="\$(GUI_LOWLEVEL_OBJS) \${UNIVOBJS}"
2690
2691         dnl ALL_SOURCES and ALL_HEADERS shouldn't include really all sources
2692         dnl and headers as some/most are not needed for wxUniv but I don't
2693         dnl have time to add GUI_LOWLEVEL_SOURCES/HEADERS stuff now (TODO!)
2694         ALL_SOURCES="\$(ALL_SOURCES) \${UNIV_SOURCES}"
2695         ALL_HEADERS="\$(ALL_HEADERS) \${UNIV_HEADERS}"
2696
2697         PORT_FILES="${PORT_FILES} \${top_srcdir}/src/univ/files.lst"
2698         if test "$wxUSE_X11" = 1; then
2699             TOOLKIT_VPATH="\${top_srcdir}/src/${TOOLKIT_DIR}${PATH_IFS}\${top_srcdir}/src/univ${PATH_IFS}\${top_srcdir}/src/univ/themes"
2700         else
2701             TOOLKIT_VPATH="\${top_srcdir}/src/univ${PATH_IFS}\${top_srcdir}/src/univ/themes${PATH_IFS}\${top_srcdir}/src/${TOOLKIT_DIR}"
2702         fi
2703         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
2704         WIDGET_SET=univ
2705     else
2706         ALL_OBJECTS="\$(GUIOBJS)"
2707         ALL_SOURCES="\$(ALL_SOURCES)"
2708         ALL_HEADERS="\$(ALL_HEADERS)"
2709     fi
2710
2711     ALL_OBJECTS="${ALL_OBJECTS} \$(COMMONOBJS) \$(GENERICOBJS)"
2712
2713     if test "$TOOLKIT" != "MSW" -a "$USE_DOS" != 1; then
2714         ALL_OBJECTS="${ALL_OBJECTS} \$(UNIXOBJS)"
2715     fi
2716
2717     if test "$wxUSE_HTML" = "yes"; then
2718         ALL_OBJECTS="${ALL_OBJECTS} \$(HTMLOBJS)"
2719     fi
2720
2721     if test "$wxUSE_LIBJPEG" = "builtin" ; then
2722         ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
2723     fi
2724     if test "$wxUSE_LIBTIFF" = "builtin" ; then
2725         ALL_OBJECTS="${ALL_OBJECTS} \$(TIFFOBJS)"
2726     fi
2727     if test "$wxUSE_LIBPNG" = "builtin" ; then
2728         ALL_OBJECTS="${ALL_OBJECTS} \$(PNGOBJS)"
2729     fi
2730
2731     dnl distribute samples/demos/utils with GUI versions
2732     GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST"
2733     DISTDIR="wx\$(TOOLKIT)"
2734 else
2735     USE_GUI=0
2736
2737     dnl this doesn't quite work right for wxBase, but the places
2738     dnl where it is wrong aren't fatal (yet) though.
2739     TOOLKIT_DIR="base"
2740
2741     dnl the sources, their dependenices and the headers
2742     if test "$USE_WIN32" = 1 ; then
2743         ALL_OBJECTS="\${BASE_OBJS} \${BASE_MSW_OBJS}"
2744         TOOLKIT_VPATH="\${top_srcdir}/src/msw"
2745
2746         dnl yes, the toolkit for wxBase on win32 is actually MSW
2747         dnl wxBase on unix does not need a 'TOOLKIT' defined.
2748         TOOLKIT="MSW"
2749     else
2750         ALL_OBJECTS="\${BASE_OBJS} \${BASE_UNIX_OBJS}"
2751         TOOLKIT_VPATH="\${top_srcdir}/src/unix"
2752     fi
2753
2754     ALL_SOURCES="\$(ALL_SOURCES)"
2755     ALL_HEADERS="\$(ALL_HEADERS)"
2756
2757     PORT_FILES="\${top_srcdir}/src/files.lst"
2758
2759     dnl distribute only wxBase sources/headers
2760     GUIDIST="BASE_DIST"
2761     DISTDIR="wxBase"
2762 fi
2763
2764 dnl ---------------------------------------------------------------------------
2765 dnl Optional libraries included when system library is not used
2766 dnl ---------------------------------------------------------------------------
2767
2768
2769 dnl ----------------------------------------------------------------
2770 dnl iODBC support
2771 dnl ----------------------------------------------------------------
2772
2773 IODBC_C_SRC=""
2774
2775
2776 dnl ODBC is handled seperately for MSW 
2777 if test "$TOOLKIT" != "MSW" ; then
2778
2779     if test "$wxUSE_ODBC" != "no" ; then
2780         AC_DEFINE(wxUSE_ODBC)
2781         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
2782     
2783         dnl is this still necessary in 2.5?
2784         WXODBCFLAG="-D_IODBC_"
2785
2786
2787         if test "$wxUSE_ODBC" = "sys" ; then
2788             dnl This is not ideal we really ough to use the unixodbc-config
2789             dnl  or iodbc-config if they exist.
2790
2791             AC_CHECK_HEADER(sql.h)
2792             AC_SEARCH_LIBS(SQLAllocEnv,iodbc unixodbc odbc , , [ 
2793                 wxUSE_ODBC=builtin; 
2794                 AC_MSG_WARN( [ can't find system Odbc library falling back to builtin ])
2795             ] )
2796         fi
2797         dnl Not "no" either...
2798         if test "$wxUSE_ODBC" != "sys" ; then
2799             ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
2800         fi
2801
2802     fi
2803     
2804 fi
2805
2806 if test "$wxUSE_REGEX" = "builtin" ; then
2807     ALL_OBJECTS="${ALL_OBJECTS} \$(REGEXOBJS)"
2808 fi
2809 if test "$wxUSE_ZLIB" = "builtin" ; then
2810     ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)"
2811 fi
2812
2813 dnl ---------------------------------------------------------------------------
2814 dnl OpenGL libraries
2815 dnl ---------------------------------------------------------------------------
2816
2817 if test "$wxUSE_OPENGL" = "yes"; then
2818     if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
2819         OPENGL_LIBS="-framework OpenGL -framework AGL"
2820     elif test "$wxUSE_MSW" = 1; then
2821         OPENGL_LIBS="-lopengl32 -lglu32"
2822     else
2823         dnl David Elliott: Without this snippet AC_CHECK_HEADER fails to find
2824         dnl GL/gl.h on Mac OS X where it is located in
2825         dnl /usr/X11R6/include/GL/gl.h:
2826
2827         WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, GL/gl.h)
2828         if test "$ac_find_includes" != "" ; then
2829             AC_MSG_RESULT(found in $ac_find_includes)
2830             set -x
2831             WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS)
2832             CPPFLAGS="$CPPFLAGS$ac_path_to_include"
2833             set +x
2834         fi
2835
2836         AC_CHECK_HEADER(GL/gl.h,
2837             [
2838                 found_gl=0
2839
2840                 AC_MSG_CHECKING([for -lGL])
2841                 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL)
2842                 if test "$ac_find_libraries" != "" ; then
2843                     WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
2844                     if test "$ac_path_to_link" != " -L/usr/lib" ; then
2845                         LDFLAGS_GL="$ac_path_to_link"
2846                     fi
2847
2848                     dnl don't suppose that libGL and libGLU are always in the
2849                     dnl same directory -- this is not true for some common
2850                     dnl distributions
2851                     WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GLU)
2852                     if test "$ac_find_libraries" != "" ; then
2853                         WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
2854                         if test "$ac_path_to_link" != " -L/usr/lib" -a \
2855                                     "$ac_path_to_link" != "$LDFLAGS_GL"; then
2856                             LDFLAGS_GL="$LDFLAGS_GL$ac_path_to_link"
2857                         fi
2858
2859                         found_gl=1
2860                         OPENGL_LIBS="-lGL -lGLU"
2861                         AC_MSG_RESULT([yes])
2862                     fi
2863                 fi
2864
2865                 if "$found_gl" != 1; then
2866                     AC_MSG_RESULT([no])
2867                     AC_MSG_CHECKING([for -lMesaGL])
2868                     WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],MesaGL)
2869                     if test "$ac_find_libraries" != "" ; then
2870                         WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
2871                         LDFLAGS_GL="$LDFLAGS$ac_path_to_link"
2872                         OPENGL_LIBS="-lMesaGL -lMesaGLU"
2873                         AC_MSG_RESULT([yes])
2874                     else
2875                         AC_MSG_RESULT([no])
2876                     fi
2877                 fi
2878             ])
2879
2880         if test "x$OPENGL_LIBS" = "x"; then
2881             dnl it should be an error and not a warning because OpenGL is not on
2882             dnl by default and so if it had been explicitely requested, we
2883             dnl shouldn't just fall back to compiling the library without it
2884             AC_MSG_ERROR(OpenGL libraries not available)
2885         fi
2886     fi
2887
2888     if test "$wxUSE_OPENGL" = "yes"; then
2889         AC_DEFINE(wxUSE_OPENGL)
2890         AC_DEFINE(wxUSE_GLCANVAS)
2891         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl"
2892     fi
2893 fi
2894
2895 if test -z "$TOOLKIT_VPATH" ; then
2896     TOOLKIT_VPATH="\${top_srcdir}/src/${TOOLKIT_DIR}"
2897 fi
2898
2899 dnl the symbol which allows conditional compilation for the given toolkit
2900 if test -n "$TOOLKIT" ; then
2901     TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WX${TOOLKIT}__"
2902 fi
2903
2904 UNICODE=0
2905 lib_unicode_suffix=
2906 if test "$wxUSE_UNICODE" = "yes"; then
2907     lib_unicode_suffix=u
2908     UNICODE=1
2909 fi
2910
2911 lib_debug_suffix=
2912 BUILD=release
2913 if test "$wxUSE_DEBUG_FLAG" = "yes"; then
2914     lib_debug_suffix=d
2915     BUILD=debug
2916 fi
2917
2918 WX_VERSION_TAG=`echo WX${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
2919
2920 TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}-${WX_RELEASE}"
2921 TOOLCHAIN_NAME_GL="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_gl-${WX_RELEASE}"
2922
2923 if test "$cross_compiling" = "yes"; then
2924     TOOLCHAIN_NAME="${TOOLCHAIN_NAME}-${host_alias}"
2925     TOOLCHAIN_NAME_GL="${TOOLCHAIN_NAME_GL}-${host_alias}"
2926 fi
2927
2928 dnl library link name
2929 WX_LIBRARY="wx_${TOOLCHAIN_NAME}"
2930 WX_LIBRARY_GL="wx_${TOOLCHAIN_NAME_GL}"
2931 WX_LIBRARY_BASENAME="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}"
2932
2933 dnl the name of the shared library
2934 WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
2935 WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
2936
2937 dnl the name of the links to the shared library
2938 WX_LIBRARY_LINK1="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}"
2939 WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}"
2940 WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}"
2941 WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
2942
2943 case "${host}" in
2944     *-*-cygwin* | *-*-mingw32* )
2945
2946         dnl If we are cross compiling we want to use the 'full' unix type name for the
2947         dnl lib, but for a native install use the windows style naming convention.
2948         dnl (excepting again that we strip the ELF style version numbers off it).
2949
2950         dnl FIXME: is this GL stuff actually even used for wxMSW?  should it be??
2951
2952         if test "$cross_compiling" != "yes" -a "$TOOLKIT_DIR" = "msw"; then
2953             WX_LIBRARY="wxmsw${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
2954             WX_LIBRARY_GL="wxmsw_gl${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
2955             WX_LIBRARY_NAME_SHARED="${WX_LIBRARY}.${SO_SUFFIX}"
2956             WX_LIBRARY_NAME_SHARED_GL="${WX_LIBRARY_GL}.${SO_SUFFIX}"
2957         else
2958             WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}"
2959             WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
2960         fi
2961         ;;
2962
2963     *-*-darwin* )
2964         dnl Under Mac OS X, the naming conventions for shared libraries
2965         dnl are different: the number precedes the suffix.
2966
2967         WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.${SO_SUFFIX}"
2968         WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}.${SO_SUFFIX}"
2969
2970         WX_LIBRARY_LINK1="lib${WX_LIBRARY}.${WX_CURRENT}.${SO_SUFFIX}"
2971         WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}"
2972         WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${WX_CURRENT}.${SO_SUFFIX}"
2973         WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
2974
2975         dnl Under Mac OS X, we should build real frameworks instead of simple
2976         dnl dynamic shared libraries (in order to embed the resources)
2977         if test "$wxUSE_MAC" = 1; then
2978             dnl base name of the resource file for wxMac must be the same
2979             dnl as library installation base name (-install_name)
2980             WX_RESOURCES_MACOSX_ASCII="lib${WX_LIBRARY}.${WX_CURRENT}.r"
2981             WX_RESOURCES_MACOSX_DATA="lib${WX_LIBRARY}.${WX_CURRENT}.rsrc"
2982         fi
2983         ;;
2984 esac
2985
2986 dnl the name of the static library
2987 WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
2988 WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY_GL}.a"
2989
2990 dnl define which libs wx-config should link.
2991 WXCONFIG_LIBS="-l${WX_LIBRARY}"
2992 WXCONFIG_LIBS_STATIC="lib${WX_LIBRARY}.a"
2993
2994 if test "$wxUSE_OPENGL" = "yes"; then
2995     WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} ${OPENGL_LIBS}"
2996     WXCONFIG_LIBS_STATIC_GL="lib${WX_LIBRARY_GL}.a ${OPENGL_LIBS}"
2997 fi
2998
2999
3000 dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
3001
3002 if test "$wxUSE_SHARED" = "yes"; then
3003     case "${host}" in
3004       *-pc-os2_emx | *-pc-os2-emx | \
3005       *-pc-msdosdjgpp )
3006         dnl only static for now
3007         wxUSE_SHARED=no
3008         AC_MSG_WARN([Host system doesn't support shared libraries, disabling])
3009       ;;
3010     esac
3011 fi
3012
3013 SHARED=0
3014 if test "$wxUSE_SHARED" = "yes"; then
3015     SHARED=1
3016
3017     dnl use versioned symbols if available on the platform
3018     WX_VERSIONED_SYMBOLS([\$(top_builddir)version-script])
3019
3020     case "${host}" in
3021       *-*-linux* | *-*-gnu* )
3022         SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
3023       ;;
3024
3025       *-*-solaris2* )
3026         if test "$GCC" = yes ; then
3027             dnl newer versions of gcc need -isystem to compile X headers on
3028             dnl Solaris (which use old style C syntax)
3029             CPPFLAGS="$CPPFLAGS -isystem /usr/openwin/include"
3030
3031             dnl gcc may use Sun's ld, in which case -rpath gives a confusing
3032             dnl error message. We have to try both -Wl,-rpath and -Wl,-R:
3033             saveLdflags="$LDFLAGS"
3034             LDFLAGS="$saveLdflags -Wl,-rpath,/"
3035             AC_MSG_CHECKING([if the linker accepts -rpath])
3036             AC_TRY_LINK(
3037                 [],[],
3038                 [
3039                     AC_MSG_RESULT([yes])
3040                     SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
3041                 ],
3042                 [
3043                     AC_MSG_RESULT([no])
3044                     AC_MSG_CHECKING([if the linker accepts -R])
3045                     LDFLAGS="$saveLdflags -Wl,-R,/"
3046                     AC_TRY_LINK(
3047                         [],[],
3048                         [
3049                              AC_MSG_RESULT([yes])
3050                              SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"],
3051                         [
3052                             AC_MSG_RESULT([no])
3053                         ])                    
3054                 ])
3055             LDFLAGS="$saveLdflags"
3056         else
3057             SHARED_LD="${CXX} -G -o"
3058             PIC_FLAG="-KPIC"
3059             SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
3060         fi
3061       ;;
3062
3063       *-*-cygwin* | *-*-mingw32* )
3064         dnl Don't build seperate GL library
3065         WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
3066         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
3067
3068         if test "$wxUSE_OPENGL" = "yes"; then
3069             LIBS="${LIBS} ${OPENGL_LIBS}"
3070         fi
3071       ;;
3072     esac
3073
3074     dnl set target to shared if not explicitly chose static before
3075     if test "x$WX_TARGET_LIBRARY" = "x"; then
3076         WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
3077         WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_SHARED_GL}"
3078     fi
3079
3080     dnl do not alter the LIBRARY_TYPE strings "so" and "a", they are magic
3081     WX_TARGET_LIBRARY_TYPE="so"
3082     INSTALL_LIBRARY='$(INSTALL_PROGRAM)'
3083 fi
3084
3085 dnl do not 'else' this, it may be changed in the above conditional.
3086 if test "$wxUSE_SHARED" = "no"; then
3087
3088     dnl give static wxBase and wxMSW build a working install target
3089     if test "$wxUSE_GUI" = "no" -o "$USE_WIN32" = 1 ; then
3090         dnl we're here because WX_ALL_INSTALLED is empty, but play safe anyway
3091         WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
3092     fi
3093
3094     if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
3095         WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
3096     fi
3097
3098     if test "$wxUSE_OPENGL" = "yes"; then
3099         WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_gl"
3100         WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC} \$(build_libdir)/${WX_LIBRARY_NAME_STATIC_GL}"
3101     else
3102         WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC}"
3103     fi
3104
3105     WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
3106     WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
3107
3108     WX_TARGET_LIBRARY_TYPE="a"
3109     INSTALL_LIBRARY='$(INSTALL_DATA)'
3110
3111     dnl wx-config should assume the --static flag by default if we don't have
3112     dnl any shared libs anyhow
3113     STATIC_FLAG="yes"
3114 else
3115     STATIC_FLAG="no"
3116 fi
3117
3118 dnl default value is to (silently) do nothing in the makefile
3119 MACRESCOMP="@#"
3120 MACSETFILE="@#"
3121 MACRESWXCONFIG="#"
3122 if test "$wxUSE_MAC" = 1; then
3123     dnl add the resources target for wxMac
3124     LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
3125     WX_ALL="${WX_ALL} ${LIBWXMACRES}"
3126     WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_res"
3127     AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
3128     AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
3129     AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
3130     MACOSX_BUNDLE="bundle"
3131     dnl resources are bundled both with shared library and applications
3132     dnl since the carb resource *must* be included in the application
3133     MACRESCOMP="\$(RESCOMP) -d __DARWIN__ -t APPL Carbon.r ${LIBWXMACRES} -o"
3134     MACSETFILE="\$(SETFILE)"
3135     MACRESWXCONFIG="${RESCOMP} -d __DARWIN__ -t APPL Carbon.r \${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
3136 elif test "$wxUSE_COCOA" = 1; then
3137     AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
3138     AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
3139     AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
3140     MACRESCOMP="echo -n | \$(RESCOMP) -d __DARWIN__ -t APPL ${LIBWXMACRES} -o"
3141     MACSETFILE="\$(SETFILE)"
3142     MACRESWXCONFIG="echo -n | ${RESCOMP} -d __DARWIN__ -t APPL \${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
3143 else
3144     if test "$wxUSE_PM" = 1; then
3145         MACRESCOMP="emxbind -ep"
3146     fi
3147 fi
3148
3149 dnl ---------------------------------------------------------------------------
3150 dnl Checks for typedefs
3151 dnl ---------------------------------------------------------------------------
3152
3153 dnl   defines mode_t if not already defined
3154 AC_TYPE_MODE_T
3155 dnl   defines off_t if not already defined
3156 AC_TYPE_OFF_T
3157 dnl   defines pid_t if not already defined
3158 AC_TYPE_PID_T
3159 dnl   defines size_t if not already defined
3160 AC_TYPE_SIZE_T
3161 dnl   defines uid_t and gid_t if not already defined
3162 AC_TYPE_UID_T
3163
3164 dnl check what exactly size_t is on this machine - this is necessary to avoid
3165 dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
3166 AC_LANG_SAVE
3167 AC_LANG_CPLUSPLUS
3168 AC_CACHE_CHECK([if size_t is unsigned int],
3169     wx_cv_size_t_is_uint,
3170     [
3171     dnl an obvious check like AC_TRY_COMPILE[struct Foo { ... };] doesn't work
3172     dnl with egcs (at least) up to 1.1.1 as it allows you to compile duplicate
3173     dnl methods in a local class (i.e. class inside a function) declaration
3174     dnl without any objections!!
3175     dnl
3176     dnl hence the hack below: we must have Foo at global scope!
3177     AC_TRY_COMPILE([#include <stddef.h>],
3178         [
3179             return 0; }
3180
3181             struct Foo { void foo(size_t); void foo(unsigned int); };
3182
3183             int bar() {
3184         ],
3185         wx_cv_size_t_is_uint=no,
3186         wx_cv_size_t_is_uint=yes
3187     )
3188     ]
3189 )
3190
3191 if test "$wx_cv_size_t_is_uint" = "yes"; then
3192     AC_DEFINE(wxSIZE_T_IS_UINT)
3193 else
3194     AC_CACHE_CHECK([if size_t is unsigned long],
3195         wx_cv_size_t_is_ulong,
3196         AC_TRY_COMPILE([#include <stddef.h>],
3197             [
3198                 return 0; }
3199
3200                 struct Foo { void foo(size_t); void foo(unsigned long); };
3201
3202                 int bar() {
3203             ],
3204             wx_cv_size_t_is_ulong=no,
3205             wx_cv_size_t_is_ulong=yes
3206         )
3207     )
3208
3209     if test "$wx_cv_size_t_is_ulong" = "yes"; then
3210         AC_DEFINE(wxSIZE_T_IS_ULONG)
3211     fi
3212 fi
3213
3214 AC_LANG_RESTORE
3215
3216 dnl ---------------------------------------------------------------------------
3217 dnl Checks for structures
3218 dnl ---------------------------------------------------------------------------
3219
3220 dnl does passwd struct has the pw_gecos field?
3221 AC_CACHE_CHECK([for pw_gecos in struct passwd], wx_cv_struct_pw_gecos,
3222     [
3223         AC_TRY_COMPILE([#include <pwd.h>],
3224              [
3225                 char *p;
3226                 struct passwd *pw;
3227                 p = pw->pw_gecos;
3228              ],
3229              [
3230                 wx_cv_struct_pw_gecos=yes
3231              ],
3232              [
3233                 wx_cv_struct_pw_gecos=no
3234              ]
3235         )
3236     ]
3237 )
3238
3239 if test "$wx_cv_struct_pw_gecos" = "yes"; then
3240     AC_DEFINE(HAVE_PW_GECOS)
3241 fi
3242
3243 dnl ---------------------------------------------------------------------------
3244 dnl Check for functions
3245 dnl ---------------------------------------------------------------------------
3246
3247 dnl don't check for wchar_t functions if we haven't got wchar_t itself
3248 if test "$wx_cv_sizeof_wchar_t" != "0"; then
3249     AC_DEFINE(wxUSE_WCHAR_T)
3250
3251     dnl check for wcslen in all possible places
3252     WCSLEN_FOUND=0
3253     WCHAR_LINK=
3254     AC_CHECK_FUNCS(wcslen, WCSLEN_FOUND=1)
3255
3256     if test "$WCSLEN_FOUND" = 0; then
3257         if test "$TOOLKIT" = "MSW"; then
3258             AC_CHECK_LIB(msvcrt, wcslen, WCHAR_OK=1)
3259         else
3260             AC_CHECK_LIB(w, wcslen, [
3261                             WCHAR_LINK=" -lw"
3262                             WCSLEN_FOUND=1
3263                         ])
3264         fi
3265     fi
3266
3267     if test "$WCSLEN_FOUND" = 1; then
3268         AC_DEFINE(HAVE_WCSLEN)
3269     fi
3270
3271     dnl try to use wcsrtombs instead of wcstombs which is buggy in old GNU
3272     dnl libc versions if possible
3273     AC_CHECK_FUNCS(wcsrtombs)
3274 else
3275     AC_MSG_WARN([Wide character support is unavailable])
3276 fi
3277
3278 dnl *printf() functions sometimes are available in the library but not
3279 dnl prototyped -- if this is the case, we can't use them from C++ code, but to
3280 dnl detect this we have to use C++ compiler for testing
3281 AC_LANG_SAVE
3282 AC_LANG_CPLUSPLUS
3283
3284 dnl check for vsnprintf() -- a safe version of vsprintf())
3285 dnl
3286 dnl the trouble here is that on some systems (notable HP-UX) this function is
3287 dnl present in libc but not in the system headers and so AC_CHECK_FUNCS (which,
3288 dnl stupidly, provides a dummy function declaration inside its extension)
3289 dnl succeeds, even with C++ compiler, but the compilation of wxWindows fails
3290 dnl
3291 dnl so we first check if the function is in the library
3292 AC_CHECK_FUNCS(vsnprintf)
3293
3294 if test "$ac_cv_func_vsnprintf" = "yes"; then
3295     dnl yes it is -- now check if it is in the headers
3296     AC_CACHE_CHECK([for vsnprintf declaration], wx_cv_func_vsnprintf_decl,
3297         [
3298             AC_TRY_COMPILE(
3299                 [
3300                     #include <stdio.h>
3301                     #include <stdarg.h>
3302                 ],
3303                 [
3304                     char *buf;
3305                     va_list ap;
3306                     vsnprintf(buf, 10u, "%s", ap);
3307                 ],
3308                 wx_cv_func_vsnprintf_decl=yes,
3309                 wx_cv_func_vsnprintf_decl=no
3310             )
3311         ]
3312     )
3313
3314     if test "$wx_cv_func_vsnprintf_decl" = "yes"; then
3315         AC_DEFINE(HAVE_VSNPRINTF_DECL)
3316     fi
3317 fi
3318
3319 if test "$wxUSE_UNICODE" = yes; then
3320     dnl also look if we have wide char IO functions
3321     AC_CHECK_FUNCS(fputwc wprintf vswprintf)
3322
3323     dnl MinGW has a vswprintf with a different prototype, and
3324     dnl a _vsnwprintf with the correct prototype, but AC_CHECK_FUNCS
3325     dnl finds it even if it is not declared in some versions...
3326     AC_MSG_CHECKING([for _vsnwprintf])
3327     AC_TRY_COMPILE([#include <wchar.h>],
3328                    [&_vsnwprintf;],
3329                    [AC_MSG_RESULT([yes])
3330                     AC_DEFINE(HAVE__VSNWPRINTF)],
3331                    [AC_MSG_RESULT([no])]);
3332 fi
3333
3334 AC_LANG_RESTORE
3335
3336
3337
3338 dnl the following tests are for Unix(like) systems only
3339 if test "$TOOLKIT" != "MSW"; then
3340
3341 dnl check for available version of iconv()
3342
3343 AC_LANG_SAVE
3344 AC_LANG_CPLUSPLUS
3345 AM_ICONV
3346 LIBS="$LIBICONV $LIBS"
3347 AC_LANG_RESTORE
3348
3349 dnl check for POSIX signals if we need them
3350 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
3351     AC_CHECK_FUNCS(sigaction)
3352
3353     if test "$ac_cv_func_sigaction" = "no"; then
3354         AC_MSG_WARN([No POSIX signal functions on this system, wxApp::OnFatalException will not be called])
3355         wxUSE_ON_FATAL_EXCEPTION=no
3356     fi
3357
3358     if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
3359       AC_LANG_SAVE
3360       AC_LANG_CPLUSPLUS
3361
3362       AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
3363       [
3364         AC_TRY_COMPILE([#include <signal.h>],
3365                      [
3366                         extern void testSigHandler(int);
3367
3368                         struct sigaction sa;
3369                         sa.sa_handler = testSigHandler;
3370                      ], [
3371                         wx_cv_type_sa_handler=int
3372                      ], [
3373                         wx_cv_type_sa_handler=void
3374                      ])
3375       ])
3376
3377       AC_LANG_RESTORE
3378
3379       AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
3380     fi
3381 fi
3382
3383 dnl check for the function for temp files creation
3384 AC_CHECK_FUNCS(mkstemp mktemp, break)
3385
3386 dnl get the library function to use for wxGetDiskSpace(): it is statfs() under
3387 dnl Linux and *BSD and statvfs() under Solaris
3388 AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
3389     AC_TRY_COMPILE(
3390         [
3391              #if defined(__BSD__)
3392                #include <sys/param.h>
3393                #include <sys/mount.h>
3394              #else
3395                #include <sys/vfs.h>
3396              #endif
3397         ],
3398         [
3399              long l;
3400              struct statfs fs;
3401              statfs("/", &fs);
3402              l = fs.f_bsize;
3403              l += fs.f_blocks;
3404              l += fs.f_bavail;
3405         ],
3406         [
3407              wx_cv_func_statfs=yes
3408         ],
3409         [
3410              wx_cv_func_statfs=no
3411         ]
3412     )
3413 )
3414
3415 if test "$wx_cv_func_statfs" = "yes"; then
3416     wx_cv_type_statvfs_t="struct statfs"
3417     AC_DEFINE(HAVE_STATFS)
3418 else
3419     AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs,
3420         AC_TRY_COMPILE(
3421             [
3422                 #include <stddef.h>
3423                 #include <sys/statvfs.h>
3424             ],
3425             [
3426                 statvfs("/", NULL);
3427             ],
3428             wx_cv_func_statvfs=yes,
3429             wx_cv_func_statvfs=no
3430         )
3431     )
3432
3433     if test "$wx_cv_func_statvfs" = "yes"; then
3434         dnl we also have to check whether we should use statvfs_t (works under
3435         dnl Solaris 8, doesn't work under Solaris 7) or "struct statvfs" (vice
3436         dnl versa) as the argument for statvfs in 64 bit off_t mode (in 32 bit
3437         dnl mode both work fine)
3438         dnl
3439         dnl for this check C++ compiler has to be used as passing incompatible
3440         dnl pointers is just a warning and not an error in C
3441         AC_LANG_SAVE
3442         AC_LANG_CPLUSPLUS
3443
3444         AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
3445             AC_TRY_COMPILE(
3446                 [
3447                     #include <sys/statvfs.h>
3448                 ],
3449                 [
3450                     long l;
3451                     statvfs_t fs;
3452                     statvfs("/", &fs);
3453                     l = fs.f_bsize;
3454                     l += fs.f_blocks;
3455                     l += fs.f_bavail;
3456                 ],
3457                 wx_cv_type_statvfs_t=statvfs_t,
3458                 [
3459                     AC_TRY_COMPILE(
3460                         [
3461                             #include <sys/statvfs.h>
3462                         ],
3463                         [
3464                             long l;
3465                             struct statvfs fs;
3466                             statvfs("/", &fs);
3467                             l = fs.f_bsize;
3468                             l += fs.f_blocks;
3469                             l += fs.f_bavail;
3470                         ],
3471                         wx_cv_type_statvfs_t="struct statvfs",
3472                         wx_cv_type_statvfs_t="unknown"
3473                     )
3474                 ]
3475             )
3476         )
3477
3478         AC_LANG_RESTORE
3479
3480         if test "$wx_cv_type_statvfs_t" != "unknown"; then
3481             AC_DEFINE(HAVE_STATVFS)
3482         fi
3483     else
3484         dnl set it for the test below
3485         wx_cv_type_statvfs_t="unknown"
3486     fi
3487 fi
3488
3489 if test "$wx_cv_type_statvfs_t" != "unknown"; then
3490     AC_DEFINE_UNQUOTED(WX_STATFS_T, $wx_cv_type_statvfs_t)
3491 else
3492     AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
3493 fi
3494
3495 dnl check for fcntl() or at least flock() needed by Unix implementation of
3496 dnl wxSingleInstanceChecker
3497 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
3498     AC_CHECK_FUNCS(fcntl flock, break)
3499
3500     if test "$ac_cv_func_fcntl" != "yes" -a "$ac_cv_func_flock" != "yes"; then
3501         AC_MSG_WARN(wxSingleInstanceChecker not available)
3502         wxUSE_SNGLINST_CHECKER=no
3503     fi
3504 fi
3505
3506 dnl check for timegm() used by datetime.cpp
3507 AC_CHECK_FUNCS(timegm)
3508
3509 dnl look for a function to modify the environment
3510 AC_CHECK_FUNCS(putenv setenv, break)
3511
3512 HAVE_SOME_SLEEP_FUNC=0
3513 if test "$USE_BEOS" = 1; then
3514     dnl BeOS has its own (wonder where did they get it from) sleep() function
3515     dnl in unistd.h
3516     AC_DEFINE(HAVE_SLEEP)
3517     HAVE_SOME_SLEEP_FUNC=1
3518 fi
3519
3520 if test "$USE_DARWIN" = 1; then
3521     dnl Mac OS X/Darwin has both nanosleep and usleep
3522     dnl but only usleep is defined in unistd.h
3523     AC_DEFINE(HAVE_USLEEP)
3524     HAVE_SOME_SLEEP_FUNC=1
3525 fi
3526
3527 if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
3528     dnl try nanosleep() in libc and libposix4, if this fails - usleep()
3529     POSIX4_LINK=
3530     AC_CHECK_FUNCS(nanosleep,
3531         AC_DEFINE(HAVE_NANOSLEEP),
3532         [
3533             AC_CHECK_LIB(posix4, nanosleep,
3534                 [
3535                     AC_DEFINE(HAVE_NANOSLEEP)
3536                     POSIX4_LINK=" -lposix4"
3537                 ],
3538                 [
3539                     AC_CHECK_FUNCS(usleep,
3540                         AC_DEFINE(HAVE_USLEEP),
3541                         AC_MSG_WARN([wxSleep() function will not work])
3542                     )
3543                 ]
3544             )
3545         ]
3546     )
3547 fi
3548
3549 dnl check for uname (POSIX) and gethostname (BSD)
3550 AC_CHECK_FUNCS(uname gethostname, break)
3551
3552 dnl check for MT-safe version of strtok (on DEC Alpha, it's ok for C compiler
3553 dnl but not for C++ one - hence change language)
3554 AC_LANG_SAVE
3555 AC_LANG_CPLUSPLUS
3556
3557 AC_CHECK_FUNCS(strtok_r)
3558
3559 AC_LANG_RESTORE
3560
3561 dnl check for inet_addr and inet_aton (these may live either in libc, or in
3562 dnl libnsl or libresolv or libsocket)
3563 INET_LINK=
3564 AC_CHECK_FUNCS(inet_addr,
3565     AC_DEFINE(HAVE_INET_ADDR),
3566     [
3567         AC_CHECK_LIB(nsl, inet_addr,
3568             INET_LINK="nsl",
3569             AC_CHECK_LIB(resolv, inet_addr,
3570                 INET_LINK="resolv",
3571                 AC_CHECK_LIB(socket, inet_addr,
3572                     INET_LINK="socket"
3573                 )
3574             )
3575         )
3576     ]
3577 )
3578
3579 AC_CHECK_FUNCS(inet_aton,
3580         AC_DEFINE(HAVE_INET_ATON),
3581         [
3582             dnl only check it in the same lib
3583             AC_CHECK_LIB($INET_LINK, inet_aton, AC_DEFINE(HAVE_INET_ATON))
3584         ])
3585
3586 if test "x$INET_LINK" != "x"; then
3587     AC_DEFINE(HAVE_INET_ADDR)
3588     INET_LINK=" -l$INET_LINK"
3589 fi
3590
3591 fi
3592 dnl if !MSW
3593
3594
3595 dnl ------------------------------------------
3596 dnl Checks specific to contrib libs (MMedia)
3597 dnl ------------------------------------------
3598
3599 dnl Check for ESD:
3600 ESD_LINK=
3601 AC_CHECK_HEADER([esd.h], [
3602   AC_CHECK_LIB(esd, esd_close, [
3603     ESD_LINK="-lesd"
3604   ])
3605 ])
3606
3607
3608 dnl ===========================================================================
3609 dnl Now we have all the info we need - use it!
3610 dnl ===========================================================================
3611
3612 dnl flush the cache
3613 AC_CACHE_SAVE
3614
3615 dnl ---------------------------------------------------------------------------
3616 dnl thread support for Unix (for Win32 see past the next matching "else")
3617 dnl ---------------------------------------------------------------------------
3618
3619 dnl under MSW (except mingw32) we always have thread support
3620 CPP_MT_FLAG=
3621 if test "$TOOLKIT" != "MSW"; then
3622
3623     dnl the code below:
3624     dnl
3625     dnl   defines THREADS_LINK and THREADS_CFLAGS which are the options
3626     dnl   necessary to build the MT programs for the linker and compiler
3627     dnl   respectively
3628     dnl
3629     dnl   sets wxUSE_THREADS=1 if thread support is activated
3630
3631     THREADS_LINK=
3632     THREADS_CFLAGS=
3633
3634     if test "$wxUSE_THREADS" = "yes" ; then
3635         if test "$USE_BEOS" = 1; then
3636             AC_MSG_WARN([BeOS threads are not yet supported... disabled])
3637             wxUSE_THREADS="no"
3638         fi
3639     fi
3640
3641     if test "$wxUSE_THREADS" = "yes" ; then
3642         dnl find if POSIX threads are available
3643         dnl
3644         dnl the tests here are based on ACX_PTHREAD macro from autoconf macro
3645         dnl archive from http://ac-archive.sourceforge.net/
3646         dnl
3647         dnl thanks to Steven G. Johnson <stevenj@alum.mit.edu> and Alejandro
3648         dnl Forero Cuervo <bachue@bachue.com> for the original code
3649
3650         dnl TODO: cache the result
3651
3652         dnl define the list of the thread options to try in the loop below
3653         dnl with the convention that anything starting with '-' is a cpp flag
3654         dnl while anything else is a library (i.e. there is an implicit "-l")
3655         THREAD_OPTS="-pthread"
3656         case "${host}" in
3657           *-*-solaris2* | *-*-sunos4* )
3658                 if test "x$GCC" = "xyes"; then
3659                     dnl Solaris/gcc combination use this one for some reason
3660                     THREAD_OPTS="-pthreads $THREAD_OPTS"
3661                 else
3662                     THREAD_OPTS="-mt $THREAD_OPTS"
3663                 fi
3664                 ;;
3665           *-*-freebsd*)
3666                 dnl look, in order, for the kernel threads, then Linux threads
3667                 dnl and finally the userland threads
3668                 THREAD_OPTS="-kthread lthread $THREAD_OPTS c_r"
3669                 ;;
3670           *-*-darwin* | *-*-cygwin* )
3671                 dnl Darwin / Mac OS X just uses -lpthread tested below
3672                 dnl and so does Cygwin
3673                 THREAD_OPTS=""
3674                 ;;
3675           *-*-aix*)
3676                 dnl AIX calls the library libpthreads - thanks IBM!
3677                 THREAD_OPTS="pthreads"
3678                 ;;
3679           *-hp-hpux* )
3680                 dnl HP-UX aCC only gives a warning, not an error about
3681                 dnl -pthread but it doesn't work and we have to use -lpthread
3682                 dnl there
3683                 if test "x$GCC" != "xyes"; then
3684                     THREAD_OPTS=""
3685                 fi
3686                 ;;
3687
3688           *-*-irix* )
3689                 dnl gcc under IRIX doesn't seem to like -pthread, but it
3690                 dnl doesn't give an error for it neither, just a warning
3691                 dnl message -- but this is still very annoying
3692                 if test "x$GCC" = "xyes"; then
3693                     THREAD_OPTS=""
3694                 fi
3695                 ;;
3696
3697           *-*-*UnixWare*)
3698                 dnl flying by man pages here: Caldera online docs use this
3699                 if test "x$GCC" != "xyes"; then
3700                     THREAD_OPTS="-Ethread"
3701                 fi
3702                 ;;
3703         esac
3704
3705         dnl simply linking with libpthread should make the test below work but
3706         dnl it's far from certain that the threaded programs compiled without
3707         dnl any special switches actually work, so try it after all the others
3708         THREAD_OPTS="$THREAD_OPTS pthread none"
3709
3710         dnl now test for all possibilities
3711         THREADS_OK=no
3712         for flag in $THREAD_OPTS; do
3713             case $flag in
3714                 none)
3715                     AC_MSG_CHECKING([whether pthreads work without any flags])
3716                     ;;
3717
3718                 -*)
3719                     AC_MSG_CHECKING([whether pthreads work with $flag])
3720                     THREADS_CFLAGS="$flag"
3721                     ;;
3722
3723                 *)
3724                     AC_MSG_CHECKING([for the pthreads library -l$flag])
3725                     THREADS_LINK="-l$flag"
3726                     ;;
3727               esac
3728
3729               save_LIBS="$LIBS"
3730               save_CFLAGS="$CFLAGS"
3731               LIBS="$THREADS_LINK $LIBS"
3732               CFLAGS="$THREADS_CFLAGS $CFLAGS"
3733
3734               AC_TRY_LINK([#include <pthread.h>],
3735                           [pthread_create(0,0,0,0);],
3736                           THREADS_OK=yes)
3737
3738               LIBS="$save_LIBS"
3739               CFLAGS="$save_CFLAGS"
3740
3741               AC_MSG_RESULT($THREADS_OK)
3742               if test "x$THREADS_OK" = "xyes"; then
3743                       break;
3744               fi
3745
3746               THREADS_LINK=""
3747               THREADS_CFLAGS=""
3748       done
3749
3750       if test "x$THREADS_OK" != "xyes"; then
3751           wxUSE_THREADS=no
3752           AC_MSG_WARN([No thread support on this system... disabled])
3753       else
3754           dnl yes, these special compiler flags should be used with the
3755           dnl linker as well
3756           LDFLAGS="$THREADS_CFLAGS $LDFLAGS"
3757           LIBS="$THREADS_LINK $LIBS"
3758
3759           AC_MSG_CHECKING([if more special flags are required for pthreads])
3760           flag=no
3761           case "${host}" in
3762             *-aix*)
3763                 dnl again quoting from
3764                 dnl http://www-1.ibm.com/servers/esdd/articles/gnu.html:
3765                 dnl
3766                 dnl     When compiling and linking with -pthread, the library
3767                 dnl     search path should include -L/usr/lib/threads at the
3768                 dnl     beginning of the path.
3769                 LDFLAGS="-L/usr/lib/threads $LDFLAGS"
3770                 flag="-D_THREAD_SAFE"
3771                 ;;
3772             *-freebsd*)
3773                 flag="-D_THREAD_SAFE"
3774                 ;;
3775             *-hp-hpux* )
3776                 flag="-D_REENTRANT"
3777                 if test "x$GCC" != "xyes"; then
3778                     dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm
3779                     flag="$flag -D_RWSTD_MULTI_THREAD"
3780                 fi
3781                 ;;
3782             *solaris* | alpha*-osf*)
3783                 flag="-D_REENTRANT"
3784                 ;;
3785           esac
3786           AC_MSG_RESULT(${flag})
3787           if test "x$flag" != xno; then
3788               THREADS_CFLAGS="$THREADS_CFLAGS $flag"
3789           fi
3790
3791           if test "x$THREADS_CFLAGS" != "x"; then
3792             dnl don't add these options to CPPFLAGS as cpp might not know them
3793             CFLAGS="$CFLAGS $THREADS_CFLAGS"
3794             CXXFLAGS="$CXXFLAGS $THREADS_CFLAGS"
3795           fi
3796       fi
3797     fi
3798
3799     dnl do other tests only if we are using threads
3800     if test "$wxUSE_THREADS" = "yes" ; then
3801       AC_CHECK_FUNCS(thr_setconcurrency)
3802
3803       AC_CHECK_HEADERS(sched.h)
3804       if test "$ac_cv_header_sched_h" = "yes"; then
3805           AC_CHECK_FUNC(sched_yield,
3806             AC_DEFINE(HAVE_SCHED_YIELD),
3807             [
3808                 AC_CHECK_LIB(posix4,
3809                     sched_yield,
3810                     [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK=" -lposix4"],
3811                     AC_MSG_WARN(wxThread::Yield will not work properly)
3812                 )
3813             ]
3814           )
3815       fi
3816
3817       dnl to be able to set the thread priority, we need to have all of the
3818       dnl following functions:
3819       dnl   1. pthread_attr_getschedpolicy
3820       dnl   2. sched_get_priority_min and sched_get_priority_max
3821       dnl      (this one can be in either libpthread or libposix4 (under Solaris))
3822       dnl   3. pthread_attr_getschedparam and pthread_attr_setschedparam
3823       HAVE_PRIOR_FUNCS=0
3824       AC_CHECK_FUNC(pthread_attr_getschedpolicy,
3825                      [AC_CHECK_FUNC(pthread_attr_setschedparam,
3826                        [AC_CHECK_FUNC(sched_get_priority_max,
3827                            HAVE_PRIOR_FUNCS=1,
3828                            [AC_CHECK_LIB([posix4], sched_get_priority_max,
3829                              [
3830                                 HAVE_PRIOR_FUNCS=1
3831                                 POSIX4_LINK=" -lposix4"
3832                              ],
3833                            )]
3834                        )]
3835                      )]
3836                    )
3837
3838       if test "$HAVE_PRIOR_FUNCS" = 1; then
3839         AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS)
3840       else
3841         AC_MSG_WARN(Setting thread priority will not work)
3842       fi
3843
3844       AC_CHECK_FUNC(pthread_cancel,
3845                     AC_DEFINE(HAVE_PTHREAD_CANCEL),
3846                     AC_MSG_WARN([wxThread::Kill() will not work properly]))
3847
3848       AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
3849       [
3850         AC_TRY_COMPILE([#include <pthread.h>],
3851                      [
3852                         pthread_cleanup_push(NULL, NULL);
3853                         pthread_cleanup_pop(0);
3854                      ], [
3855                         wx_cv_func_pthread_cleanup_push=yes
3856                      ], [
3857                         wx_cv_func_pthread_cleanup_push=no
3858                      ])
3859       ])
3860
3861       if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then
3862           AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
3863       fi
3864
3865       dnl mutexattr_t initialization is done in quite different ways on different
3866       dnl platforms, so check for a few things:
3867       dnl
3868       dnl HAVE_MUTEX_RECURSIVE means that we can create recursive mutexes
3869       dnl HAVE_MUTEXATTR_SETTYPE means that we do it using
3870       dnl pthread_mutexattr_settype(PTHREAD_MUTEX_RECURSIVE) and if it is not
3871       dnl defined, we do it by directly assigned
3872       dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
3873
3874       AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
3875       [
3876         AC_TRY_COMPILE([#include <pthread.h>],
3877             [
3878                pthread_mutexattr_t attr;
3879                pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
3880             ], [
3881                wx_cv_type_pthread_mutexattr_t=yes
3882             ], [
3883                wx_cv_type_pthread_mutexattr_t=no
3884             ]
3885         )
3886       ])
3887
3888       if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then
3889         AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T)
3890       else
3891         dnl don't despair, there may be another way to do it
3892         AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER],
3893                        wx_cv_type_pthread_rec_mutex_init,
3894         [
3895             AC_TRY_COMPILE([#include <pthread.h>],
3896                 [
3897                     pthread_mutex_t attr = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
3898                 ], [
3899                     wx_cv_type_pthread_rec_mutex_init=yes
3900                 ], [
3901                     wx_cv_type_pthread_rec_mutex_init=no
3902                 ]
3903             )
3904         ])
3905         if test "$wx_cv_type_pthread_rec_mutex_init" = "yes"; then
3906           AC_DEFINE(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
3907         else
3908           dnl this may break code working elsewhere, so at least warn about it
3909           AC_MSG_WARN([wxMutex won't be recursive on this platform])
3910         fi
3911       fi
3912     fi
3913
3914 dnl from if !MSW
3915 else
3916     if test "$wxUSE_THREADS" = "yes" ; then
3917       case "${host}" in
3918         *-*-mingw32* )
3919             dnl check if the compiler accepts -mthreads
3920             AC_CACHE_CHECK([if compiler supports -mthreads],
3921                 wx_cv_cflags_mthread,
3922                 [
3923                     CFLAGS_OLD="$CFLAGS"
3924                     CFLAGS="$CFLAGS -mthreads"
3925                     AC_TRY_COMPILE([], [],
3926                         wx_cv_cflags_mthread=yes,
3927                         wx_cv_cflags_mthread=no
3928                     )
3929                 ]
3930             )
3931
3932             if test "$wx_cv_cflags_mthread" = "yes"; then
3933                 dnl it does, use it
3934                 CXXFLAGS="$CXXFLAGS -mthreads"
3935                 TOOLCHAIN_DEFS="$TOOLCHAIN_DEFS -mthreads"
3936                 LDFLAGS="$LDFLAGS -mthreads"
3937             else
3938                 dnl it doesn't
3939                 CFLAGS="$CFLAGS_OLD"
3940             fi
3941         ;;
3942       esac
3943     fi
3944 fi
3945
3946 if test "$wxUSE_THREADS" = "yes"; then
3947   AC_DEFINE(wxUSE_THREADS)
3948
3949   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
3950 else
3951   dnl on some systems, _REENTRANT should be defined if we want to use any _r()
3952   dnl functions - add tests for other functions here as well
3953   if test "$ac_cv_func_strtok_r" = "yes"; then
3954     AC_MSG_CHECKING(if -D_REENTRANT is needed)
3955     if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
3956         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D_REENTRANT"
3957         AC_MSG_RESULT(yes)
3958     else
3959         AC_MSG_RESULT(no)
3960     fi
3961   fi
3962 fi
3963
3964 if test "$WXGTK20" = 1 ; then
3965   AC_DEFINE_UNQUOTED(__WXGTK20__,$WXGTK20)
3966   WXGTK12=1
3967 fi
3968
3969 if test "$WXGTK12" = 1 ; then
3970   AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
3971 fi
3972
3973 if test "$WXGTK127" = 1 ; then
3974   AC_DEFINE_UNQUOTED(__WXGTK127__,$WXGTK127)
3975 fi
3976
3977 WXDEBUG=
3978
3979 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
3980     WXDEBUG="-g"
3981     wxUSE_OPTIMISE=no
3982 fi
3983
3984 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
3985     wxUSE_DEBUG_INFO=yes
3986     WXDEBUG="-ggdb"
3987 fi
3988
3989 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
3990     AC_DEFINE(WXDEBUG)
3991     WXDEBUG_DEFINE="-D__WXDEBUG__"
3992 else
3993     if test "$wxUSE_GTK" = 1 ; then
3994         WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
3995     fi
3996 fi
3997
3998 if test "$wxUSE_MEM_TRACING" = "yes" ; then
3999     AC_DEFINE(wxUSE_MEMORY_TRACING)
4000     AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
4001     AC_DEFINE(wxUSE_DEBUG_NEW_ALWAYS)
4002     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
4003 fi
4004
4005 if test "$wxUSE_DMALLOC" = "yes" ; then
4006     DMALLOC_LIBS="-ldmalloc"
4007 fi
4008
4009 PROFILE=
4010 if test "$wxUSE_PROFILE" = "yes" ; then
4011     PROFILE=" -pg"
4012 fi
4013
4014 CODE_GEN_FLAGS=
4015 CODE_GEN_FLAGS_CXX=
4016 if test "$GCC" = "yes" ; then
4017     if test "$wxUSE_NO_RTTI" = "yes" ; then
4018         CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fno-rtti"
4019     fi
4020     if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
4021         CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fno-exceptions"
4022     fi
4023     if test "$wxUSE_PERMISSIVE" = "yes" ; then
4024         CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
4025     fi
4026     if test "$USE_WIN32" = 1 ; then
4027         # I'm not even really sure what this was ever added to solve,
4028         # but someone added it for mingw native builds, so I guess
4029         # they had a reason, right??
4030         CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-pcc-struct-return"
4031     fi
4032
4033     dnl Ian Brown <ian.brown@printsoft.de> reports that versions of gcc before
4034     dnl 3.0 overflow the table of contents on rs6000 as they create an entry
4035     dnl for each subroutine by default -- using the switch below only creates
4036     dnl one entry per file instead at the price of minor performance penalty
4037     dnl
4038     dnl As of wx2.4 a bug in the hppa gcc compiler causes a similar problem
4039     dnl without -ffunction-sections.  No idea how long we'll need to maintain
4040     dnl this, or even the extent of gcc/wx version combinations affected, but
4041     dnl also as above, this 'fix' does not come without side effects.
4042     dnl
4043     dnl TODO: test for the gcc version here (how?)
4044     case "${host}" in
4045       powerpc*-*-aix* )
4046         CODE_GEN_FLAGS="$CODE_GEN_FLAGS -mminimal-toc"
4047         ;;
4048       *-hppa* )
4049         CODE_GEN_FLAGS="$CODE_GEN_FLAGS -ffunction-sections"
4050         ;;
4051     esac
4052 fi
4053
4054 OPTIMISE=
4055 if test "$wxUSE_OPTIMISE" = "no" ; then
4056     if test "$GCC" = yes ; then
4057         dnl use -O0 because compiling with it is faster than compiling with no
4058         dnl optimization options at all (at least with g++ 3.2)
4059         OPTIMISE="-O0"
4060     fi
4061 else
4062     if test "$GCC" = yes ; then
4063         OPTIMISE="-O2"
4064
4065         dnl VZ: does anybody know what does this do??
4066         case "${host}" in
4067             i586-*-*|i686-*-* )
4068             OPTIMISE="${OPTIMISE} "
4069         ;;
4070         esac
4071     else
4072         OPTIMISE="-O"
4073     fi
4074 fi
4075
4076 dnl ---------------------------------------------------------------------------
4077 dnl compatibility level
4078 dnl ---------------------------------------------------------------------------
4079
4080 if test "$WXWIN_COMPATIBILITY_2" = "yes"; then
4081     AC_DEFINE(WXWIN_COMPATIBILITY_2)
4082
4083     WXWIN_COMPATIBILITY_2_2="yes"
4084 fi
4085
4086 if test "x$WXWIN_COMPATIBILITY_2_2" = "xyes"; then
4087     AC_DEFINE(WXWIN_COMPATIBILITY_2_2)
4088
4089     WXWIN_COMPATIBILITY_2_4="yes"
4090 fi
4091
4092 if test "x$WXWIN_COMPATIBILITY_2_4" != "xno"; then
4093     AC_DEFINE(WXWIN_COMPATIBILITY_2_4)
4094 fi
4095
4096 dnl ---------------------------------------------------------------------------
4097 dnl the library may be built without GUI classes at all
4098 dnl ---------------------------------------------------------------------------
4099
4100 if test "$wxUSE_GUI" = "yes"; then
4101   AC_DEFINE(wxUSE_GUI)
4102
4103   dnl the things we always pull in the GUI version of the library:
4104   dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
4105   dnl    library really can't be built without those)
4106   dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
4107   dnl    almost any program and the first 2 are needed to show a message box
4108   dnl    which want to be always able to do)
4109   dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
4110   dnl    to compile without them (if the app doesn't do any drawing, it doesn't
4111   dnl    need the dcs, pens, brushes, ...), this just can't be done now
4112   dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
4113   dnl 5. misc stuff: timers, settings, message box
4114 else
4115   AC_DEFINE(wxUSE_NOGUI)
4116 fi
4117
4118 dnl ---------------------------------------------------------------------------
4119 dnl Unix/Windows
4120 dnl ---------------------------------------------------------------------------
4121
4122 if test "$wxUSE_UNIX" = "yes"; then
4123   AC_DEFINE(wxUSE_UNIX)
4124 fi
4125
4126 dnl ---------------------------------------------------------------------------
4127 dnl Register non-GUI class options for makefiles and setup.h
4128 dnl ---------------------------------------------------------------------------
4129
4130 if test "$wxUSE_STL" = "yes"; then
4131   AC_DEFINE(wxUSE_STL)
4132 fi
4133
4134 if test "$wxUSE_APPLE_IEEE" = "yes"; then
4135   AC_DEFINE(wxUSE_APPLE_IEEE)
4136 fi
4137
4138 if test "$wxUSE_TIMER" = "yes"; then
4139   AC_DEFINE(wxUSE_TIMER)
4140 fi
4141
4142 if test "$wxUSE_WAVE" = "yes"; then
4143   AC_DEFINE(wxUSE_WAVE)
4144 fi
4145
4146 if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
4147   AC_DEFINE(wxUSE_CMDLINE_PARSER)
4148 fi
4149
4150 if test "$wxUSE_STOPWATCH" = "yes"; then
4151   AC_DEFINE(wxUSE_STOPWATCH)
4152 fi
4153
4154 if test "$wxUSE_DATETIME" = "yes"; then
4155   AC_DEFINE(wxUSE_DATETIME)
4156 fi
4157
4158 if test "$wxUSE_FILE" = "yes"; then
4159   AC_DEFINE(wxUSE_FILE)
4160 fi
4161
4162 if test "$wxUSE_FFILE" = "yes"; then
4163   AC_DEFINE(wxUSE_FFILE)
4164 fi
4165
4166 if test "$wxUSE_FILESYSTEM" = "yes"; then
4167   AC_DEFINE(wxUSE_FILESYSTEM)
4168 fi
4169
4170 if test "$wxUSE_FS_INET" = "yes"; then
4171   AC_DEFINE(wxUSE_FS_INET)
4172 fi
4173
4174 if test "$wxUSE_FS_ZIP" = "yes"; then
4175   AC_DEFINE(wxUSE_FS_ZIP)
4176 fi
4177
4178 if test "$wxUSE_ZIPSTREAM" = "yes"; then
4179   AC_DEFINE(wxUSE_ZIPSTREAM)
4180 fi
4181
4182 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
4183   AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
4184 fi
4185
4186 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
4187   AC_DEFINE(wxUSE_SNGLINST_CHECKER)
4188 fi
4189
4190 if test "$wxUSE_BUSYINFO" = "yes"; then
4191   AC_DEFINE(wxUSE_BUSYINFO)
4192 fi
4193
4194 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
4195   AC_DEFINE(wxUSE_STD_IOSTREAM)
4196 fi
4197
4198 if test "$wxUSE_TEXTBUFFER" = "yes"; then
4199     AC_DEFINE(wxUSE_TEXTBUFFER)
4200 fi
4201
4202 if test "$wxUSE_TEXTFILE" = "yes"; then
4203   if test "$wxUSE_FILE" != "yes" -o "$wxUSE_TEXTBUFFER" != "yes" ; then
4204     AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer... disabled)
4205   else
4206     AC_DEFINE(wxUSE_TEXTFILE)
4207   fi
4208 fi
4209
4210 if test "$wxUSE_CONFIG" = "yes" ; then
4211   if test "$wxUSE_TEXTFILE" != "yes"; then
4212     AC_MSG_WARN(wxConfig requires wxTextFile... disabled)
4213   else
4214     AC_DEFINE(wxUSE_CONFIG)
4215     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
4216   fi
4217 fi
4218
4219 if test "$wxUSE_INTL" = "yes" ; then
4220   if test "$wxUSE_FILE" != "yes"; then
4221     AC_MSG_WARN(I18n code requires wxFile... disabled)
4222   else
4223     AC_DEFINE(wxUSE_INTL)
4224     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
4225     GUIDIST="$GUIDIST INTL_DIST"
4226   fi
4227 fi
4228
4229 if test "$wxUSE_LOG" = "yes"; then
4230   AC_DEFINE(wxUSE_LOG)
4231
4232     if test "$wxUSE_LOGGUI" = "yes"; then
4233       AC_DEFINE(wxUSE_LOGGUI)
4234     fi
4235
4236     if test "$wxUSE_LOGWINDOW" = "yes"; then
4237       AC_DEFINE(wxUSE_LOGWINDOW)
4238     fi
4239
4240     if test "$wxUSE_LOGDIALOG" = "yes"; then
4241       AC_DEFINE(wxUSE_LOG_DIALOG)
4242     fi
4243 fi
4244
4245 if test "$wxUSE_LONGLONG" = "yes"; then
4246   AC_DEFINE(wxUSE_LONGLONG)
4247 fi
4248
4249 if test "$wxUSE_GEOMETRY" = "yes"; then
4250   AC_DEFINE(wxUSE_GEOMETRY)
4251 fi
4252
4253 if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
4254   AC_DEFINE(wxUSE_DIALUP_MANAGER)
4255   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
4256 fi
4257
4258 if test "$wxUSE_STREAMS" = "yes" ; then
4259   AC_DEFINE(wxUSE_STREAMS)
4260 fi
4261
4262 dnl ---------------------------------------------------------------------------
4263 dnl time/date functions
4264 dnl ------------------------------------------------------------------------
4265
4266 if test "$wxUSE_DATETIME" = "yes"; then
4267     dnl check for strptime
4268     AC_CHECK_FUNCS(strptime)
4269
4270     dnl check for timezone variable
4271     dnl   doesn't exist under Darwin / Mac OS X which uses tm_gmtoff instead
4272     AC_CACHE_CHECK(for timezone variable in <time.h>,
4273                    wx_cv_var_timezone,
4274                    [
4275                         AC_TRY_COMPILE(
4276                             [
4277                                 #include <time.h>
4278                             ],
4279                             [
4280                                 int tz;
4281                                 tz = timezone;
4282                             ],
4283                             [
4284                                 wx_cv_var_timezone=timezone
4285                             ],
4286                             [
4287                                 AC_TRY_COMPILE(
4288                                     [
4289                                         #include <time.h>
4290                                     ],
4291                                     [
4292                                         int tz;
4293                                         tz = _timezone;
4294                                     ],
4295                                     [
4296                                         wx_cv_var_timezone=_timezone
4297                                     ],
4298                                     [
4299                                         AC_TRY_COMPILE(
4300                                             [
4301                                                 #include <time.h>
4302                                             ],
4303                                             [
4304                                                 int tz;
4305                                                 tz = __timezone;
4306                                             ],
4307                                             [
4308                                                 wx_cv_var_timezone=__timezone
4309                                             ],
4310                                             [
4311                                                 if test "$USE_DOS" = 0 ; then
4312                                                     AC_MSG_WARN(no timezone variable, will use tm_gmtoff instead)
4313                                                 fi
4314                                             ]
4315                                         )
4316                                     ]
4317                                 )
4318                             ]
4319                         )
4320                    ]
4321     )
4322
4323     dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
4324     if test "x$wx_cv_var_timezone" != x ; then
4325         AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
4326     fi
4327
4328     dnl check for localtime (it's POSIX, but the check can do no harm...)
4329     AC_CHECK_FUNCS(localtime)
4330
4331     if test "$ac_cv_func_localtime" = "yes"; then
4332         AC_CACHE_CHECK(for tm_gmtoff in struct tm,
4333                        wx_cv_struct_tm_has_gmtoff,
4334         [
4335             AC_TRY_COMPILE(
4336                 [
4337                     #include <time.h>
4338                 ],
4339                 [
4340                     struct tm tm;
4341                     tm.tm_gmtoff++;
4342                 ],
4343                 [
4344                     wx_cv_struct_tm_has_gmtoff=yes
4345                 ],
4346                 wx_cv_struct_tm_has_gmtoff=no
4347             )
4348         ])
4349     fi
4350
4351     if test "$wx_cv_struct_tm_has_gmtoff" = "yes"; then
4352         AC_DEFINE(WX_GMTOFF_IN_TM)
4353     fi
4354
4355     dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the
4356     dnl function to be used for high resolution timers
4357     AC_CHECK_FUNCS(gettimeofday ftime, break)
4358
4359     if test "$ac_cv_func_gettimeofday" = "yes"; then
4360         AC_CACHE_CHECK([whether gettimeofday takes two arguments],
4361                        wx_cv_func_gettimeofday_has_2_args,
4362         [
4363             dnl on some _really_ old systems it takes only 1 argument
4364             AC_LANG_SAVE
4365             AC_LANG_CPLUSPLUS
4366
4367             AC_TRY_COMPILE(
4368                 [
4369                     #include <sys/time.h>
4370                     #include <unistd.h>
4371                 ],
4372                 [
4373                     struct timeval tv;
4374                     gettimeofday(&tv, NULL);
4375                 ],
4376                 wx_cv_func_gettimeofday_has_2_args=yes,
4377                 AC_TRY_COMPILE(
4378                     [
4379                         #include <sys/time.h>
4380                         #include <unistd.h>
4381                     ],
4382                     [
4383                         struct timeval tv;
4384                         gettimeofday(&tv);
4385                     ],
4386                     wx_cv_func_gettimeofday_has_2_args=no,
4387                     [
4388                         AC_MSG_WARN([failed to determine number of gettimeofday() arguments])
4389                         wx_cv_func_gettimeofday_has_2_args=unknown
4390                     ]
4391                 )
4392             )
4393             AC_LANG_RESTORE
4394         ])
4395
4396         if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then
4397             AC_DEFINE(WX_GETTIMEOFDAY_NO_TZ)
4398         fi
4399     fi
4400
4401     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
4402 fi
4403
4404 dnl ------------------------------------------------------------------------
4405 dnl wxSocket
4406 dnl ------------------------------------------------------------------------
4407
4408 dnl VZ: the GUI hooks wxSocket needs are not implemented yet in wxMGL
4409 if test "$wxUSE_SOCKETS" = "yes"; then
4410     if test "$wxUSE_MGL" = "1"; then
4411         AC_MSG_WARN([wxSocket not yet supported under MGL... disabled])
4412         wxUSE_SOCKETS="no"
4413     fi
4414 fi
4415
4416 if test "$wxUSE_SOCKETS" = "yes"; then
4417     dnl under MSW we always have sockets
4418     if test "$TOOLKIT" != "MSW"; then
4419         dnl under Solaris and OS/2, socket functions live in -lsocket
4420         AC_CHECK_FUNC(socket,,
4421             AC_CHECK_LIB(socket, socket,
4422                 if test "$INET_LINK" != " -lsocket"; then
4423                     INET_LINK="$INET_LINK -lsocket"
4424                 fi,
4425                 [
4426                     AC_MSG_WARN([socket library not found - sockets will be disabled])
4427                     wxUSE_SOCKETS=no
4428                 ]
4429             )
4430         )
4431     fi
4432 fi
4433
4434 if test "$wxUSE_SOCKETS" = "yes" ; then
4435     dnl this test may be appropriate if building under cygwin
4436     dnl right now I'm assuming it also uses the winsock stuff
4437     dnl like mingw does..  -- RL
4438     if test "$TOOLKIT" != "MSW"; then
4439         dnl determine the type of third argument for getsockname
4440         AC_CACHE_CHECK([what is the type of the third argument of getsockname],
4441                        wx_cv_type_getsockname3,
4442             [
4443                 AC_TRY_COMPILE(
4444                     [
4445                         #include <sys/types.h>
4446                         #include <sys/socket.h>
4447                     ],
4448                     [
4449                         socklen_t len;
4450                         getsockname(0, 0, &len);
4451                     ],
4452                     wx_cv_type_getsockname3=socklen_t,
4453                     [
4454                         dnl the compiler will compile the version with size_t
4455                         dnl even if the real type of the last parameter is int
4456                         dnl but it should give at least a warning about
4457                         dnl converting between incompatible pointer types, so
4458                         dnl try to use it to get the correct behaviour at
4459                         dnl least with gcc (otherwise we'd always use size_t)
4460                         CFLAGS_OLD="$CFLAGS"
4461                         if test "$GCC" = yes ; then
4462                             CFLAGS="$CFLAGS -Werror"
4463                         fi
4464
4465                         AC_TRY_COMPILE(
4466                             [
4467                                 #include <sys/types.h>
4468                                 #include <sys/socket.h>
4469                             ],
4470                             [
4471                                 size_t len;
4472                                 getsockname(0, 0, &len);
4473                             ],
4474                             wx_cv_type_getsockname3=size_t,
4475                             AC_TRY_COMPILE(
4476                                 [
4477                                     #include <sys/types.h>
4478                                     #include <sys/socket.h>
4479                                 ],
4480                                 [
4481                                     int len;
4482                                     getsockname(0, 0, &len);
4483                                 ],
4484                                 wx_cv_type_getsockname3=int,
4485                                 wx_cv_type_getsockname3=unknown
4486                             )
4487                         )
4488
4489                         CFLAGS="$CFLAGS_OLD"
4490                     ]
4491                 )
4492             ])
4493
4494         if test "$wx_cv_type_getsockname3" = "unknown"; then
4495             wxUSE_SOCKETS=no
4496             AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
4497         else
4498             AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
4499         fi
4500     fi
4501 fi
4502
4503 if test "$wxUSE_SOCKETS" = "yes" ; then
4504     AC_DEFINE(wxUSE_SOCKETS)
4505     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
4506 fi
4507
4508 dnl ---------------------------------------------------------------------------
4509 dnl Joystick support
4510 dnl ---------------------------------------------------------------------------
4511
4512 if test "$wxUSE_GUI" = "yes"; then
4513
4514     if test "$TOOLKIT" = "MAC" -o "$TOOLKIT" = "COCOA"; then
4515         AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled])
4516         wxUSE_JOYSTICK=no
4517      fi
4518     if test "$TOOLKIT" = "MOTIF"; then
4519         AC_MSG_WARN([Joystick not yet supported under Motif... disabled])
4520         wxUSE_JOYSTICK=no
4521      fi
4522     if test "$TOOLKIT" = "X11"; then
4523         AC_MSG_WARN([Joystick not yet supported under X11... disabled])
4524         wxUSE_JOYSTICK=no
4525      fi
4526
4527     dnl under MSW we always have joystick support
4528     if test "$TOOLKIT" != "MSW"; then
4529         if test "$wxUSE_JOYSTICK" = "yes"; then
4530             dnl joystick support is only for Linux 2.1.x or greater
4531             AC_CHECK_HEADERS(linux/joystick.h)
4532             if test "$ac_cv_header_linux_joystick_h" != "yes"; then
4533                 wxUSE_JOYSTICK=no
4534                 AC_MSG_WARN(Joystick not supported by this system... disabled)
4535             fi
4536         fi
4537     fi
4538
4539     if test "$wxUSE_JOYSTICK" = "yes"; then
4540         AC_DEFINE(wxUSE_JOYSTICK)
4541         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
4542     fi
4543 fi
4544
4545 dnl ------------------------------------------------------------------------
4546 dnl DLL support
4547 dnl ------------------------------------------------------------------------
4548
4549 dnl under MSW we always have LoadLibrary/GetProcAddress
4550 if test "$TOOLKIT" != "MSW"; then
4551
4552     HAVE_DL_FUNCS=0
4553     HAVE_SHL_FUNCS=0
4554     if test "$wxUSE_DYNAMIC_LOADER" = "yes" -o "$wxUSE_DYNLIB_CLASS" = "yes" ; then
4555         if test "$USE_DARWIN" = 1; then
4556             dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
4557             HAVE_DL_FUNCS=1
4558         else
4559             dnl the test is a bit complicated because we check for dlopen() both with
4560             dnl and without -ldl and we also try to find shl_load() if there is no
4561             dnl dlopen() on this system
4562             AC_CHECK_FUNCS(dlopen,
4563             [
4564                 AC_DEFINE(HAVE_DLOPEN)
4565                 HAVE_DL_FUNCS=1
4566             ],
4567             [
4568                 AC_CHECK_LIB(dl, dlopen,
4569                             [
4570                                 AC_DEFINE(HAVE_DLOPEN)
4571                                 HAVE_DL_FUNCS=1
4572                                 DL_LINK=" -ldl$DL_LINK"
4573                             ],
4574                             [
4575                                 AC_CHECK_FUNCS(shl_load,
4576                                               [
4577                                                 AC_DEFINE(HAVE_SHL_LOAD)
4578                                                 HAVE_SHL_FUNCS=1
4579                                               ],
4580                                               [
4581                                                 AC_CHECK_LIB(shl_load, dld,
4582                                                              [
4583                                                                 HAVE_SHL_FUNCS=1
4584                                                                 DL_LINK=" -ldld$DL_LINK"
4585                                                              ])
4586                                               ])
4587                             ])
4588             ])
4589
4590         dnl check also for dlerror()
4591         if test "$HAVE_DL_FUNCS" = 1; then
4592             AC_CHECK_FUNCS(dlerror,
4593                            AC_DEFINE(HAVE_DLERROR),
4594                            AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR)))
4595         fi
4596         fi
4597
4598         if test "$HAVE_DL_FUNCS" = 0; then
4599             if test "$HAVE_SHL_FUNCS" = 0; then
4600               if test "$USE_UNIX" = 1; then
4601                   AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
4602                   wxUSE_DYNAMIC_LOADER=no
4603                   wxUSE_DYNLIB_CLASS=no
4604               else
4605                   AC_MSG_WARN([Assuming wxLibrary class works on this platform])
4606               fi
4607             fi
4608         fi
4609     fi
4610 fi
4611
4612 if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
4613     AC_DEFINE(wxUSE_DYNAMIC_LOADER)
4614 elif test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
4615     AC_DEFINE(wxUSE_DYNLIB_CLASS)
4616 fi
4617
4618 dnl ---------------------------------------------------------------------------
4619 dnl String stuff
4620 dnl ---------------------------------------------------------------------------
4621
4622 if test "$wxUSE_FONTMAP" = "yes" ; then
4623   AC_DEFINE(wxUSE_FONTMAP)
4624 fi
4625
4626 if test "$wxUSE_UNICODE" = "yes" ; then
4627   AC_DEFINE(wxUSE_UNICODE)
4628
4629   if test "$wxUSE_MSW" != 1; then
4630       wxUSE_UNICODE_MSLU=no
4631   fi
4632
4633   if test "$wxUSE_MSW" = 1 -a "$wxUSE_UNICODE_MSLU" = "yes"; then
4634         AC_CHECK_LIB(unicows,main,
4635             [
4636                 AC_DEFINE(wxUSE_UNICODE_MSLU)
4637             ],
4638             [
4639                 AC_MSG_WARN([Compiler doesn't support MSLU (libunicows.a), disabled.
4640                              Applications will only run on Windows NT/2000/XP!])
4641                 wxUSE_UNICODE_MSLU=no
4642             ])
4643     fi
4644 fi
4645
4646 if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
4647   AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
4648 fi
4649
4650 dnl ----------------------------------------------------------------
4651 dnl Register PostScript options for makefiles and setup.h
4652 dnl ----------------------------------------------------------------
4653
4654 if test "$wxUSE_POSTSCRIPT" = "yes" ; then
4655   AC_DEFINE(wxUSE_POSTSCRIPT)
4656 fi
4657
4658 AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
4659
4660 AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
4661
4662 dnl ---------------------------------------------------------------------------
4663 dnl big GUI components: MDI, doc/view, printing, help, ...
4664 dnl ---------------------------------------------------------------------------
4665
4666 if test "$wxUSE_CONSTRAINTS" = "yes"; then
4667     AC_DEFINE(wxUSE_CONSTRAINTS)
4668     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
4669 fi
4670
4671 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
4672
4673 dnl     There is now experimental generic MDI support
4674 dnl     if test "$wxUSE_UNIVERSAL" = "yes"; then
4675 dnl         AC_MSG_WARN(MDI not yet supported for wxUniversal... disabled)
4676 dnl         wxUSE_MDI_ARCHITECTURE=no
4677 dnl     fi
4678
4679    if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
4680        AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
4681        SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
4682    fi
4683 fi
4684
4685 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
4686     AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
4687     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
4688     if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
4689         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
4690     fi
4691 fi
4692
4693 if test "$wxUSE_HELP" = "yes"; then
4694     AC_DEFINE(wxUSE_HELP)
4695     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
4696
4697     if test "$wxUSE_MSW" = 1; then
4698       if test "$wxUSE_MS_HTML_HELP" = "yes"; then
4699         AC_DEFINE(wxUSE_MS_HTML_HELP)
4700       fi
4701     fi
4702
4703     if test "$wxUSE_WXHTML_HELP" = "yes"; then
4704       if test "$wxUSE_HTML" = "yes"; then
4705         AC_DEFINE(wxUSE_WXHTML_HELP)
4706       else
4707         AC_MSG_WARN(Cannot use wxHTML-based help without wxHTML so it won't be compiled)
4708         wxUSE_WXHTML_HELP=no
4709       fi
4710     fi
4711 fi
4712
4713 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
4714     if test "$wxUSE_CONSTRAINTS" != "yes"; then
4715         AC_MSG_WARN(Printing support cannot be used without constraints so it won't be compiled without it)
4716     else
4717         AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
4718     fi
4719     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
4720 fi
4721
4722 if test "$wxUSE_PROLOGIO" = "yes" -o  "$wxUSE_RESOURCES" = "yes"; then
4723     AC_MSG_ERROR([wxExpr and old-style resources are now available in contrib only])
4724 fi
4725
4726 dnl ---------------------------------------------------------------------------
4727 dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
4728 dnl ---------------------------------------------------------------------------
4729
4730 dnl check for ole headers and disable a few features requiring it if not
4731 dnl present (earlier versions of mingw32 don't have ole2.h)
4732 if test "$wxUSE_MSW" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
4733                           -o "$wxUSE_CLIPBOARD"     = "yes" \
4734                           -o "$wxUSE_OLE"     = "yes" \
4735                           -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
4736     AC_CHECK_HEADERS(ole2.h)
4737
4738     if test "$ac_cv_header_ole2_h" = "yes" ; then
4739         if test "$GCC" = yes ; then
4740             AC_LANG_SAVE
4741             AC_LANG_CPLUSPLUS
4742
4743             AC_MSG_CHECKING([if g++ requires -fvtable-thunks])
4744             AC_TRY_COMPILE([#include <windows.h>
4745                             #include <ole2.h>],
4746                            [],
4747                            [AC_MSG_RESULT(no)],
4748                            [AC_MSG_RESULT(yes)
4749                             CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"])
4750             AC_LANG_RESTORE
4751             ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)"
4752             LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
4753             AC_DEFINE(wxUSE_OLE)
4754
4755         fi
4756
4757         dnl for OLE clipboard and dnd
4758         AC_DEFINE(wxUSE_DATAOBJ)
4759     else
4760         AC_MSG_WARN([Some features disabled because OLE headers not found])
4761
4762         wxUSE_CLIPBOARD=no
4763         wxUSE_DRAG_AND_DROP=no
4764         wxUSE_DATAOBJ=no
4765         wxUSE_OLE=no
4766     fi
4767
4768     if test "$wxUSE_METAFILE" = "yes"; then
4769         AC_DEFINE(wxUSE_METAFILE)
4770
4771         dnl this one should probably be made separately configurable
4772         AC_DEFINE(wxUSE_ENH_METAFILE)
4773     fi
4774 fi
4775
4776 if test "$wxUSE_IPC" = "yes"; then
4777     if test "$wxUSE_SOCKETS" != "yes"; then
4778         AC_MSG_WARN(wxWindows IPC classes require sockets... disabled)
4779     fi
4780
4781     AC_DEFINE(wxUSE_IPC)
4782 fi
4783
4784 if test "$wxUSE_CLIPBOARD" = "yes"; then
4785     if test "$wxUSE_MGL" = 1; then
4786         AC_MSG_WARN([Clipboard not yet supported under MGL... disabled])
4787         wxUSE_CLIPBOARD=no
4788     fi
4789
4790     if test "$wxUSE_CLIPBOARD" = "yes"; then
4791         AC_DEFINE(wxUSE_CLIPBOARD)
4792
4793         dnl required by clipboard code in configuration check
4794         AC_DEFINE(wxUSE_DATAOBJ)
4795     fi
4796 fi
4797
4798 if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
4799     if test "$wxUSE_GTK" = 1; then
4800         if test "$WXGTK12" != 1; then
4801             AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2... disabled])
4802             wxUSE_DRAG_AND_DROP=no
4803         fi
4804     fi
4805
4806     if test "$wxUSE_MOTIF" = 1; then
4807         AC_MSG_WARN([Drag and drop not yet supported under Motif... disabled])
4808         wxUSE_DRAG_AND_DROP=no
4809     fi
4810
4811     if test "$wxUSE_X11" = 1; then
4812         AC_MSG_WARN([Drag and drop not yet supported under X11... disabled])
4813         wxUSE_DRAG_AND_DROP=no
4814     fi
4815
4816     if test "$wxUSE_MGL" = 1; then
4817         AC_MSG_WARN([Drag and drop not yet supported under MGL... disabled])
4818         wxUSE_DRAG_AND_DROP=no
4819     fi
4820
4821     if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
4822         AC_DEFINE(wxUSE_DRAG_AND_DROP)
4823         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
4824     fi
4825
4826 fi
4827
4828 if test "$wxUSE_SPLINES" = "yes" ; then
4829   AC_DEFINE(wxUSE_SPLINES)
4830 fi
4831
4832 dnl ---------------------------------------------------------------------------
4833 dnl GUI controls
4834 dnl ---------------------------------------------------------------------------
4835
4836 USES_CONTROLS=0
4837 if test "$wxUSE_CONTROLS" = "yes"; then
4838   USES_CONTROLS=1
4839 fi
4840
4841 if test "$wxUSE_ACCEL" = "yes"; then
4842   AC_DEFINE(wxUSE_ACCEL)
4843   USES_CONTROLS=1
4844 fi
4845
4846 if test "$wxUSE_BUTTON" = "yes"; then
4847   AC_DEFINE(wxUSE_BUTTON)
4848   USES_CONTROLS=1
4849 fi
4850
4851 if test "$wxUSE_BMPBUTTON" = "yes"; then
4852   AC_DEFINE(wxUSE_BMPBUTTON)
4853   USES_CONTROLS=1
4854 fi
4855
4856 if test "$wxUSE_CALCTRL" = "yes"; then
4857   AC_DEFINE(wxUSE_CALENDARCTRL)
4858   USES_CONTROLS=1
4859   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS calendar"
4860 fi
4861
4862 if test "$wxUSE_CARET" = "yes"; then
4863   AC_DEFINE(wxUSE_CARET)
4864   USES_CONTROLS=1
4865   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
4866 fi
4867
4868 if test "$wxUSE_COMBOBOX" = "yes"; then
4869   AC_DEFINE(wxUSE_COMBOBOX)
4870   USES_CONTROLS=1
4871 fi
4872
4873 if test "$wxUSE_CHOICE" = "yes"; then
4874   AC_DEFINE(wxUSE_CHOICE)
4875   USES_CONTROLS=1
4876 fi
4877
4878 if test "$wxUSE_CHECKBOX" = "yes"; then
4879   AC_DEFINE(wxUSE_CHECKBOX)
4880   USES_CONTROLS=1
4881 fi
4882
4883 if test "$wxUSE_CHECKLST" = "yes"; then
4884   AC_DEFINE(wxUSE_CHECKLISTBOX)
4885   USES_CONTROLS=1
4886   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
4887 fi
4888
4889 if test "$wxUSE_DISPLAY" = "yes"; then
4890     AC_DEFINE(wxUSE_DISPLAY)
4891     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display"
4892 fi
4893
4894 if test "$wxUSE_GAUGE" = "yes"; then
4895   AC_DEFINE(wxUSE_GAUGE)
4896   USES_CONTROLS=1
4897 fi
4898
4899 if test "$wxUSE_GRID" = "yes"; then
4900   AC_DEFINE(wxUSE_GRID)
4901   USES_CONTROLS=1
4902   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
4903 fi
4904
4905 if test "$wxUSE_IMAGLIST" = "yes"; then
4906     AC_DEFINE(wxUSE_IMAGLIST)
4907 fi
4908
4909 if test "$wxUSE_LISTBOX" = "yes"; then
4910     AC_DEFINE(wxUSE_LISTBOX)
4911     USES_CONTROLS=1
4912 fi
4913
4914 if test "$wxUSE_LISTCTRL" = "yes"; then
4915     if test "$wxUSE_IMAGLIST" = "yes"; then
4916         AC_DEFINE(wxUSE_LISTCTRL)
4917         USES_CONTROLS=1
4918         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
4919     else
4920         AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
4921     fi
4922 fi
4923
4924 if test "$wxUSE_NOTEBOOK" = "yes"; then
4925     AC_DEFINE(wxUSE_NOTEBOOK)
4926     USES_CONTROLS=1
4927     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
4928 fi
4929
4930 dnl if test "$wxUSE_PROPSHEET" = "yes"; then
4931 dnl     AC_DEFINE(wxUSE_PROPSHEET)
4932 dnl     USES_CONTROLS=1
4933 dnl     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist"
4934 dnl fi
4935
4936 if test "$wxUSE_RADIOBOX" = "yes"; then
4937     AC_DEFINE(wxUSE_RADIOBOX)
4938     USES_CONTROLS=1
4939 fi
4940
4941 if test "$wxUSE_RADIOBTN" = "yes"; then
4942     AC_DEFINE(wxUSE_RADIOBTN)
4943     USES_CONTROLS=1
4944 fi
4945
4946 if test "$wxUSE_SASH" = "yes"; then
4947     AC_DEFINE(wxUSE_SASH)
4948     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
4949 fi
4950
4951 if test "$wxUSE_SCROLLBAR" = "yes"; then
4952     AC_DEFINE(wxUSE_SCROLLBAR)
4953     USES_CONTROLS=1
4954     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
4955 fi
4956
4957 if test "$wxUSE_SLIDER" = "yes"; then
4958     AC_DEFINE(wxUSE_SLIDER)
4959     USES_CONTROLS=1
4960 fi
4961
4962 if test "$wxUSE_SPINBTN" = "yes"; then
4963     AC_DEFINE(wxUSE_SPINBTN)
4964     USES_CONTROLS=1
4965 fi
4966
4967 if test "$wxUSE_SPINCTRL" = "yes"; then
4968     AC_DEFINE(wxUSE_SPINCTRL)
4969     USES_CONTROLS=1
4970 fi
4971
4972 if test "$wxUSE_SPLITTER" = "yes"; then
4973     AC_DEFINE(wxUSE_SPLITTER)
4974     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
4975 fi
4976
4977 if test "$wxUSE_STATBMP" = "yes"; then
4978     AC_DEFINE(wxUSE_STATBMP)
4979     USES_CONTROLS=1
4980 fi
4981
4982 if test "$wxUSE_STATBOX" = "yes"; then
4983     AC_DEFINE(wxUSE_STATBOX)
4984     USES_CONTROLS=1
4985 fi
4986
4987 if test "$wxUSE_STATTEXT" = "yes"; then
4988     AC_DEFINE(wxUSE_STATTEXT)
4989     USES_CONTROLS=1
4990 fi
4991
4992 if test "$wxUSE_STATLINE" = "yes"; then
4993     AC_DEFINE(wxUSE_STATLINE)
4994     USES_CONTROLS=1
4995 fi
4996
4997 if test "$wxUSE_STATUSBAR" = "yes"; then
4998     AC_DEFINE(wxUSE_STATUSBAR)
4999     USES_CONTROLS=1
5000
5001     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
5002 fi
5003
5004 if test "$wxUSE_TABDIALOG" = "yes"; then
5005     AC_DEFINE(wxUSE_TAB_DIALOG)
5006     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
5007 fi
5008
5009 if test "$wxUSE_TEXTCTRL" = "yes"; then
5010     AC_DEFINE(wxUSE_TEXTCTRL)
5011     USES_CONTROLS=1
5012     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS text"
5013 fi
5014
5015 if test "$wxUSE_TOGGLEBTN" = "yes"; then
5016     if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
5017         AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
5018         wxUSE_TOGGLEBTN=no
5019     fi
5020     if test "$wxUSE_UNIVERSAL" = "yes"; then
5021         AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled])
5022         wxUSE_TOGGLEBTN=no
5023     fi
5024
5025     if test "$wxUSE_TOGGLEBTN" = "yes"; then
5026         AC_DEFINE(wxUSE_TOGGLEBTN)
5027         USES_CONTROLS=1
5028     fi
5029 fi
5030
5031 if test "$wxUSE_TOOLBAR_SIMPLE" = "yes"; then
5032     AC_DEFINE(wxUSE_TOOLBAR_SIMPLE)
5033     wxUSE_TOOLBAR="yes"
5034     USES_CONTROLS=1
5035 fi
5036
5037 if test "$wxUSE_TOOLBAR" = "yes"; then
5038     AC_DEFINE(wxUSE_TOOLBAR)
5039     USES_CONTROLS=1
5040
5041     dnl if wxUSE_TOOLBAR and !wxUSE_TOOLBAR_SIMPLE => wxUSE_TOOLBAR_NATIVE
5042     if test "$wxUSE_TOOLBAR_SIMPLE" != "yes"; then
5043         wxUSE_TOOLBAR_NATIVE="yes"
5044     fi
5045
5046     if test "$wxUSE_TOOLBAR_NATIVE" = "yes"; then
5047         AC_DEFINE(wxUSE_TOOLBAR_NATIVE)
5048         USES_CONTROLS=1
5049     fi
5050
5051     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
5052 fi
5053
5054 if test "$wxUSE_TOOLTIPS" = "yes"; then
5055     if test "$wxUSE_MOTIF" = 1; then
5056         AC_MSG_WARN([wxTooltip not supported yet under Motif... disabled])
5057     else
5058         if test "$wxUSE_UNIVERSAL" = "yes"; then
5059             AC_MSG_WARN([wxTooltip not supported yet in wxUniversal... disabled])
5060         else
5061             AC_DEFINE(wxUSE_TOOLTIPS)
5062         fi
5063     fi
5064 fi
5065
5066 if test "$wxUSE_TREECTRL" = "yes"; then
5067     if test "$wxUSE_IMAGLIST" = "yes"; then
5068         AC_DEFINE(wxUSE_TREECTRL)
5069         USES_CONTROLS=1
5070         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
5071     else
5072         AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
5073     fi
5074 fi
5075
5076 if test "$wxUSE_POPUPWIN" = "yes"; then
5077     if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
5078         AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled])
5079     else
5080         if test "$wxUSE_MOTIF" = 1; then
5081             AC_MSG_WARN([wxPopupWindow not yet supported under Motif... disabled])
5082         else
5083             if test "$wxUSE_PM" = 1; then
5084                 AC_MSG_WARN([wxPopupWindow not yet supported under PM... disabled])
5085             else
5086                 AC_DEFINE(wxUSE_POPUPWIN)
5087
5088                 USES_CONTROLS=1
5089             fi
5090         fi
5091     fi
5092 fi
5093
5094 if test "$wxUSE_TIPWINDOW" = "yes"; then
5095     if test "$wxUSE_PM" = 1; then
5096         AC_MSG_WARN([wxTipWindow not yet supported under PM... disabled])
5097     else
5098         AC_DEFINE(wxUSE_TIPWINDOW)
5099     fi
5100 fi
5101
5102 if test "$USES_CONTROLS" = 1; then
5103     AC_DEFINE(wxUSE_CONTROLS)
5104 fi
5105
5106 dnl ---------------------------------------------------------------------------
5107 dnl misc options
5108 dnl ---------------------------------------------------------------------------
5109
5110 dnl if test "$wxUSE_TREELAYOUT" = "yes"; then
5111 dnl     AC_DEFINE(wxUSE_TREELAYOUT)
5112 dnl     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treelay"
5113 dnl fi
5114
5115 if test "$wxUSE_DRAGIMAGE" = "yes"; then
5116     AC_DEFINE(wxUSE_DRAGIMAGE)
5117     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
5118 fi
5119
5120 if test "$wxUSE_ACCESSIBILITY" = "yes"; then
5121     AC_DEFINE(wxUSE_ACCESSIBILITY)
5122     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access"
5123 fi
5124
5125 if test "$wxUSE_MENUS" = "yes"; then
5126     AC_DEFINE(wxUSE_MENUS)
5127     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu"
5128 fi
5129
5130 if test "$wxUSE_METAFILE" = "yes"; then
5131     AC_DEFINE(wxUSE_METAFILE)
5132 fi
5133
5134 if test "$wxUSE_MIMETYPE" = "yes"; then
5135     AC_DEFINE(wxUSE_MIMETYPE)
5136 fi
5137
5138 if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
5139     AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
5140 if test "$TOOLKIT" = "MSW"; then
5141     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
5142 fi
5143
5144 fi
5145
5146 if test "$wxUSE_PROTOCOL" = "yes"; then
5147     if test "$wxUSE_SOCKETS" != "yes"; then
5148         AC_MSG_WARN(Protocol classes require sockets... disabled)
5149         wxUSE_PROTOCOL=no
5150     fi
5151
5152     if test "$wxUSE_PROTOCOL" = "yes"; then
5153         AC_DEFINE(wxUSE_PROTOCOL)
5154
5155         if test "$wxUSE_PROTOCOL_HTTP" = "yes"; then
5156             AC_DEFINE(wxUSE_PROTOCOL_HTTP)
5157         fi
5158         if test "$wxUSE_PROTOCOL_FTP" = "yes"; then
5159             AC_DEFINE(wxUSE_PROTOCOL_FTP)
5160         fi
5161         if test "$wxUSE_PROTOCOL_FILE" = "yes"; then
5162             AC_DEFINE(wxUSE_PROTOCOL_FILE)
5163         fi
5164     fi
5165 fi
5166
5167 if test "$wxUSE_URL" = "yes"; then
5168     if test "$wxUSE_PROTOCOL" != "yes"; then
5169         AC_MSG_WARN(wxURL class requires wxProtocol... disabled)
5170         wxUSE_URL=no
5171     fi
5172     if test "$wxUSE_URL" = "yes"; then
5173         AC_DEFINE(wxUSE_URL)
5174     fi
5175 fi
5176
5177 if test "$wxUSE_MINIFRAME" = "yes"; then
5178     AC_DEFINE(wxUSE_MINIFRAME)
5179     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
5180 fi
5181
5182 if test "$wxUSE_HTML" = "yes"; then
5183     AC_DEFINE(wxUSE_HTML)
5184     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html html/about html/help html/helpview html/printing html/test html/virtual html/widget html/zip htlbox"
5185 fi
5186
5187 if test "$wxUSE_VALIDATORS" = "yes"; then
5188     AC_DEFINE(wxUSE_VALIDATORS)
5189     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
5190 fi
5191
5192 if test "$wxUSE_PALETTE" = "yes" ; then
5193   AC_DEFINE(wxUSE_PALETTE)
5194 fi
5195
5196 if test "$wxUSE_IMAGE" = "yes" ; then
5197   AC_DEFINE(wxUSE_IMAGE)
5198 fi
5199
5200 if test "$wxUSE_GIF" = "yes" ; then
5201   AC_DEFINE(wxUSE_GIF)
5202 fi
5203
5204 if test "$wxUSE_PCX" = "yes" ; then
5205   AC_DEFINE(wxUSE_PCX)
5206 fi
5207
5208 if test "$wxUSE_IFF" = "yes" ; then
5209   AC_DEFINE(wxUSE_IFF)
5210 fi
5211
5212 if test "$wxUSE_PNM" = "yes" ; then
5213   AC_DEFINE(wxUSE_PNM)
5214 fi
5215
5216 if test "$wxUSE_XPM" = "yes" ; then
5217   AC_DEFINE(wxUSE_XPM)
5218 fi
5219
5220 if test "$wxUSE_ICO_CUR" = "yes" ; then
5221   AC_DEFINE(wxUSE_ICO_CUR)
5222 fi
5223
5224 if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then
5225   dnl Must be done this late because -lunicows must be before all the other libs
5226   LIBS=" -lunicows $LIBS"
5227 fi
5228
5229 dnl ---------------------------------------------------------------------------
5230 dnl common dialog
5231 dnl ---------------------------------------------------------------------------
5232
5233 if test "$wxUSE_CHOICEDLG" = "yes"; then
5234     AC_DEFINE(wxUSE_CHOICEDLG)
5235 fi
5236
5237 if test "$wxUSE_COLOURDLG" = "yes"; then
5238     AC_DEFINE(wxUSE_COLOURDLG)
5239 fi
5240
5241 if test "$wxUSE_FILEDLG" = "yes"; then
5242     AC_DEFINE(wxUSE_FILEDLG)
5243 fi
5244
5245 if test "$wxUSE_FINDREPLDLG" = "yes"; then
5246     AC_DEFINE(wxUSE_FINDREPLDLG)
5247 fi
5248
5249 if test "$wxUSE_FONTDLG" = "yes"; then
5250     AC_DEFINE(wxUSE_FONTDLG)
5251 fi
5252
5253 if test "$wxUSE_DIRDLG" = "yes"; then
5254     if test "$wxUSE_TREECTRL" != "yes"; then
5255         AC_MSG_WARN(wxDirDialog requires wxTreeCtrl so it won't be compiled without it)
5256     else
5257         AC_DEFINE(wxUSE_DIRDLG)
5258     fi
5259 fi
5260
5261 if test "$wxUSE_MSGDLG" = "yes"; then
5262     AC_DEFINE(wxUSE_MSGDLG)
5263 fi
5264
5265 if test "$wxUSE_NUMBERDLG" = "yes"; then
5266     AC_DEFINE(wxUSE_NUMBERDLG)
5267 fi
5268
5269 if test "$wxUSE_PROGRESSDLG" = "yes"; then
5270     if test "$wxUSE_CONSTRAINTS" != "yes"; then
5271        AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them)
5272     else
5273         AC_DEFINE(wxUSE_PROGRESSDLG)
5274     fi
5275 fi
5276
5277 if test "$wxUSE_SPLASH" = "yes"; then
5278     AC_DEFINE(wxUSE_SPLASH)
5279 fi
5280
5281 if test "$wxUSE_STARTUP_TIPS" = "yes"; then
5282     if test "$wxUSE_CONSTRAINTS" != "yes"; then
5283        AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them)
5284     else
5285         AC_DEFINE(wxUSE_STARTUP_TIPS)
5286     fi
5287 fi
5288
5289 if test "$wxUSE_TEXTDLG" = "yes"; then
5290     AC_DEFINE(wxUSE_TEXTDLG)
5291 fi
5292
5293 if test "$wxUSE_WIZARDDLG" = "yes"; then
5294     AC_DEFINE(wxUSE_WIZARDDLG)
5295     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wizard"
5296 fi
5297
5298 dnl ---------------------------------------------------------------------------
5299 dnl get the string with OS info - used by wxGetOsDescription()
5300 dnl ---------------------------------------------------------------------------
5301
5302 if test "$cross_compiling" = "yes"; then
5303     dnl Use best guess from host as we can't use uname when cross compiling
5304     OSINFO="\"$host\""
5305 else
5306     dnl attualy work out OS version
5307     OSINFO=`uname -s -r -m`
5308     OSINFO="\"$OSINFO\""
5309 fi
5310
5311 AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
5312
5313 dnl ---------------------------------------------------------------------------
5314 dnl define the variable containing the installation prefix (used in dcpsg.cpp)
5315 dnl ---------------------------------------------------------------------------
5316
5317 if test "x$prefix" != "xNONE"; then
5318     wxPREFIX=$prefix
5319 else
5320     wxPREFIX=$ac_default_prefix
5321 fi
5322
5323 AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX")
5324
5325 dnl define the variables used in wx-config
5326 top_builddir_wxconfig=`pwd`
5327
5328 dnl ---------------------------------------------------------------------------
5329 dnl Output the makefiles and such from the results found above
5330 dnl ---------------------------------------------------------------------------
5331
5332 dnl all additional libraries (except wxWindows itself) we link with
5333
5334 dnl note that we always link with -lm except for Mac OS X
5335 dnl extended.c uses floor() and is always linked in
5336
5337 if test "$wxUSE_MAC" = 1 ; then
5338     LDFLAGS="$LDFLAGS -framework Carbon -framework System"
5339 fi
5340 if test "$wxUSE_COCOA" = 1 ; then
5341     LDFLAGS="$LDFLAGS -framework Cocoa -framework System"
5342 fi
5343
5344 dnl FIXME: should this be covered by the conditional above
5345 dnl given the -lm comment there?  Or should that comment (and
5346 dnl this one) be removed..   [ 7 Nov 2001 ]
5347
5348 LIBS="$ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $DL_LINK $LIBS"
5349
5350 dnl Only add the -lm library if floating point functions cannot be used
5351 dnl without it.  This check is important on cygwin because of the bizarre
5352 dnl way that they have organized functions into libraries.  On cygwin, both
5353 dnl libc.a and libm.a are symbolic links to a single lib libcygwin.a.  This
5354 dnl means that
5355 dnl   1) linking with -lm is not necessary, and
5356 dnl   2) linking with -lm is dangerous if the order of libraries is wrong
5357 dnl In particular, if you compile any program with -mno-cygwin and link with
5358 dnl -lm, it will crash instantly when it is run.  This happens because the
5359 dnl linker incorrectly links the Cygwin libm.a (==libcygwin.a), which replaces
5360 dnl the ___main function instead of allowing it to be defined by
5361 dnl /usr/lib/mingw/libmingw32.a as it should be.
5362 dnl
5363 dnl On MacOS X, this test will find that -lm is unnecessary and leave it out.
5364 dnl
5365 dnl Just check a few floating point functions. If they are all found without
5366 dnl -lm, then we must not need -lm.
5367 have_cos=0
5368 have_floor=0
5369 AC_CHECK_FUNCS(cos, have_cos=1)
5370 AC_CHECK_FUNCS(floor, have_floor=1)
5371 AC_MSG_CHECKING(if floating point functions link without -lm)
5372 if test "$have_cos" = 1 -a "$have_floor" = 1; then
5373     AC_MSG_RESULT(yes)
5374 else
5375     AC_MSG_RESULT(no)
5376     LIBS="$LIBS -lm"
5377     # use different functions to avoid configure caching
5378     have_sin=0
5379     have_ceil=0
5380     AC_CHECK_FUNCS(sin, have_sin=1)
5381     AC_CHECK_FUNCS(ceil, have_ceil=1)
5382     AC_MSG_CHECKING(if floating point functions link with -lm)
5383     if test "$have_sin" = 1 -a "$have_ceil" = 1; then
5384         AC_MSG_RESULT(yes)
5385     else
5386         AC_MSG_RESULT(no)
5387         # not sure we should warn the user, crash, etc.
5388     fi
5389 fi
5390
5391 if test "$wxUSE_GUI" = "yes"; then
5392
5393     dnl TODO add checks that these samples will really compile (i.e. all the
5394     dnl      library features they need are present)
5395
5396     dnl TODO some samples are never built so far:
5397     dnl      ipc, mfc, nativdlg, oleauto, ownerdrw
5398     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs \
5399                      drawing dynamic erase event exec font image \
5400                      minimal propsize rotate shaped widgets"
5401
5402     if test "$wxUSE_MONOLITHIC" != "yes"; then
5403         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
5404     fi
5405 else
5406     SAMPLES_SUBDIRS="console"
5407 fi
5408
5409
5410 dnl all -I options we must pass to the compiler
5411 dnl
5412 dnl note that the order is somewhat important, in particular the ZLIB_INCLUDE
5413 dnl and other stuff for the built in libraries should come first to avoid
5414 dnl including the system headers with the same name (it is particularly
5415 dnl important for zlib because XFree 4.2.0 has its own, horribly old and
5416 dnl incompatible, zlib.h) and the wxWindows headers should come first anyhow
5417 INCLUDES="-I\${top_builddir}lib/wx/include/${TOOLCHAIN_NAME} \
5418 -I\${top_srcdir}/include \
5419 $REGEX_INCLUDE $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE \
5420 $TOOLKIT_INCLUDE"
5421
5422 dnl C/C++ compiler options used to compile wxWindows
5423 if test "$GXX" = yes ; then
5424     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
5425     CXXWARNINGS="-Wall"
5426     dnl should enable this one day...
5427     dnl CXXWARNINGS="-Wall -Werror"
5428 fi
5429
5430 EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE"
5431
5432 dnl remove the extra white space from the cc/c++/ld options
5433 CPPFLAGS=`echo $WXDEBUG_DEFINE $INCLUDES $CPPFLAGS | sed 's/ \\+/ /g'`
5434 CFLAGS=`echo $CODE_GEN_FLAGS $EXTRA_CFLAGS $CFLAGS $CXXWARNINGS | sed 's/ \\+/ /g'`
5435 CXXFLAGS=`echo $CODE_GEN_FLAGS $CODE_GEN_FLAGS_CXX $EXTRA_CFLAGS $CXXFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
5436     
5437
5438 LIBS=`echo $LIBS | sed 's/ \+/ /g'`
5439 EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
5440 if test "$wxUSE_GUI" = "yes"; then
5441     EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK | sed 's/ \+/ /g'`
5442 fi
5443     
5444 LDFLAGS="$LDFLAGS $PROFILE"
5445
5446 dnl wxGTK does not need TOOLKIT includes in wx-config
5447 if test "$wxUSE_GTK" = 1; then
5448     WXCONFIG_INCLUDE=
5449 else
5450     WXCONFIG_INCLUDE="$TOOLKIT_INCLUDE"
5451 fi
5452
5453 if test "x$wxUSE_UNIVERSAL" = "xyes" ; then
5454     WXUNIV=1
5455 else
5456     WXUNIV=0
5457 fi
5458
5459 AC_SUBST(wxUSE_ZLIB)
5460 AC_SUBST(wxUSE_REGEX)
5461 AC_SUBST(wxUSE_ODBC)
5462 AC_SUBST(wxUSE_LIBJPEG)
5463 AC_SUBST(wxUSE_LIBPNG)
5464 AC_SUBST(wxUSE_LIBTIFF)
5465
5466 if test $wxUSE_MONOLITHIC = "yes" ; then
5467     MONOLITHIC=1
5468 else
5469     MONOLITHIC=0
5470 fi
5471
5472 dnl FIXME -- make configurable!
5473 VENDOR="custom"
5474 OFFICIAL_BUILD=0
5475 AC_SUBST(VENDOR)
5476 AC_SUBST(OFFICIAL_BUILD)
5477
5478 AC_SUBST(WXUNIV)
5479 AC_SUBST(MONOLITHIC)
5480 AC_SUBST(EXTRALIBS)
5481 AC_SUBST(EXTRALIBS_GUI)
5482 AC_SUBST(UNICODE)
5483 AC_SUBST(BUILD)
5484 AC_SUBST(SHARED)
5485 TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr [[A-Z]] [[a-z]]`
5486 AC_SUBST(TOOLKIT_LOWERCASE)
5487 AC_SUBST(TOOLKIT_VERSION)
5488 AC_SUBST(SAMPLES_RPATH_FLAG)
5489
5490 AC_BAKEFILE
5491
5492
5493
5494 dnl for convenience, sort the samples in alphabetical order
5495 dnl
5496 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
5497 dnl       in this list - hence uniq. But normally, this shouldn't be needed!
5498 dnl
5499 dnl       Unfortunately, there is a bug in OS/2's tr, such that
5500 dnl       tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
5501 dnl       only removes the Unix-like part of the introduced line break.
5502 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
5503
5504 dnl makefile variables
5505 AC_SUBST(LEX_STEM)
5506 AC_SUBST(PATH_IFS)
5507
5508 dnl global options
5509 AC_SUBST(WX_MAJOR_VERSION_NUMBER)
5510 AC_SUBST(WX_MINOR_VERSION_NUMBER)
5511 AC_SUBST(WX_RELEASE_NUMBER)
5512 AC_SUBST(WX_LIBRARY_NAME_STATIC)
5513 AC_SUBST(WX_LIBRARY_NAME_SHARED)
5514 AC_SUBST(WX_LIBRARY_BASENAME)
5515 AC_SUBST(WX_LIBRARY_IMPORTLIB)
5516 AC_SUBST(WX_TARGET_LIBRARY)
5517 AC_SUBST(WX_LIBRARY_LINK1)
5518 AC_SUBST(WX_LIBRARY_LINK2)
5519 AC_SUBST(PROGRAM_EXT)
5520
5521 dnl global gl options
5522 AC_SUBST(WX_LIBRARY_NAME_STATIC_GL)
5523 AC_SUBST(WX_LIBRARY_NAME_SHARED_GL)
5524 AC_SUBST(WX_TARGET_LIBRARY_GL)
5525 AC_SUBST(WX_LIBRARY_LINK1_GL)
5526 AC_SUBST(WX_LIBRARY_LINK2_GL)
5527
5528 dnl are we supposed to create the links?
5529 AC_SUBST(WX_ALL)
5530 AC_SUBST(WX_ALL_INSTALLED)
5531
5532 AC_SUBST(SHARED_LD)
5533 AC_SUBST(PIC_FLAG)
5534
5535 AC_SUBST(WX_TARGET_LIBRARY_TYPE)
5536
5537 AC_SUBST(STATIC_FLAG)
5538
5539 dnl debugging options
5540 AC_SUBST(WXDEBUG_DEFINE)
5541
5542 dnl toolkit options
5543 AC_SUBST(USE_GUI)
5544 AC_SUBST(AFMINSTALL)
5545 AC_SUBST(WIN32INSTALL)
5546 AC_SUBST(TOOLKIT)
5547 AC_SUBST(TOOLKIT_DIR)
5548 AC_SUBST(TOOLKIT_VPATH)
5549 AC_SUBST(TOOLCHAIN_NAME)
5550 AC_SUBST(TOOLCHAIN_DEFS)
5551 AC_SUBST(TOOLCHAIN_DLL_DEFS)
5552
5553 dnl wx-config options
5554 AC_SUBST(top_builddir_wxconfig)
5555 AC_SUBST(host_alias)
5556 AC_SUBST(cross_compiling)
5557 AC_SUBST(WXCONFIG_LIBS)
5558 AC_SUBST(WXCONFIG_LIBS_GL)
5559 AC_SUBST(WXCONFIG_LIBS_STATIC)
5560 AC_SUBST(WXCONFIG_LIBS_STATIC_GL)
5561 AC_SUBST(WXCONFIG_INCLUDE)
5562 AC_SUBST(WXCONFIG_RPATH)
5563 AC_SUBST(WX_LARGEFILE_FLAGS)
5564 AC_SUBST(CODE_GEN_FLAGS)
5565 AC_SUBST(CODE_GEN_FLAGS_CXX)
5566
5567 dnl the list of files to compile/install
5568 AC_SUBST(ALL_OBJECTS)
5569 AC_SUBST(ALL_HEADERS)
5570 AC_SUBST(ALL_SOURCES)
5571
5572 dnl distribution vars
5573 AC_SUBST(GUIDIST)
5574 AC_SUBST(PORT_FILES)
5575 AC_SUBST(DISTDIR)
5576
5577 dnl additional subdirectories where we will build
5578 AC_SUBST(SAMPLES_SUBDIRS)
5579
5580 dnl additional libraries and linker settings
5581 AC_SUBST(LDFLAGS)
5582 AC_SUBST(LDFLAGS_GL)
5583 AC_SUBST(LDFLAGS_VERSIONING)
5584 AC_SUBST(LDFLAGS_EXE)
5585 AC_SUBST(OPENGL_LIBS)
5586 AC_SUBST(DMALLOC_LIBS)
5587 AC_SUBST(WX_VERSION_TAG)
5588
5589 dnl additional resurces settings
5590 AC_SUBST(RESCOMP)
5591 AC_SUBST(RESFLAGS)
5592 AC_SUBST(RESPROGRAMOBJ)
5593 AC_SUBST(WX_RESOURCES_MACOSX_ASCII)
5594 AC_SUBST(WX_RESOURCES_MACOSX_DATA)
5595
5596 dnl additional for Mac OS X
5597 AC_SUBST(DEREZ)
5598 AC_SUBST(MACOSX_BUNDLE)
5599 AC_SUBST(LIBWXMACRES)
5600 AC_SUBST(MACRESCOMP)
5601 AC_SUBST(MACSETFILE)
5602 AC_SUBST(MACRESWXCONFIG)
5603
5604 dnl other tools
5605 AC_SUBST(GCC)
5606 AC_SUBST(DLLTOOL)
5607 AC_SUBST(AS)
5608 AC_SUBST(NM)
5609 AC_SUBST(LD)
5610 AC_SUBST(MAKEINFO)
5611 AC_SUBST(INSTALL_LIBRARY)
5612 AC_SUBST(INSTALL_DIR)
5613
5614 dnl contrib tests results:
5615 AC_SUBST(ESD_LINK)
5616
5617
5618 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
5619 dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am
5620 dnl - and we do use it)
5621 AC_PROG_MAKE_SET
5622
5623 dnl move setup.h back if available
5624 if test -f lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h; then
5625     mv -f lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h setup.h
5626 fi
5627
5628 AC_CONFIG_HEADERS([setup.h])
5629
5630 dnl create each of the files in the space separated list from the file.in
5631 dnl (the original file name may be overriden by appending another name after a
5632 dnl colon)
5633 AC_CONFIG_FILES([
5634             wx-config
5635             version-script
5636             Makefile
5637           ])
5638
5639 AC_CONFIG_COMMANDS([default],
5640           [
5641             dnl This test is required to make the following idempotent.
5642             dnl Otherwise running config.status or rerunning configure
5643             dnl would stomp the wx-config link or try to move it onto
5644             dnl itself.
5645             dnl Use -h instead of -L to test for link (GD)
5646             dnl   -h is documented as obsolete under Mac OS X but works
5647             dnl   -L is obsolete under Solaris8
5648             if test ! -h wx-config; then
5649                 chmod +x wx-config
5650                 mv wx-config wx${TOOLCHAIN_NAME}-config
5651                 ${LN_S} wx${TOOLCHAIN_NAME}-config wx-config
5652             fi
5653
5654             if test ! -d lib; then
5655               mkdir lib
5656             fi
5657             if test ! -d lib/wx; then
5658               mkdir lib/wx
5659             fi
5660             if test ! -d lib/wx/include; then
5661               mkdir lib/wx/include
5662             fi
5663             if test ! -d lib/wx/include/${TOOLCHAIN_NAME}; then
5664               mkdir lib/wx/include/${TOOLCHAIN_NAME}
5665             fi
5666             if test ! -d lib/wx/include/${TOOLCHAIN_NAME}/wx; then
5667               mkdir lib/wx/include/${TOOLCHAIN_NAME}/wx
5668             fi
5669             if test -f setup.h; then
5670               mv -f setup.h lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h
5671             fi
5672           ],
5673           [
5674             TOOLCHAIN_NAME="${TOOLCHAIN_NAME}"
5675             LN_S="${LN_S}"
5676           ]
5677          )
5678
5679
5680 dnl Configure samples, contrib etc. directories, but only if they are present:
5681 if test "$wxUSE_GUI" = "yes"; then
5682     SUBDIRS="samples demos utils contrib"
5683 else dnl we build wxBase only
5684     dnl there are no wxBase programs in contrib nor demos
5685     SUBDIRS="samples utils"
5686 fi
5687
5688 for subdir in `echo $SUBDIRS`; do
5689     if test -d ${srcdir}/${subdir} ; then
5690         if test "$wxUSE_GUI" = "yes"; then
5691             if test ${subdir} = "samples"; then
5692                 dnl only take those samples which compile in the current
5693                 dnl configuration and which exist
5694                 for sample in `echo $SAMPLES_SUBDIRS`; do
5695                     if test -d $srcdir/samples/$sample; then
5696                         makefiles="samples/$sample/Makefile.in $makefiles"
5697                     fi
5698                 done
5699             else dnl assume that everything compiles for utils &c
5700                 makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
5701             fi
5702         else dnl we build wxBase only
5703             dnl don't take all samples/utils, just those which build with
5704             dnl wxBase
5705             if test ${subdir} = "samples"; then
5706                 makefiles="samples/console/Makefile.in"
5707             else dnl utils
5708                 makefiles="utils/HelpGen/Makefile.in \
5709                            utils/HelpGen/src/Makefile.in \
5710                            utils/makegen/Makefile.in"
5711             fi
5712         fi
5713
5714         for mkin in $makefiles ; do
5715             mk=`echo $mkin | sed 's/Makefile\.in/Makefile/g'`
5716             AC_CONFIG_FILES([$mk])
5717         done
5718     fi
5719 done
5720
5721
5722 AC_OUTPUT
5723
5724 dnl report on what we decided to do
5725 echo
5726 echo "Configured wxWindows ${WX_VERSION} for \`${host}'"
5727 echo ""
5728 echo "  Which GUI toolkit should wxWindows use?                 ${TOOLKIT:-base only}"
5729 echo "  Should wxWindows be compiled into single library?       ${wxUSE_MONOLITHIC:-yes}"
5730
5731 echo "  Should wxWindows be compiled in debug mode?             ${wxUSE_DEBUG:-no}"
5732 echo "  Should wxWindows be linked as a shared library?         ${wxUSE_SHARED:-no}"
5733 echo "  Should wxWindows be compiled in Unicode mode?           ${wxUSE_UNICODE:-no}"
5734
5735 echo "  What level of wxWindows compatibility should be enabled?"
5736 echo "                                       wxWindows 2.0      ${WXWIN_COMPATIBILITY_2:-no}"
5737 echo "                                       wxWindows 2.2      ${WXWIN_COMPATIBILITY_2_2:-no}"
5738 echo "                                       wxWindows 2.4      ${WXWIN_COMPATIBILITY_2_4:-yes}"
5739
5740 echo "  Which libraries should wxWindows use?"
5741 echo "                                       jpeg               ${wxUSE_LIBJPEG-none}"
5742 echo "                                       png                ${wxUSE_LIBPNG-none}"
5743 echo "                                       regex              ${wxUSE_REGEX}"
5744 echo "                                       tiff               ${wxUSE_LIBTIFF-none}"
5745 echo "                                       zlib               ${wxUSE_ZLIB}"
5746 echo "                                       odbc               ${wxUSE_ODBC}"
5747
5748 echo ""
5749
5750 dnl vi: set et sts=4 sw=4 com=\:dnl: