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