remove -lfoo.dll hack, it appears to be unnecessary after all.. don't ask.
[wxWidgets.git] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 AC_REVISION($Id$)dnl
3
4 dnl ---------------------------------------------------------------------------
5 dnl
6 dnl Top-level configure.in for wxWindows by Robert Roebling, Phil Blecker,
7 dnl Vadim Zeitlin and Ron Lee
8 dnl
9 dnl This script is under the wxWindows licence.
10 dnl
11 dnl Version: $Id$
12 dnl ---------------------------------------------------------------------------
13
14 dnl ===========================================================================
15 dnl macros to find the a file in the list of include/lib paths
16 dnl ===========================================================================
17
18 dnl ---------------------------------------------------------------------------
19 dnl call WX_PATH_FIND_INCLUDES(search path, header name), sets ac_find_includes
20 dnl to the full name of the file that was found or leaves it empty if not found
21 dnl ---------------------------------------------------------------------------
22 AC_DEFUN(WX_PATH_FIND_INCLUDES,
23 [
24 ac_find_includes=
25 for ac_dir in $1;
26   do
27     if test -f "$ac_dir/$2"; then
28       ac_find_includes=$ac_dir
29       break
30     fi
31   done
32 ])
33
34 dnl ---------------------------------------------------------------------------
35 dnl call WX_PATH_FIND_LIBRARIES(search path, header name), sets ac_find_libraries
36 dnl to the full name of the file that was found or leaves it empty if not found
37 dnl ---------------------------------------------------------------------------
38 AC_DEFUN(WX_PATH_FIND_LIBRARIES,
39 [
40 ac_find_libraries=
41 for ac_dir in $1;
42   do
43     for ac_extension in a so sl dylib; do
44       if test -f "$ac_dir/lib$2.$ac_extension"; then
45         ac_find_libraries=$ac_dir
46         break 2
47       fi
48     done
49   done
50 ])
51
52 dnl ---------------------------------------------------------------------------
53 dnl Path to include, already defined
54 dnl ---------------------------------------------------------------------------
55 AC_DEFUN(WX_INCLUDE_PATH_EXIST,
56 [
57   ac_path_to_include=$1
58   echo "$2" | grep "\-I$1" > /dev/null
59   result=$?
60   if test $result = 0; then
61     ac_path_to_include=""
62   else
63     ac_path_to_include="-I$1"
64   fi
65 ])
66
67 dnl ---------------------------------------------------------------------------
68 dnl Path to link, already defined
69 dnl ---------------------------------------------------------------------------
70 AC_DEFUN(WX_LINK_PATH_EXIST,
71 [
72   echo "$2" | grep "\-L$1" > /dev/null
73   result=$?
74   if test $result = 0; then
75     ac_path_to_link=""
76   else
77     ac_path_to_link="-L$1"
78   fi
79 ])
80
81 dnl ===========================================================================
82 dnl C++ features test
83 dnl ===========================================================================
84
85 dnl ---------------------------------------------------------------------------
86 dnl WX_CPP_NEW_HEADERS checks whether the compiler has "new" <iostream> header
87 dnl or only the old <iostream.h> one - it may be generally assumed that if
88 dnl <iostream> exists, the other "new" headers (without .h) exist too.
89 dnl
90 dnl call WX_CPP_NEW_HEADERS(actiof-if-true, action-if-false-or-cross-compiling)
91 dnl ---------------------------------------------------------------------------
92
93 AC_DEFUN(WX_CPP_NEW_HEADERS,
94 [
95   if test "$cross_compiling" = "yes"; then
96     ifelse([$2], , :, [$2])
97   else
98     AC_LANG_SAVE
99     AC_LANG_CPLUSPLUS
100
101     AC_CHECK_HEADERS(iostream)
102
103     if test "$ac_cv_header_iostream" = "yes" ; then
104       ifelse([$1], , :, [$1])
105     else
106       ifelse([$2], , :, [$2])
107     fi
108
109     AC_LANG_RESTORE
110   fi
111 ])
112
113 dnl ---------------------------------------------------------------------------
114 dnl WX_CPP_BOOL checks whether the C++ compiler has a built in bool type
115 dnl
116 dnl call WX_CPP_BOOL - will define HAVE_BOOL if the compiler supports bool
117 dnl ---------------------------------------------------------------------------
118
119 AC_DEFUN(WX_CPP_BOOL,
120 [
121   AC_CACHE_CHECK([if C++ compiler supports bool], wx_cv_cpp_bool,
122   [
123     AC_LANG_SAVE
124     AC_LANG_CPLUSPLUS
125
126     AC_TRY_COMPILE(
127       [
128       ],
129       [
130         bool b = true;
131
132         return 0;
133       ],
134       [
135         wx_cv_cpp_bool=yes
136       ],
137       [
138         wx_cv_cpp_bool=no
139       ]
140     )
141
142     AC_LANG_RESTORE
143   ])
144
145   if test "$wx_cv_cpp_bool" = "yes"; then
146     AC_DEFINE(HAVE_BOOL)
147   fi
148 ])
149
150 dnl ---------------------------------------------------------------------------
151 dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
152 dnl ---------------------------------------------------------------------------
153
154 AC_DEFUN(WX_C_BIGENDIAN,
155 [AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
156 [ac_cv_c_bigendian=unknown
157 # See if sys/param.h defines the BYTE_ORDER macro.
158 AC_TRY_COMPILE([#include <sys/types.h>
159 #include <sys/param.h>], [
160 #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
161  bogus endian macros
162 #endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
163 AC_TRY_COMPILE([#include <sys/types.h>
164 #include <sys/param.h>], [
165 #if BYTE_ORDER != BIG_ENDIAN
166  not big endian
167 #endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
168 if test $ac_cv_c_bigendian = unknown; then
169 AC_TRY_RUN([main () {
170   /* Are we little or big endian?  From Harbison&Steele.  */
171   union
172   {
173     long l;
174     char c[sizeof (long)];
175   } u;
176   u.l = 1;
177   exit (u.c[sizeof (long) - 1] == 1);
178 }], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes, ac_cv_c_bigendian=unknown)
179 fi])
180 if test $ac_cv_c_bigendian = unknown; then
181   AC_MSG_WARN([Assuming little-endian target machine - this may be overriden by adding the line "ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}" to config.cache file])
182 fi
183 if test $ac_cv_c_bigendian = yes; then
184   AC_DEFINE(WORDS_BIGENDIAN)
185 fi
186 ])
187
188 dnl ---------------------------------------------------------------------------
189 dnl override AC_ARG_ENABLE/WITH to cache the results in .cache file
190 dnl ---------------------------------------------------------------------------
191
192 AC_DEFUN(WX_ARG_CACHE_INIT,
193         [
194           wx_arg_cache_file="configarg.cache"
195           echo "loading argument cache $wx_arg_cache_file"
196           rm -f ${wx_arg_cache_file}.tmp
197           touch ${wx_arg_cache_file}.tmp
198           touch ${wx_arg_cache_file}
199         ])
200
201 AC_DEFUN(WX_ARG_CACHE_FLUSH,
202         [
203           echo "saving argument cache $wx_arg_cache_file"
204           mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
205         ])
206
207 dnl this macro checks for a three-valued command line --with argument:
208 dnl   possible arguments are 'yes', 'no', 'sys', or 'builtin'
209 dnl usage: WX_ARG_SYS_WITH(option, helpmessage, variable-name)
210 AC_DEFUN(WX_ARG_SYS_WITH,
211         [
212           AC_MSG_CHECKING([for --with-$1])
213           no_cache=0
214           AC_ARG_WITH($1, [$2],
215                       [
216                         if test "$withval" = yes; then
217                           ac_cv_use_$1='$3=yes'
218                         elif test "$withval" = no; then
219                           ac_cv_use_$1='$3=no'
220                         elif test "$withval" = sys; then
221                           ac_cv_use_$1='$3=sys'
222                         elif test "$withval" = builtin; then
223                           ac_cv_use_$1='$3=builtin'
224                         else
225                           AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no, sys, or builtin])
226                         fi
227                       ],
228                       [
229                         LINE=`grep "$3" ${wx_arg_cache_file}`
230                         if test "x$LINE" != x ; then
231                           eval "DEFAULT_$LINE"
232                         else
233                           no_cache=1
234                         fi
235
236                         ac_cv_use_$1='$3='$DEFAULT_$3
237                       ])
238
239           eval "$ac_cv_use_$1"
240           if test "$no_cache" != 1; then
241             echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
242           fi
243
244           if test "$$3" = yes; then
245             AC_MSG_RESULT(yes)
246           elif test "$$3" = no; then
247             AC_MSG_RESULT(no)
248           elif test "$$3" = sys; then
249             AC_MSG_RESULT(system version)
250           elif test "$$3" = builtin; then
251             AC_MSG_RESULT(builtin version)
252           else
253             AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no, sys, or builtin])
254           fi
255         ])
256
257 dnl this macro checks for a command line argument and caches the result
258 dnl usage: WX_ARG_WITH(option, helpmessage, variable-name)
259 AC_DEFUN(WX_ARG_WITH,
260         [
261           AC_MSG_CHECKING([for --with-$1])
262           no_cache=0
263           AC_ARG_WITH($1, [$2],
264                       [
265                         if test "$withval" = yes; then
266                           ac_cv_use_$1='$3=yes'
267                         else
268                           ac_cv_use_$1='$3=no'
269                         fi
270                       ],
271                       [
272                         LINE=`grep "$3" ${wx_arg_cache_file}`
273                         if test "x$LINE" != x ; then
274                           eval "DEFAULT_$LINE"
275                         else
276                           no_cache=1
277                         fi
278
279                         ac_cv_use_$1='$3='$DEFAULT_$3
280                       ])
281
282           eval "$ac_cv_use_$1"
283           if test "$no_cache" != 1; then
284             echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
285           fi
286
287           if test "$$3" = yes; then
288             AC_MSG_RESULT(yes)
289           else
290             AC_MSG_RESULT(no)
291           fi
292         ])
293
294 dnl like WX_ARG_WITH but uses AC_ARG_ENABLE instead of AC_ARG_WITH
295 dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name)
296 AC_DEFUN(WX_ARG_ENABLE,
297         [
298           AC_MSG_CHECKING([for --enable-$1])
299           no_cache=0
300           AC_ARG_ENABLE($1, [$2],
301                         [
302                           if test "$enableval" = yes; then
303                             ac_cv_use_$1='$3=yes'
304                           else
305                             ac_cv_use_$1='$3=no'
306                           fi
307                         ],
308                         [
309                           LINE=`grep "$3" ${wx_arg_cache_file}`
310                           if test "x$LINE" != x ; then
311                             eval "DEFAULT_$LINE"
312                           else
313                             no_cache=1
314                           fi
315
316                           ac_cv_use_$1='$3='$DEFAULT_$3
317                         ])
318
319           eval "$ac_cv_use_$1"
320           if test "$no_cache" != 1; then
321             echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
322           fi
323
324           if test "$$3" = yes; then
325             AC_MSG_RESULT(yes)
326           else
327             AC_MSG_RESULT(no)
328           fi
329         ])
330
331 dnl ---------------------------------------------------------------------------
332 dnl initialization
333 dnl ---------------------------------------------------------------------------
334
335 dnl the file passed to AC_INIT should be specific to our package
336 AC_INIT(wx-config.in)
337
338 dnl sets build, host, target variables and the same with _alias
339 AC_CANONICAL_SYSTEM
340
341 dnl When making releases do:
342 dnl
343 dnl WX_RELEASE_NUMBER += 1
344 dnl
345 dnl ..and update WX_CURRENT, WX_RELEASE and WX_AGE according to the
346 dnl following rules:
347 dnl
348 dnl    If any changes have been made to the public interface, that is if any
349 dnl    exported class, method, global or global type has been added, removed
350 dnl    or changed in any way, then do:  WX_CURRENT += 1
351 dnl
352 dnl    If source changes have been made that *do not* alter the public
353 dnl    interface then do:  WX_REVISION += 1
354 dnl    If WX_CURRENT was incremented (as above) instead do:  WX_REVISION = 0
355 dnl
356 dnl    If any public interface was added, do:  WX_AGE += 1
357 dnl    If any public interface was removed (or altered in a way effectively
358 dnl    removing the previous definition), instead do:  WX_AGE = 0
359 dnl
360 dnl When the major or minor version numbers are incremented, all the above
361 dnl variables should be reset to 0.
362 dnl
363 dnl The resulting library name will be of the form:
364 dnl   libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE)
365
366 WX_MAJOR_VERSION_NUMBER=2
367 WX_MINOR_VERSION_NUMBER=3
368 WX_RELEASE_NUMBER=2
369
370 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
371 WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
372
373 WX_MSW_VERSION=$WX_MAJOR_VERSION_NUMBER$WX_MINOR_VERSION_NUMBER$WX_RELEASE_NUMBER
374
375 WX_CURRENT=1
376 WX_REVISION=0
377 WX_AGE=0
378
379
380 dnl ------------------------------------------------------------------------
381 dnl Check platform (host system)
382 dnl ------------------------------------------------------------------------
383
384 dnl assume Unix
385 USE_UNIX=1
386 USE_WIN32=0
387 USE_BEOS=0
388 USE_MAC=0
389
390 USE_LINUX=
391 USE_SGI=
392 USE_HPUX=
393 USE_SYSV=
394 USE_SVR4=
395 USE_AIX=
396 USE_SUN=
397 USE_SOLARIS=
398 USE_SUNOS=
399 USE_ALPHA=
400 USE_IA64=
401 USE_OSF=
402 USE_BSD=
403 USE_DARWIN=
404 USE_FREEBSD=
405 USE_OPENBSD=
406 USE_NETBSD=
407 USE_VMS=
408 USE_ULTRIX=
409 USE_DATA_GENERAL=
410
411 dnl on some platforms xxx_r() functions are declared inside "#ifdef
412 dnl _REENTRANT" and it's easier to just define this symbol for these platforms
413 dnl than checking it during run-time
414 NEEDS_D_REENTRANT_FOR_R_FUNCS=0
415
416 dnl the list of all available toolkits
417 dnl
418 dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
419 ALL_TOOLKITS="GTK MAC MGL MOTIF MSW PM WINE"
420
421 dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
422 dnl     which are either yes or no
423 DEFAULT_wxUSE_GTK=0
424 DEFAULT_wxUSE_MAC=0
425 DEFAULT_wxUSE_MGL=0
426 DEFAULT_wxUSE_MOTIF=0
427 DEFAULT_wxUSE_MSW=0
428 DEFAULT_wxUSE_PM=0
429 DEFAULT_wxUSE_WINE=0
430
431 dnl these are the values which are really default for the given platform -
432 dnl they're not cached and are only used if no --with-toolkit was given *and*
433 dnl nothing was found in the cache
434 DEFAULT_DEFAULT_wxUSE_GTK=0
435 DEFAULT_DEFAULT_wxUSE_MAC=0
436 DEFAULT_DEFAULT_wxUSE_MGL=0
437 DEFAULT_DEFAULT_wxUSE_MOTIF=0
438 DEFAULT_DEFAULT_wxUSE_MSW=0
439 DEFAULT_DEFAULT_wxUSE_PM=0
440 DEFAULT_DEFAULT_wxUSE_WINE=0
441
442 PROGRAM_EXT=
443 SO_SUFFIX=so
444
445 dnl to support a new system, you need to add its canonical name (as determined
446 dnl by config.sub or specified by the configure command line) to this "case"
447 dnl and also define the shared library flags below - search for
448 dnl SHARED_LIB_SETUP to find the exact place
449 case "${host}" in
450   *-hp-hpux* )
451     USE_HPUX=1
452     DEFAULT_DEFAULT_wxUSE_MOTIF=1
453     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
454     SO_SUFFIX=sl
455     AC_DEFINE(__HPUX__)
456   ;;
457   *-*-linux* )
458     USE_LINUX=1
459     AC_DEFINE(__LINUX__)
460     TMP=`uname -m`
461     if test "x$TMP" = "xalpha"; then
462       USE_ALPHA=1
463       AC_DEFINE(__ALPHA__)
464     fi
465     if test "x$TMP" = "xia64"; then
466       USE_IA64=1
467       AC_DEFINE(__IA64__)
468     fi
469     DEFAULT_DEFAULT_wxUSE_GTK=1
470   ;;
471   *-*-irix5* | *-*-irix6* )
472     USE_SGI=1
473     USE_SVR4=1
474     AC_DEFINE(__SGI__)
475     AC_DEFINE(__SVR4__)
476     DEFAULT_DEFAULT_wxUSE_MOTIF=1
477   ;;
478   *-*-solaris2* )
479     USE_SUN=1
480     USE_SOLARIS=1
481     USE_SVR4=1
482     AC_DEFINE(__SUN__)
483     AC_DEFINE(__SOLARIS__)
484     AC_DEFINE(__SVR4__)
485     DEFAULT_DEFAULT_wxUSE_MOTIF=1
486     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
487   ;;
488   *-*-sunos4* )
489     USE_SUN=1
490     USE_SUNOS=1
491     USE_BSD=1
492     AC_DEFINE(__SUN__)
493     AC_DEFINE(__SUNOS__)
494     AC_DEFINE(__BSD__)
495     DEFAULT_DEFAULT_wxUSE_MOTIF=1
496   ;;
497   *-*-freebsd*)
498     USE_BSD=1
499     USE_FREEBSD=1
500     AC_DEFINE(__FREEBSD__)
501     AC_DEFINE(__BSD__)
502     DEFAULT_DEFAULT_wxUSE_GTK=1
503   ;;
504   *-*-openbsd*)
505     USE_BSD=1
506     USE_OPENBSD=1
507     AC_DEFINE(__FREEBSD__)
508     AC_DEFINE(__OPENBSD__)
509     DEFAULT_DEFAULT_wxUSE_GTK=1
510   ;;
511   *-*-netbsd*)
512     USE_BSD=1
513     USE_NETBSD=1
514     AC_DEFINE(__FREEBSD__)
515     AC_DEFINE(__NETBSD__)
516     DEFAULT_DEFAULT_wxUSE_GTK=1
517   ;;
518   *-*-osf* )
519     USE_ALPHA=1
520     USE_OSF=1
521     AC_DEFINE(__ALPHA__)
522     AC_DEFINE(__OSF__)
523     DEFAULT_DEFAULT_wxUSE_MOTIF=1
524     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
525   ;;
526   *-*-dgux5* )
527     USE_ALPHA=1
528     USE_SVR4=1
529     AC_DEFINE(__ALPHA__)
530     AC_DEFINE(__SVR4__)
531     DEFAULT_DEFAULT_wxUSE_MOTIF=1
532   ;;
533   *-*-sysv5* )
534     USE_SYSV=1
535     USE_SVR4=1
536     AC_DEFINE(__SYSV__)
537     AC_DEFINE(__SVR4__)
538     DEFAULT_DEFAULT_wxUSE_MOTIF=1
539   ;;
540   *-*-aix* )
541     USE_AIX=1
542     USE_SYSV=1
543     USE_SVR4=1
544     AC_DEFINE(__AIX__)
545     AC_DEFINE(__SYSV__)
546     AC_DEFINE(__SVR4__)
547     DEFAULT_DEFAULT_wxUSE_MOTIF=1
548   ;;
549
550   *-*-cygwin* | *-*-mingw32* )
551     USE_UNIX=0
552     USE_WIN32=1
553     SO_SUFFIX=dll
554     AC_DEFINE(__WIN32__)
555     AC_DEFINE(__WIN95__)
556     AC_DEFINE(__WINDOWS__)
557     AC_DEFINE(__GNUWIN32__)
558     AC_DEFINE(STRICT)
559     AC_DEFINE(WINVER, 0x0400)
560     PROGRAM_EXT=".exe"
561     RESCOMP=windres
562     DEFAULT_DEFAULT_wxUSE_MSW=1
563   ;;
564
565   *-pc-os2_emx | *-pc-os2-emx )
566     AC_DEFINE(__EMX__)
567     PROGRAM_EXT=".exe"
568     DEFAULT_DEFAULT_wxUSE_PM=1
569   ;;
570
571   powerpc-*-darwin* )
572     dnl PowerPC Darwin based distributions (including Mac OS X)
573     USE_BSD=1
574     USE_DARWIN=1
575     SO_SUFFIX=dylib
576     AC_DEFINE(__BSD__)
577     AC_DEFINE(__DARWIN__)
578     AC_DEFINE(__POWERPC__)
579     DEFAULT_DEFAULT_wxUSE_MAC=1
580   ;;
581
582   *-*-beos* )
583     dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
584     USE_BEOS=1
585     AC_DEFINE(__BEOS__)
586   ;;
587
588   *)
589     AC_MSG_ERROR(unknown system type ${host}.)
590 esac
591
592 if test "$USE_UNIX" = 1 ; then
593     wxUSE_UNIX=yes
594     AC_DEFINE(__UNIX__)
595 fi
596
597 dnl check for glibc version
598 if test "$USE_LINUX" = 1; then
599     AC_CACHE_CHECK([for glibc 2.1 or later], wx_lib_glibc21,
600         AC_TRY_COMPILE([#include <features.h>],
601             [
602                 #if !__GLIBC_PREREQ(2, 1)
603                     #error not glibc2.1
604                 #endif
605             ],
606             [
607                 wx_lib_glibc21=yes
608             ],
609             [
610                 wx_lib_glibc21=no
611             ]
612         )
613     )
614     if test "$wx_lib_glibc21" = "yes"; then
615         AC_DEFINE(wxHAVE_GLIBC2)
616     fi
617 fi
618
619 dnl ---------------------------------------------------------------------------
620 dnl command line options for configure
621 dnl ---------------------------------------------------------------------------
622
623 dnl the default values for all options - we collect them all here to simplify
624 dnl modification of the default values (for example, if the defaults for some
625 dnl platform should be changed, it can be done here too)
626 dnl
627 dnl NB: see also DEFAULT_wxUSE<toolkit> variables defined above
628
629 WX_ARG_CACHE_INIT
630
631 dnl useful to test the compilation with minimum options, define as 0 for normal
632 dnl usage
633 DEBUG_CONFIGURE=0
634 if test $DEBUG_CONFIGURE = 1; then
635   DEFAULT_wxUSE_UNIVERSAL=no
636
637   DEFAULT_wxUSE_THREADS=yes
638
639   DEFAULT_wxUSE_SHARED=yes
640   DEFAULT_wxUSE_SONAME=no
641   DEFAULT_wxUSE_OPTIMISE=no
642   DEFAULT_wxUSE_PROFILE=no
643   DEFAULT_wxUSE_NO_DEPS=no
644   DEFAULT_wxUSE_NO_RTTI=yes
645   DEFAULT_wxUSE_NO_EXCEPTIONS=yes
646   DEFAULT_wxUSE_PERMISSIVE=no
647   DEFAULT_wxUSE_DEBUG_FLAG=yes
648   DEFAULT_wxUSE_DEBUG_INFO=yes
649   DEFAULT_wxUSE_DEBUG_GDB=yes
650   DEFAULT_wxUSE_MEM_TRACING=no
651   DEFAULT_wxUSE_DEBUG_CONTEXT=no
652   DEFAULT_wxUSE_DMALLOC=no
653   DEFAULT_wxUSE_PRECOMP=yes
654   DEFAULT_wxUSE_APPLE_IEEE=no
655
656   DEFAULT_wxUSE_LOG=yes
657   DEFAULT_wxUSE_LOGWINDOW=no
658   DEFAULT_wxUSE_LOGGUI=no
659
660   DEFAULT_wxUSE_GUI=yes
661   DEFAULT_wxUSE_CONTROLS=no
662
663   DEFAULT_wxUSE_REGEX=no
664   DEFAULT_wxUSE_ZLIB=no
665   DEFAULT_wxUSE_LIBPNG=no
666   DEFAULT_wxUSE_LIBJPEG=no
667   DEFAULT_wxUSE_LIBTIFF=no
668   DEFAULT_wxUSE_ODBC=no
669   DEFAULT_wxUSE_FREETYPE=no
670   DEFAULT_wxUSE_OPENGL=no
671
672   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
673   DEFAULT_wxUSE_SNGLINST_CHECKER=no
674   DEFAULT_wxUSE_STD_IOSTREAM=no
675   DEFAULT_wxUSE_CMDLINE_PARSER=no
676   DEFAULT_wxUSE_DATETIME=no
677   DEFAULT_wxUSE_TIMEDATE=no
678   DEFAULT_wxUSE_TIMER=no
679   DEFAULT_wxUSE_STOPWATCH=no
680   DEFAULT_wxUSE_FILE=no
681   DEFAULT_wxUSE_FFILE=no
682   DEFAULT_wxUSE_TEXTFILE=no
683   DEFAULT_wxUSE_WAVE=no
684   DEFAULT_wxUSE_INTL=no
685   DEFAULT_wxUSE_CONFIG=no
686   DEFAULT_wxUSE_FONTMAP=no
687   DEFAULT_wxUSE_STREAMS=no
688   DEFAULT_wxUSE_SOCKETS=no
689   DEFAULT_wxUSE_DIALUP_MANAGER=no
690   DEFAULT_wxUSE_SERIAL=no
691   DEFAULT_wxUSE_JOYSTICK=no
692   DEFAULT_wxUSE_DYNLIB_CLASS=no
693   DEFAULT_wxUSE_LONGLONG=no
694   DEFAULT_wxUSE_GEOMETRY=no
695
696   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
697   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
698   DEFAULT_wxUSE_POSTSCRIPT=no
699
700   DEFAULT_wxUSE_X_RESOURCES=no
701   DEFAULT_wxUSE_CLIPBOARD=no
702   DEFAULT_wxUSE_TOOLTIPS=no
703   DEFAULT_wxUSE_DRAG_AND_DROP=no
704   DEFAULT_wxUSE_DRAGIMAGE=no
705   DEFAULT_wxUSE_SPLINES=no
706
707   DEFAULT_wxUSE_MDI_ARCHITECTURE=no
708   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
709   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
710
711   DEFAULT_wxUSE_PROLOGIO=no
712   DEFAULT_wxUSE_RESOURCES=no
713   DEFAULT_wxUSE_CONSTRAINTS=no
714   DEFAULT_wxUSE_IPC=no
715   DEFAULT_wxUSE_HELP=no
716   DEFAULT_wxUSE_MS_HTML_HELP=no
717   DEFAULT_wxUSE_WXHTML_HELP=no
718   DEFAULT_wxUSE_TREELAYOUT=no
719   DEFAULT_wxUSE_METAFILE=no
720   DEFAULT_wxUSE_MIMETYPE=no
721   DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
722
723   DEFAULT_wxUSE_COMMONDLGS=no
724   DEFAULT_wxUSE_CHOICEDLG=no
725   DEFAULT_wxUSE_COLOURDLG=no
726   DEFAULT_wxUSE_DIRDLG=no
727   DEFAULT_wxUSE_FILEDLG=no
728   DEFAULT_wxUSE_FINDREPLDLG=no
729   DEFAULT_wxUSE_FONTDLG=no
730   DEFAULT_wxUSE_MSGDLG=no
731   DEFAULT_wxUSE_NUMBERDLG=no
732   DEFAULT_wxUSE_TEXTDLG=no
733   DEFAULT_wxUSE_SPLASH=no
734   DEFAULT_wxUSE_STARTUP_TIPS=no
735   DEFAULT_wxUSE_PROGRESSDLG=no
736   DEFAULT_wxUSE_WIZARDDLG=no
737
738   DEFAULT_wxUSE_MENUS=no
739   DEFAULT_wxUSE_MINIFRAME=no
740   DEFAULT_wxUSE_HTML=no
741   DEFAULT_wxUSE_FILESYSTEM=no
742   DEFAULT_wxUSE_FS_INET=no
743   DEFAULT_wxUSE_FS_ZIP=no
744   DEFAULT_wxUSE_BUSYINFO=no
745   DEFAULT_wxUSE_ZIPSTREAM=no
746   DEFAULT_wxUSE_VALIDATORS=no
747
748   DEFAULT_wxUSE_ACCEL=no
749   DEFAULT_wxUSE_BUTTON=no
750   DEFAULT_wxUSE_BMPBUTTON=no
751   DEFAULT_wxUSE_CALCTRL=no
752   DEFAULT_wxUSE_CARET=no
753   DEFAULT_wxUSE_CHECKBOX=no
754   DEFAULT_wxUSE_CHECKLST=no
755   DEFAULT_wxUSE_CHOICE=no
756   DEFAULT_wxUSE_COMBOBOX=no
757   DEFAULT_wxUSE_GAUGE=no
758   DEFAULT_wxUSE_GRID=no
759   DEFAULT_wxUSE_NEW_GRID=no
760   DEFAULT_wxUSE_IMAGLIST=no
761   DEFAULT_wxUSE_LISTBOX=no
762   DEFAULT_wxUSE_LISTCTRL=no
763   DEFAULT_wxUSE_NOTEBOOK=no
764   DEFAULT_wxUSE_PROPSHEET=no
765   DEFAULT_wxUSE_RADIOBOX=no
766   DEFAULT_wxUSE_RADIOBTN=no
767   DEFAULT_wxUSE_SASH=no
768   DEFAULT_wxUSE_SCROLLBAR=no
769   DEFAULT_wxUSE_SLIDER=no
770   DEFAULT_wxUSE_SPINBTN=no
771   DEFAULT_wxUSE_SPINCTRL=no
772   DEFAULT_wxUSE_SPLITTER=no
773   DEFAULT_wxUSE_STATBMP=no
774   DEFAULT_wxUSE_STATBOX=no
775   DEFAULT_wxUSE_STATLINE=no
776   DEFAULT_wxUSE_STATTEXT=no
777   DEFAULT_wxUSE_STATUSBAR=yes
778   DEFAULT_wxUSE_TABDIALOG=no
779   DEFAULT_wxUSE_TEXTCTRL=no
780   DEFAULT_wxUSE_TOGGLEBTN=no
781   DEFAULT_wxUSE_TOOLBAR=no
782   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
783   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
784   DEFAULT_wxUSE_TREECTRL=no
785   DEFAULT_wxUSE_POPUPWIN=no
786
787   DEFAULT_wxUSE_UNICODE=no
788   DEFAULT_wxUSE_WCSRTOMBS=no
789
790   DEFAULT_wxUSE_PALETTE=no
791   DEFAULT_wxUSE_IMAGE=no
792   DEFAULT_wxUSE_GIF=no
793   DEFAULT_wxUSE_PCX=no
794   DEFAULT_wxUSE_PNM=no
795   DEFAULT_wxUSE_XPM=no
796 else
797   DEFAULT_wxUSE_UNIVERSAL=no
798
799   DEFAULT_wxUSE_THREADS=yes
800
801   DEFAULT_wxUSE_SHARED=yes
802   DEFAULT_wxUSE_SONAME=no
803   DEFAULT_wxUSE_OPTIMISE=yes
804   DEFAULT_wxUSE_PROFILE=no
805   DEFAULT_wxUSE_NO_DEPS=no
806   DEFAULT_wxUSE_NO_RTTI=yes
807   DEFAULT_wxUSE_NO_EXCEPTIONS=yes
808   DEFAULT_wxUSE_PERMISSIVE=no
809   DEFAULT_wxUSE_DEBUG_FLAG=no
810   DEFAULT_wxUSE_DEBUG_INFO=no
811   DEFAULT_wxUSE_DEBUG_GDB=no
812   DEFAULT_wxUSE_MEM_TRACING=no
813   DEFAULT_wxUSE_DEBUG_CONTEXT=no
814   DEFAULT_wxUSE_DMALLOC=no
815   DEFAULT_wxUSE_PRECOMP=yes
816   DEFAULT_wxUSE_APPLE_IEEE=yes
817
818   DEFAULT_wxUSE_LOG=yes
819   DEFAULT_wxUSE_LOGWINDOW=yes
820   DEFAULT_wxUSE_LOGGUI=yes
821
822   DEFAULT_wxUSE_GUI=yes
823
824   DEFAULT_wxUSE_REGEX=yes
825   DEFAULT_wxUSE_ZLIB=yes
826   DEFAULT_wxUSE_LIBPNG=yes
827   DEFAULT_wxUSE_LIBJPEG=yes
828   DEFAULT_wxUSE_LIBTIFF=yes
829   DEFAULT_wxUSE_ODBC=no
830   DEFAULT_wxUSE_FREETYPE=no
831   DEFAULT_wxUSE_OPENGL=no
832
833   DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
834   DEFAULT_wxUSE_SNGLINST_CHECKER=yes
835   DEFAULT_wxUSE_STD_IOSTREAM=no
836   DEFAULT_wxUSE_CMDLINE_PARSER=yes
837   DEFAULT_wxUSE_DATETIME=yes
838   DEFAULT_wxUSE_TIMEDATE=no
839   DEFAULT_wxUSE_TIMER=yes
840   DEFAULT_wxUSE_STOPWATCH=yes
841   DEFAULT_wxUSE_FILE=yes
842   DEFAULT_wxUSE_FFILE=yes
843   DEFAULT_wxUSE_TEXTFILE=yes
844   DEFAULT_wxUSE_WAVE=no
845   DEFAULT_wxUSE_INTL=yes
846   DEFAULT_wxUSE_CONFIG=yes
847   DEFAULT_wxUSE_FONTMAP=yes
848   DEFAULT_wxUSE_STREAMS=yes
849   DEFAULT_wxUSE_SOCKETS=yes
850   DEFAULT_wxUSE_DIALUP_MANAGER=yes
851   DEFAULT_wxUSE_SERIAL=yes
852   DEFAULT_wxUSE_JOYSTICK=yes
853   DEFAULT_wxUSE_DYNLIB_CLASS=yes
854   DEFAULT_wxUSE_LONGLONG=yes
855   DEFAULT_wxUSE_GEOMETRY=yes
856
857   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
858   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
859   DEFAULT_wxUSE_POSTSCRIPT=yes
860
861   DEFAULT_wxUSE_X_RESOURCES=no
862   DEFAULT_wxUSE_CLIPBOARD=yes
863   DEFAULT_wxUSE_TOOLTIPS=yes
864   DEFAULT_wxUSE_DRAG_AND_DROP=yes
865   DEFAULT_wxUSE_DRAGIMAGE=yes
866   DEFAULT_wxUSE_SPLINES=yes
867
868   DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
869   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
870   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
871
872   DEFAULT_wxUSE_PROLOGIO=yes
873   DEFAULT_wxUSE_RESOURCES=yes
874   DEFAULT_wxUSE_CONSTRAINTS=yes
875   DEFAULT_wxUSE_IPC=yes
876   DEFAULT_wxUSE_HELP=yes
877   DEFAULT_wxUSE_MS_HTML_HELP=yes
878   DEFAULT_wxUSE_WXHTML_HELP=yes
879   DEFAULT_wxUSE_TREELAYOUT=yes
880   DEFAULT_wxUSE_METAFILE=yes
881   DEFAULT_wxUSE_MIMETYPE=yes
882   DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
883
884   DEFAULT_wxUSE_COMMONDLGS=yes
885   DEFAULT_wxUSE_CHOICEDLG=yes
886   DEFAULT_wxUSE_COLOURDLG=yes
887   DEFAULT_wxUSE_DIRDLG=yes
888   DEFAULT_wxUSE_FILEDLG=yes
889   DEFAULT_wxUSE_FINDREPLDLG=yes
890   DEFAULT_wxUSE_FONTDLG=yes
891   DEFAULT_wxUSE_MSGDLG=yes
892   DEFAULT_wxUSE_NUMBERDLG=yes
893   DEFAULT_wxUSE_TEXTDLG=yes
894   DEFAULT_wxUSE_SPLASH=yes
895   DEFAULT_wxUSE_STARTUP_TIPS=yes
896   DEFAULT_wxUSE_PROGRESSDLG=yes
897   DEFAULT_wxUSE_WIZARDDLG=yes
898
899   DEFAULT_wxUSE_MENUS=yes
900   DEFAULT_wxUSE_MINIFRAME=yes
901   DEFAULT_wxUSE_HTML=yes
902   DEFAULT_wxUSE_FILESYSTEM=yes
903   DEFAULT_wxUSE_FS_INET=yes
904   DEFAULT_wxUSE_FS_ZIP=yes
905   DEFAULT_wxUSE_BUSYINFO=yes
906   DEFAULT_wxUSE_ZIPSTREAM=yes
907   DEFAULT_wxUSE_VALIDATORS=yes
908
909   DEFAULT_wxUSE_ACCEL=yes
910   DEFAULT_wxUSE_BUTTON=yes
911   DEFAULT_wxUSE_BMPBUTTON=yes
912   DEFAULT_wxUSE_CALCTRL=yes
913   DEFAULT_wxUSE_CARET=yes
914   DEFAULT_wxUSE_CHECKBOX=yes
915   DEFAULT_wxUSE_CHECKLST=yes
916   DEFAULT_wxUSE_CHOICE=yes
917   DEFAULT_wxUSE_COMBOBOX=yes
918   DEFAULT_wxUSE_GAUGE=yes
919   DEFAULT_wxUSE_GRID=yes
920   DEFAULT_wxUSE_NEW_GRID=yes
921   DEFAULT_wxUSE_IMAGLIST=yes
922   DEFAULT_wxUSE_LISTBOX=yes
923   DEFAULT_wxUSE_LISTCTRL=yes
924   DEFAULT_wxUSE_NOTEBOOK=yes
925   DEFAULT_wxUSE_PROPSHEET=yes
926   DEFAULT_wxUSE_RADIOBOX=yes
927   DEFAULT_wxUSE_RADIOBTN=yes
928   DEFAULT_wxUSE_SASH=yes
929   DEFAULT_wxUSE_SCROLLBAR=yes
930   DEFAULT_wxUSE_SLIDER=yes
931   DEFAULT_wxUSE_SPINBTN=yes
932   DEFAULT_wxUSE_SPINCTRL=yes
933   DEFAULT_wxUSE_SPLITTER=yes
934   DEFAULT_wxUSE_STATBMP=yes
935   DEFAULT_wxUSE_STATBOX=yes
936   DEFAULT_wxUSE_STATLINE=yes
937   DEFAULT_wxUSE_STATTEXT=yes
938   DEFAULT_wxUSE_STATUSBAR=yes
939   DEFAULT_wxUSE_TABDIALOG=no
940   DEFAULT_wxUSE_TEXTCTRL=yes
941   DEFAULT_wxUSE_TOGGLEBTN=yes
942   DEFAULT_wxUSE_TOOLBAR=yes
943   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
944   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
945   DEFAULT_wxUSE_TREECTRL=yes
946   DEFAULT_wxUSE_POPUPWIN=yes
947
948   DEFAULT_wxUSE_UNICODE=no
949   DEFAULT_wxUSE_WCSRTOMBS=no
950
951   DEFAULT_wxUSE_PALETTE=yes
952   DEFAULT_wxUSE_IMAGE=yes
953   DEFAULT_wxUSE_GIF=yes
954   DEFAULT_wxUSE_PCX=yes
955   DEFAULT_wxUSE_PNM=yes
956   DEFAULT_wxUSE_XPM=yes
957 fi
958
959 dnl WX_ARG_WITH should be used to select whether an external package will be
960 dnl used or not, to configure compile-time features of this package itself,
961 dnl use WX_ARG_ENABLE instead
962
963 dnl ============================
964 dnl external package dependecies
965 dnl ============================
966
967 dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
968 dnl these values manually
969 for toolkit in `echo $ALL_TOOLKITS`; do
970   LINE=`grep "wxUSE_$toolkit" ${wx_arg_cache_file}`
971   if test "x$LINE" != x ; then
972     has_toolkit_in_cache=1
973     eval "DEFAULT_$LINE"
974     eval "CACHE_$toolkit=1"
975   fi
976 done
977
978 dnl ---------------------------------------------------------------------------
979 dnl --disable-gui will build only non-GUI part of wxWindows: check for this
980 dnl first to disable many other switches if it's given
981 dnl
982 dnl NB: this is still in testing stage, don't use if you don't know what you're
983 dnl     doing
984 dnl ---------------------------------------------------------------------------
985
986 WX_ARG_ENABLE(gui,         [  --enable-gui            use GUI classes], wxUSE_GUI)
987
988 if test "$wxUSE_GUI" = "yes"; then
989
990 WX_ARG_ENABLE(universal,   [  --enable-universal      use wxWindows GUI controls instead of native ones], wxUSE_UNIVERSAL)
991 AC_ARG_WITH(gtk,           [  --with-gtk              use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
992 AC_ARG_WITH(motif,         [  --with-motif            use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
993 AC_ARG_WITH(mac,           [  --with-mac              use Mac OS X], [wxUSE_MAC="$withval" TOOLKIT_GIVEN=1])
994 AC_ARG_WITH(wine,          [  --with-wine             use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=1])
995 AC_ARG_WITH(msw,           [  --with-msw              use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW TOOLKIT_GIVEN=1])
996 AC_ARG_WITH(pm,            [  --with-pm               use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
997 AC_ARG_WITH(mgl,           [  --with-mgl              use SciTech MGL], [wxUSE_MGL="$withval" CACHE_MGL=1 TOOLKIT_GIVEN=1])
998
999 AC_ARG_ENABLE(gtk2,        [  --enable-gtk2           use GTK+ 2.0 if available (EXPERIMENTAL)],wxUSE_GTK2=1,wxUSE_GTK2=0)
1000
1001 WX_ARG_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
1002 WX_ARG_SYS_WITH(libjpeg,   [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
1003 WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
1004 WX_ARG_SYS_WITH(freetype,  [  --with-freetype         use freetype (font rasterizer)], wxUSE_FREETYPE)
1005 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
1006
1007 fi
1008 dnl for GUI only
1009
1010 WX_ARG_WITH(dmalloc,       [  --with-dmalloc          use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
1011 WX_ARG_SYS_WITH(regex,     [  --with-regex            enable support for wxRegEx class], wxUSE_REGEX)
1012 WX_ARG_SYS_WITH(zlib,      [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
1013 WX_ARG_WITH(odbc,          [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
1014
1015 dnl ---------------------------------------------------------------------------
1016 dnl compile options
1017 dnl ---------------------------------------------------------------------------
1018
1019 WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code], wxUSE_SHARED)
1020 WX_ARG_ENABLE(soname,      [  --enable-soname         set the DT_SONAME field in ELF shared libraries], wxUSE_SONAME)
1021 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
1022 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
1023
1024 dnl allow the precompiled header option to be disabled under Mac OS X
1025 WX_ARG_ENABLE(precomp,     [  --enable-precomp        enable use of precompiled headers (Mac OS X)], wxUSE_PRECOMP)
1026
1027 if test "$wxUSE_DEBUG" = "yes"; then
1028   DEFAULT_wxUSE_DEBUG_FLAG=yes
1029   DEFAULT_wxUSE_DEBUG_INFO=yes
1030 elif test "$wxUSE_DEBUG" = "no"; then
1031   DEFAULT_wxUSE_DEBUG_FLAG=no
1032   DEFAULT_wxUSE_DEBUG_INFO=no
1033 fi
1034
1035 WX_ARG_ENABLE(debug_flag,    [  --enable-debug_flag     set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
1036 WX_ARG_ENABLE(debug_info,    [  --enable-debug_info     create code with debugging information], wxUSE_DEBUG_INFO)
1037 WX_ARG_ENABLE(debug_gdb,     [  --enable-debug_gdb      create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
1038 WX_ARG_ENABLE(debug_cntxt,   [  --enable-debug_cntxt    use wxDebugContext], wxUSE_DEBUG_CONTEXT)
1039 WX_ARG_ENABLE(mem_tracing,   [  --enable-mem_tracing    create code with memory tracing], wxUSE_MEM_TRACING)
1040 WX_ARG_ENABLE(profile,       [  --enable-profile        create code with profiling information], wxUSE_PROFILE)
1041 WX_ARG_ENABLE(no_rtti,       [  --enable-no_rtti        create code without RTTI information], wxUSE_NO_RTTI)
1042 WX_ARG_ENABLE(no_exceptions, [  --enable-no_exceptions  create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS)
1043 WX_ARG_ENABLE(permissive,    [  --enable-permissive     compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
1044 WX_ARG_ENABLE(no_deps,       [  --enable-no_deps        create code without dependency information], wxUSE_NO_DEPS)
1045
1046 WX_ARG_ENABLE(compat20,      [  --enable-compat20       enable wxWindows 2.0 compatibility], WXWIN_COMPATIBILITY_2)
1047 WX_ARG_ENABLE(compat22,      [  --enable-compat22       enable wxWindows 2.2 compatibility], WXWIN_COMPATIBILITY_2_2)
1048
1049 dnl ---------------------------------------------------------------------------
1050 dnl (small) optional non GUI classes
1051 dnl ---------------------------------------------------------------------------
1052
1053 WX_ARG_ENABLE(intl,          [  --enable-intl           use internationalization system], wxUSE_INTL)
1054 WX_ARG_ENABLE(config,        [  --enable-config         use wxConfig (and derived) classes], wxUSE_CONFIG)
1055
1056 WX_ARG_ENABLE(sockets,       [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
1057
1058 WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
1059
1060 WX_ARG_ENABLE(cmdline,       [  --enable-cmdline        use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
1061 WX_ARG_ENABLE(datetime,      [  --enable-datetime       use wxDateTime class], wxUSE_DATETIME)
1062 WX_ARG_ENABLE(timedate,      [  --enable-timedate       use obsolete wxDate/wxTime classes], wxUSE_TIMEDATE)
1063 WX_ARG_ENABLE(stopwatch,     [  --enable-stopwatch      use wxStopWatch class], wxUSE_STOPWATCH)
1064 WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
1065 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
1066 WX_ARG_ENABLE(timer,         [  --enable-timer          use wxTimer class], wxUSE_TIMER)
1067 WX_ARG_ENABLE(wave,          [  --enable-wave           use wxWave class], wxUSE_WAVE)
1068 WX_ARG_ENABLE(fraction,      [  --enable-fraction       use wxFraction class], wxUSE_FRACTION)
1069 WX_ARG_ENABLE(dynlib,        [  --enable-dynlib         use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
1070 WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
1071 WX_ARG_ENABLE(geometry,      [  --enable-geometry       use geometry class], wxUSE_GEOMETRY)
1072 WX_ARG_ENABLE(log,           [  --enable-log            use logging system], wxUSE_LOG)
1073 WX_ARG_ENABLE(streams,       [  --enable-streams        use wxStream etc classes], wxUSE_STREAMS)
1074 WX_ARG_ENABLE(file,          [  --enable-file           use wxFile classes], wxUSE_FILE)
1075 WX_ARG_ENABLE(ffile,         [  --enable-ffile          use wxFFile classes], wxUSE_FFILE)
1076 WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile classes], wxUSE_TEXTFILE)
1077 WX_ARG_ENABLE(fontmap,       [  --enable-fontmap        use font encodings conversion classes], wxUSE_FONTMAP)
1078 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
1079 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
1080 WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
1081 WX_ARG_ENABLE(filesystem,    [  --enable-filesystem     use virtual file systems classes], wxUSE_FILESYSTEM)
1082 WX_ARG_ENABLE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
1083 WX_ARG_ENABLE(fs_zip,        [  --enable-fs_zip         use virtual ZIP filesystems], wxUSE_FS_ZIP)
1084 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
1085
1086 WX_ARG_ENABLE(catch_segvs,   [  --enable-catch_segvs    catch signals and pass them to wxApp::OnFatalException], wxUSE_ON_FATAL_EXCEPTION)
1087 WX_ARG_ENABLE(snglinst,      [  --enable-snglinst       use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
1088
1089 WX_ARG_ENABLE(mimetype,      [  --enable-mimetypes      use wxMimeTypesManager], wxUSE_MIMETYPE)
1090 WX_ARG_ENABLE(system_options,[  --enable-sysoptions     use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
1091
1092 dnl ---------------------------------------------------------------------------
1093 dnl "big" options (i.e. those which change a lot of things throughout the library)
1094 dnl ---------------------------------------------------------------------------
1095
1096 WX_ARG_ENABLE(threads,     [  --enable-threads        use threads], wxUSE_THREADS)
1097 WX_ARG_ENABLE(serial,      [  --enable-serial         use class serialization], wxUSE_SERIAL)
1098
1099 if test "$wxUSE_GUI" = "yes"; then
1100
1101 dnl ---------------------------------------------------------------------------
1102 dnl "big" GUI options
1103 dnl ---------------------------------------------------------------------------
1104
1105 WX_ARG_ENABLE(docview,     [  --enable-docview        use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
1106 WX_ARG_ENABLE(help,        [  --enable-help           use help subsystem], wxUSE_HELP)
1107 WX_ARG_ENABLE(mshtmlhelp,  [  --enable-mshtmlhelp     use MS HTML Help (win32)], wxUSE_MS_HTML_HELP)
1108 WX_ARG_ENABLE(html,        [  --enable-html           use wxHTML sub-library], wxUSE_HTML)
1109 WX_ARG_ENABLE(htmlhelp,    [  --enable-htmlhelp       use wxHTML-based help], wxUSE_WXHTML_HELP)
1110 WX_ARG_ENABLE(constraints, [  --enable-constraints    use layout-constraints system], wxUSE_CONSTRAINTS)
1111 WX_ARG_ENABLE(printarch,   [  --enable-printarch      use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
1112 WX_ARG_ENABLE(mdi,         [  --enable-mdi            use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
1113 WX_ARG_ENABLE(loggui,      [  --enable-loggui         use standard GUI logger], wxUSE_LOGGUI)
1114 WX_ARG_ENABLE(logwin,      [  --enable-logwin         use wxLogWindow], wxUSE_LOGWINDOW)
1115
1116 dnl ---------------------------------------------------------------------------
1117 dnl PostScript options
1118 dnl ---------------------------------------------------------------------------
1119 WX_ARG_ENABLE(postscript,  [  --enable-postscript     use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT)
1120
1121 dnl VZ: these options seem to be always on, if someone wants to change it please do
1122 dnl WX_ARG_ENABLE(PS-normalized,    [  --enable-PS-normalized  use normalized PS fonts], dnl             wxUSE_NORMALIZED_PS_FONTS)
1123 dnl WX_ARG_ENABLE(afmfonts,        [  --enable-afmfonts       use Adobe Font Metric Font table], dnl             wxUSE_AFM_FOR_POSTSCRIPT)
1124
1125 dnl ---------------------------------------------------------------------------
1126 dnl resources
1127 dnl ---------------------------------------------------------------------------
1128
1129 WX_ARG_ENABLE(prologio,    [  --enable-prologio       use Prolog IO library], wxUSE_PROLOGIO)
1130 WX_ARG_ENABLE(resources,   [  --enable-resources      use wxWindows resources], wxUSE_RESOURCES)
1131
1132 WX_ARG_ENABLE(xresources,  [  --enable-xresources     use X resources for save (default for gtk+)], wxUSE_X_RESOURCES)
1133
1134 dnl ---------------------------------------------------------------------------
1135 dnl IPC &c
1136 dnl ---------------------------------------------------------------------------
1137
1138 WX_ARG_ENABLE(clipboard,   [  --enable-clipboard      use wxClipboard classes], wxUSE_CLIPBOARD)
1139 WX_ARG_ENABLE(dnd,         [  --enable-dnd            use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
1140 WX_ARG_ENABLE(metafile,    [  --enable-metafile       use win32 metafiles], wxUSE_METAFILE)
1141
1142 WX_ARG_ENABLE(treelayout,  [  --enable-treelayout     use wxTreeLayout classes], wxUSE_TREELAYOUT)
1143
1144 dnl ---------------------------------------------------------------------------
1145 dnl optional GUI controls (in alphabetical order except the first one)
1146 dnl ---------------------------------------------------------------------------
1147
1148 WX_ARG_ENABLE(controls,    [  --enable-controls       use all usual controls], wxUSE_CONTROLS)
1149
1150 dnl even with --enable-controls, some may be disabled by giving
1151 dnl --disable-<control> later on the command line - but by default all will be
1152 dnl used (and vice versa)
1153 if test "$wxUSE_CONTROLS" = "yes"; then
1154   DEFAULT_wxUSE_ACCEL=yes
1155   DEFAULT_wxUSE_BMPBUTTON=yes
1156   DEFAULT_wxUSE_BUTTON=yes
1157   DEFAULT_wxUSE_CALCTRL=no
1158   DEFAULT_wxUSE_CARET=yes
1159   DEFAULT_wxUSE_COMBOBOX=yes
1160   DEFAULT_wxUSE_CHECKBOX=yes
1161   DEFAULT_wxUSE_CHECKLISTBOX=yes
1162   DEFAULT_wxUSE_CHOICE=yes
1163   DEFAULT_wxUSE_GAUGE=yes
1164   DEFAULT_wxUSE_GRID=yes
1165   DEFAULT_wxUSE_NEW_GRID=yes
1166   DEFAULT_wxUSE_IMAGLIST=yes
1167   DEFAULT_wxUSE_LISTBOX=yes
1168   DEFAULT_wxUSE_LISTCTRL=yes
1169   DEFAULT_wxUSE_NOTEBOOK=yes
1170   DEFAULT_wxUSE_PROPSHEET=yes
1171   DEFAULT_wxUSE_RADIOBOX=yes
1172   DEFAULT_wxUSE_RADIOBTN=yes
1173   DEFAULT_wxUSE_SASH=yes
1174   DEFAULT_wxUSE_SCROLLBAR=yes
1175   DEFAULT_wxUSE_SLIDER=yes
1176   DEFAULT_wxUSE_SPINBTN=yes
1177   DEFAULT_wxUSE_SPINCTRL=yes
1178   DEFAULT_wxUSE_SPLITTER=yes
1179   DEFAULT_wxUSE_STATBMP=yes
1180   DEFAULT_wxUSE_STATBOX=yes
1181   DEFAULT_wxUSE_STATLINE=yes
1182   DEFAULT_wxUSE_STATUSBAR=yes
1183   DEFAULT_wxUSE_TAB_DIALOG=yes
1184   DEFAULT_wxUSE_TOGGLEBTN=yes
1185   DEFAULT_wxUSE_TOOLBAR=yes
1186   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
1187   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
1188   DEFAULT_wxUSE_TOOLTIPS=yes
1189   DEFAULT_wxUSE_TREECTRL=yes
1190   DEFAULT_wxUSE_POPUPWIN=yes
1191 elif test "$wxUSE_CONTROLS" = "no"; then
1192   DEFAULT_wxUSE_ACCEL=no
1193   DEFAULT_wxUSE_BMPBUTTON=no
1194   DEFAULT_wxUSE_BUTTON=no
1195   DEFAULT_wxUSE_CALCTRL=no
1196   DEFAULT_wxUSE_CARET=no
1197   DEFAULT_wxUSE_COMBOBOX=no
1198   DEFAULT_wxUSE_CHECKBOX=no
1199   DEFAULT_wxUSE_CHECKLISTBOX=no
1200   DEFAULT_wxUSE_CHOICE=no
1201   DEFAULT_wxUSE_GAUGE=no
1202   DEFAULT_wxUSE_GRID=no
1203   DEFAULT_wxUSE_NEW_GRID=no
1204   DEFAULT_wxUSE_IMAGLIST=no
1205   DEFAULT_wxUSE_LISTBOX=no
1206   DEFAULT_wxUSE_LISTCTRL=no
1207   DEFAULT_wxUSE_NOTEBOOK=no
1208   DEFAULT_wxUSE_PROPSHEET=no
1209   DEFAULT_wxUSE_RADIOBOX=no
1210   DEFAULT_wxUSE_RADIOBTN=no
1211   DEFAULT_wxUSE_SASH=no
1212   DEFAULT_wxUSE_SCROLLBAR=no
1213   DEFAULT_wxUSE_SLIDER=no
1214   DEFAULT_wxUSE_SPINBTN=no
1215   DEFAULT_wxUSE_SPINCTRL=no
1216   DEFAULT_wxUSE_SPLITTER=no
1217   DEFAULT_wxUSE_STATBMP=no
1218   DEFAULT_wxUSE_STATBOX=no
1219   DEFAULT_wxUSE_STATLINE=no
1220   DEFAULT_wxUSE_STATUSBAR=no
1221   DEFAULT_wxUSE_TAB_DIALOG=no
1222   DEFAULT_wxUSE_TOGGLEBTN=no
1223   DEFAULT_wxUSE_TOOLBAR=no
1224   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
1225   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
1226   DEFAULT_wxUSE_TOOLTIPS=no
1227   DEFAULT_wxUSE_TREECTRL=no
1228   DEFAULT_wxUSE_POPUPWIN=no
1229 fi
1230
1231 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
1232 WX_ARG_ENABLE(button,      [  --enable-button         use wxButton class], wxUSE_BUTTON)
1233 WX_ARG_ENABLE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
1234 WX_ARG_ENABLE(calendar,    [  --enable-calendar       use wxCalendarCtrl class], wxUSE_CALCTRL)
1235 WX_ARG_ENABLE(caret,       [  --enable-caret          use wxCaret class], wxUSE_CARET)
1236 WX_ARG_ENABLE(checkbox,    [  --enable-checkbox       use wxCheckBox class], wxUSE_CHECKBOX)
1237 WX_ARG_ENABLE(checklst,    [  --enable-checklst       use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
1238 WX_ARG_ENABLE(choice,      [  --enable-choice         use wxChoice class], wxUSE_CHOICE)
1239 WX_ARG_ENABLE(combobox,    [  --enable-combobox       use wxComboBox classes], wxUSE_COMBOBOX)
1240 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
1241 WX_ARG_ENABLE(grid,        [  --enable-grid           use wxGrid class], wxUSE_GRID)
1242 WX_ARG_ENABLE(newgrid,     [  --enable-newgrid        use new wxGrid class], wxUSE_NEW_GRID)
1243 WX_ARG_ENABLE(imaglist,    [  --enable-imaglist       use wxImageList class], wxUSE_IMAGLIST)
1244 WX_ARG_ENABLE(listbox,     [  --enable-listbox        use wxListBox class], wxUSE_LISTBOX)
1245 WX_ARG_ENABLE(listctrl,    [  --enable-listctrl       use wxListCtrl class], wxUSE_LISTCTRL)
1246 WX_ARG_ENABLE(notebook,    [  --enable-notebook       use wxNotebook class], wxUSE_NOTEBOOK)
1247 WX_ARG_ENABLE(propsheet,   [  --enable-propsheet      use wxPropertySheet class], wxUSE_PROPSHEET)
1248 WX_ARG_ENABLE(radiobox,    [  --enable-radiobox       use wxRadioBox class], wxUSE_RADIOBOX)
1249 WX_ARG_ENABLE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
1250 WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
1251 WX_ARG_ENABLE(scrollbar,   [  --enable-scrollbar      use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
1252 WX_ARG_ENABLE(slider,      [  --enable-slider         use wxSlider class], wxUSE_SLIDER)
1253 WX_ARG_ENABLE(spinbtn,     [  --enable-spinbtn        use wxSpinButton class], wxUSE_SPINBTN)
1254 WX_ARG_ENABLE(spinctrl,    [  --enable-spinctrl       use wxSpinCtrl class], wxUSE_SPINCTRL)
1255 WX_ARG_ENABLE(splitter,    [  --enable-splitter       use wxSplitterWindow class], wxUSE_SPLITTER)
1256 WX_ARG_ENABLE(statbmp,     [  --enable-statbmp        use wxStaticBitmap class], wxUSE_STATBMP)
1257 WX_ARG_ENABLE(statbox,     [  --enable-statbox        use wxStaticBox class], wxUSE_STATBOX)
1258 WX_ARG_ENABLE(statline,    [  --enable-statline       use wxStaticLine class], wxUSE_STATLINE)
1259 WX_ARG_ENABLE(stattext,    [  --enable-stattext       use wxStaticText class], wxUSE_STATTEXT)
1260 WX_ARG_ENABLE(statusbar,   [  --enable-statusbar      use wxStatusBar class], wxUSE_STATUSBAR)
1261 WX_ARG_ENABLE(tabdialog,   [  --enable-tabdialog      use wxTabControl class], wxUSE_TABDIALOG)
1262 WX_ARG_ENABLE(textctrl,    [  --enable-textctrl       use wxTextCtrl class], wxUSE_TEXTCTRL)
1263 WX_ARG_ENABLE(togglebtn,   [  --enable-togglebtn      use wxToggleButton class], wxUSE_TOGGLEBTN)
1264 WX_ARG_ENABLE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUSE_TOOLBAR)
1265 WX_ARG_ENABLE(tbarnative,  [  --enable-tbarnative     use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
1266 WX_ARG_ENABLE(tbarsmpl,    [  --enable-tbarsmpl       use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
1267 WX_ARG_ENABLE(treectrl,    [  --enable-treectrl       use wxTreeCtrl class], wxUSE_TREECTRL)
1268 WX_ARG_ENABLE(popupwin,    [  --enable-popupwin       use wxPopUpWindow class], wxUSE_POPUPWIN)
1269
1270 dnl ---------------------------------------------------------------------------
1271 dnl common dialogs
1272 dnl ---------------------------------------------------------------------------
1273
1274 WX_ARG_ENABLE(commondlg,   [  --enable-commondlg      use all common dialogs], wxUSE_COMMONDLGS)
1275 WX_ARG_ENABLE(choicedlg,   [  --enable-choicedlg      use wxChoiceDialog], wxUSE_CHOICEDLG)
1276 WX_ARG_ENABLE(coldlg,      [  --enable-coldlg         use wxColourDialog], wxUSE_COLOURDLG)
1277 WX_ARG_ENABLE(filedlg,     [  --enable-filedlg        use wxFileDialog], wxUSE_FILEDLG)
1278 WX_ARG_ENABLE(filedlg,     [  --enable-finddlg        use wxFindReplaceDialog], wxUSE_FINDREPLDLG)
1279 WX_ARG_ENABLE(fontdlg,     [  --enable-fontdlg        use wxFontDialog], wxUSE_FONTDLG)
1280 WX_ARG_ENABLE(dirdlg,      [  --enable-dirdlg         use wxDirDialog], wxUSE_DIRDLG)
1281 WX_ARG_ENABLE(msgdlg,      [  --enable-msgdlg         use wxMessageDialog], wxUSE_MSGDLG)
1282 WX_ARG_ENABLE(numberdlg,   [  --enable-numberdlg      use wxNumberEntryDialog], wxUSE_NUMBERDLG)
1283 WX_ARG_ENABLE(splash,      [  --enable-splash         use wxSplashScreen], wxUSE_SPLASH)
1284 WX_ARG_ENABLE(textdlg,     [  --enable-textdlg        use wxTextDialog], wxUSE_TEXTDLG)
1285 WX_ARG_ENABLE(tipdlg,      [  --enable-tipdlg         use startup tips], wxUSE_STARTUP_TIPS)
1286 WX_ARG_ENABLE(progressdlg, [  --enable-progressdlg    use wxProgressDialog], wxUSE_PROGRESSDLG)
1287 WX_ARG_ENABLE(wizarddlg,   [  --enable-wizarddlg      use wxWizard], wxUSE_WIZARDDLG)
1288
1289 dnl ---------------------------------------------------------------------------
1290 dnl misc GUI options
1291 dnl ---------------------------------------------------------------------------
1292
1293 WX_ARG_ENABLE(menus,       [  --enable-menus          use wxMenu/wxMenuBar/wxMenuItem classes], wxUSE_MENUS)
1294 WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
1295 WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUSE_TOOLTIPS)
1296 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
1297 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
1298 WX_ARG_ENABLE(busyinfo,    [  --enable-busyinfo       use wxBusyInfo], wxUSE_BUSYINFO)
1299 WX_ARG_ENABLE(joystick,    [  --enable-joystick       use wxJoystick (Linux only)], wxUSE_JOYSTICK)
1300 WX_ARG_ENABLE(metafile,    [  --enable-metafiles      use wxMetaFile (Windows only)], wxUSE_METAFILE)
1301 WX_ARG_ENABLE(dragimage,   [  --enable-dragimage      use wxDragImage], wxUSE_DRAGIMAGE)
1302
1303 dnl ---------------------------------------------------------------------------
1304 dnl support for image formats that do not rely on external library
1305 dnl ---------------------------------------------------------------------------
1306
1307 WX_ARG_ENABLE(palette,     [  --enable-palette        use wxPalette class], wxUSE_PALETTE)
1308 WX_ARG_ENABLE(image,       [  --enable-image          use wxImage class], wxUSE_IMAGE)
1309 WX_ARG_ENABLE(gif,         [  --enable-gif            use gif images (GIF file format)], wxUSE_GIF)
1310 WX_ARG_ENABLE(pcx,         [  --enable-pcx            use pcx images (PCX file format)], wxUSE_PCX)
1311 WX_ARG_ENABLE(pnm,         [  --enable-pnm            use pnm images (PNM file format)], wxUSE_PNM)
1312 WX_ARG_ENABLE(pnm,         [  --enable-xpm            use xpm images (XPM file format)], wxUSE_XPM)
1313
1314 fi
1315 dnl for GUI only
1316
1317 dnl cache the options values before (may be) aborting below
1318 WX_ARG_CACHE_FLUSH
1319
1320 dnl check that no more than one toolkit is given and that if none are given that
1321 dnl we have a default one
1322
1323 AC_MSG_CHECKING(for toolkit)
1324
1325 if test "$wxUSE_GUI" = "yes"; then
1326
1327     if test "$USE_BEOS" = 1; then
1328         AC_MSG_ERROR([BeOS GUI is not supported yet, use --disable-gui])
1329     fi
1330
1331     if test "$TOOLKIT_GIVEN" = 1; then
1332       dnl convert "yes" to 1 and "no" to 0
1333       for toolkit in `echo $ALL_TOOLKITS`; do
1334         var=wxUSE_$toolkit
1335         eval "value=\$${var}"
1336         eval "$var=`echo \$value | sed -e "s/yes/1/" -e "s/no/0/"`"
1337       done
1338     else
1339       dnl try to guess the most apropriate toolkit for this platform
1340       for toolkit in `echo $ALL_TOOLKITS`; do
1341         if test "$has_toolkit_in_cache" != 1; then
1342           var=DEFAULT_DEFAULT_wxUSE_$toolkit
1343         else
1344           var=DEFAULT_wxUSE_$toolkit
1345         fi
1346         eval "wxUSE_$toolkit=\$${var}"
1347       done
1348     fi
1349
1350     dnl we suppose that expr is available (maybe there is a better way to do
1351     dnl this? what about using ALL_TOOLKITS? TODO)
1352     NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_MAC:-0}  \
1353                   + ${wxUSE_WINE:-0} + ${wxUSE_MSW:-0} + ${wxUSE_MGL:-0}`
1354
1355     dnl Allow wxUSE_PM only for OS/2 with EMX.
1356     dnl Path separator; ':' for unix.
1357     dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise
1358     case "${host}" in
1359       *-pc-os2_emx | *-pc-os2-emx )
1360         # PATH_IFS is autodetected by OS/2's configure (usually ';')
1361         NUM_TOOLKITS=`expr ${NUM_TOOLKITS} + ${wxUSE_PM:-0}`
1362         LEX_STEM="lexyy"
1363       ;;
1364       *)
1365         PATH_IFS=':'
1366         LEX_STEM="lex.yy"
1367       ;;
1368     esac
1369
1370     case "$NUM_TOOLKITS" in
1371       1)
1372       ;;
1373       0)
1374         AC_MSG_ERROR(Please specify a toolkit - cannot determine the default for ${host})
1375       ;;
1376       *)
1377         AC_MSG_ERROR(Please specify at most one toolkit (may be some are cached?))
1378     esac
1379
1380     dnl cache the wxUSE_<TOOLKIT> values too
1381     for toolkit in `echo $ALL_TOOLKITS`; do
1382       var=wxUSE_$toolkit
1383       eval "value=\$${var}"
1384       if test "x$value" != x; then
1385         cache_var=CACHE_$toolkit
1386         eval "cache=\$${cache_var}"
1387         if test "$cache" = 1; then
1388           echo "$var=$value" >> ${wx_arg_cache_file}
1389         fi
1390         if test "$value" = 1; then
1391           toolkit_echo=`echo $toolkit | tr [[A-Z]] [[a-z]]`
1392           AC_MSG_RESULT($toolkit_echo)
1393         fi
1394       fi
1395     done
1396 else
1397     PATH_IFS=':'
1398     AC_MSG_RESULT(base ($host_alias hosted) only)
1399 fi
1400
1401 dnl ---------------------------------------------------------------------------
1402 dnl Checks for programs
1403 dnl ---------------------------------------------------------------------------
1404
1405 dnl flush the cache because checking for programs might abort
1406 AC_CACHE_SAVE
1407
1408 dnl cross-compiling support: we're cross compiling if the build system is
1409 dnl different from the target one (assume host and target be always the same)
1410 if test "$build" != "$host" ; then
1411     if test "$USE_WIN32" = 1 ; then
1412         CC=$host_alias-gcc
1413         CXX=$host_alias-c++
1414         AR=$host_alias-ar
1415         RANLIB=$host_alias-ranlib
1416         DLLTOOL=$host_alias-dlltool
1417         RESCOMP=$host_alias-windres
1418         LD=$host_alias-ld
1419         NM=$host_alias-nm
1420         STRIP=$host_alias-strip
1421     else
1422         AC_MSG_ERROR($build_alias -> $host_alias cross compilation not supported yet.)
1423     fi
1424 fi
1425
1426 dnl C-compiler checks
1427 dnl   defines CC with the compiler to use
1428 dnl   defines GCC with yes if using gcc
1429 dnl   defines GCC empty if not using gcc
1430 dnl   defines CFLAGS
1431 AC_PROG_CC
1432
1433 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
1434
1435 dnl is -traditional needed for correct compilations
1436 dnl   adds -traditional for gcc if needed
1437 AC_PROG_GCC_TRADITIONAL
1438
1439 AC_LANG_SAVE
1440 AC_LANG_CPLUSPLUS
1441
1442 dnl C++-compiler checks
1443 dnl   defines CXX with the compiler to use
1444 dnl   defines GXX with yes if using gxx
1445 dnl   defines GXX empty if not using gxx
1446 dnl   defines CXXFLAGS
1447 AC_PROG_CXX
1448
1449 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
1450
1451 AC_LANG_RESTORE
1452
1453 dnl ranlib command
1454 dnl   defines RANLIB with the appropriate command
1455 AC_PROG_RANLIB
1456
1457 dnl ar command
1458 dnl   defines AR with the appropriate command
1459 AC_CHECK_PROG(AR, ar, ar, ar)
1460
1461 dnl install checks
1462 dnl   defines INSTALL with the appropriate command
1463 AC_PROG_INSTALL
1464 case "${host}" in
1465
1466     dnl The other BSD's should probably go in here too, since this is
1467     dnl to workaround a strange static lib BSDism.
1468     dnl Mac OS X install seems to ignore -p option...
1469     powerpc-*-darwin* )
1470         INSTALL_PROGRAM="cp -fp"
1471         INSTALL_DATA="cp -fp"
1472         ;;
1473     *)
1474         ;;
1475 esac
1476
1477 dnl strip command
1478 dnl   defines STRIP as strip or nothing if not found
1479 AC_CHECK_PROG(STRIP, strip, strip, true)
1480
1481 dnl check if VPATH works
1482 AC_MSG_CHECKING(make for VPATH support)
1483 dnl create Makefile
1484 cat - << EOF > confMake
1485 check : file
1486         cp \$? \$@
1487         cp \$? final_file
1488 EOF
1489
1490 if test ! -d sub ; then
1491   mkdir sub
1492 fi
1493 echo dummy > sub/file
1494 ${MAKE-make} -f confMake VPATH=sub 2>&5 > /dev/null
1495 RESULT=$?
1496 rm -f sub/file check final_file confMake
1497 rmdir sub
1498 if test "$RESULT" = 0; then
1499   AC_MSG_RESULT(yes)
1500 else
1501   AC_MSG_RESULT(no)
1502   AC_MSG_ERROR([
1503 You need a make-utility that is able to use the variable
1504 VPATH correctly.
1505 If your version of make does not support VPATH correctly,
1506 please install GNU-make (possibly as gmake), and start
1507 configure with the following command:
1508 export MAKE=gmake; ./configure  for sh-type shells
1509 setenv MAKE gmake; ./configure  for csh-type shells
1510 Also please do remember to use gmake in this case every time
1511 you are trying to compile.
1512 ])
1513 fi
1514
1515 dnl YACC checks
1516 dnl   defines YACC with the appropriate command
1517 AC_PROG_YACC
1518
1519 dnl LEX checks
1520 dnl   defines LEX with the appropriate command
1521 dnl   defines LEXLIB with the appropriate library
1522 AC_PROG_LEX
1523
1524 dnl needed for making link to setup.h
1525 AC_PROG_LN_S
1526
1527 dnl ---------------------------------------------------------------------------
1528 dnl Define search path for includes and libraries: all headers and libs will be
1529 dnl looked for in all directories of this path
1530 dnl ---------------------------------------------------------------------------
1531
1532 dnl notice that /usr/include should not be in this list, otherwise it breaks
1533 dnl compilation on Solaris/gcc because standard headers are included instead
1534 dnl of the gcc ones (correction: it *is* needed for broken AIX compiler - but
1535 dnl do put it last!)
1536 dnl
1537 dnl Also try to put all directories which may contain X11R6 before those which
1538 dnl may contain X11R5/4 - we want to use R6 on machines which have both!
1539 SEARCH_INCLUDE="\
1540     /usr/local/include        \
1541                               \
1542     /usr/Motif-1.2/include    \
1543     /usr/Motif-2.1/include    \
1544                               \
1545     /usr/include/Motif1.2     \
1546     /opt/xpm/include/X11      \
1547     /opt/GBxpm/include/       \
1548     /opt/GBxpm/X11/include/   \
1549                               \
1550     /usr/Motif1.2/include     \
1551     /usr/dt/include           \
1552     /usr/openwin/include      \
1553                               \
1554     /usr/include/Xm           \
1555                               \
1556     /usr/X11R6/include        \
1557     /usr/X11R6.4/include      \
1558     /usr/X11R5/include        \
1559     /usr/X11R4/include        \
1560                               \
1561     /usr/include/X11R6        \
1562     /usr/include/X11R5        \
1563     /usr/include/X11R4        \
1564                               \
1565     /usr/local/X11R6/include  \
1566     /usr/local/X11R5/include  \
1567     /usr/local/X11R4/include  \
1568                               \
1569     /usr/local/include/X11R6  \
1570     /usr/local/include/X11R5  \
1571     /usr/local/include/X11R4  \
1572                               \
1573     /usr/X11/include          \
1574     /usr/include/X11          \
1575     /usr/local/X11/include    \
1576     /usr/local/include/X11    \
1577                               \
1578     /usr/X386/include         \
1579     /usr/x386/include         \
1580     /usr/XFree86/include/X11  \
1581                               \
1582     X:/XFree86/include        \
1583     X:/XFree86/include/X11    \
1584                               \
1585     /usr/include/gtk          \
1586     /usr/local/include/gtk    \
1587     /usr/include/glib         \
1588     /usr/local/include/glib   \
1589                               \
1590     /usr/include/qt           \
1591     /usr/local/include/qt     \
1592                               \
1593     /usr/include/windows      \
1594     /usr/include/wine         \
1595     /usr/local/include/wine   \
1596                               \
1597     /usr/unsupported/include  \
1598     /usr/athena/include       \
1599     /usr/local/x11r5/include  \
1600     /usr/lpp/Xamples/include  \
1601                               \
1602     /usr/openwin/share/include \
1603                                \
1604     /usr/include"
1605
1606 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
1607
1608 dnl ------------------------------------------------------------------------
1609 dnl Check for libraries
1610 dnl ------------------------------------------------------------------------
1611
1612 dnl flush the cache because checking for libraries below might abort
1613 AC_CACHE_SAVE
1614
1615 dnl ---------------------------------------------------------------------------
1616 dnl Optional libraries
1617 dnl
1618 dnl   --with-<lib>=sys
1619 dnl       looks for system library and fails if not found
1620 dnl
1621 dnl   --with-<lib>
1622 dnl   --with-<lib>=yes
1623 dnl       looks for system library and, if not found, prints a warning,
1624 dnl       falls back to the builtin wx version, and continues configuration
1625 dnl
1626 dnl   --with-<lib>=builtin
1627 dnl       uses builtin wx version without searching for system library
1628 dnl
1629 dnl   --with-<lib>=no
1630 dnl   --without-<lib>
1631 dnl       do not use library (neither system nor builtin wx version)
1632 dnl
1633 dnl ---------------------------------------------------------------------------
1634
1635 dnl ------------------------------------------------------------------------
1636 dnl Check for regex libraries
1637 dnl ------------------------------------------------------------------------
1638
1639 REGEX_INCLUDE=
1640 if test "$wxUSE_REGEX" != "no"; then
1641     AC_DEFINE(wxUSE_REGEX)
1642
1643     if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; then
1644         dnl according to Unix 98 specs, regcomp() is in libc but I believe that
1645         dnl on some old systems it may be in libregex - check for it too?
1646         AC_CHECK_HEADER(regex.h, AC_CHECK_FUNCS(regcomp))
1647
1648         if test "x$ac_cv_func_regcomp" != "xyes"; then
1649             if test "$wxUSE_REGEX" = "sys" ; then
1650                 AC_MSG_ERROR([system regex library not found! Use --with-regex to use built-in version])
1651             else
1652                 AC_MSG_WARN([system regex library not found, will use built-in instead])
1653                 wxUSE_REGEX=builtin
1654             fi
1655         else
1656             dnl we are using the system library
1657             wxUSE_REGEX=sys
1658         fi
1659     fi
1660
1661     if test "$wxUSE_REGEX" = "builtin" ; then
1662         REGEX_INCLUDE="-I\${top_srcdir}/src/regex"
1663     fi
1664 fi
1665
1666 dnl ------------------------------------------------------------------------
1667 dnl Check for zlib compression library
1668 dnl ------------------------------------------------------------------------
1669
1670 ZLIB_INCLUDE=
1671 ZLIB_LINK=
1672 if test "$wxUSE_ZLIB" != "no" ; then
1673     AC_DEFINE(wxUSE_ZLIB)
1674
1675     if test "$wxUSE_ZLIB" = "sys" -o "$wxUSE_ZLIB" = "yes" ; then
1676         AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, deflate, ZLIB_LINK="-lz"))
1677
1678         if test "x$ZLIB_LINK" = "x" ; then
1679             if test "$wxUSE_ZLIB" = "sys" ; then
1680                 AC_MSG_ERROR([system zlib compression library not found! Use --with-zlib=builtin to use built-in version])
1681             else
1682                 AC_MSG_WARN([system zlib compression library not found, will use built-in instead])
1683                 wxUSE_ZLIB=builtin
1684             fi
1685         else
1686             dnl we are using the system library
1687             wxUSE_ZLIB=sys
1688         fi
1689     fi
1690
1691     if test "$wxUSE_ZLIB" = "builtin" ; then
1692         ZLIB_INCLUDE="-I\${top_srcdir}/src/zlib"
1693     fi
1694 fi
1695
1696 dnl ------------------------------------------------------------------------
1697 dnl Check for png library
1698 dnl ------------------------------------------------------------------------
1699
1700 PNG_INCLUDE=
1701 PNG_LINK=
1702 if test "$wxUSE_LIBPNG" != "no" ; then
1703     AC_DEFINE(wxUSE_LIBPNG)
1704
1705     dnl for the check below to have a chance to succeed, we must already have
1706     dnl libz somewhere
1707     if test "$wxUSE_LIBPNG" = "sys" -a "$wxUSE_ZLIB" != "sys" ; then
1708         AC_MSG_WARN([system png library doesn't work without system zlib, will use built-in instead])
1709         wxUSE_LIBPNG=builtin
1710     fi
1711
1712     if test "$wxUSE_LIBPNG" = "sys" -o "$wxUSE_LIBPNG" = "yes" ; then
1713         AC_CHECK_HEADER(png.h,
1714                         AC_CHECK_LIB(png, png_check_sig,
1715                                      PNG_LINK="-lpng",
1716                                      ,
1717                                      [-lz -lm])
1718                        )
1719
1720         if test "x$PNG_LINK" = "x" ; then
1721             if test "$wxUSE_LIBPNG" = "sys" ; then
1722                 AC_MSG_ERROR([system png library not found! Use --with-libpng=builtin to use built-in version])
1723             else
1724                 AC_MSG_WARN([system png library not found, will use built-in instead])
1725                 wxUSE_LIBPNG=builtin
1726             fi
1727         else
1728             dnl we are using the system library
1729             wxUSE_LIBPNG=yes
1730         fi
1731     fi
1732
1733     if test "$wxUSE_LIBPNG" = "builtin" ; then
1734         PNG_INCLUDE="-I\${top_srcdir}/src/png"
1735     fi
1736
1737     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
1738 fi
1739
1740 dnl ------------------------------------------------------------------------
1741 dnl Check for jpeg library
1742 dnl ------------------------------------------------------------------------
1743
1744 JPEG_INCLUDE=
1745 JPEG_LINK=
1746 if test "$wxUSE_LIBJPEG" != "no" ; then
1747     AC_DEFINE(wxUSE_LIBJPEG)
1748
1749     if test "$wxUSE_LIBJPEG" = "sys" -o "$wxUSE_LIBJPEG" = "yes" ; then
1750         dnl can't use AC_CHECK_HEADER as jconfig.h defines things like
1751         dnl HAVE_STDLIB_H which are already defined and this provokes
1752         dnl a compiler warning which configure considers as an error...
1753         AC_MSG_CHECKING(for jpeglib.h)
1754         AC_CACHE_VAL(ac_cv_header_jpeglib_h,
1755             AC_TRY_COMPILE(
1756                 [
1757                     #undef HAVE_STDLIB_H
1758                     #include <stdio.h>
1759                     #include <jpeglib.h>
1760                 ],
1761                 [
1762                 ],
1763                 ac_cv_header_jpeglib_h=yes,
1764                 ac_cv_header_jpeglib_h=no
1765             )
1766         )
1767         AC_MSG_RESULT($ac_cv_header_jpeglib_h)
1768
1769         if test "$ac_cv_header_jpeglib_h" = "yes"; then
1770             AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LINK="-ljpeg")
1771         fi
1772
1773         if test "x$JPEG_LINK" = "x" ; then
1774             if test "$wxUSE_LIBJPEG" = "sys" ; then
1775                 AC_MSG_ERROR([system jpeg library not found! Use --with-libjpeg=builtin to use built-in version])
1776             else
1777                 AC_MSG_WARN([system jpeg library not found, will use built-in instead])
1778                 wxUSE_LIBJPEG=builtin
1779             fi
1780         else
1781             dnl we are using the system library
1782             wxUSE_LIBJPEG=sys
1783         fi
1784     fi
1785
1786     if test "$wxUSE_LIBJPEG" = "builtin" ; then
1787         JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg"
1788     fi
1789 fi
1790
1791 dnl ------------------------------------------------------------------------
1792 dnl Check for tiff library
1793 dnl ------------------------------------------------------------------------
1794
1795 TIFF_INCLUDE=
1796 TIFF_LINK=
1797 if test "$wxUSE_LIBTIFF" != "no" ; then
1798     AC_DEFINE(wxUSE_LIBTIFF)
1799
1800     if test "$wxUSE_LIBTIFF" = "sys" -o "$wxUSE_LIBTIFF" = "yes" ; then
1801         AC_CHECK_HEADER(tiffio.h,
1802                         AC_CHECK_LIB(tiff, TIFFError,
1803                                      TIFF_LINK="-ltiff",
1804                                      ,
1805                                      -lm)
1806                        )
1807
1808         if test "x$TIFF_LINK" = "x" ; then
1809             if test "$wxUSE_LIBTIFF" = "sys" ; then
1810                 AC_MSG_ERROR([system tiff library not found! Use --with-libtiff=builtin to use built-in version])
1811             else
1812                 AC_MSG_WARN([system tiff library not found, will use built-in instead])
1813                 wxUSE_LIBTIFF=builtin
1814             fi
1815         else
1816             dnl we are using the system library
1817             wxUSE_LIBTIFF=sys
1818         fi
1819     fi
1820
1821     if test "$wxUSE_LIBTIFF" = "builtin" ; then
1822         TIFF_INCLUDE="-I\${top_srcdir}/src/tiff"
1823     fi
1824 fi
1825
1826 dnl ------------------------------------------------------------------------
1827 dnl Check for freetype library
1828 dnl ------------------------------------------------------------------------
1829
1830 FREETYPE_INCLUDE=
1831 FREETYPE_LINK=
1832 if test "$wxUSE_FREETYPE" != "no" ; then
1833     AC_DEFINE(wxUSE_FREETYPE)
1834
1835     if test "$wxUSE_FREETYPE" = "sys" -o "$wxUSE_FREETYPE" = "yes" ; then
1836         AC_CHECK_HEADER(freetype.h,
1837                         AC_CHECK_LIB(freetype, FT_Render_Glyph,
1838                                      FREETYPE_LINK="-lfreetype",
1839                                      ,
1840                                      [-lm])
1841                        )
1842
1843         if test "x$FREETYPE_LINK" = "x" ; then
1844             if test "$wxUSE_FREETYPE" = "sys" ; then
1845                 AC_MSG_ERROR([system freetype library not found! Use --with-freetype=builtin to use built-in version])
1846             else
1847                 AC_MSG_WARN([system freetype library not found, will use built-in instead])
1848                 wxUSE_FREETYPE=builtin
1849             fi
1850         else
1851             dnl we are using the system library
1852             wxUSE_FREETYPE=sys
1853         fi
1854     fi
1855
1856     if test "$wxUSE_FREETYPE" = "builtin" ; then
1857         FREETYPE_INCLUDE="-I\${top_srcdir}/src/freetype"
1858     fi
1859 fi
1860
1861 dnl ----------------------------------------------------------------
1862 dnl search for toolkit (widget sets)
1863 dnl ----------------------------------------------------------------
1864
1865 AFMINSTALL=
1866
1867 TOOLKIT=
1868 TOOLKIT_INCLUDE=
1869 WIDGET_SET=
1870
1871 dnl are we building for a win32 target environment?
1872 dnl If so, setup common stuff needed for both GUI and Base libs.
1873 if test "$USE_WIN32" = 1 ; then
1874     AC_CHECK_HEADERS(w32api.h)
1875     AC_CHECK_HEADER(windows.h, [],
1876     [
1877         AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
1878     ])
1879
1880     dnl check if can use _WIN32_IE macro
1881     AC_CACHE_CHECK([if w32api has good enough MSIE support], wx_cv_w32api_win32_ie,
1882     [
1883       AC_TRY_COMPILE([#include <w32api.h>],
1884                      [
1885                        #define wxCHECK_W32API_VERSION( major, minor ) \
1886                        ( defined( __W32API_MAJOR_VERSION ) && defined( __W32API_MINOR_VERSION ) \
1887                        && ( ( __W32API_MAJOR_VERSION > (major) ) \
1888                        || ( __W32API_MAJOR_VERSION == (major) && __W32API_MINOR_VERSION >= (minor))))
1889
1890                        #if !wxCHECK_W32API_VERSION(1,1)
1891                        #error You need w32api 1.1 or newer
1892                        #endif
1893                      ], [
1894                         wx_cv_w32api_win32_ie=yes
1895                      ], [
1896                         wx_cv_w32api_win32_ie=no
1897                      ])
1898     ])
1899     if test "$wx_cv_w32api_win32_ie" = "yes" ; then
1900         CPPFLAGS="$CPPFLAGS -D_WIN32_IE=0x400"
1901     fi
1902
1903     dnl --- FIXME: This is still a somewhat random list of libs,
1904     dnl ---        some of them should probably be included conditionally.
1905     LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -ladvapi32 -lwsock32"
1906
1907     case "${host}" in
1908         *-*-cygwin* )
1909             dnl Cygwin doesn't include these by default
1910             LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32"
1911             TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WIN95__"
1912     esac
1913
1914     dnl add extra odbc libs if we have compiled in odbc
1915     if test "$wxUSE_ODBC" = "yes" ; then
1916         LIBS="$LIBS -lodbc32 -lole32 -loleaut32"
1917     fi
1918
1919     RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
1920     RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
1921 fi
1922
1923 if test "$wxUSE_GUI" = "yes"; then
1924     USE_GUI=1
1925
1926     GUI_TK_LIBRARY=
1927
1928     WXGTK12=
1929     WXGTK127=
1930     WXGTK20=
1931
1932     if test "$wxUSE_MSW" = 1 ; then
1933         TOOLKIT=MSW
1934         GUIDIST=MSW_DIST
1935
1936         dnl -mwindows causes a heap of other default gui libs to be linked in.
1937         dnl FIXME: If cygwin needs this, please push it above, if not, please
1938         dnl        remove this comment :-)
1939         case "${host}" in
1940             *-*-mingw32* )
1941                 EXTRA_LIBS="$EXTRA_LIBS -Wl,--subsystem,windows -mwindows"
1942         esac
1943     fi
1944
1945     if test "$wxUSE_GTK" = 1; then
1946         AC_MSG_CHECKING([for GTK+ version])
1947
1948         gtk_version_cached=1
1949         AC_CACHE_VAL(wx_cv_lib_gtk,
1950             [
1951                 dnl stupid GTK+ AM macros produce their own messages, so we
1952                 dnl have to pass to the next line
1953                 gtk_version_cached=0
1954                 AC_MSG_RESULT("")
1955
1956                 wx_cv_lib_gtk=
1957                 if test "x$wxUSE_GTK2" = "xyes"; then
1958                     AM_PATH_GTK_2_0(1.3.1, wx_cv_lib_gtk=2.0, gthread)
1959                 fi
1960
1961                 if test -z "$wx_cv_lib_gtk"; then
1962                     AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7)
1963                 fi
1964
1965                 if test -z "$wx_cv_lib_gtk"; then
1966                     AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3)
1967                 fi
1968
1969                 if test -z "$wx_cv_lib_gtk"; then
1970                     dnl looks better in AC_MSG_RESULT
1971                     wx_cv_lib_gtk=none
1972                 else
1973                     dnl we need to cache GTK_CFLAGS and GTK_LIBS for the
1974                     dnl subsequent runs
1975                     wx_cv_cflags_gtk=$GTK_CFLAGS
1976                     wx_cv_libs_gtk=$GTK_LIBS
1977                 fi
1978             ]
1979         )
1980
1981         dnl if it wasn't cached, the messages from AM_PATH_GTK() above are
1982         dnl enough
1983         if test "$gtk_version_cached" = 1; then
1984             AC_MSG_RESULT($wx_cv_lib_gtk)
1985         fi
1986
1987         case "$wx_cv_lib_gtk" in
1988             2.0)    WXGTK20=1
1989                     ;;
1990             1.2.7)  WXGTK127=1
1991                     WXGTK12=1
1992                     ;;
1993             1.2.3)  WXGTK12=1
1994                     ;;
1995             *)      AC_MSG_ERROR([
1996 Please check that gtk-config is in path, the directory
1997 where GTK+ libraries are installed (returned by
1998 'gtk-config --libs' command) is in LD_LIBRARY_PATH or
1999 equivalent variable and GTK+ is version 1.2.3 or above.
2000                             ])
2001                     ;;
2002         esac
2003
2004         TOOLKIT_INCLUDE="$wx_cv_cflags_gtk"
2005         GUI_TK_LIBRARY="$wx_cv_libs_gtk"
2006
2007         AFMINSTALL=afminstall
2008         TOOLKIT=GTK
2009         GUIDIST=GTK_DIST
2010
2011         dnl test for XIM support in libgdk
2012         AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
2013     fi
2014
2015     if test "$wxUSE_MGL" = 1; then
2016         dnl FIXME_MGL - test for MGL's variants for freebsd etc.
2017
2018         AC_MSG_CHECKING(for SciTech MGL library)
2019         if test "x$MGL_ROOT" = x ; then
2020             AC_MSG_RESULT(not found)
2021             AC_MSG_ERROR([Cannot find MGL library. Make sure MGL_ROOT is set.])
2022         else
2023             AC_MSG_RESULT($MGL_ROOT)
2024         fi
2025
2026         mgl_os=linux/gcc/glibc
2027         mgl_lib_type=""
2028
2029         if test "$wxUSE_DEBUG_FLAG" = yes ; then
2030             if test -f $MGL_ROOT/lib/debug/$mgl_os/libmgl.a -o \
2031                     -f $MGL_ROOT/lib/debug/$mgl_os/libmgl.so; then
2032                 mgl_lib_type=debug
2033             fi
2034         fi
2035         if test "x$mgl_lib_type" = x ; then
2036             if test -f $MGL_ROOT/lib/release/$mgl_os/libmgl.a -o \
2037                     -f $MGL_ROOT/lib/release/$mgl_os/libmgl.so; then
2038                 mgl_lib_type=release
2039             else
2040                 AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.])
2041             fi
2042         fi
2043
2044         TOOLKIT_INCLUDE="-I$MGL_ROOT/include"
2045         GUI_TK_LIBRARY="-L$MGL_ROOT/lib/$mgl_lib_type/$mgl_os -lmgl -lmglcpp -lpm"
2046
2047         AFMINSTALL=afminstall
2048         TOOLKIT=MGL
2049         GUIDIST=MGL_DIST
2050     fi
2051
2052     if test "$wxUSE_WINE" = 1; then
2053         AC_CHECK_HEADER(windows.h, [],
2054         [
2055             AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
2056         ])
2057
2058         xpm_link=""
2059         AC_MSG_CHECKING(for Xpm library)
2060         WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
2061         if test "$ac_find_libraries" != "" ; then
2062             GUI_TK_LIBRARY="-L$ac_find_libraries"
2063             xpm_link="-lXpm"
2064             AC_DEFINE(wxHAVE_LIB_XPM)
2065             AC_MSG_RESULT(found at $ac_find_libraries)
2066         else
2067             AC_MSG_RESULT(no)
2068             AC_MSG_WARN(library will be compiled without support for images in XPM format)
2069         fi
2070
2071         mesa_link=""
2072         AC_MSG_CHECKING(for Mesa library)
2073         WX_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL)
2074         if test "$ac_find_libraries" != "" ; then
2075             GUI_TK_LIBRARY="$GUI_TK_LIBRARY -L$ac_find_libraries"
2076             mesa_link="-lMesaGL"
2077             AC_MSG_RESULT(found at $ac_find_libraries)
2078         else
2079             AC_MSG_ERROR(no)
2080         fi
2081
2082         GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lwine $mesa_link $xpm_link -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses"
2083         TOOLKIT=MSW
2084         GUIDIST=MSW_DIST
2085         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXWINE__"
2086     fi
2087
2088     if test "$wxUSE_MOTIF" = 1; then
2089         dnl use standard macros to check for X headers/libs, this brings support
2090         dnl for the standard configure options --x-includes and --x-libraries
2091         AC_PATH_XTRA
2092
2093         if test "$no_x" = "yes"; then
2094           AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
2095         fi
2096
2097         GUI_TK_LIBRARY="$X_LIBS"
2098         TOOLKIT_INCLUDE="$X_CFLAGS"
2099         AFMINSTALL=afminstall
2100         COMPILED_X_PROGRAM=0
2101
2102         AC_MSG_CHECKING(for Motif/Lesstif headers)
2103         WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
2104         if test "$ac_find_includes" != "" ; then
2105             AC_MSG_RESULT(found $ac_find_includes)
2106         else
2107             AC_TRY_COMPILE(
2108                 [
2109                     #include <Xm/Xm.h>
2110                 ],
2111                 [
2112                     int version;
2113                     version = xmUseVersion;
2114                 ],
2115                 [
2116                     AC_MSG_RESULT(found in default search path)
2117                     COMPILED_X_PROGRAM=1
2118                 ],
2119                 [
2120                     AC_MSG_RESULT(no)
2121                     AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
2122                 ]
2123             )
2124         fi
2125
2126         if test "$COMPILED_X_PROGRAM" = 0; then
2127             AC_MSG_CHECKING(for Motif/Lesstif library)
2128             WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
2129             if test "$ac_find_libraries" != "" ; then
2130                 WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
2131                 WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
2132
2133                 GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
2134                 TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
2135                 AC_MSG_RESULT(found at $ac_find_libraries)
2136             else
2137                 dnl it might happen that we found headers in one of the standard
2138                 dnl paths but the libs are elsewhere - we do need to try to
2139                 dnl compile a sample program then here
2140                 AC_TRY_COMPILE(
2141                     [
2142                         #include <Xm/Xm.h>
2143                     ],
2144                     [
2145                         int version;
2146                         version = xmUseVersion;
2147                     ],
2148                     [
2149                         AC_MSG_RESULT(found in default search path)
2150                         COMPILED_X_PROGRAM=1
2151                     ],
2152                     [
2153                         AC_MSG_RESULT(no)
2154                         AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
2155                     ]
2156                 )
2157             fi
2158         fi
2159
2160         xpm_link=""
2161         AC_MSG_CHECKING(for Xpm library)
2162         WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
2163         if test "$ac_find_libraries" != "" ; then
2164             WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
2165             GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
2166             xpm_link="-lXpm "
2167             AC_DEFINE(wxHAVE_LIB_XPM)
2168             AC_MSG_RESULT(found at $ac_find_libraries)
2169         else
2170             AC_TRY_COMPILE(
2171                 [
2172                     #include <X11/xpm.h>
2173                 ],
2174                 [
2175                     int version;
2176                     version = XpmLibraryVersion();
2177                 ],
2178                 [
2179                     xpm_link="-lXpm "
2180                     AC_DEFINE(wxHAVE_LIB_XPM)
2181                     AC_MSG_RESULT(found in default search path)
2182                     COMPILED_X_PROGRAM=0
2183                 ],
2184                 [
2185                     AC_MSG_RESULT(no)
2186                     AC_MSG_WARN(library will be compiled without support for images in XPM format)
2187                 ]
2188             )
2189         fi
2190
2191         GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXm $xpm_link -lXmu -lXext -lXt -lX11"
2192         TOOLKIT_VPATH="\${top_srcdir}/src/motif${PATH_IFS}\${top_srcdir}/src/motif/xmcombo"
2193         TOOLKIT=MOTIF
2194         GUIDIST=MOTIF_DIST
2195     fi
2196
2197     if test "$wxUSE_MAC" = 1; then
2198         if test "$wxUSE_PRECOMP" = "yes"; then
2199             CPPFLAGS="${CPPFLAGS} -cpp-precomp"
2200         fi
2201         CPPFLAGS="${CPPFLAGS} -I/Developer/Headers/FlatCarbon -I\${top_srcdir}/src/mac/morefile"
2202         CFLAGS="${CFLAGS} -fpascal-strings"
2203         CXXFLAGS="${CXXFLAGS} -fpascal-strings"
2204         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -DTARGET_CARBON"
2205
2206         TOOLKIT_VPATH="\${top_srcdir}/src/mac${PATH_IFS}\${top_srcdir}/src/mac/morefile"
2207         TOOLKIT=MAC
2208         dnl we can't call this MAC_DIST or autoconf thinks its a macro
2209         GUIDIST=MACX_DIST
2210     fi
2211
2212     if test "$wxUSE_PM" = 1; then
2213         TOOLKIT=PM
2214         GUIDIST=GTK_DIST
2215     fi
2216
2217     dnl the name of the directory where the files for this toolkit live
2218     if test "$TOOLKIT" = "PM" ; then
2219         TOOLKIT_DIR="os2"
2220     else
2221         TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
2222     fi
2223
2224     dnl misc other files depending on the port
2225     PORT_FILES="\${top_srcdir}/src/\$(TOOLKITDIR)/files.lst"
2226
2227     if test "$wxUSE_UNIVERSAL" = "yes"; then
2228         ALL_OBJECTS="\$(GUI_LOWLEVEL_OBJS) \${UNIVOBJS}"
2229         PORT_FILES="${PORT_FILES} \${top_srcdir}/src/univ/files.lst"
2230         TOOLKIT_VPATH="\${top_srcdir}/src/univ${PATH_IFS}\${top_srcdir}/src/univ/themes${PATH_IFS}\${top_srcdir}/src/${TOOLKIT_DIR}"
2231         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
2232         WIDGET_SET=univ
2233     else
2234         ALL_OBJECTS="\$(GUIOBJS)"
2235     fi
2236
2237     ALL_OBJECTS="${ALL_OBJECTS} \$(COMMONOBJS)"
2238
2239     if test "$TOOLKIT" != "MSW"; then
2240         ALL_OBJECTS="${ALL_OBJECTS} \$(UNIXOBJS)"
2241     fi
2242
2243     if test "$wxUSE_HTML" = "yes"; then
2244         ALL_OBJECTS="${ALL_OBJECTS} \$(HTMLOBJS)"
2245     fi
2246
2247     dnl ODBC objects are Unix only
2248     if test "$TOOLKIT" != "MSW" -a "$wxUSE_ODBC" = "yes" ; then
2249         ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
2250     fi
2251     if test "$wxUSE_LIBJPEG" = "builtin" ; then
2252         ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
2253     fi
2254     if test "$wxUSE_LIBTIFF" = "builtin" ; then
2255         ALL_OBJECTS="${ALL_OBJECTS} \$(TIFFOBJS)"
2256     fi
2257     if test "$wxUSE_LIBPNG" = "builtin" ; then
2258         ALL_OBJECTS="${ALL_OBJECTS} \$(PNGOBJS)"
2259     fi
2260     if test "$wxUSE_FREETYPE" = "builtin" ; then
2261         ALL_OBJECTS="${ALL_OBJECTS} \$(FREETYPEOBJS)"
2262     fi
2263
2264     RPM_FILES="src/\$(TOOLKITDIR)/rpmfiles.lst"
2265     RPM_SPEC="wx\$(TOOLKIT).spec"
2266
2267     dnl distribute samples/demos/utils with GUI versions
2268     GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST"
2269     DISTDIR="wx\$(TOOLKIT)"
2270 else
2271     USE_GUI=0
2272
2273     dnl this doesn't quite work right for wxBase, but the places
2274     dnl where it is wrong aren't fatal (yet) though.
2275     TOOLKIT_DIR="base"
2276
2277     dnl the sources, their dependenices and the headers
2278     if test "$USE_WIN32" = 1 ; then
2279         ALL_OBJECTS="\${BASE_OBJS} \${BASE_MSW_OBJS}"
2280         TOOLKIT_VPATH="\${top_srcdir}/src/msw"
2281
2282         dnl yes, the toolkit for wxBase on win32 is actually MSW
2283         dnl wxBase on unix does not need a 'TOOLKIT' defined.
2284         TOOLKIT="MSW"
2285     else
2286         ALL_OBJECTS="\${BASE_OBJS} \${BASE_UNIX_OBJS}"
2287         TOOLKIT_VPATH="\${top_srcdir}/src/unix"
2288     fi
2289
2290     PORT_FILES="\${top_srcdir}/src/files.lst"
2291     RPM_FILES="src/rpmfiles.lst"
2292     RPM_SPEC="wxBase.spec"
2293
2294     dnl distribute only wxBase sources/headers
2295     GUIDIST="BASE_DIST"
2296     DISTDIR="wxBase"
2297 fi
2298
2299 dnl ---------------------------------------------------------------------------
2300 dnl Optional libraries included when system library is not used
2301 dnl ---------------------------------------------------------------------------
2302 if test "$wxUSE_REGEX" = "builtin" ; then
2303     ALL_OBJECTS="${ALL_OBJECTS} \$(REGEXOBJS)"
2304 fi
2305 if test "$wxUSE_ZLIB" = "builtin" ; then
2306     ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)"
2307 fi
2308
2309 dnl ---------------------------------------------------------------------------
2310 dnl OpenGL libraries
2311 dnl ---------------------------------------------------------------------------
2312 if test "$wxUSE_OPENGL" = "yes"; then
2313   if test "$wxUSE_MAC" = 1; then
2314     OPENGL_LIBS="-framework OpenGL -framework AGL"
2315   else
2316     dnl check for OpenGL libs availability first
2317     AC_CHECK_HEADER(GL/gl.h, [
2318       AC_CHECK_LIB(GL, glFlush, [
2319         OPENGL_LIBS="-lGL -lGLU"
2320       ], [
2321         AC_CHECK_LIB(MesaGL, glFlush, [
2322           OPENGL_LIBS="-lMesaGL -lMesaGLU"
2323         ])
2324       ])
2325     ])
2326
2327     if test "x$OPENGL_LIBS" = "x"; then
2328         dnl it should be an error and not a warning because OpenGL is not on
2329         dnl by default and so if it had been explicitely requested, we
2330         dnl shouldn't just fall back to compiling the library without it
2331         AC_MSG_ERROR(OpenGL libraries not available)
2332     fi
2333   fi
2334
2335   if test "$wxUSE_OPENGL" = "yes"; then
2336     AC_DEFINE(wxUSE_OPENGL)
2337     AC_DEFINE(wxUSE_GLCANVAS)
2338     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl"
2339   fi
2340 fi
2341
2342 if test -z "$TOOLKIT_VPATH" ; then
2343     TOOLKIT_VPATH="\${top_srcdir}/src/${TOOLKIT_DIR}"
2344 fi
2345
2346 dnl the symbol which allows conditional compilation for the given toolkit
2347 if test -n "$TOOLKIT" ; then
2348     TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WX${TOOLKIT}__"
2349 fi
2350
2351 lib_unicode_suffix=
2352 if test "$wxUSE_UNICODE" = "yes"; then
2353     lib_unicode_suffix=u
2354 fi
2355
2356 lib_debug_suffix=
2357 if test "$wxUSE_DEBUG_FLAG" = "yes"; then
2358     lib_debug_suffix=d
2359 fi
2360
2361 TOOLCHAIN_NAME="${TOOLKIT_DIR}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}-${WX_RELEASE}"
2362 TOOLCHAIN_NAME_GL="${TOOLKIT_DIR}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}_gl-${WX_RELEASE}"
2363
2364 if test "$cross_compiling" = "yes"; then
2365     TOOLCHAIN_NAME="${TOOLCHAIN_NAME}-${host_alias}"
2366     TOOLCHAIN_NAME_GL="${TOOLCHAIN_NAME_GL}-${host_alias}"
2367 fi
2368
2369 dnl library link name
2370 WX_LIBRARY="wx_${TOOLCHAIN_NAME}"
2371 WX_LIBRARY_GL="wx_${TOOLCHAIN_NAME_GL}"
2372
2373 dnl the name of the shared library
2374 WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
2375 WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
2376
2377 dnl the name of the links to the shared library
2378 WX_LIBRARY_LINK1="lib${WX_LIBRARY}.${SO_SUFFIX}.${WX_CURRENT}"
2379 WX_LIBRARY_LINK2="lib${WX_LIBRARY}.${SO_SUFFIX}"
2380 WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}.${WX_CURRENT}"
2381 WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
2382
2383 dnl the name of the resources file for wxMac
2384 WX_RESOURCES_MACOSX="lib${WX_LIBRARY}.rsrc"
2385 WX_RESOURCES_MACOSX_COMPILED="lib${WX_LIBRARY}.r"
2386
2387 case "${host}" in
2388     *-*-cygwin* | *-*-mingw32* )
2389
2390         dnl If we are cross compiling we want to use the 'full' unix type name for the
2391         dnl lib, but for a native install use the windows style naming convention.
2392         dnl (excepting again that we strip the ELF style version numbers off it).
2393
2394         dnl FIXME: is this GL stuff actually even used for wxMSW?  should it be??
2395
2396         if test "$cross_compiling" != "yes"; then
2397             WX_LIBRARY="wxmsw${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
2398             WX_LIBRARY_GL="wxmsw_gl${WX_MSW_VERSION}${lib_unicode_suffix}${lib_debug_suffix}"
2399             WX_LIBRARY_NAME_SHARED="${WX_LIBRARY}.${SO_SUFFIX}"
2400             WX_LIBRARY_NAME_SHARED_GL="${WX_LIBRARY_GL}.${SO_SUFFIX}"
2401         else
2402             WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}.${SO_SUFFIX}"
2403             WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY_GL}.${SO_SUFFIX}"
2404         fi
2405
2406 esac
2407
2408 dnl the name of the static library
2409 WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
2410 WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY_GL}.a"
2411
2412 dnl define which libs wx-config should link.
2413 WXCONFIG_LIBS="-l${WX_LIBRARY}"
2414
2415 if test "$wxUSE_OPENGL" = "yes"; then
2416     WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} $OPENGL_LIBS"
2417 fi
2418
2419
2420 dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
2421
2422 if test "$wxUSE_SHARED" = "yes"; then
2423
2424     dnl install targets
2425     if test "$wxUSE_OPENGL" = "yes"; then
2426         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL"
2427         WX_ALL="\$(build_libdir)/${WX_LIBRARY_LINK1} \$(build_libdir)/${WX_LIBRARY_LINK1_GL}"
2428     else
2429         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
2430         WX_ALL="\$(build_libdir)/${WX_LIBRARY_LINK1}"
2431     fi
2432
2433     dnl the extra compiler flags needed for compilation of shared library
2434     if test "$GCC" = "yes"; then
2435         dnl the switch for gcc is the same under all platforms
2436         PIC_FLAG="-fPIC"
2437     fi
2438
2439     dnl the command to use for creating the shared library
2440     SHARED_LD="${CXX} -shared -o"
2441
2442     case "${host}" in
2443       *-hp-hpux* )
2444         dnl default settings are good for gcc but not for the native HP-UX
2445         if test "$GCC" != "yes"; then
2446             dnl no idea why it wants it, but it does
2447             LDFLAGS="-L/usr/lib"
2448
2449             SHARED_LD="${CXX} -b -o"
2450             PIC_FLAG="+Z"
2451         fi
2452
2453         dnl install shared libs without symlinks
2454         if test "$wxUSE_OPENGL" = "yes"; then
2455             WX_ALL_INSTALLED="preinstall_gl"
2456             WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED} \$(build_libdir)/${WX_LIBRARY_NAME_SHARED_GL}"
2457         else
2458             WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
2459         fi
2460       ;;
2461
2462       *-*-linux* )
2463         if test "$GCC" != "yes"; then
2464             AC_CACHE_CHECK([for Intel compiler], wx_cv_prog_icc,
2465             [
2466                 AC_TRY_COMPILE([],
2467                     [
2468                         #ifndef __INTEL_COMPILER
2469                         #error Not icc
2470                         #endif
2471                     ],
2472                     wx_cv_prog_icc=yes,
2473                     wx_cv_prog_icc=no
2474                 )
2475             ])
2476             if test "$wx_cv_prog_icc" = "yes"; then
2477                 PIC_FLAG="-KPIC"
2478             fi
2479         fi
2480
2481         if test "$wxUSE_SONAME" = "yes" ; then
2482             SONAME_FLAGS="-Wl,-soname,${WX_LIBRARY_LINK1}"
2483             SONAME_FLAGS_GL="-Wl,-soname,${WX_LIBRARY_LINK1_GL}"
2484             dnl substitute this in makelib.env for the contrib libs
2485             WX_TARGET_LIBRARY_SONAME="-Wl,-soname,\$(TARGETLIB_LINK1)"
2486         fi
2487       ;;
2488
2489       *-*-solaris2* )
2490         if test "$GCC" = yes ; then
2491             dnl newer versions of gcc need -isystem to compile X headers on
2492             dnl Solaris (which use old style C syntax)
2493             CPPFLAGS="$CPPFLAGS -isystem /usr/openwin/include"
2494         else
2495             SHARED_LD="${CXX} -G -o"
2496             PIC_FLAG="-KPIC"
2497             SONAME_FLAGS="-h ${WX_LIBRARY_NAME_SHARED}"
2498             SONAME_FLAGS_GL="-h ${WX_LIBRARY_NAME_SHARED}"
2499         fi
2500       ;;
2501
2502       *-*-darwin* )
2503         CFLAGS="${CFLAGS} -fno-common"
2504         CXXFLAGS="${CXXFLAGS} -fno-common"
2505         SHARED_LD="${CXX} -dynamiclib -o"
2506         PIC_FLAG="-dynamic -fPIC"
2507       ;;
2508
2509       *-*-aix* )
2510         SHARED_LD="/usr/lpp/xlC/bin/makeC++SharedLib -p 0 -o"
2511       ;;
2512
2513       *-*-cygwin* | *-*-mingw32* )
2514
2515         WX_LIBRARY_IMPORTLIB="${WX_LIBRARY_NAME_SHARED}.a"
2516
2517         SHARED_LD="${CXX} -shared -Wl,--out-implib,lib/${WX_LIBRARY_IMPORTLIB} -o"
2518         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -DWXUSINGDLL=1"
2519
2520         PIC_FLAG="-UWXUSINGDLL -DWXMAKINGDLL=1 -D_DLL=1 -D_WINDLL=1"
2521
2522         dnl install shared libs without symlinks
2523         if test "$wxUSE_OPENGL" = "yes"; then
2524             WX_ALL_INSTALLED="preinstall_gl"
2525             WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED} \$(build_libdir)/${WX_LIBRARY_NAME_SHARED_GL}"
2526         else
2527             WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_SHARED}"
2528         fi
2529       ;;
2530
2531       *-pc-os2_emx | *-pc-os2-emx )
2532         dnl only static for now
2533         wxUSE_SHARED=no
2534       ;;
2535
2536       *-*-beos* )
2537         dnl can't use gcc under BeOS for shared library creation because it
2538         dnl complains about missing 'main'
2539         SHARED_LD="${LD} -shared -o"
2540       ;;
2541
2542       *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \
2543       *-*-sunos4* | \
2544       *-*-irix5* | *-*-irix6* | \
2545       *-*-osf* | \
2546       *-*-dgux5* | \
2547       *-*-sysv5* )
2548         dnl defaults are ok
2549       ;;
2550
2551       *)
2552         AC_MSG_ERROR(unknown system type $host.)
2553     esac
2554
2555     dnl set target to shared if not explicitly chose static before
2556     if test "x$WX_TARGET_LIBRARY" = "x"; then
2557         WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
2558         WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_SHARED_GL}"
2559     fi
2560
2561     dnl do not alter the LIBRARY_TYPE strings "so" and "a", they are magic
2562     WX_TARGET_LIBRARY_TYPE="so"
2563 fi
2564
2565 dnl do not 'else' this, it may be changed in the above conditional.
2566 if test "$wxUSE_SHARED" = "no"; then
2567
2568     dnl give static wxBase and wxMSW build a working install target
2569     if test "$wxUSE_GUI" = "no" -o "$USE_WIN32" = 1 ; then
2570         dnl we're here because WX_ALL_INSTALLED is empty, but play safe anyway
2571         WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
2572     fi
2573
2574     if test "$wxUSE_MAC" = 1; then
2575         WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall"
2576     fi
2577
2578     if test "$wxUSE_OPENGL" = "yes"; then
2579         WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_gl"
2580         WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC} \$(build_libdir)/${WX_LIBRARY_NAME_STATIC_GL}"
2581     else
2582         WX_ALL="\$(build_libdir)/${WX_LIBRARY_NAME_STATIC}"
2583     fi
2584
2585     WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
2586     WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
2587
2588     WX_TARGET_LIBRARY_TYPE="a"
2589 fi
2590
2591 if test "$wxUSE_MAC" = 1; then
2592     dnl add the resources target for wxMac
2593     WX_ALL="${WX_ALL} \$(build_libdir)/lib${WX_LIBRARY}.r"
2594     WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_res"
2595     AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
2596     AC_CHECK_PROG(DEREZ, Derez, Derez, /Developer/Tools/Derez)
2597     LIBWXMACRES="\$(top_builddir)/lib/lib${WX_LIBRARY}.r"
2598     LIBWXMACRESCOMP="\$(RESCOMP) Carbon.r -t APPL ${LIBWXMACRES} -o \$(BIN_PROGRAM)"
2599     LIBWXMACRESWXCONFIG="${RESCOMP} Carbon.r -t APPL \${prefix}/lib/${WX_RESOURCES_MACOSX_COMPILED} -o"
2600 fi
2601
2602 dnl ------------------------------------------------------------------------
2603 dnl Check for headers
2604 dnl ------------------------------------------------------------------------
2605
2606 dnl do not check for strings.h for wxMac
2607 dnl   it exists but is only a simple redirection to string.h
2608 dnl   it is in conflict with Strings.h in FlatCarbon headers
2609 if test "$wxUSE_MAC" != 1; then
2610   dnl defines HAVE_STRINGS_H (where some string functions live on AIX for example)
2611   AC_CHECK_HEADERS(strings.h)
2612 fi
2613
2614 dnl defines HAVE_STDLIB_H
2615 AC_CHECK_HEADERS(stdlib.h)
2616 dnl defines HAVE_UNISTD_H
2617 AC_CHECK_HEADERS(unistd.h)
2618 dnl defines HAVE_WCHAR_H
2619 AC_CHECK_HEADERS(wchar.h)
2620 dnl defines HAVE_WCSTR_H
2621 AC_CHECK_HEADERS(wcstr.h)
2622 dnl defines HAVE_FNMATCH_H
2623 AC_CHECK_HEADERS(fnmatch.h)
2624 dnl defines HAVE_ICONV_H (Unix98 encoding conversion routines)
2625 AC_CHECK_HEADERS(iconv.h)
2626 dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
2627 AC_CHECK_HEADERS(langinfo.h)
2628
2629 if test "$wxUSE_GUI" = "yes"; then
2630     if test "$wxUSE_UNIX" = "yes"; then
2631         dnl defines HAVE_X11_XKBLIB_H
2632         AC_CHECK_HEADERS(X11/XKBlib.h)
2633     fi
2634 fi
2635
2636 dnl ---------------------------------------------------------------------------
2637 dnl Checks for typedefs
2638 dnl ---------------------------------------------------------------------------
2639
2640 dnl   defines mode_t if not already defined
2641 AC_TYPE_MODE_T
2642 dnl   defines off_t if not already defined
2643 AC_TYPE_OFF_T
2644 dnl   defines pid_t if not already defined
2645 AC_TYPE_PID_T
2646 dnl   defines size_t if not already defined
2647 AC_TYPE_SIZE_T
2648 dnl   defines uid_t and gid_t if not already defined
2649 AC_TYPE_UID_T
2650
2651 dnl   check for wchar_t
2652 dnl   Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD)
2653 AC_CACHE_CHECK([for wchar_t], wx_cv_type_wchar_t,
2654 [
2655     AC_TRY_COMPILE(
2656         [
2657             #ifdef HAVE_WCHAR_H
2658             #  include <wchar.h>
2659             #endif
2660             #ifdef HAVE_STDLIB_H
2661             #  include <stdlib.h>
2662             #endif
2663         ],
2664         [
2665             wchar_t wc, *ws;
2666             wc = L'a';
2667             ws = L"Hello, world!";
2668         ],
2669         wx_cv_type_wchar_t=yes,
2670         wx_cv_type_wchar_t=no
2671     )
2672 ])
2673
2674 if test "$wx_cv_type_wchar_t" = "yes"; then
2675     AC_DEFINE(wxUSE_WCHAR_T)
2676 fi
2677
2678 dnl check what exactly size_t is on this machine - this is necessary to avoid
2679 dnl ambiguos overloads in several places, notably wx/string.h and wx/array.h
2680 AC_LANG_SAVE
2681 AC_LANG_CPLUSPLUS
2682 AC_CACHE_CHECK([if size_t is unsigned int],
2683     wx_cv_size_t_is_uint,
2684     dnl an obvious check like AC_TRY_COMPILE[struct Foo { ... };] doesn't work
2685     dnl with egcs (at least) up to 1.1.1 as it allows you to compile duplicate
2686     dnl methods in a local class (i.e. class inside a function) declaration
2687     dnl without any objections!!
2688     dnl
2689     dnl hence the hack below: we must have Foo at global scope!
2690     AC_TRY_COMPILE([#include <stddef.h>],
2691         [
2692             return 0; }
2693
2694             struct Foo { void foo(size_t); void foo(unsigned int); };
2695
2696             int bar() {
2697         ],
2698         wx_cv_size_t_is_uint=no,
2699         wx_cv_size_t_is_uint=yes
2700     )
2701 )
2702
2703 if test "$wx_cv_size_t_is_uint" = "yes"; then
2704     AC_DEFINE(wxSIZE_T_IS_UINT)
2705 else
2706     AC_CACHE_CHECK([if size_t is unsigned long],
2707         wx_cv_size_t_is_ulong,
2708         AC_TRY_COMPILE([#include <stddef.h>],
2709             [
2710                 return 0; }
2711
2712                 struct Foo { void foo(size_t); void foo(unsigned long); };
2713
2714                 int bar() {
2715             ],
2716             wx_cv_size_t_is_ulong=no,
2717             wx_cv_size_t_is_ulong=yes
2718         )
2719     )
2720
2721     if test "$wx_cv_size_t_is_ulong" = "yes"; then
2722         AC_DEFINE(wxSIZE_T_IS_ULONG)
2723     fi
2724 fi
2725
2726 AC_LANG_RESTORE
2727
2728 dnl ---------------------------------------------------------------------------
2729 dnl Checks for structures
2730 dnl ---------------------------------------------------------------------------
2731
2732 dnl does passwd struct has the pw_gecos field?
2733 AC_CACHE_CHECK([for pw_gecos in struct passwd], wx_cv_struct_pw_gecos,
2734     [
2735         AC_TRY_COMPILE([#include <pwd.h>],
2736              [
2737                 char *p;
2738                 struct passwd *pw;
2739                 p = pw->pw_gecos;
2740              ],
2741              [
2742                 wx_cv_struct_pw_gecos=yes
2743              ],
2744              [
2745                 wx_cv_struct_pw_gecos=no
2746              ]
2747         )
2748     ]
2749 )
2750
2751 if test "$wx_cv_struct_pw_gecos" = "yes"; then
2752     AC_DEFINE(HAVE_PW_GECOS)
2753 fi
2754
2755 dnl ---------------------------------------------------------------------------
2756 dnl Checks for compiler characteristics
2757 dnl ---------------------------------------------------------------------------
2758
2759 dnl defines const to be empty if c-compiler does not support const fully
2760 AC_C_CONST
2761 dnl defines inline to a sensible value for the c-compiler
2762 AC_C_INLINE
2763
2764 dnl check the sizes of integral types (give some reasonable default values for
2765 dnl cross-compiling)
2766 dnl   defines the size of certain types of variables in SIZEOF_<TYPE>
2767 AC_CHECK_SIZEOF(char, 1)
2768 AC_CHECK_SIZEOF(short, 2)
2769 AC_CHECK_SIZEOF(int *, 4)
2770 AC_CHECK_SIZEOF(int, 4)
2771 AC_CHECK_SIZEOF(long, 4)
2772 AC_CHECK_SIZEOF(long long, 0)
2773
2774 dnl we have to do it ourselves because SGI/Irix's stdio.h does not include
2775 dnl wchar_t and AC_CHECK_SIZEOF only includes stdio.h
2776 dnl Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD)
2777 AC_CACHE_CHECK([size of wchar_t], wx_cv_sizeof_wchar_t,
2778 [
2779     AC_TRY_RUN(
2780         [
2781             #ifdef HAVE_WCHAR_H
2782             #  include <wchar.h>
2783             #endif
2784             #ifdef HAVE_STDLIB_H
2785             #  include <stdlib.h>
2786             #endif
2787             #include <stdio.h>
2788             int main()
2789             {
2790                 FILE *f=fopen("conftestval", "w");
2791                 if (!f) exit(1);
2792                 fprintf(f, "%i", sizeof(wchar_t));
2793                 exit(0);
2794             }
2795         ],
2796         wx_cv_sizeof_wchar_t=`cat conftestval`,
2797         wx_cv_sizeof_wchar_t=0,
2798         wx_cv_sizeof_wchar_t=4
2799     )
2800 ])
2801
2802 AC_DEFINE_UNQUOTED(SIZEOF_WCHAR_T, $wx_cv_sizeof_wchar_t)
2803
2804 dnl for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
2805 WX_C_BIGENDIAN
2806
2807 dnl check for iostream (as opposed to iostream.h) standard header
2808 WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
2809
2810 dnl check whether C++ compiler supports bool built-in type
2811 WX_CPP_BOOL
2812
2813 dnl ---------------------------------------------------------------------------
2814 dnl Check for functions
2815 dnl ---------------------------------------------------------------------------
2816
2817 dnl check for wcslen
2818 AC_CHECK_LIB(c, wcslen, [
2819             AC_DEFINE(HAVE_WCSLEN)
2820             WCHAR_LINK=""
2821         ], [
2822             AC_CHECK_LIB(w, wcslen, [
2823                 AC_DEFINE(HAVE_WCSLEN)
2824                 WCHAR_LINK="-lw"
2825             ], [
2826                 AC_CHECK_LIB(msvcrt, wcslen, [
2827                     AC_DEFINE(HAVE_WCSLEN)
2828                     WCHAR_LINK=""
2829                 ])
2830             ])
2831         ])
2832
2833 dnl use wcsrtombs instead of wcstombs which is buggy in old GNU libc versions
2834 dnl if possible
2835 AC_CHECK_FUNCS(wcsrtombs)
2836
2837 dnl check for vprintf/vsprintf() which are GNU extensions
2838 AC_FUNC_VPRINTF
2839
2840 dnl check for vsscanf() and vsnprintf() - on some platforms (Linux, glibc
2841 dnl 2.1.1 for the first one, HP-UX for the second) it's available in the
2842 dnl library but the prototype is missing, so we can't use AC_CHECK_FUNCS here,
2843 dnl do it manually
2844
2845 dnl we use AC_TRY_COMPILE() here instead of AC_TRY_RUN() to make the checks
2846 dnl work for cross-compilation, but AC_TRY_COMPILE() normally only compiles
2847 dnl one function while we need at least 2 - hence the ugly hack below. To
2848 dnl understand why it works, remember that AC_TRY_COMPILE() just prepends
2849 dnl "int main() {" in the beginning of the code and "; return 0; }" at the
2850 dnl end...
2851
2852 dnl if we fail to find vsnprintf, also try for _vsnprintf as that is what
2853 dnl we'll find under MSW if it exists.
2854
2855 dnl final note: AC_TRY_COMPILE will only be executed if there is nothing in
2856 dnl the cache so we have to do AC_DEFINE(HAVE_VSNPRINTF) below and not inside
2857 dnl it or the symbol wouldn't be defined for the 2nd and subsequent configure
2858 dnl runs
2859
2860 dnl check for vsnprintf() - a safe version of vsprintf()
2861 AC_CACHE_CHECK([for vsnprintf], wx_cv_func_vsnprintf,
2862 [
2863   AC_TRY_COMPILE([
2864                     #include <stdio.h>
2865                     #include <stdarg.h>
2866                  ], [
2867                     int wx_test_vsnprintf(const char *, ...);
2868
2869                     wx_test_vsnprintf("%s");
2870                     return 0;
2871                  }
2872
2873                  int wx_test_vsnprintf(const char *fmt, ...)
2874                  {
2875                     char *s;
2876
2877                     va_list argp;
2878                     va_start(argp, fmt);
2879                     vsnprintf(s, 42, fmt, argp);
2880                     va_end(argp);
2881                  ], [
2882                     wx_cv_func_vsnprintf=yes
2883                  ], [
2884                     AC_TRY_COMPILE([
2885                                       #include <stdio.h>
2886                                       #include <stdarg.h>
2887                                    ], [
2888                                       int wx_test_vsnprintf(const char *, ...);
2889
2890                                       wx_test_vsnprintf("%s");
2891                                       return 0;
2892                                    }
2893
2894                                    int wx_test_vsnprintf(const char *fmt, ...)
2895                                    {
2896                                       char *s;
2897
2898                                       va_list argp;
2899                                       va_start(argp, fmt);
2900                                       _vsnprintf(s, 42, fmt, argp);
2901                                       va_end(argp);
2902                                    ], [
2903                                       wx_cv_func_vsnprintf=yes
2904                                    ], [
2905                                       wx_cv_func_vsnprintf=no
2906                                    ])
2907                  ])
2908 ])
2909
2910 if test "$wx_cv_func_vsnprintf" = yes; then
2911     AC_DEFINE(HAVE_VSNPRINTF)
2912 else
2913     AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
2914 fi
2915
2916 dnl check for vsscanf()
2917 AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf,
2918 [
2919   AC_TRY_COMPILE([
2920                     #include <stdio.h>
2921                     #include <stdarg.h>
2922                 ], [
2923                     int wx_test_vsscanf(const char *, ...);
2924
2925                     wx_test_vsscanf("%d");
2926                     return 0;
2927                 }
2928
2929                 int wx_test_vsscanf(const char *fmt, ...)
2930                 {
2931                     va_list argp;
2932                     va_start(argp, fmt);
2933                     vsscanf("42", fmt, argp);
2934                     va_end(argp);
2935                 ], [
2936                     wx_cv_func_vsscanf=yes
2937                 ], [
2938                     wx_cv_func_vsscanf=no
2939                 ])
2940 ])
2941
2942 if test "$wx_cv_func_vsscanf" = yes; then
2943     AC_DEFINE(HAVE_VSSCANF)
2944 fi
2945
2946 dnl the following tests are for Unix(like) systems only
2947 if test "$TOOLKIT" != "MSW"; then
2948
2949 dnl check for available version of iconv()
2950
2951 AC_LANG_SAVE
2952 AC_LANG_CPLUSPLUS
2953 AC_CACHE_CHECK([if iconv() takes char**], wx_cv_iconv_takes_char,
2954 [
2955     AC_TRY_COMPILE([#include <iconv.h>],
2956     [
2957         char **inbuf, **outbuf;
2958         iconv_t cd;
2959         size_t insz, outsz;
2960         iconv(cd, inbuf, &insz, outbuf, &outsz);
2961     ],
2962     wx_cv_iconv_takes_char=yes,
2963     wx_cv_iconv_takes_char=no)
2964 ])
2965 AC_LANG_RESTORE
2966 if test "$wx_cv_iconv_takes_char" = yes ; then
2967     AC_DEFINE(WX_ICONV_TAKES_CHAR)
2968 fi
2969
2970
2971 dnl check for POSIX signals if we need them
2972 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
2973     AC_CHECK_FUNCS(sigaction)
2974
2975     if test "$ac_cv_func_sigaction" = "no"; then
2976         AC_MSG_WARN([No POSIX signal functions on this system, wxApp::OnFatalException will not be called])
2977         wxUSE_ON_FATAL_EXCEPTION=no
2978     fi
2979
2980     if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
2981       AC_LANG_SAVE
2982       AC_LANG_CPLUSPLUS
2983
2984       AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
2985       [
2986         AC_TRY_COMPILE([#include <signal.h>],
2987                      [
2988                         extern void testSigHandler(int);
2989
2990                         struct sigaction sa;
2991                         sa.sa_handler = testSigHandler;
2992                      ], [
2993                         wx_cv_type_sa_handler=int
2994                      ], [
2995                         wx_cv_type_sa_handler=void
2996                      ])
2997       ])
2998
2999       AC_LANG_RESTORE
3000
3001       AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
3002     fi
3003 fi
3004
3005 dnl check for vfork() (even if it's the same as fork() in modern Unices)
3006 AC_CHECK_FUNCS(vfork)
3007
3008 dnl get the library function to use for wxGetDiskSpace(): it is statfs() under
3009 dnl Linux and *BSD and statvfs() under Solaris
3010 AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
3011     AC_TRY_COMPILE(
3012         [
3013              #if defined(__BSD__)
3014                #include <sys/param.h>
3015                #include <sys/mount.h>
3016              #else
3017                #include <sys/vfs.h>
3018              #endif
3019         ],
3020         [
3021              long l;
3022              struct statfs fs;
3023              statfs("/", &fs);
3024              l = fs.f_bsize;
3025              l += fs.f_blocks;
3026              l += fs.f_bavail;
3027         ],
3028         [
3029              wx_cv_func_statfs=yes
3030         ],
3031         [
3032              wx_cv_func_statfs=no
3033         ]
3034     )
3035 )
3036
3037 if test "$wx_cv_func_statfs" = "yes"; then
3038     AC_DEFINE(HAVE_STATFS)
3039 else
3040     AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs,
3041         AC_TRY_COMPILE(
3042             [
3043                  #include <sys/statvfs.h>
3044             ],
3045             [
3046                  long l;
3047                  struct statvfs fs;
3048                  statvfs("/", &fs);
3049                  l = fs.f_bsize;
3050                  l += fs.f_blocks;
3051                  l += fs.f_bavail;
3052             ],
3053             [
3054                  wx_cv_func_statvfs=yes
3055             ],
3056             [
3057                  wx_cv_func_statvfs=no
3058             ]
3059         )
3060     )
3061
3062     if test "$wx_cv_func_statvfs" = "yes"; then
3063         AC_DEFINE(HAVE_STATVFS)
3064     else
3065         AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
3066     fi
3067 fi
3068
3069 dnl check for fcntl() or at least flock() needed by Unix implementation of
3070 dnl wxSingleInstanceChecker
3071 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
3072     AC_CHECK_FUNCS(fcntl flock, break)
3073
3074     if test "$ac_cv_func_fcntl" != "yes" -a "$ac_cv_func_flock" != "yes"; then
3075         AC_MSG_WARN(wxSingleInstanceChecker not available)
3076         wxUSE_SNGLINST_CHECKER=no
3077     fi
3078 fi
3079
3080 dnl check for timegm() used by datetime.cpp
3081 AC_CHECK_FUNCS(timegm)
3082
3083 dnl look for a function to modify the environment
3084 AC_CHECK_FUNCS(putenv setenv, break)
3085
3086 HAVE_SOME_SLEEP_FUNC=0
3087 if test "$USE_BEOS" = 1; then
3088     dnl BeOS has its own (wonder where did they get it from) sleep() function
3089     dnl in unistd.h
3090     AC_DEFINE(HAVE_SLEEP)
3091     HAVE_SOME_SLEEP_FUNC=1
3092 fi
3093
3094 if test "$USE_DARWIN" = 1; then
3095     dnl Mac OS X has both nanosleep and usleep
3096     dnl but only usleep is defined in unistd.h
3097     AC_DEFINE(HAVE_USLEEP)
3098     HAVE_SOME_SLEEP_FUNC=1
3099 fi
3100
3101 if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
3102     dnl try nanosleep() in libc and libposix4, if this fails - usleep()
3103     POSIX4_LINK=
3104     AC_CHECK_FUNCS(nanosleep,
3105         AC_DEFINE(HAVE_NANOSLEEP),
3106         [
3107             AC_CHECK_LIB(posix4, nanosleep,
3108                 [
3109                     AC_DEFINE(HAVE_NANOSLEEP)
3110                     POSIX4_LINK="-lposix4"
3111                 ],
3112                 [
3113                     AC_CHECK_FUNCS(usleep,
3114                         AC_DEFINE(HAVE_USLEEP),
3115                         AC_MSG_WARN([wxSleep() function will not work])
3116                     )
3117                 ]
3118             )
3119         ]
3120     )
3121 fi
3122
3123 dnl check for uname (POSIX) and gethostname (BSD)
3124 AC_CHECK_FUNCS(uname gethostname, break)
3125
3126 dnl check for MT-safe version of strtok (on DEC Alpha, it's ok for C compiler
3127 dnl but not for C++ one - hence change language)
3128 AC_LANG_SAVE
3129 AC_LANG_CPLUSPLUS
3130
3131 AC_CHECK_FUNCS(strtok_r)
3132
3133 AC_LANG_RESTORE
3134
3135 dnl check for inet_addr and inet_aton (these may live either in libc, or in
3136 dnl libnsl or libresolv)
3137 INET_LINK=
3138 AC_CHECK_FUNCS(inet_addr,
3139     AC_DEFINE(HAVE_INET_ADDR),
3140     [
3141         AC_CHECK_LIB(nsl, inet_addr,
3142             INET_LINK="nsl",
3143             AC_CHECK_LIB(resolv, inet_addr,
3144                 INET_LINK="resolv"
3145             )
3146         )
3147     ]
3148 )
3149
3150 AC_CHECK_FUNCS(inet_aton,
3151         AC_DEFINE(HAVE_INET_ATON),
3152         [
3153             dnl only check it in the same lib
3154             AC_CHECK_LIB($INET_LINK, inet_aton, AC_DEFINE(HAVE_INET_ATON))
3155         ])
3156
3157 if test "x$INET_LINK" != "x"; then
3158     AC_DEFINE(HAVE_INET_ADDR)
3159     INET_LINK="-l$INET_LINK"
3160 fi
3161
3162 fi
3163 dnl if !MSW
3164
3165 dnl ===========================================================================
3166 dnl Now we have all the info we need - use it!
3167 dnl ===========================================================================
3168
3169 dnl flush the cache
3170 AC_CACHE_SAVE
3171
3172 dnl ---------------------------------------------------------------------------
3173 dnl thread support for Unix (always available under Win32)
3174 dnl ---------------------------------------------------------------------------
3175
3176 dnl under MSW we always have thread support
3177 if test "$TOOLKIT" != "MSW"; then
3178
3179 dnl the code below:
3180 dnl   defines THREADS_OBJ which contains the object files to build
3181 dnl   defines THREADS_LINK which contains the thread library to link with
3182 dnl   defines wxUSE_THREADS=1 if thread support is activated
3183
3184 THREADS_LINK=
3185 THREADS_OBJ=
3186 CODE_GEN_FLAGS=
3187 CODE_GEN_FLAGS_CXX=
3188
3189 if test "$wxUSE_THREADS" = "yes" ; then
3190     if test "$wxUSE_WINE" = 1 ; then
3191         AC_MSG_WARN([Threads are not supported under WINE])
3192         wxUSE_THREADS="no"
3193     elif test "$USE_BEOS" = 1; then
3194         AC_MSG_WARN([BeOS threads are not yet supported])
3195         wxUSE_THREADS="no"
3196     fi
3197 fi
3198
3199 if test "$wxUSE_THREADS" = "yes" ; then
3200     dnl find if POSIX threads are available
3201
3202     dnl AIX calls the library libpthreads - thanks IBM!
3203     if test "$USE_AIX" = 1; then
3204         THREADS_LIB=pthreads
3205     else
3206         THREADS_LIB=pthread
3207     fi
3208
3209     dnl standard lib name is pthread
3210     dnl We no longer test for pthread-0.7 as it breaks compilation on some
3211     dnl glibc2 systems, especially for static linkage.
3212     AC_CHECK_LIB($THREADS_LIB, pthread_create, [
3213             THREADS_OBJ="threadpsx.lo"
3214             THREADS_LINK=$THREADS_LIB
3215         ], [
3216             dnl thread functions are in libc_r under FreeBSD
3217             AC_CHECK_LIB(c_r, pthread_create, [
3218                 THREADS_OBJ="threadpsx.lo"
3219                 THREADS_LINK="c_r"
3220             ], [
3221                 dnl VZ: SGI threads are not supported currently
3222                 AC_CHECK_HEADER(sys/prctl.h, [
3223                     THREADS_OBJ="threadsgi.lo"
3224                 ])
3225             ])
3226         ])
3227
3228     if test -z "$THREADS_OBJ" ; then
3229         wxUSE_THREADS=no
3230         AC_MSG_WARN(No thread support on this system)
3231     fi
3232 fi
3233
3234 dnl do other tests only if we are using threads
3235 if test "$wxUSE_THREADS" = "yes" ; then
3236   AC_CHECK_FUNCS(thr_setconcurrency)
3237
3238   dnl define autoconf macro to check for given function in both pthread and
3239   dnl posix4 libraries
3240   dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
3241   dnl VZ: TODO
3242   dnl AC_DEFUN(AC_FUNC_THREAD,
3243   dnl [
3244   dnl     AC_CHECK_LIB($THREADS_LINK, $1,
3245   dnl            AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
3246   dnl            [AC_CHECK_LIB([posix4], $1,
3247   dnl                [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
3248   dnl                 POSIX4_LINK="-lposix4"
3249   dnl             ])
3250   dnl            ])
3251   dnl ])
3252
3253   AC_CHECK_HEADERS(sched.h)
3254
3255   AC_CHECK_LIB($THREADS_LINK, sched_yield,
3256                AC_DEFINE(HAVE_SCHED_YIELD),
3257                [AC_CHECK_LIB([posix4], sched_yield,
3258                    [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
3259                    AC_MSG_WARN(wxThread::Yield will not work properly)
3260                 )]
3261                )
3262
3263   dnl to be able to set the thread priority, we need to have all of the
3264   dnl following functions:
3265   dnl   1. pthread_attr_getschedpolicy
3266   dnl   2. sched_get_priority_min and sched_get_priority_max
3267   dnl      (this one can be in either libpthread or libposix4 (under Solaris))
3268   dnl   3. pthread_attr_getschedparam and pthread_attr_setschedparam
3269   HAVE_PRIOR_FUNCS=0
3270   AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
3271                  AC_CHECK_LIB($THREADS_LINK, pthread_attr_setschedparam,
3272                    AC_CHECK_LIB($THREADS_LINK, sched_get_priority_max,
3273                        HAVE_PRIOR_FUNCS=1,
3274                        AC_CHECK_LIB([posix4], sched_get_priority_max,
3275                          [
3276                             HAVE_PRIOR_FUNCS=1
3277                             POSIX4_LINK="-lposix4"
3278                          ],
3279                        )
3280                    )
3281                  )
3282                )
3283
3284   if test "$HAVE_PRIOR_FUNCS" = 1; then
3285     AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS)
3286   else
3287     AC_MSG_WARN(Setting thread priority will not work)
3288   fi
3289
3290   AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
3291                AC_DEFINE(HAVE_PTHREAD_CANCEL),
3292                AC_MSG_WARN([wxThread::Kill() will not work properly]))
3293
3294   AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
3295   [
3296     AC_TRY_COMPILE([#include <pthread.h>],
3297                  [
3298                     pthread_cleanup_push(NULL, NULL);
3299                     pthread_cleanup_pop(0);
3300                  ], [
3301                     wx_cv_func_pthread_cleanup_push=yes
3302                  ], [
3303                     wx_cv_func_pthread_cleanup_push=no
3304                  ])
3305   ])
3306
3307   if test "$wx_cv_func_pthread_cleanup_push" = "yes"; then
3308       AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
3309   fi
3310
3311   dnl mutexattr_t initialization is done in quite different ways on different
3312   dnl platforms, so check for a few things:
3313   dnl
3314   dnl HAVE_MUTEX_RECURSIVE means that we can create recursive mutexes
3315   dnl HAVE_MUTEXATTR_SETTYPE means that we do it using
3316   dnl pthread_mutexattr_settype(PTHREAD_MUTEX_RECURSIVE) and if it is not
3317   dnl defined, we do it by directly assigned
3318   dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
3319
3320   dnl we need _GNU_SOURCE to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+
3321   dnl (strictly speaking we only need _XOPEN_SOURCE=500 but just defining
3322   dnl this disables _BSD_SOURCE which breaks libtiff compilation, so it is
3323   dnl simpler to just define _GNU_SOURCE to get everything)
3324   if test "x$wx_lib_glibc21" = "xyes"; then
3325       CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
3326   fi
3327
3328   AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
3329   [
3330     AC_TRY_COMPILE([#include <pthread.h>],
3331         [
3332            pthread_mutexattr_t attr;
3333            pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
3334         ], [
3335            wx_cv_type_pthread_mutexattr_t=yes
3336         ], [
3337            wx_cv_type_pthread_mutexattr_t=no
3338         ]
3339     )
3340   ])
3341
3342   if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then
3343     AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T)
3344   else
3345     dnl don't despair, there may be another way to do it
3346     AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER],
3347                    wx_cv_type_pthread_rec_mutex_init,
3348     [
3349         AC_TRY_COMPILE([#include <pthread.h>],
3350             [
3351                 pthread_mutex_t attr = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
3352             ], [
3353                 wx_cv_type_pthread_rec_mutex_init=yes
3354             ], [
3355                 wx_cv_type_pthread_rec_mutex_init=no
3356             ]
3357         )
3358     ])
3359     if test "$wx_cv_type_pthread_rec_mutex_init" = "yes"; then
3360       AC_DEFINE(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
3361     else
3362       dnl this may break code working elsewhere, so at least warn about it
3363       AC_MSG_WARN([wxMutex won't be recursive on this platform])
3364     fi
3365   fi
3366
3367   THREADS_LINK="-l$THREADS_LINK"
3368
3369   dnl building MT programs under Solaris with the native compiler requires -mt
3370   dnl switch
3371   if test "$USE_SOLARIS" = "yes" -a "$GCC" != "yes"; then
3372       CPPFLAGS="${CFLAGS} -mt"
3373       CXXFLAGS="${CXXFLAGS} -mt"
3374       LDFLAGS="${LDFLAGS} -mt"
3375   fi
3376 fi
3377
3378 dnl from if !MSW
3379 fi
3380
3381 if test "$wxUSE_THREADS" = "yes"; then
3382   AC_DEFINE(wxUSE_THREADS)
3383
3384   dnl must define _REENTRANT for multithreaded code except for Darwin/Mac OS X
3385   if test "$USE_DARWIN" != 1; then
3386     TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D_REENTRANT"
3387   fi
3388
3389   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
3390 else
3391   dnl on some systems, _REENTRANT should be defined if we want to use any _r()
3392   dnl functions - add tests for other functions here as well
3393   if test "$ac_cv_func_strtok_r" = "yes"; then
3394     AC_MSG_CHECKING(if -D_REENTRANT is needed)
3395     if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
3396         TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D_REENTRANT"
3397         AC_MSG_RESULT(yes)
3398     else
3399         AC_MSG_RESULT(no)
3400     fi
3401   fi
3402 fi
3403
3404 if test "$WXGTK20" = 1 ; then
3405   AC_DEFINE_UNQUOTED(__WXGTK20__,$WXGTK20)
3406   WXGTK12=1
3407 fi
3408
3409 if test "$WXGTK12" = 1 ; then
3410   AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
3411 fi
3412
3413 if test "$WXGTK127" = 1 ; then
3414   AC_DEFINE_UNQUOTED(__WXGTK127__,$WXGTK127)
3415 fi
3416
3417 WXDEBUG=
3418
3419 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
3420     WXDEBUG="-g"
3421     wxUSE_OPTIMISE=no
3422 fi
3423
3424 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
3425     wxUSE_DEBUG_INFO=yes
3426     WXDEBUG="-ggdb"
3427 fi
3428
3429 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
3430     AC_DEFINE(WXDEBUG)
3431     WXDEBUG_DEFINE="-D__WXDEBUG__"
3432 else
3433     if test "$wxUSE_GTK" = 1 ; then
3434         WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
3435     fi
3436 fi
3437
3438 if test "$wxUSE_MEM_TRACING" = "yes" ; then
3439     AC_DEFINE(wxUSE_MEMORY_TRACING)
3440     AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
3441     AC_DEFINE(wxUSE_DEBUG_NEW_ALWAYS)
3442     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
3443 fi
3444
3445 if test "$wxUSE_DMALLOC" = "yes" ; then
3446     DMALLOC_LINK="-ldmalloc"
3447 fi
3448
3449 PROFILE=
3450 if test "$wxUSE_PROFILE" = "yes" ; then
3451     PROFILE="-pg"
3452 fi
3453
3454 if test "$GCC" = yes ; then
3455     if test "$wxUSE_NO_RTTI" = "yes" ; then
3456         CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fno-rtti"
3457     fi
3458     if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
3459         CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fno-exceptions"
3460     fi
3461     if test "$wxUSE_PERMISSIVE" = "yes" ; then
3462         CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
3463     fi
3464     if test "$wxUSE_NO_DEPS" = "no" ; then
3465         CFLAGS="-MMD ${CFLAGS}"
3466         CXXFLAGS="-MMD ${CXXFLAGS}"
3467     fi
3468     if test "$USE_WIN32" = 1 ; then
3469         # I'm not even really sure what this was ever added to solve,
3470         # but someone added it for mingw native builds, so I guess
3471         # they had a reason, right??
3472         CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-pcc-struct-return"
3473     fi
3474 fi
3475
3476
3477 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
3478 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
3479 if test "$wxUSE_OPTIMISE" = "no" ; then
3480     OPTIMISE=
3481 else
3482     if test "$GCC" = yes ; then
3483         OPTIMISE="-O2"
3484         case "${host}" in
3485             i586-*-*|i686-*-* )
3486             OPTIMISE="${OPTIMISE} "
3487         ;;
3488         esac
3489     else
3490         OPTIMISE="-O"
3491     fi
3492 fi
3493
3494 if test "$WXWIN_COMPATIBILITY_2" = "yes"; then
3495     AC_DEFINE(WXWIN_COMPATIBILITY_2)
3496
3497     WXWIN_COMPATIBILITY_2_2="yes"
3498 fi
3499
3500 if test "$WXWIN_COMPATIBILITY_2_2" = "yes"; then
3501     AC_DEFINE(WXWIN_COMPATIBILITY_2_2)
3502 fi
3503
3504 dnl ---------------------------------------------------------------------------
3505 dnl the library may be built without GUI classes at all
3506 dnl ---------------------------------------------------------------------------
3507
3508 if test "$wxUSE_GUI" = "yes"; then
3509   AC_DEFINE(wxUSE_GUI)
3510
3511   dnl the things we always pull in the GUI version of the library:
3512   dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
3513   dnl    library really can't be built without those)
3514   dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
3515   dnl    almost any program and the first 2 are needed to show a message box
3516   dnl    which want to be always able to do)
3517   dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
3518   dnl    to compile without them (if the app doesn't do any drawing, it doesn't
3519   dnl    need the dcs, pens, brushes, ...), this just can't be done now
3520   dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
3521   dnl 5. misc stuff: timers, settings, message box
3522 else
3523   AC_DEFINE(wxUSE_NOGUI)
3524 fi
3525
3526 dnl ---------------------------------------------------------------------------
3527 dnl Unix/Windows
3528 dnl ---------------------------------------------------------------------------
3529
3530 if test "$wxUSE_UNIX" = "yes"; then
3531   AC_DEFINE(wxUSE_UNIX)
3532 fi
3533
3534 dnl ---------------------------------------------------------------------------
3535 dnl Register non-GUI class options for makefiles and setup.h
3536 dnl ---------------------------------------------------------------------------
3537
3538 if test "$wxUSE_APPLE_IEEE" = "yes"; then
3539   AC_DEFINE(wxUSE_APPLE_IEEE)
3540 fi
3541
3542 if test "$wxUSE_TIMER" = "yes"; then
3543   AC_DEFINE(wxUSE_TIMER)
3544 fi
3545
3546 if test "$wxUSE_WAVE" = "yes"; then
3547   AC_DEFINE(wxUSE_WAVE)
3548 fi
3549
3550 if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
3551   AC_DEFINE(wxUSE_CMDLINE_PARSER)
3552 fi
3553
3554 if test "$wxUSE_STOPWATCH" = "yes"; then
3555   AC_DEFINE(wxUSE_STOPWATCH)
3556 fi
3557
3558 if test "$wxUSE_DATETIME" = "yes"; then
3559   AC_DEFINE(wxUSE_DATETIME)
3560 fi
3561
3562 if test "$wxUSE_TIMEDATE" = "yes"; then
3563   AC_DEFINE(wxUSE_TIMEDATE)
3564 fi
3565
3566 if test "$wxUSE_FILE" = "yes"; then
3567   AC_DEFINE(wxUSE_FILE)
3568 fi
3569
3570 if test "$wxUSE_FFILE" = "yes"; then
3571   AC_DEFINE(wxUSE_FFILE)
3572 fi
3573
3574 if test "$wxUSE_FILESYSTEM" = "yes"; then
3575   AC_DEFINE(wxUSE_FILESYSTEM)
3576 fi
3577
3578 if test "$wxUSE_FS_INET" = "yes"; then
3579   AC_DEFINE(wxUSE_FS_INET)
3580 fi
3581
3582 if test "$wxUSE_FS_ZIP" = "yes"; then
3583   AC_DEFINE(wxUSE_FS_ZIP)
3584 fi
3585
3586 if test "$wxUSE_ZIPSTREAM" = "yes"; then
3587   AC_DEFINE(wxUSE_ZIPSTREAM)
3588 fi
3589
3590 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
3591   AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
3592 fi
3593
3594 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
3595   AC_DEFINE(wxUSE_SNGLINST_CHECKER)
3596 fi
3597
3598 if test "$wxUSE_BUSYINFO" = "yes"; then
3599   AC_DEFINE(wxUSE_BUSYINFO)
3600 fi
3601
3602 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
3603   AC_DEFINE(wxUSE_STD_IOSTREAM)
3604 fi
3605
3606 if test "$wxUSE_TEXTFILE" = "yes"; then
3607   if test "$wxUSE_FILE" != "yes"; then
3608     AC_MSG_WARN(wxTextFile requires wxFile and it won't be compiled without it)
3609   else
3610     AC_DEFINE(wxUSE_TEXTFILE)
3611   fi
3612 fi
3613
3614 if test "$wxUSE_CONFIG" = "yes" ; then
3615   if test "$wxUSE_TEXTFILE" != "yes"; then
3616     AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
3617   else
3618     AC_DEFINE(wxUSE_CONFIG)
3619     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
3620   fi
3621 fi
3622
3623 if test "$wxUSE_INTL" = "yes" ; then
3624   if test "$wxUSE_FILE" != "yes"; then
3625     AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
3626   else
3627     AC_DEFINE(wxUSE_INTL)
3628     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
3629     GUIDIST="$GUIDIST INTL_DIST"
3630   fi
3631 fi
3632
3633 if test "$wxUSE_LOG" = "yes"; then
3634   AC_DEFINE(wxUSE_LOG)
3635
3636     if test "$wxUSE_LOGGUI" = "yes"; then
3637       AC_DEFINE(wxUSE_LOGGUI)
3638     fi
3639
3640     if test "$wxUSE_LOGWINDOW" = "yes"; then
3641       AC_DEFINE(wxUSE_LOGWINDOW)
3642     fi
3643 fi
3644
3645 if test "$wxUSE_LONGLONG" = "yes"; then
3646   AC_DEFINE(wxUSE_LONGLONG)
3647 fi
3648
3649 if test "$wxUSE_GEOMETRY" = "yes"; then
3650   AC_DEFINE(wxUSE_GEOMETRY)
3651 fi
3652
3653 if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
3654   AC_DEFINE(wxUSE_DIALUP_MANAGER)
3655   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
3656 fi
3657
3658 if test "$wxUSE_STREAMS" = "yes" ; then
3659   AC_DEFINE(wxUSE_STREAMS)
3660 fi
3661
3662 dnl ---------------------------------------------------------------------------
3663 dnl time/date functions
3664 dnl ------------------------------------------------------------------------
3665
3666 if test "$wxUSE_DATETIME" = "yes"; then
3667     dnl check for strptime
3668     AC_CHECK_FUNCS(strptime)
3669
3670     dnl check for timezone variable
3671     AC_CACHE_CHECK(for timezone variable in <time.h>,
3672                    wx_cv_var_timezone,
3673                    [
3674                         AC_TRY_COMPILE(
3675                             [
3676                                 #include <time.h>
3677                             ],
3678                             [
3679                                 int tz;
3680                                 tz = timezone;
3681                             ],
3682                             [
3683                                 wx_cv_var_timezone=timezone
3684                             ],
3685                             [
3686                                 AC_TRY_COMPILE(
3687                                     [
3688                                         #include <time.h>
3689                                     ],
3690                                     [
3691                                         int tz;
3692                                         tz = _timezone;
3693                                     ],
3694                                     [
3695                                         wx_cv_var_timezone=_timezone
3696                                     ],
3697                                     [
3698                                         AC_TRY_COMPILE(
3699                                             [
3700                                                 #include <time.h>
3701                                             ],
3702                                             [
3703                                                 int tz;
3704                                                 tz = __timezone;
3705                                             ],
3706                                             [
3707                                                 wx_cv_var_timezone=__timezone
3708                                             ],
3709                                             AC_MSG_ERROR(no timezone variable)
3710                                         )
3711                                     ]
3712                                 )
3713                             ]
3714                         )
3715                    ]
3716     )
3717
3718     dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
3719     AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
3720
3721     dnl check for localtime (it's POSIX, but the check can do no harm...)
3722     AC_CHECK_FUNCS(localtime)
3723
3724     if test "$ac_cv_func_localtime" = "yes"; then
3725         AC_CACHE_CHECK(for tm_gmtoff in struct tm,
3726                        wx_cv_struct_tm_has_gmtoff,
3727         [
3728             AC_TRY_COMPILE(
3729                 [
3730                     #include <time.h>
3731                 ],
3732                 [
3733                     struct tm tm;
3734                     tm.tm_gmtoff++;
3735                 ],
3736                 [
3737                     wx_cv_struct_tm_has_gmtoff=yes
3738                 ],
3739                 wx_cv_struct_tm_has_gmtoff=no
3740             )
3741         ])
3742     fi
3743
3744     if test "$wx_cv_struct_tm_has_gmtoff" = "yes"; then
3745         AC_DEFINE(WX_GMTOFF_IN_TM)
3746     fi
3747
3748     dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the
3749     dnl function to be used for high resolution timers
3750     AC_CHECK_FUNCS(gettimeofday ftime, break)
3751
3752     if test "$ac_cv_func_gettimeofday" = "yes"; then
3753         AC_CACHE_CHECK([whether gettimeofday takes two arguments],
3754                        wx_cv_func_gettimeofday_has_2_args,
3755         [
3756             dnl on some _really_ old systems it takes only 1 argument
3757             AC_LANG_SAVE
3758             AC_LANG_CPLUSPLUS
3759
3760             AC_TRY_COMPILE(
3761                 [
3762                     #include <sys/time.h>
3763                     #include <unistd.h>
3764                 ],
3765                 [
3766                     struct timeval tv;
3767                     gettimeofday(&tv, NULL);
3768                 ],
3769                 wx_cv_func_gettimeofday_has_2_args=yes,
3770                 AC_TRY_COMPILE(
3771                     [
3772                         #include <sys/time.h>
3773                         #include <unistd.h>
3774                     ],
3775                     [
3776                         struct timeval tv;
3777                         gettimeofday(&tv);
3778                     ],
3779                     wx_cv_func_gettimeofday_has_2_args=no,
3780                     [
3781                         AC_MSG_WARN([failed to determine number of gettimeofday() arguments])
3782                         wx_cv_func_gettimeofday_has_2_args=unknown
3783                     ]
3784                 )
3785             )
3786             AC_LANG_RESTORE
3787         ])
3788
3789         if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then
3790             AC_DEFINE(WX_GETTIMEOFDAY_NO_TZ)
3791         fi
3792     fi
3793
3794     AC_DEFINE(wxUSE_TIMEDATE)
3795     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
3796 fi
3797
3798 dnl ------------------------------------------------------------------------
3799 dnl wxSocket
3800 dnl ------------------------------------------------------------------------
3801
3802 dnl under MSW we always have sockets
3803 if test "$TOOLKIT" != "MSW"; then
3804
3805     if test "$wxUSE_SOCKETS" = "yes"; then
3806         dnl under Solaris, socket functions live in -lsocket
3807         AC_CHECK_FUNC(socket,,
3808             AC_CHECK_LIB(socket, socket,
3809                 INET_LINK="$INET_LINK -lsocket",
3810                 [
3811                     AC_MSG_WARN([socket library not found - sockets will be disabled])
3812                     wxUSE_SOCKETS=no
3813                 ]
3814             )
3815         )
3816     fi
3817
3818     dnl this test may be appropriate if building under cygwin
3819     dnl right now I'm assuming it also uses the winsock stuff
3820     dnl like mingw does..  -- RL
3821
3822     if test "$wxUSE_SOCKETS" = "yes" ; then
3823         dnl determine the type of third argument for getsockname
3824         AC_CACHE_CHECK([what is the type of the third argument of getsockname],
3825                        wx_cv_type_getsockname3,
3826             [
3827                 AC_LANG_SAVE
3828                 AC_LANG_CPLUSPLUS
3829
3830                 AC_TRY_COMPILE(
3831                     [
3832                         #include <sys/types.h>
3833                         #include <sys/socket.h>
3834                     ],
3835                     [
3836                         socklen_t len;
3837                         getsockname(0, 0, &len);
3838                     ],
3839                     wx_cv_type_getsockname3=socklen_t,
3840                     AC_TRY_COMPILE(
3841                         [
3842                             #include <sys/types.h>
3843                             #include <sys/socket.h>
3844                         ],
3845                         [
3846                             size_t len;
3847                             getsockname(0, 0, &len);
3848                         ],
3849                         wx_cv_type_getsockname3=size_t,
3850                         AC_TRY_COMPILE(
3851                             [
3852                                 #include <sys/types.h>
3853                                 #include <sys/socket.h>
3854                             ],
3855                             [
3856                                 int len;
3857                                 getsockname(0, 0, &len);
3858                             ],
3859                             wx_cv_type_getsockname3=int,
3860                             wx_cv_type_getsockname3=unknown
3861                         )
3862                     )
3863                 )
3864
3865                 AC_LANG_RESTORE
3866             ])
3867
3868         if test "$wx_cv_type_getsockname3" = "unknown"; then
3869             wxUSE_SOCKETS=no
3870             AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
3871         else
3872             AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
3873         fi
3874     fi
3875 fi
3876 dnl if !MSW
3877
3878 if test "$wxUSE_SOCKETS" = "yes" ; then
3879     AC_DEFINE(wxUSE_SOCKETS)
3880     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
3881 fi
3882
3883 dnl ---------------------------------------------------------------------------
3884 dnl Joystick support
3885 dnl ---------------------------------------------------------------------------
3886
3887 if test "$wxUSE_GUI" = "yes"; then
3888
3889     dnl under MSW we always have joystick support
3890     if test "$TOOLKIT" != "MSW"; then
3891         if test "$wxUSE_JOYSTICK" = "yes"; then
3892             dnl joystick support is only for Linux 2.1.x or greater
3893             AC_CHECK_HEADERS(linux/joystick.h)
3894             if test "$ac_cv_header_linux_joystick_h" != "yes"; then
3895                 wxUSE_JOYSTICK=no
3896                 AC_MSG_WARN(Joystick not supported by this system, disabled)
3897             fi
3898         fi
3899     fi
3900
3901     if test "$wxUSE_JOYSTICK" = "yes"; then
3902         AC_DEFINE(wxUSE_JOYSTICK)
3903         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
3904     fi
3905 fi
3906
3907 dnl ------------------------------------------------------------------------
3908 dnl DLL support
3909 dnl ------------------------------------------------------------------------
3910
3911 dnl under MSW we always have LoadLibrary/GetProcAddress
3912 if test "$TOOLKIT" != "MSW"; then
3913
3914     HAVE_DL_FUNCS=0
3915     HAVE_SHL_FUNCS=0
3916     if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
3917         if test "$USE_DARWIN" = 1; then
3918             dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
3919             HAVE_DL_FUNCS=1
3920         else
3921             dnl the test is a bit complicated because we check for dlopen() both with
3922             dnl and without -ldl and we also try to find shl_load() if there is no
3923             dnl dlopen() on this system
3924             AC_CHECK_FUNCS(dlopen,
3925             [
3926                 AC_DEFINE(HAVE_DLOPEN)
3927                 HAVE_DL_FUNCS=1
3928             ],
3929             [
3930                 AC_CHECK_LIB(dl, dlopen,
3931                             [
3932                                 AC_DEFINE(HAVE_DLOPEN)
3933                                 HAVE_DL_FUNCS=1
3934                                 LIBS="$LIBS -ldl"
3935                             ],
3936                             [
3937                                 AC_CHECK_FUNCS(shl_load,
3938                                               [
3939                                                 AC_DEFINE(HAVE_SHL_LOAD)
3940                                                 HAVE_SHL_FUNCS=1
3941                                               ],
3942                                               [
3943                                                 AC_CHECK_LIB(shl_load, dld,
3944                                                              [
3945                                                                 HAVE_SHL_FUNCS=1
3946                                                                 LIBS="$LIBS -ldld"
3947                                                              ])
3948                                               ])
3949                             ])
3950             ])
3951
3952         dnl check also for dlerror()
3953         if test "$HAVE_DL_FUNCS" = 1; then
3954             AC_CHECK_FUNCS(dlerror,
3955                            AC_DEFINE(HAVE_DLERROR),
3956                            AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR)))
3957         fi
3958         fi
3959
3960         if test "$HAVE_DL_FUNCS" = 0; then
3961             if test "$HAVE_SHL_FUNCS" = 0; then
3962               if test "$USE_UNIX" = 1; then
3963                   AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
3964                   wxUSE_DYNLIB_CLASS=no
3965               else
3966                   AC_MSG_WARN([Assuming wxLibrary class works on this platform])
3967               fi
3968             fi
3969         fi
3970     fi
3971 fi
3972
3973 if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
3974     AC_DEFINE(wxUSE_DYNLIB_CLASS)
3975 else
3976     wxUSE_ODBC=no
3977     wxUSE_SERIAL=no
3978 fi
3979
3980 dnl ---------------------------------------------------------------------------
3981 dnl String stuff
3982 dnl ---------------------------------------------------------------------------
3983
3984 if test "$wxUSE_FONTMAP" = "yes" ; then
3985   AC_DEFINE(wxUSE_FONTMAP)
3986 fi
3987
3988 if test "$wxUSE_UNICODE" = "yes" ; then
3989   AC_DEFINE(wxUSE_UNICODE)
3990 fi
3991
3992 if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
3993   AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
3994 fi
3995
3996 dnl ----------------------------------------------------------------
3997 dnl serialization support
3998 dnl ----------------------------------------------------------------
3999
4000 if test "$wxUSE_SERIAL" = "yes" ; then
4001     AC_DEFINE(wxUSE_SERIAL)
4002 fi
4003
4004 dnl ----------------------------------------------------------------
4005 dnl iODBC support
4006 dnl ----------------------------------------------------------------
4007
4008 IODBC_C_SRC=""
4009 if test "$wxUSE_ODBC" = "yes" ; then
4010     AC_DEFINE(wxUSE_ODBC)
4011     WXODBCFLAG="-D_IODBC_"
4012     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
4013 fi
4014
4015 dnl ----------------------------------------------------------------
4016 dnl Register PostScript options for makefiles and setup.h
4017 dnl ----------------------------------------------------------------
4018
4019 if test "$wxUSE_POSTSCRIPT" = "yes" ; then
4020   AC_DEFINE(wxUSE_POSTSCRIPT)
4021 fi
4022
4023 AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
4024
4025 AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
4026
4027 dnl ---------------------------------------------------------------------------
4028 dnl big GUI components: MDI, doc/view, printing, help, ...
4029 dnl ---------------------------------------------------------------------------
4030
4031 if test "$wxUSE_CONSTRAINTS" = "yes"; then
4032     AC_DEFINE(wxUSE_CONSTRAINTS)
4033     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
4034 fi
4035
4036 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
4037     if test "$wxUSE_UNIVERSAL" = "yes"; then
4038         AC_MSG_WARN(MDI is not supported for wxUNIVERSAL yet... disabled)
4039         wxUSE_MDI_ARCHITECTURE=no
4040     fi
4041
4042     if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
4043         AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
4044         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
4045     fi
4046 fi
4047
4048 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
4049     AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
4050     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
4051     if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
4052         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
4053     fi
4054 fi
4055
4056 if test "$wxUSE_HELP" = "yes"; then
4057     AC_DEFINE(wxUSE_HELP)
4058     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
4059
4060     if test "$wxUSE_MSW" = 1; then
4061       if test "$wxUSE_MS_HTML_HELP" = "yes"; then
4062         AC_CHECK_HEADER(htmlhelp.h, 
4063             [
4064                 AC_DEFINE(wxUSE_MS_HTML_HELP)
4065             ],
4066             [
4067                 AC_MSG_WARN([MS HTML Help cannot be used without htmlhelp.h... disabled])
4068                 wxUSE_MS_HTML_HELP=no
4069             ])
4070       fi
4071     fi
4072
4073     if test "$wxUSE_WXHTML_HELP" = "yes"; then
4074       if test "$wxUSE_HTML" = "yes"; then
4075         AC_DEFINE(wxUSE_WXHTML_HELP)
4076       else
4077         AC_MSG_WARN(Cannot use wxHTML-based help without wxHTML so it won't be compiled)
4078         wxUSE_WXHTML_HELP=no
4079       fi
4080     fi
4081 fi
4082
4083 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
4084     if test "$wxUSE_CONSTRAINTS" != "yes"; then
4085         AC_MSG_WARN(Printing support cannot be used without constraints so it won't be compiled without it)
4086     else
4087         AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
4088     fi
4089     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
4090 fi
4091
4092 if test "$wxUSE_PROLOGIO" = "yes" ; then
4093     AC_DEFINE(wxUSE_PROLOGIO)
4094 fi
4095
4096 if test "$wxUSE_RESOURCES" = "yes" ; then
4097     AC_DEFINE(wxUSE_RESOURCES)
4098     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
4099 fi
4100
4101 if test "$wxUSE_X_RESOURCES" = "yes"; then
4102     AC_DEFINE(wxUSE_X_RESOURCES)
4103 fi
4104
4105 dnl ---------------------------------------------------------------------------
4106 dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
4107 dnl ---------------------------------------------------------------------------
4108
4109 dnl check for ole headers and disable a few features requiring it if not
4110 dnl present (earlier versions of mingw32 don't have ole2.h)
4111 if test "$wxUSE_MSW" = 1 -a \( "$wxUSE_DATAOBJ"       = "yes" \
4112                           -o "$wxUSE_CLIPBOARD"     = "yes" \
4113                           -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
4114     AC_CHECK_HEADERS(ole2.h)
4115
4116     if test "$ac_cv_header_ole2_h" = "yes" ; then
4117         if test "$GCC" = yes ; then
4118             ALL_OBJECTS="$ALL_OBJECTS \$(OLEOBJS)"
4119             CODE_GEN_FLAGS_CXX="$CODE_GEN_FLAGS_CXX -fvtable-thunks"
4120             LIBS="$LIBS -lrpcrt4 -loleaut32 -lole32 -luuid"
4121             AC_DEFINE(wxUSE_OLE)
4122
4123         fi
4124
4125         dnl for OLE clipboard and dnd
4126         AC_DEFINE(wxUSE_DATAOBJ)
4127     else
4128         AC_MSG_WARN([Some features disabled because OLE headers not found])
4129
4130         wxUSE_CLIPBOARD=no
4131         wxUSE_DRAG_AND_DROP=no
4132         wxUSE_DATAOBJ=no
4133     fi
4134
4135     if test "$wxUSE_METAFILE" = "yes"; then
4136         AC_DEFINE(wxUSE_METAFILE)
4137
4138         dnl this one should probably be made separately configurable
4139         AC_DEFINE(wxUSE_ENH_METAFILE)
4140     fi
4141 fi
4142
4143 if test "$wxUSE_IPC" = "yes"; then
4144     if test "$wxUSE_SOCKETS" != "yes"; then
4145         AC_MSG_WARN(wxWindows IPC classes require sockets, disabled)
4146     fi
4147
4148     AC_DEFINE(wxUSE_IPC)
4149 fi
4150
4151 if test "$wxUSE_CLIPBOARD" = "yes"; then
4152     AC_DEFINE(wxUSE_CLIPBOARD)
4153
4154     dnl required by clipboard code in configuration check
4155     AC_DEFINE(wxUSE_DATAOBJ)
4156 fi
4157
4158 if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
4159     if test "$wxUSE_GTK" = 1; then
4160         if test "$WXGTK12" != 1; then
4161             AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2])
4162             wxUSE_DRAG_AND_DROP=no
4163         fi
4164     fi
4165
4166     if test "$wxUSE_MOTIF" = 1; then
4167         AC_MSG_WARN([Drag and drop is not yet supported under Motif])
4168         wxUSE_DRAG_AND_DROP=no
4169     fi
4170
4171     if test "$wxUSE_MAC" = 1; then
4172         AC_MSG_WARN([Drag and drop is not yet supported under Mac OS X])
4173         wxUSE_DRAG_AND_DROP=no
4174     fi
4175
4176     if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
4177         AC_DEFINE(wxUSE_DRAG_AND_DROP)
4178         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
4179     fi
4180
4181 fi
4182
4183 if test "$wxUSE_SPLINES" = "yes" ; then
4184   AC_DEFINE(wxUSE_SPLINES)
4185 fi
4186
4187 dnl ---------------------------------------------------------------------------
4188 dnl GUI controls
4189 dnl ---------------------------------------------------------------------------
4190
4191 USES_CONTROLS=0
4192 if test "$wxUSE_CONTROLS" = "yes"; then
4193   USES_CONTROLS=1
4194 fi
4195
4196 if test "$wxUSE_ACCEL" = "yes"; then
4197   AC_DEFINE(wxUSE_ACCEL)
4198   USES_CONTROLS=1
4199 fi
4200
4201 if test "$wxUSE_BUTTON" = "yes"; then
4202   AC_DEFINE(wxUSE_BUTTON)
4203   USES_CONTROLS=1
4204 fi
4205
4206 if test "$wxUSE_BMPBUTTON" = "yes"; then
4207   AC_DEFINE(wxUSE_BMPBUTTON)
4208   USES_CONTROLS=1
4209 fi
4210
4211 if test "$wxUSE_CALCTRL" = "yes"; then
4212   AC_DEFINE(wxUSE_CALENDARCTRL)
4213   USES_CONTROLS=1
4214   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS calendar"
4215 fi
4216
4217 if test "$wxUSE_CARET" = "yes"; then
4218   AC_DEFINE(wxUSE_CARET)
4219   USES_CONTROLS=1
4220   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
4221 fi
4222
4223 if test "$wxUSE_COMBOBOX" = "yes"; then
4224   AC_DEFINE(wxUSE_COMBOBOX)
4225   USES_CONTROLS=1
4226 fi
4227
4228 if test "$wxUSE_CHOICE" = "yes"; then
4229   AC_DEFINE(wxUSE_CHOICE)
4230   USES_CONTROLS=1
4231 fi
4232
4233 if test "$wxUSE_CHECKBOX" = "yes"; then
4234   AC_DEFINE(wxUSE_CHECKBOX)
4235   USES_CONTROLS=1
4236 fi
4237
4238 if test "$wxUSE_CHECKLST" = "yes"; then
4239   AC_DEFINE(wxUSE_CHECKLISTBOX)
4240   USES_CONTROLS=1
4241   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
4242 fi
4243
4244 if test "$wxUSE_GAUGE" = "yes"; then
4245   AC_DEFINE(wxUSE_GAUGE)
4246   USES_CONTROLS=1
4247 fi
4248
4249 if test "$wxUSE_NEW_GRID" = "yes"; then
4250   wxUSE_GRID="yes"
4251   AC_DEFINE(wxUSE_NEW_GRID)
4252   USES_CONTROLS=1
4253   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS newgrid"
4254 fi
4255
4256 if test "$wxUSE_GRID" = "yes"; then
4257   AC_DEFINE(wxUSE_GRID)
4258   USES_CONTROLS=1
4259   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
4260 fi
4261
4262 if test "$wxUSE_IMAGLIST" = "yes"; then
4263     AC_DEFINE(wxUSE_IMAGLIST)
4264 fi
4265
4266 if test "$wxUSE_LISTBOX" = "yes"; then
4267     AC_DEFINE(wxUSE_LISTBOX)
4268     USES_CONTROLS=1
4269 fi
4270
4271 if test "$wxUSE_LISTCTRL" = "yes"; then
4272     if test "$wxUSE_IMAGLIST" = "yes"; then
4273         AC_DEFINE(wxUSE_LISTCTRL)
4274         USES_CONTROLS=1
4275         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
4276     else
4277         AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
4278     fi
4279 fi
4280
4281 if test "$wxUSE_NOTEBOOK" = "yes"; then
4282     AC_DEFINE(wxUSE_NOTEBOOK)
4283     USES_CONTROLS=1
4284     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
4285 fi
4286
4287 if test "$wxUSE_PROPSHEET" = "yes"; then
4288     AC_DEFINE(wxUSE_PROPSHEET)
4289     USES_CONTROLS=1
4290     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist"
4291 fi
4292
4293 if test "$wxUSE_RADIOBOX" = "yes"; then
4294     AC_DEFINE(wxUSE_RADIOBOX)
4295     USES_CONTROLS=1
4296 fi
4297
4298 if test "$wxUSE_RADIOBTN" = "yes"; then
4299     AC_DEFINE(wxUSE_RADIOBTN)
4300     USES_CONTROLS=1
4301 fi
4302
4303 if test "$wxUSE_SASH" = "yes"; then
4304     AC_DEFINE(wxUSE_SASH)
4305     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
4306 fi
4307
4308 if test "$wxUSE_SCROLLBAR" = "yes"; then
4309     AC_DEFINE(wxUSE_SCROLLBAR)
4310     USES_CONTROLS=1
4311     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
4312 fi
4313
4314 if test "$wxUSE_SLIDER" = "yes"; then
4315     AC_DEFINE(wxUSE_SLIDER)
4316     USES_CONTROLS=1
4317 fi
4318
4319 if test "$wxUSE_SPINBTN" = "yes"; then
4320     AC_DEFINE(wxUSE_SPINBTN)
4321     USES_CONTROLS=1
4322 fi
4323
4324 if test "$wxUSE_SPINCTRL" = "yes"; then
4325     AC_DEFINE(wxUSE_SPINCTRL)
4326     USES_CONTROLS=1
4327 fi
4328
4329 if test "$wxUSE_SPLITTER" = "yes"; then
4330     AC_DEFINE(wxUSE_SPLITTER)
4331     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
4332 fi
4333
4334 if test "$wxUSE_STATBMP" = "yes"; then
4335     AC_DEFINE(wxUSE_STATBMP)
4336     USES_CONTROLS=1
4337 fi
4338
4339 if test "$wxUSE_STATBOX" = "yes"; then
4340     AC_DEFINE(wxUSE_STATBOX)
4341     USES_CONTROLS=1
4342 fi
4343
4344 if test "$wxUSE_STATTEXT" = "yes"; then
4345     AC_DEFINE(wxUSE_STATTEXT)
4346     USES_CONTROLS=1
4347 fi
4348
4349 if test "$wxUSE_STATLINE" = "yes"; then
4350     if test "$wxUSE_WINE" = 1 ; then
4351         AC_MSG_WARN([wxStaticLine is not supported under WINE])
4352     else
4353         AC_DEFINE(wxUSE_STATLINE)
4354         USES_CONTROLS=1
4355     fi
4356 fi
4357
4358 if test "$wxUSE_STATUSBAR" = "yes"; then
4359     AC_DEFINE(wxUSE_STATUSBAR)
4360     USES_CONTROLS=1
4361
4362     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
4363 fi
4364
4365 if test "$wxUSE_TABDIALOG" = "yes"; then
4366     AC_DEFINE(wxUSE_TAB_DIALOG)
4367     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
4368 fi
4369
4370 if test "$wxUSE_TEXTCTRL" = "yes"; then
4371     AC_DEFINE(wxUSE_TEXTCTRL)
4372     USES_CONTROLS=1
4373     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS text"
4374 fi
4375
4376 if test "$wxUSE_TOGGLEBTN" = "yes"; then
4377     if test "$wxUSE_MAC" = 1 -o "$wxUSE_UNIVERSAL" = "yes"; then
4378         AC_MSG_WARN([Toggle button not yet supported under Mac OS X or wxUNIVERSAL... disabled])
4379         wxUSE_TOGGLEBTN=no
4380     fi
4381
4382     if test "$wxUSE_TOGGLEBTN" = "yes"; then
4383         AC_DEFINE(wxUSE_TOGGLEBTN)
4384         USES_CONTROLS=1
4385     fi
4386 fi
4387
4388 if test "$wxUSE_TOOLBAR_SIMPLE" = "yes"; then
4389     AC_DEFINE(wxUSE_TOOLBAR_SIMPLE)
4390     wxUSE_TOOLBAR="yes"
4391     USES_CONTROLS=1
4392 fi
4393
4394 if test "$wxUSE_TOOLBAR" = "yes"; then
4395     AC_DEFINE(wxUSE_TOOLBAR)
4396     USES_CONTROLS=1
4397
4398     dnl if wxUSE_TOOLBAR and !wxUSE_TOOLBAR_SIMPLE => wxUSE_TOOLBAR_NATIVE
4399     if test "$wxUSE_TOOLBAR_SIMPLE" != "yes"; then
4400         wxUSE_TOOLBAR_NATIVE="yes"
4401     fi
4402
4403     if test "$wxUSE_TOOLBAR_NATIVE" = "yes"; then
4404         AC_DEFINE(wxUSE_TOOLBAR_NATIVE)
4405         USES_CONTROLS=1
4406     fi
4407
4408     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
4409 fi
4410
4411 if test "$wxUSE_TOOLTIPS" = "yes"; then
4412     if test "$wxUSE_MOTIF" = 1; then
4413         AC_MSG_WARN(wxTooltip not supported yet under Motif)
4414     else
4415         if test "$wxUSE_WINE" = 1; then
4416             AC_MSG_WARN(wxTooltip not supported under WINE)
4417         else
4418             AC_DEFINE(wxUSE_TOOLTIPS)
4419         fi
4420     fi
4421 fi
4422
4423 if test "$wxUSE_TREECTRL" = "yes"; then
4424     if test "$wxUSE_IMAGLIST" = "yes"; then
4425         AC_DEFINE(wxUSE_TREECTRL)
4426         USES_CONTROLS=1
4427         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
4428     else
4429         AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
4430     fi
4431 fi
4432
4433 if test "$wxUSE_POPUPWIN" = "yes"; then
4434     if test "$wxUSE_MAC" = 1; then
4435         AC_MSG_WARN(Popup window is not yet supported under Mac OS)
4436     else
4437         AC_DEFINE(wxUSE_POPUPWIN)
4438         USES_CONTROLS=1
4439     fi
4440 fi
4441
4442 if test "$USES_CONTROLS" = 1; then
4443     AC_DEFINE(wxUSE_CONTROLS)
4444 fi
4445
4446 dnl ---------------------------------------------------------------------------
4447 dnl misc options
4448 dnl ---------------------------------------------------------------------------
4449
4450 if test "$wxUSE_TREELAYOUT" = "yes"; then
4451     AC_DEFINE(wxUSE_TREELAYOUT)
4452     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treelay"
4453 fi
4454
4455 if test "$wxUSE_DRAGIMAGE" = "yes"; then
4456     AC_DEFINE(wxUSE_DRAGIMAGE)
4457     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
4458 fi
4459
4460 if test "$wxUSE_MENUS" = "yes"; then
4461     AC_DEFINE(wxUSE_MENUS)
4462     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu"
4463 fi
4464
4465 if test "$wxUSE_METAFILE" = "yes"; then
4466     AC_DEFINE(wxUSE_METAFILE)
4467 fi
4468
4469 if test "$wxUSE_MIMETYPE" = "yes"; then
4470     AC_DEFINE(wxUSE_MIMETYPE)
4471 fi
4472
4473 if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
4474     AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
4475 fi
4476
4477 if test "$wxUSE_MINIFRAME" = "yes"; then
4478     AC_DEFINE(wxUSE_MINIFRAME)
4479     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
4480 fi
4481
4482 if test "$wxUSE_HTML" = "yes"; then
4483     AC_DEFINE(wxUSE_HTML)
4484     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html"
4485 fi
4486
4487 if test "$wxUSE_VALIDATORS" = "yes"; then
4488     AC_DEFINE(wxUSE_VALIDATORS)
4489     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
4490 fi
4491
4492 if test "$wxUSE_PALETTE" = "yes" ; then
4493   AC_DEFINE(wxUSE_PALETTE)
4494 fi
4495
4496 if test "$wxUSE_IMAGE" = "yes" ; then
4497   AC_DEFINE(wxUSE_IMAGE)
4498 fi
4499
4500 if test "$wxUSE_GIF" = "yes" ; then
4501   AC_DEFINE(wxUSE_GIF)
4502 fi
4503
4504 if test "$wxUSE_PCX" = "yes" ; then
4505   AC_DEFINE(wxUSE_PCX)
4506 fi
4507
4508 if test "$wxUSE_PNM" = "yes" ; then
4509   AC_DEFINE(wxUSE_PNM)
4510 fi
4511
4512 if test "$wxUSE_XPM" = "yes" ; then
4513   AC_DEFINE(wxUSE_XPM)
4514 fi
4515
4516 dnl ---------------------------------------------------------------------------
4517 dnl common dialog
4518 dnl ---------------------------------------------------------------------------
4519
4520 if test "$wxUSE_CHOICEDLG" = "yes"; then
4521     AC_DEFINE(wxUSE_CHOICEDLG)
4522 fi
4523
4524 if test "$wxUSE_COLOURDLG" = "yes"; then
4525     AC_DEFINE(wxUSE_COLOURDLG)
4526 fi
4527
4528 if test "$wxUSE_FILEDLG" = "yes"; then
4529     AC_DEFINE(wxUSE_FILEDLG)
4530 fi
4531
4532 if test "$wxUSE_FINDREPLDLG" = "yes"; then
4533     AC_DEFINE(wxUSE_FINDREPLDLG)
4534 fi
4535
4536 if test "$wxUSE_FONTDLG" = "yes"; then
4537     AC_DEFINE(wxUSE_FONTDLG)
4538 fi
4539
4540 if test "$wxUSE_DIRDLG" = "yes"; then
4541     if test "$wxUSE_CONSTRAINTS" != "yes"; then
4542        AC_MSG_WARN(wxDirDialog requires constraints so it won't be compiled without them)
4543     else
4544         if test "$wxUSE_TREECTRL" != "yes"; then
4545             AC_MSG_WARN(wxDirDialog requires wxTreeCtrl so it won't be compiled without it)
4546         else
4547             AC_DEFINE(wxUSE_DIRDLG)
4548         fi
4549     fi
4550 fi
4551
4552 if test "$wxUSE_MSGDLG" = "yes"; then
4553     AC_DEFINE(wxUSE_MSGDLG)
4554 fi
4555
4556 if test "$wxUSE_NUMBERDLG" = "yes"; then
4557     AC_DEFINE(wxUSE_NUMBERDLG)
4558 fi
4559
4560 if test "$wxUSE_PROGRESSDLG" = "yes"; then
4561     if test "$wxUSE_CONSTRAINTS" != "yes"; then
4562        AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them)
4563     else
4564         AC_DEFINE(wxUSE_PROGRESSDLG)
4565     fi
4566 fi
4567
4568 if test "$wxUSE_SPLASH" = "yes"; then
4569     AC_DEFINE(wxUSE_SPLASH)
4570 fi
4571
4572 if test "$wxUSE_STARTUP_TIPS" = "yes"; then
4573     if test "$wxUSE_CONSTRAINTS" != "yes"; then
4574        AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them)
4575     else
4576         AC_DEFINE(wxUSE_STARTUP_TIPS)
4577     fi
4578 fi
4579
4580 if test "$wxUSE_TEXTDLG" = "yes"; then
4581     AC_DEFINE(wxUSE_TEXTDLG)
4582 fi
4583
4584 if test "$wxUSE_WIZARDDLG" = "yes"; then
4585     AC_DEFINE(wxUSE_WIZARDDLG)
4586     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wizard"
4587 fi
4588
4589 dnl ---------------------------------------------------------------------------
4590 dnl get the string with OS info - used by wxGetOsDescription()
4591 dnl ---------------------------------------------------------------------------
4592
4593 if test "$cross_compiling" = "yes"; then
4594     dnl Use best guess from host as we can't use uname when cross compiling
4595     OSINFO="\"$host\""
4596 else
4597     dnl attualy work out OS version
4598     OSINFO=`uname -s -r -m`
4599     OSINFO="\"$OSINFO\""
4600 fi
4601
4602 AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
4603
4604 dnl ---------------------------------------------------------------------------
4605 dnl define the variable containing the installation prefix (used in dcpsg.cpp)
4606 dnl ---------------------------------------------------------------------------
4607
4608 if test "x$prefix" != "xNONE"; then
4609     wxPREFIX=$prefix
4610 else
4611     wxPREFIX=$ac_default_prefix
4612 fi
4613
4614 AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX")
4615
4616 dnl ---------------------------------------------------------------------------
4617 dnl Output the makefiles and such from the results found above
4618 dnl ---------------------------------------------------------------------------
4619
4620 GUILIBS="$GUI_TK_LIBRARY $TOOLKIT_LINK"
4621
4622 dnl all additional libraries (except wxWindows itself) we link with
4623 dnl
4624 dnl note that we always link with -lm except for Mac OS X
4625 dnl extended.c uses floor() and is always linked in
4626 EXTRA_LIBS="$EXTRA_LIBS $LIBS $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK $ZLIB_LINK -lm"
4627
4628 if test "$wxUSE_MAC" = 1 ; then
4629     EXTRA_LIBS="$EXTRA_LIBS -framework Carbon -framework System"
4630 fi
4631
4632 if test "$wxUSE_GUI" = "yes"; then
4633     EXTRA_LIBS="$GUILIBS $PNG_LINK $JPEG_LINK $TIFF_LINK $FREETYPE_LINK $EXTRA_LIBS"
4634
4635     dnl TODO add checks that these samples will really compile (i.e. all the
4636     dnl      library features they need are present)
4637
4638     dnl TODO some samples are never built so far:
4639     dnl      ipc, mfc, nativdlg, oleauto, ownerdrw
4640     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS controls dialogs \
4641                      drawing dynamic erase event exec font image \
4642                      minimal richedit rotate widgets"
4643
4644     dnl this is needed to be able to find AFM files
4645     CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)"
4646 else
4647     SAMPLES_SUBDIRS="console"
4648 fi
4649
4650 dnl all the libraries needed to link wxWindows programs when using the
4651 dnl makefile system without libtool
4652 LD_LIBS="\${top_builddir}/lib/${WX_LIBRARY_NAME_STATIC} $EXTRA_LIBS"
4653
4654 dnl all -I options we must pass to the compiler
4655 INCLUDES="-I\${top_builddir}/lib/wx/include/${TOOLCHAIN_NAME} -I\${top_srcdir}/include \
4656 $REGEX_INCLUDE $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE \
4657 $FREETYPE_INCLUDE $TOOLKIT_INCLUDE"
4658
4659 dnl wxGTK does not need TOOLKIT includes in wx-config
4660 if test "$wxUSE_GTK" = 1; then
4661     WXCONFIG_INCLUDE=""
4662 else
4663     WXCONFIG_INCLUDE="$TOOLKIT_INCLUDE"
4664 fi
4665
4666 dnl C/C++ compiler options used to compile wxWindows
4667 if test "$GXX" = yes ; then
4668     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
4669     CXXWARNINGS="-Wall"
4670     dnl should enable this one day...
4671     dnl CXXWARNINGS="-Wall -Werror"
4672 fi
4673 EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE $INCLUDES"
4674
4675 CFLAGS=`echo $CFLAGS $EXTRA_CFLAGS $CXXWARNINGS | sed 's/ \\+/ /g'`
4676 CXXFLAGS=`echo $CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
4677
4678 LDFLAGS="$LDFLAGS $PROFILE"
4679
4680 dnl for convenience, sort the samples in alphabetical order
4681 dnl
4682 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
4683 dnl       in this list - hence uniq. But normally, this shouldn't be needed!
4684 dnl
4685 dnl       Unfortunately, there is a bug in OS/2's tr, such that
4686 dnl       tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
4687 dnl       only removes the Unix-like part of the introduced line break.
4688 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
4689
4690 dnl makefile variables
4691 AC_SUBST(LEX_STEM)
4692 AC_SUBST(PATH_IFS)
4693
4694 dnl global options
4695 AC_SUBST(WX_MAJOR_VERSION_NUMBER)
4696 AC_SUBST(WX_MINOR_VERSION_NUMBER)
4697 AC_SUBST(WX_RELEASE_NUMBER)
4698 AC_SUBST(WX_LIBRARY_NAME_STATIC)
4699 AC_SUBST(WX_LIBRARY_NAME_SHARED)
4700 AC_SUBST(WX_LIBRARY_IMPORTLIB)
4701 AC_SUBST(WX_TARGET_LIBRARY)
4702 AC_SUBST(WX_LIBRARY_LINK1)
4703 AC_SUBST(WX_LIBRARY_LINK2)
4704 AC_SUBST(PROGRAM_EXT)
4705
4706 dnl global gl options
4707 AC_SUBST(WX_LIBRARY_NAME_STATIC_GL)
4708 AC_SUBST(WX_LIBRARY_NAME_SHARED_GL)
4709 AC_SUBST(WX_TARGET_LIBRARY_GL)
4710 AC_SUBST(WX_LIBRARY_LINK1_GL)
4711 AC_SUBST(WX_LIBRARY_LINK2_GL)
4712
4713 dnl are we supposed to create the links?
4714 AC_SUBST(WX_ALL)
4715 AC_SUBST(WX_ALL_INSTALLED)
4716
4717 AC_SUBST(SHARED_LD)
4718 AC_SUBST(PIC_FLAG)
4719 AC_SUBST(CODE_GEN_FLAGS)
4720 AC_SUBST(CODE_GEN_FLAGS_CXX)
4721
4722 AC_SUBST(SONAME_FLAGS)
4723 AC_SUBST(SONAME_FLAGS_GL)
4724 AC_SUBST(WX_TARGET_LIBRARY_SONAME)
4725 AC_SUBST(WX_TARGET_LIBRARY_TYPE)
4726
4727 dnl debugging options
4728 AC_SUBST(WXDEBUG_DEFINE)
4729
4730 dnl toolkit options
4731 AC_SUBST(USE_GUI)
4732 AC_SUBST(AFMINSTALL)
4733 AC_SUBST(TOOLKIT)
4734 AC_SUBST(TOOLKIT_DIR)
4735 AC_SUBST(TOOLKIT_VPATH)
4736 AC_SUBST(TOOLCHAIN_NAME)
4737 AC_SUBST(TOOLCHAIN_DEFS)
4738
4739 dnl wx-config options
4740 AC_SUBST(host_alias)
4741 AC_SUBST(cross_compiling)
4742 AC_SUBST(WXCONFIG_LIBS)
4743 AC_SUBST(WXCONFIG_LIBS_GL)
4744 AC_SUBST(WXCONFIG_INCLUDE)
4745
4746 dnl what to compile
4747 AC_SUBST(ALL_OBJECTS)
4748
4749 dnl distribution vars
4750 AC_SUBST(GUIDIST)
4751 AC_SUBST(PORT_FILES)
4752 AC_SUBST(DISTDIR)
4753 AC_SUBST(RPM_SPEC)
4754 AC_SUBST(RPM_FILES)
4755
4756 dnl additional subdirectories where we will build
4757 AC_SUBST(SAMPLES_SUBDIRS)
4758
4759 dnl additional libraries and linker settings
4760 AC_SUBST(LDFLAGS)
4761 AC_SUBST(EXTRA_LIBS)
4762 AC_SUBST(OPENGL_LIBS)
4763 AC_SUBST(EXTRADEFS)
4764 AC_SUBST(LIBS)
4765 AC_SUBST(LD_LIBS)
4766
4767 dnl additional resurces settings
4768 AC_SUBST(RESCOMP)
4769 AC_SUBST(RESFLAGS)
4770 AC_SUBST(RESPROGRAMOBJ)
4771 AC_SUBST(WX_RESOURCES_MACOSX)
4772 AC_SUBST(WX_RESOURCES_MACOSX_COMPILED)
4773
4774 dnl additional for Mac OS X
4775 AC_SUBST(DEREZ)
4776 AC_SUBST(LIBWXMACRES)
4777 AC_SUBST(LIBWXMACRESCOMP)
4778 AC_SUBST(LIBWXMACRESWXCONFIG)
4779
4780 dnl These seem to be missing
4781 AC_SUBST(DLLTOOL)
4782 AC_SUBST(AS)
4783 AC_SUBST(NM)
4784 AC_SUBST(LD)
4785 AC_SUBST(MAKEINFO)
4786
4787
4788 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
4789 dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
4790 dnl - and we do use it)
4791 AC_PROG_MAKE_SET
4792
4793 dnl move setup.h back if available
4794 if test -f lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h; then
4795     mv -f lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h setup.h
4796 fi
4797
4798 AC_CONFIG_HEADER(setup.h:setup.h.in)
4799
4800 dnl some more GUI only things
4801 if test "$wxUSE_GUI" = "yes"; then
4802     dnl we need to pass SAMPLES_SUBDIRS (and some other) to the configure in
4803     dnl samples and the only way to do it is, again, use the cache
4804     wx_cv_path_samplesubdirs=$SAMPLES_SUBDIRS
4805     wx_cv_path_ifs=$PATH_IFS
4806     wx_cv_program_ext=$PROGRAM_EXT
4807     wx_cv_target_library=$WX_TARGET_LIBRARY
4808     wx_cv_target_library_gl=$WX_TARGET_LIBRARY_GL
4809     wx_cv_target_libtype=$WX_TARGET_LIBRARY_TYPE
4810     dnl we need to export them because passing them through cache won't
4811     dnl work when cache=/dev/null (which is default for autoconf 2.50)
4812     export wx_cv_path_samplesubdirs wx_cv_path_ifs wx_cv_program_ext \
4813            wx_cv_target_library wx_cv_target_library_gl wx_cv_target_libtype
4814     AC_CONFIG_SUBDIRS(demos samples utils contrib)
4815 fi
4816
4817 dnl create each of the files in the space separated list from the file.in
4818 dnl (the original file name may be overriden by appending another name after a
4819 dnl colon)
4820 AC_OUTPUT([
4821             wx-config
4822             src/make.env
4823             src/makeprog.env
4824             src/makelib.env
4825             Makefile
4826           ],
4827           [
4828             dnl This test is required to make the following idempotent.
4829             dnl Otherwise running config.status or rerunning configure
4830             dnl would stomp the wx-config link or try to move it onto
4831             dnl itself.
4832             dnl Use -h instead of -L to test for link (GD)
4833             dnl   -h is documented as obsolete under Mac OS X but works
4834             dnl   -L is obsolete under Solaris8
4835             if test ! -h wx-config; then
4836                 chmod +x wx-config
4837                 mv wx-config wx${TOOLCHAIN_NAME}-config
4838                 ${LN_S} wx${TOOLCHAIN_NAME}-config wx-config
4839             fi
4840
4841             if test ! -d lib; then
4842               mkdir lib
4843             fi
4844             if test ! -d lib/wx; then
4845               mkdir lib/wx
4846             fi
4847             if test ! -d lib/wx/include; then
4848               mkdir lib/wx/include
4849             fi
4850             if test ! -d lib/wx/include/${TOOLCHAIN_NAME}; then
4851               mkdir lib/wx/include/${TOOLCHAIN_NAME}
4852             fi
4853             if test ! -d lib/wx/include/${TOOLCHAIN_NAME}/wx; then
4854               mkdir lib/wx/include/${TOOLCHAIN_NAME}/wx
4855             fi
4856             if test -f setup.h; then
4857               mv -f setup.h lib/wx/include/${TOOLCHAIN_NAME}/wx/setup.h
4858             fi
4859           ],
4860           [
4861             TOOLCHAIN_NAME="${TOOLCHAIN_NAME}"
4862             LN_S="${LN_S}"
4863           ]
4864          )
4865
4866 dnl vi: set et sts=4 sw=4: