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