Committing in .
[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 and
7 dnl Vadim Zeitlin
8 dnl
9 dnl This script is under the wxWindows licence.
10 dnl
11 dnl Version: $Id$
12 dnl ---------------------------------------------------------------------------
13
14 dnl ---------------------------------------------------------------------------
15 dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
16 dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS. Uses variables
17 dnl gtk_config_prefix and/or gtk_config_exec_prefix if defined.
18 dnl ---------------------------------------------------------------------------
19 dnl
20 AC_DEFUN(AM_PATH_GTK,
21 [
22   if test x$gtk_config_exec_prefix != x ; then
23      gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
24      if test x${GTK_CONFIG+set} != xset ; then
25         GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
26      fi
27   fi
28   if test x$gtk_config_prefix != x ; then
29      gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
30      if test x${GTK_CONFIG+set} != xset ; then
31         GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
32      fi
33   fi
34
35   AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
36   min_gtk_version=ifelse([$1], ,0.99.7,$1)
37   AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
38   no_gtk=""
39   if test "$GTK_CONFIG" != "no" ; then
40     GTK_CFLAGS=`$GTK_CONFIG --cflags`
41     GTK_LIBS=`$GTK_CONFIG --libs gthread`
42     ac_save_CFLAGS="$CFLAGS"
43     ac_save_LIBS="$LIBS"
44     CFLAGS="$CFLAGS $GTK_CFLAGS"
45     LIBS="$LIBS $GTK_LIBS"
46 dnl
47 dnl Now check if the installed GTK is sufficiently new. (Also sanity
48 dnl checks the results of gtk-config to some extent)
49 dnl
50     AC_TRY_RUN([
51 #include <gtk/gtk.h>
52 #include <gtk/gtkfeatures.h>
53 #include <stdio.h>
54
55 int
56 main ()
57 {
58   int major, minor, micro;
59
60   if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
61      printf("%s, bad version string\n", "$min_gtk_version");
62      exit(1);
63    }
64
65    if ((GTK_MAJOR_VERSION != gtk_major_version) ||
66        (GTK_MINOR_VERSION != gtk_minor_version) ||
67        (GTK_MICRO_VERSION != gtk_micro_version)) {
68      printf("Headers vs. library version mismatch!\n");
69      exit(1);
70    }
71
72    if (gtk_minor_version == 1) return FALSE;
73
74    return !((gtk_major_version > major) ||
75     ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
76     ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
77 }
78 ],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
79      CFLAGS="$ac_save_CFLAGS"
80      LIBS="$ac_save_LIBS"
81   else
82      no_gtk=yes
83   fi
84   if test "x$no_gtk" = x ; then
85      AC_MSG_RESULT(yes)
86      ifelse([$2], , :, [$2])
87   else
88      AC_MSG_RESULT(no)
89      GTK_CFLAGS=""
90      GTK_LIBS=""
91      ifelse([$3], , :, [$3])
92   fi
93   AC_SUBST(GTK_CFLAGS)
94   AC_SUBST(GTK_LIBS)
95 ])
96
97 dnl ===========================================================================
98 dnl macros to find the a file in the list of include/lib paths
99 dnl ===========================================================================
100
101 dnl ---------------------------------------------------------------------------
102 dnl call WX_PATH_FIND_INCLUDES(search path, header name), sets ac_find_includes
103 dnl to the full name of the file that was found or leaves it empty if not found
104 dnl ---------------------------------------------------------------------------
105 AC_DEFUN(WX_PATH_FIND_INCLUDES,
106 [
107 ac_find_includes=
108 for ac_dir in $1;
109   do
110     if test -f "$ac_dir/$2"; then
111       ac_find_includes=$ac_dir
112       break
113     fi
114   done
115 ])
116
117 dnl ---------------------------------------------------------------------------
118 dnl call WX_PATH_FIND_LIBRARIES(search path, header name), sets ac_find_includes
119 dnl to the full name of the file that was found or leaves it empty if not found
120 dnl ---------------------------------------------------------------------------
121 AC_DEFUN(WX_PATH_FIND_LIBRARIES,
122 [
123 ac_find_libraries=
124 for ac_dir in $1;
125   do
126     for ac_extension in a so sl; do
127       if test -f "$ac_dir/lib$2.$ac_extension"; then
128         ac_find_libraries=$ac_dir
129         break 2
130       fi
131     done
132   done
133 ])
134
135 dnl ---------------------------------------------------------------------------
136 dnl Path to include, already defined
137 dnl ---------------------------------------------------------------------------
138 AC_DEFUN(WX_INCLUDE_PATH_EXIST,
139 [
140   ac_path_to_include=$1
141   echo "$2" | grep "\-I$1" > /dev/null
142   result=$?
143   if test $result = 0; then
144     ac_path_to_include=""
145   else
146     ac_path_to_include="-I$1"
147   fi
148 ])
149
150 dnl ---------------------------------------------------------------------------
151 dnl Path to link, already defined
152 dnl ---------------------------------------------------------------------------
153 AC_DEFUN(WX_LINK_PATH_EXIST,
154 [
155   echo "$2" | grep "\-L$1" > /dev/null
156   result=$?
157   if test $result = 0; then
158     ac_path_to_link=""
159   else
160     ac_path_to_link="-L$1"
161   fi
162 ])
163
164 dnl ===========================================================================
165 dnl C++ features test
166 dnl ===========================================================================
167
168 dnl ---------------------------------------------------------------------------
169 dnl WX_CPP_NEW_HEADERS checks whether the compiler has "new" <iostream> header
170 dnl or only the old <iostream.h> one - it may be generally assumed that if
171 dnl <iostream> exists, the other "new" headers (without .h) exist too.
172 dnl
173 dnl call WX_CPP_NEW_HEADERS(actiof-if-true, action-if-false-or-cross-compiling)
174 dnl ---------------------------------------------------------------------------
175
176 AC_DEFUN(WX_CPP_NEW_HEADERS,
177 [
178   if test "$cross_compiling" = "yes"; then
179     ifelse([$2], , :, [$2])
180   else
181     AC_LANG_SAVE
182     AC_LANG_CPLUSPLUS
183
184     AC_CHECK_HEADERS(iostream)
185
186     if test "x$HAVE_IOSTREAM" = x ; then
187       ifelse([$2], , :, [$2])
188     else
189       ifelse([$1], , :, [$1])
190     fi
191
192     AC_LANG_RESTORE
193   fi
194 ])
195
196 dnl ---------------------------------------------------------------------------
197 dnl WX_CPP_BOOL checks whether the C++ compiler has a built in bool type
198 dnl
199 dnl call WX_CPP_BOOL - will define HAVE_BOOL if the compiler supports bool
200 dnl ---------------------------------------------------------------------------
201
202 AC_DEFUN(WX_CPP_BOOL,
203 [
204   AC_CACHE_CHECK([if C++ compiler supports bool], wx_cv_cpp_bool,
205   [
206     AC_LANG_SAVE
207     AC_LANG_CPLUSPLUS
208
209     AC_TRY_COMPILE(
210       [
211       ],
212       [
213         bool b = true;
214
215         return 0;
216       ],
217       [
218         AC_DEFINE(HAVE_BOOL)
219         wx_cv_cpp_bool=yes
220       ],
221       [
222         wx_cv_cpp_bool=no
223       ]
224     )
225
226     AC_LANG_RESTORE
227   ])
228
229   if test "$wx_cv_cpp_bool" = "yes"; then
230     AC_DEFINE(HAVE_BOOL)
231   fi
232 ])
233
234 dnl ---------------------------------------------------------------------------
235 dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
236 dnl ---------------------------------------------------------------------------
237
238 AC_DEFUN(WX_C_BIGENDIAN,
239 [AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
240 [ac_cv_c_bigendian=unknown
241 # See if sys/param.h defines the BYTE_ORDER macro.
242 AC_TRY_COMPILE([#include <sys/types.h>
243 #include <sys/param.h>], [
244 #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
245  bogus endian macros
246 #endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
247 AC_TRY_COMPILE([#include <sys/types.h>
248 #include <sys/param.h>], [
249 #if BYTE_ORDER != BIG_ENDIAN
250  not big endian
251 #endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
252 if test $ac_cv_c_bigendian = unknown; then
253 AC_TRY_RUN([main () {
254   /* Are we little or big endian?  From Harbison&Steele.  */
255   union
256   {
257     long l;
258     char c[sizeof (long)];
259   } u;
260   u.l = 1;
261   exit (u.c[sizeof (long) - 1] == 1);
262 }], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes, ac_cv_c_bigendian=unknown)
263 fi])
264 if test $ac_cv_c_bigendian = unknown; then
265   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])
266 fi
267 if test $ac_cv_c_bigendian = yes; then
268   AC_DEFINE(WORDS_BIGENDIAN)
269 fi
270 ])
271
272 dnl ---------------------------------------------------------------------------
273 dnl override AC_ARG_ENABLE/WITH to cache the results in .cache file
274 dnl ---------------------------------------------------------------------------
275
276 AC_DEFUN(WX_ARG_CACHE_INIT,
277         [
278           wx_arg_cache_file="configarg.cache"
279           echo "loading argument cache $wx_arg_cache_file"
280           rm -f ${wx_arg_cache_file}.tmp
281           touch ${wx_arg_cache_file}.tmp
282           touch ${wx_arg_cache_file}
283         ])
284
285 AC_DEFUN(WX_ARG_CACHE_FLUSH,
286         [
287           echo "saving argument cache $wx_arg_cache_file"
288           mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
289         ])
290
291 dnl this macro checks for a three-valued command line --with argument:
292 dnl   possible arguments are 'yes', 'no', or 'sys'
293 dnl usage: WX_ARG_SYS_WITH(option, helpmessage, variable-name)
294 AC_DEFUN(WX_ARG_SYS_WITH,
295         [
296           AC_MSG_CHECKING("for --with-$1")
297           no_cache=0
298           AC_ARG_WITH($1, $2,
299                       [
300                         if test "$withval" = yes; then
301                           ac_cv_use_$1='$3=yes'
302                         elif test "$withval" = no; then
303                           ac_cv_use_$1='$3=no'
304                         elif test "$withval" = sys; then
305                           ac_cv_use_$1='$3=sys'
306                         else
307                           AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no or sys])
308                         fi
309                       ],
310                       [
311                         LINE=`grep "$3" ${wx_arg_cache_file}`
312                         if test "x$LINE" != x ; then
313                           eval "DEFAULT_$LINE"
314                         else
315                           no_cache=1
316                         fi
317
318                         ac_cv_use_$1='$3='$DEFAULT_$3
319                       ])
320
321           eval "$ac_cv_use_$1"
322           if test "$no_cache" != 1; then
323             echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
324           fi
325
326           if test "$$3" = yes; then
327             AC_MSG_RESULT(yes)
328           elif test "$$3" = no; then
329             AC_MSG_RESULT(no)
330           elif test "$$3" = sys; then
331             AC_MSG_RESULT(system version)
332           else
333             AC_MSG_ERROR([Invalid value for --with-$1: should be yes, no or sys])
334           fi
335         ])
336
337 dnl this macro checks for a command line argument and caches the result
338 dnl usage: WX_ARG_WITH(option, helpmessage, variable-name)
339 AC_DEFUN(WX_ARG_WITH,
340         [
341           AC_MSG_CHECKING("for --with-$1")
342           no_cache=0
343           AC_ARG_WITH($1, $2,
344                       [
345                         if test "$withval" = yes; then
346                           ac_cv_use_$1='$3=yes'
347                         else
348                           ac_cv_use_$1='$3=no'
349                         fi
350                       ],
351                       [
352                         LINE=`grep "$3" ${wx_arg_cache_file}`
353                         if test "x$LINE" != x ; then
354                           eval "DEFAULT_$LINE"
355                         else
356                           no_cache=1
357                         fi
358
359                         ac_cv_use_$1='$3='$DEFAULT_$3
360                       ])
361
362           eval "$ac_cv_use_$1"
363           if test "$no_cache" != 1; then
364             echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
365           fi
366
367           if test "$$3" = yes; then
368             AC_MSG_RESULT(yes)
369           else
370             AC_MSG_RESULT(no)
371           fi
372         ])
373
374 dnl like WX_ARG_WITH but uses AC_ARG_ENABLE instead of AC_ARG_WITH
375 dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name)
376 AC_DEFUN(WX_ARG_ENABLE,
377         [
378           AC_MSG_CHECKING("for --enable-$1")
379           no_cache=0
380           AC_ARG_ENABLE($1, $2,
381                         [
382                           if test "$enableval" = yes; then
383                             ac_cv_use_$1='$3=yes'
384                           else
385                             ac_cv_use_$1='$3=no'
386                           fi
387                         ],
388                         [
389                           LINE=`grep "$3" ${wx_arg_cache_file}`
390                           if test "x$LINE" != x ; then
391                             eval "DEFAULT_$LINE"
392                           else
393                             no_cache=1
394                           fi
395
396                           ac_cv_use_$1='$3='$DEFAULT_$3
397                         ])
398
399           eval "$ac_cv_use_$1"
400           if test "$no_cache" != 1; then
401             echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
402           fi
403
404           if test "$$3" = yes; then
405             AC_MSG_RESULT(yes)
406           else
407             AC_MSG_RESULT(no)
408           fi
409         ])
410
411 dnl -
412 dnl - GNU libc extension (added by GL)
413 dnl -
414
415 AC_DEFUN(WX_GNU_EXTENSIONS,
416 [
417 AC_MSG_CHECKING([if you need GNU extensions])
418 AC_CACHE_VAL(wx_cv_gnu_extensions,[
419    AC_TRY_COMPILE([#include <features.h>],[
420
421 #ifndef __GNU_LIBRARY__
422  Compile error wanted
423 #endif
424
425 ],
426   [wx_cv_gnu_extensions=yes],
427   [wx_cv_gnu_extensions=no])
428 ])
429
430 AC_MSG_RESULT($wx_cv_gnu_extensions)
431 if test "$wx_cv_gnu_extensions" = "yes"; then
432   AC_DEFINE_UNQUOTED(_GNU_SOURCE)
433 fi
434 ])
435
436
437 dnl ---------------------------------------------------------------------------
438 dnl initialization
439 dnl ---------------------------------------------------------------------------
440
441 dnl the file passed to AC_INIT should be specific to our package
442 AC_INIT(wx-config.in)
443
444 AC_CANONICAL_SYSTEM
445
446 dnl When making releases do:
447 dnl
448 dnl WX_RELEASE_NUMBER += 1
449 dnl WX_INTERFACE_AGE += 1
450 dnl WX_BINARY_AGE += 1
451 dnl
452 dnl if any functions have been added, do:
453 dnl
454 dnl WX_INTERFACE_AGE = 0
455
456 WX_MAJOR_VERSION_NUMBER=2
457 WX_MINOR_VERSION_NUMBER=1
458 WX_RELEASE_NUMBER=14
459
460 WX_INTERFACE_AGE=0
461 WX_BINARY_AGE=0
462
463 WX_VERSION=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER.$WX_RELEASE_NUMBER
464
465 dnl wxWindows shared library versioning
466 WX_RELEASE=$WX_MAJOR_VERSION_NUMBER.$WX_MINOR_VERSION_NUMBER
467 WX_CURRENT=`expr $WX_RELEASE_NUMBER - $WX_INTERFACE_AGE`
468 WX_REVISION=$WX_INTERFACE_AGE
469 WX_AGE=`expr $WX_BINARY_AGE - $WX_INTERFACE_AGE`
470
471 dnl ------------------------------------------------------------------------
472 dnl Check platform (host system)
473 dnl ------------------------------------------------------------------------
474
475 dnl assume Unix
476 USE_UNIX=1
477 USE_WIN32=0
478 USE_BEOS=0
479
480 USE_LINUX=
481 USE_SGI=
482 USE_HPUX=
483 USE_SYSV=
484 USE_SVR4=
485 USE_AIX=
486 USE_SUN=
487 USE_SOLARIS=
488 USE_SUNOS=
489 USE_ALPHA=
490 USE_OSF=
491 USE_BSD=
492 USE_FREEBSD=
493 USE_VMS=
494 USE_ULTRIX=
495 USE_CYGWIN=
496 USE_MINGW=
497 USE_DATA_GENERAL=
498
499 dnl on some platforms xxx_r() functions are declared inside "#ifdef
500 dnl _REENTRANT" and it's easier to just define this symbol for these platforms
501 dnl than checking it during run-time
502 NEEDS_D_REENTRANT_FOR_R_FUNCS=0
503
504 dnl the list of all available toolkits
505 ALL_TOOLKITS="CYGWIN GTK MINGW MOTIF WINE PM"
506
507 dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
508 dnl     which are either yes or no
509 DEFAULT_wxUSE_GTK=0
510 DEFAULT_wxUSE_MOTIF=0
511 DEFAULT_wxUSE_MSW=0
512 DEFAULT_wxUSE_WINE=0
513 DEFAULT_wxUSE_PM=0
514
515 dnl these are the values which are really default for the given platform -
516 dnl they're not cached and are only used if no --with-toolkit was given *and*
517 dnl nothing was found in the cache
518 DEFAULT_DEFAULT_wxUSE_GTK=0
519 DEFAULT_DEFAULT_wxUSE_MOTIF=0
520 DEFAULT_DEFAULT_wxUSE_MSW=0
521 DEFAULT_DEFAULT_wxUSE_WINE=0
522 DEFAULT_DEFAULT_wxUSE_PM=0
523
524 PROGRAM_EXT=
525
526 dnl to support a new system, you need to add its canonical name (as determined
527 dnl by config.sub or specified by the configure command line) to this "case"
528 dnl and also define the shared library flags below - search for
529 dnl SHARED_LIB_SETUP to find the exact place
530 case "${host}" in
531   *-hp-hpux* )
532     USE_HPUX=1
533     DEFAULT_DEFAULT_wxUSE_MOTIF=1
534     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
535     AC_DEFINE(__HPUX__)
536   ;;
537   *-*-linux* )
538     USE_LINUX=1
539     AC_DEFINE(__LINUX__)
540     TMP=`uname -m`
541     if test "x$TMP" = "xalpha"; then
542       USE_ALPHA=1
543       AC_DEFINE(__ALPHA__)
544     fi
545     DEFAULT_DEFAULT_wxUSE_GTK=1
546   ;;
547   *-*-irix5* | *-*-irix6* )
548     USE_SGI=1
549     USE_SVR4=1
550     AC_DEFINE(__SGI__)
551     AC_DEFINE(__SVR4__)
552     DEFAULT_DEFAULT_wxUSE_MOTIF=1
553   ;;
554   *-*-solaris2* )
555     USE_SUN=1
556     USE_SOLARIS=1
557     USE_SVR4=1
558     AC_DEFINE(__SUN__)
559     AC_DEFINE(__SOLARIS__)
560     AC_DEFINE(__SVR4__)
561     DEFAULT_DEFAULT_wxUSE_MOTIF=1
562     NEEDS_D_REENTRANT_FOR_R_FUNCS=1
563   ;;
564   *-*-sunos4* )
565     USE_SUN=1
566     USE_SUNOS=1
567     USE_BSD=1
568     AC_DEFINE(__SUN__)
569     AC_DEFINE(__SUNOS__)
570     AC_DEFINE(__BSD__)
571     DEFAULT_DEFAULT_wxUSE_MOTIF=1
572   ;;
573   *-*-freebsd* | *-*-netbsd*)
574     USE_BSD=1
575     USE_FREEBSD=1
576     AC_DEFINE(__FREEBSD__)
577     AC_DEFINE(__BSD__)
578     DEFAULT_DEFAULT_wxUSE_GTK=1
579   ;;
580   *-*-osf* )
581     USE_ALPHA=1
582     USE_OSF=1
583     AC_DEFINE(__ALPHA__)
584     AC_DEFINE(__OSF__)
585     DEFAULT_DEFAULT_wxUSE_MOTIF=1
586   ;;
587   *-*-dgux5* )
588     USE_ALPHA=1
589     USE_SVR4=1
590     AC_DEFINE(__ALPHA__)
591     AC_DEFINE(__SVR4__)
592     DEFAULT_DEFAULT_wxUSE_MOTIF=1
593   ;;
594   *-*-sysv5* )
595     USE_SYSV=1
596     USE_SVR4=1
597     AC_DEFINE(__SYSV__)
598     AC_DEFINE(__SVR4__)
599     DEFAULT_DEFAULT_wxUSE_MOTIF=1
600   ;;
601   *-*-aix* )
602     USE_AIX=1
603     USE_SYSV=1
604     USE_SVR4=1
605     AC_DEFINE(__AIX__)
606     AC_DEFINE(__SYSV__)
607     AC_DEFINE(__SVR4__)
608     DEFAULT_DEFAULT_wxUSE_MOTIF=1
609   ;;
610
611   *-*-cygwin32* | *-*-mingw32* )
612     USE_UNIX=0
613     USE_WIN32=1
614     AC_DEFINE(__WIN32__)
615     AC_DEFINE(__WIN95__)
616     AC_DEFINE(__WINDOWS__)
617     AC_DEFINE(__GNUWIN32__)
618     AC_DEFINE(STRICT)
619     AC_DEFINE(WINVER, 0x0400)
620     PROGRAM_EXT=".exe"
621     DEFAULT_DEFAULT_wxUSE_MSW=1
622   ;;
623
624   *-pc-os2_emx )
625     AC_DEFINE(__EMX__)
626     PROGRAM_EXT=".exe"
627     DEFAULT_DEFAULT_wxUSE_PM=1
628   ;;
629
630   *-*-beos* )
631     dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
632     USE_BEOS=1
633     AC_DEFINE(__BEOS__)
634   ;;
635
636   *)
637     AC_MSG_ERROR(unknown system type ${host}.)
638 esac
639
640 if test "$USE_UNIX" = 1 ; then
641     wxUSE_UNIX=yes
642     AC_DEFINE(__UNIX__)
643
644     SRC_SUBDIRS="$SRC_SUBDIRS unix"
645     INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS unix"
646 fi
647
648 if test "$USE_BEOS" = 1; then
649     SRC_SUBDIRS="$SRC_SUBDIRS be"
650     INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS be"
651 fi
652
653 dnl Linux: test for libc5/glibc2: glibc2 has gettext() included
654 if test "$USE_LINUX" = 1; then
655   AC_CHECK_LIB(c,gettext,AC_DEFINE(wxHAVE_GLIBC2))
656 fi
657
658 dnl ---------------------------------------------------------------------------
659 dnl command line options for configure
660 dnl ---------------------------------------------------------------------------
661
662 dnl the default values for all options - we collect them all here to simplify
663 dnl modification of the default values (for example, if the defaults for some
664 dnl platform should be changed, it can be done here too)
665 dnl
666 dnl NB: see also DEFAULT_wxUSE<toolkit> variables defined above
667
668 WX_ARG_CACHE_INIT
669
670 dnl useful to test the compilation with minimum options, define as 0 for normal
671 dnl usage
672 DEBUG_CONFIGURE=0
673 if test $DEBUG_CONFIGURE = 1; then
674   DEFAULT_wxUSE_THREADS=yes
675
676   DEFAULT_wxUSE_SHARED=yes
677   DEFAULT_wxUSE_BURNT_NAME=no
678   DEFAULT_wxUSE_OPTIMISE=yes
679   DEFAULT_wxUSE_PROFILE=no
680   DEFAULT_wxUSE_NO_DEPS=no
681   DEFAULT_wxUSE_NO_RTTI=no
682   DEFAULT_wxUSE_NO_EXCEPTIONS=no
683   DEFAULT_wxUSE_PERMISSIVE=no
684   DEFAULT_wxUSE_DEBUG_FLAG=yes
685   DEFAULT_wxUSE_DEBUG_INFO=yes
686   DEFAULT_wxUSE_DEBUG_GDB=yes
687   DEFAULT_wxUSE_MEM_TRACING=no
688   DEFAULT_wxUSE_DEBUG_CONTEXT=no
689   DEFAULT_wxUSE_DMALLOC=no
690   DEFAULT_wxUSE_APPLE_IEEE=no
691
692   DEFAULT_wxUSE_LOG=yes
693
694   DEFAULT_wxUSE_GUI=yes
695
696   DEFAULT_wxUSE_ZLIB=no
697   DEFAULT_wxUSE_LIBPNG=no
698   DEFAULT_wxUSE_LIBJPEG=no
699   DEFAULT_wxUSE_LIBTIFF=no
700   DEFAULT_wxUSE_ODBC=no
701   DEFAULT_wxUSE_OPENGL=no
702
703   DEFAULT_wxUSE_STD_IOSTREAM=no
704   DEFAULT_wxUSE_FILE=no
705   DEFAULT_wxUSE_TEXTFILE=no
706   DEFAULT_wxUSE_TIMEDATE=no
707   DEFAULT_wxUSE_WAVE=no
708   DEFAULT_wxUSE_INTL=no
709   DEFAULT_wxUSE_CONFIG=no
710   DEFAULT_wxUSE_STREAMS=no
711   DEFAULT_wxUSE_SOCKETS=no
712   DEFAULT_wxUSE_DIALUP_MANAGER=no
713   DEFAULT_wxUSE_SERIAL=no
714   DEFAULT_wxUSE_JOYSTICK=no
715   DEFAULT_wxUSE_DYNLIB_CLASS=no
716   DEFAULT_wxUSE_LONGLONG=no
717
718   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
719   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
720   DEFAULT_wxUSE_POSTSCRIPT=no
721
722   DEFAULT_wxUSE_X_RESOURCES=no
723   DEFAULT_wxUSE_CLIPBOARD=no
724   DEFAULT_wxUSE_TOOLTIPS=no
725   DEFAULT_wxUSE_DRAG_AND_DROP=no
726   DEFAULT_wxUSE_SPLINES=no
727
728   DEFAULT_wxUSE_MDI_ARCHITECTURE=no
729   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
730   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
731
732   DEFAULT_wxUSE_PROLOGIO=no
733   DEFAULT_wxUSE_RESOURCES=no
734   DEFAULT_wxUSE_CONSTRAINTS=no
735   DEFAULT_wxUSE_IPC=no
736   DEFAULT_wxUSE_HELP=no
737   DEFAULT_wxUSE_WXTREE=no
738   DEFAULT_wxUSE_METAFILE=no
739
740   DEFAULT_wxUSE_COMMONDLGS=no
741   DEFAULT_wxUSE_DIRDLG=no
742   DEFAULT_wxUSE_TEXTDLG=no
743   DEFAULT_wxUSE_STARTUP_TIPS=no
744   DEFAULT_wxUSE_PROGRESSDLG=no
745   DEFAULT_wxUSE_MINIFRAME=no
746   DEFAULT_wxUSE_HTML=no
747   DEFAULT_wxUSE_FILESYSTEM=no
748   DEFAULT_wxUSE_FS_INET=no
749   DEFAULT_wxUSE_FS_ZIP=no
750   DEFAULT_wxUSE_BUSYINFO=no
751   DEFAULT_wxUSE_ZIPSTREAM=no
752   DEFAULT_wxUSE_VALIDATORS=yes
753
754   DEFAULT_wxUSE_ACCEL=no
755   DEFAULT_wxUSE_CARET=no
756   DEFAULT_wxUSE_BMPBUTTON=no
757   DEFAULT_wxUSE_CHECKBOX=no
758   DEFAULT_wxUSE_CHECKLST=no
759   DEFAULT_wxUSE_CHOICE=yes
760   DEFAULT_wxUSE_COMBOBOX=no
761   DEFAULT_wxUSE_GAUGE=no
762   DEFAULT_wxUSE_GRID=no
763   DEFAULT_wxUSE_NEW_GRID=no
764   DEFAULT_wxUSE_IMAGLIST=no
765   DEFAULT_wxUSE_LISTBOX=no
766   DEFAULT_wxUSE_LISTCTRL=no
767   DEFAULT_wxUSE_NOTEBOOK=no
768   DEFAULT_wxUSE_PLOT=no
769   DEFAULT_wxUSE_RADIOBOX=no
770   DEFAULT_wxUSE_RADIOBTN=no
771   DEFAULT_wxUSE_SASH=no
772   DEFAULT_wxUSE_SCROLLBAR=no
773   DEFAULT_wxUSE_SLIDER=no
774   DEFAULT_wxUSE_SPINBTN=no
775   DEFAULT_wxUSE_SPINCTRL=no
776   DEFAULT_wxUSE_SPLITTER=no
777   DEFAULT_wxUSE_STATBMP=no
778   DEFAULT_wxUSE_STATBOX=no
779   DEFAULT_wxUSE_STATLINE=no
780   DEFAULT_wxUSE_STATUSBAR=yes
781   DEFAULT_wxUSE_TABDIALOG=no
782   DEFAULT_wxUSE_TOOLBAR=no
783   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
784   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
785   DEFAULT_wxUSE_TREECTRL=no
786
787   DEFAULT_wxUSE_UNICODE=no
788   DEFAULT_wxUSE_WCSRTOMBS=no
789
790   DEFAULT_wxUSE_GIF=no
791   DEFAULT_wxUSE_PCX=no
792   DEFAULT_wxUSE_PNM=no
793 else
794   DEFAULT_wxUSE_THREADS=yes
795
796   DEFAULT_wxUSE_SHARED=yes
797   DEFAULT_wxUSE_BURNT_NAME=no
798   DEFAULT_wxUSE_OPTIMISE=yes
799   DEFAULT_wxUSE_PROFILE=no
800   DEFAULT_wxUSE_NO_DEPS=no
801   DEFAULT_wxUSE_NO_RTTI=no
802   DEFAULT_wxUSE_NO_EXCEPTIONS=no
803   DEFAULT_wxUSE_PERMISSIVE=no
804   DEFAULT_wxUSE_DEBUG_FLAG=no
805   DEFAULT_wxUSE_DEBUG_INFO=no
806   DEFAULT_wxUSE_DEBUG_GDB=no
807   DEFAULT_wxUSE_MEM_TRACING=no
808   DEFAULT_wxUSE_DEBUG_CONTEXT=no
809   DEFAULT_wxUSE_DMALLOC=no
810   DEFAULT_wxUSE_APPLE_IEEE=yes
811
812   DEFAULT_wxUSE_LOG=yes
813
814   DEFAULT_wxUSE_GUI=yes
815
816   DEFAULT_wxUSE_ZLIB=yes
817   DEFAULT_wxUSE_LIBPNG=yes
818   DEFAULT_wxUSE_LIBJPEG=yes
819   DEFAULT_wxUSE_LIBTIFF=yes
820   DEFAULT_wxUSE_ODBC=no
821   DEFAULT_wxUSE_OPENGL=no
822
823   DEFAULT_wxUSE_STD_IOSTREAM=no
824   DEFAULT_wxUSE_FILE=yes
825   DEFAULT_wxUSE_TEXTFILE=yes
826   DEFAULT_wxUSE_TIMEDATE=yes
827   DEFAULT_wxUSE_WAVE=no
828   DEFAULT_wxUSE_INTL=yes
829   DEFAULT_wxUSE_CONFIG=yes
830   DEFAULT_wxUSE_STREAMS=yes
831   DEFAULT_wxUSE_SOCKETS=yes
832   DEFAULT_wxUSE_DIALUP_MANAGER=yes
833   DEFAULT_wxUSE_SERIAL=yes
834   DEFAULT_wxUSE_JOYSTICK=yes
835   DEFAULT_wxUSE_DYNLIB_CLASS=yes
836   DEFAULT_wxUSE_LONGLONG=yes
837
838   DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
839   DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
840   DEFAULT_wxUSE_POSTSCRIPT=yes
841
842   DEFAULT_wxUSE_X_RESOURCES=no
843   DEFAULT_wxUSE_CLIPBOARD=yes
844   DEFAULT_wxUSE_TOOLTIPS=yes
845   DEFAULT_wxUSE_DRAG_AND_DROP=yes
846   DEFAULT_wxUSE_SPLINES=yes
847
848   DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
849   DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
850   DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
851
852   DEFAULT_wxUSE_PROLOGIO=yes
853   DEFAULT_wxUSE_RESOURCES=yes
854   DEFAULT_wxUSE_CONSTRAINTS=yes
855   DEFAULT_wxUSE_IPC=yes
856   DEFAULT_wxUSE_HELP=yes
857   DEFAULT_wxUSE_WXTREE=yes
858   DEFAULT_wxUSE_METAFILE=yes
859
860   DEFAULT_wxUSE_COMMONDLGS=yes
861   DEFAULT_wxUSE_DIRDLG=yes
862   DEFAULT_wxUSE_TEXTDLG=yes
863   DEFAULT_wxUSE_STARTUP_TIPS=yes
864   DEFAULT_wxUSE_PROGRESSDLG=yes
865   DEFAULT_wxUSE_MINIFRAME=yes
866   DEFAULT_wxUSE_HTML=yes
867   DEFAULT_wxUSE_FILESYSTEM=yes
868   DEFAULT_wxUSE_FS_INET=yes
869   DEFAULT_wxUSE_FS_ZIP=yes
870   DEFAULT_wxUSE_BUSYINFO=yes
871   DEFAULT_wxUSE_ZIPSTREAM=yes
872   DEFAULT_wxUSE_VALIDATORS=yes
873
874   DEFAULT_wxUSE_ACCEL=yes
875   DEFAULT_wxUSE_CARET=yes
876   DEFAULT_wxUSE_BMPBUTTON=yes
877   DEFAULT_wxUSE_CHECKBOX=yes
878   DEFAULT_wxUSE_CHECKLST=yes
879   DEFAULT_wxUSE_CHOICE=yes
880   DEFAULT_wxUSE_COMBOBOX=yes
881   DEFAULT_wxUSE_GAUGE=yes
882   DEFAULT_wxUSE_GRID=yes
883   DEFAULT_wxUSE_NEW_GRID=yes
884   DEFAULT_wxUSE_IMAGLIST=yes
885   DEFAULT_wxUSE_LISTBOX=yes
886   DEFAULT_wxUSE_LISTCTRL=yes
887   DEFAULT_wxUSE_NOTEBOOK=yes
888   DEFAULT_wxUSE_PLOT=yes
889   DEFAULT_wxUSE_RADIOBOX=yes
890   DEFAULT_wxUSE_RADIOBTN=yes
891   DEFAULT_wxUSE_SASH=yes
892   DEFAULT_wxUSE_SCROLLBAR=yes
893   DEFAULT_wxUSE_SLIDER=yes
894   DEFAULT_wxUSE_SPINBTN=yes
895   DEFAULT_wxUSE_SPINCTRL=yes
896   DEFAULT_wxUSE_SPLITTER=yes
897   DEFAULT_wxUSE_STATBMP=yes
898   DEFAULT_wxUSE_STATBOX=yes
899   DEFAULT_wxUSE_STATLINE=yes
900   DEFAULT_wxUSE_STATUSBAR=yes
901   DEFAULT_wxUSE_TABDIALOG=no
902   DEFAULT_wxUSE_TOOLBAR=yes
903   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
904   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
905   DEFAULT_wxUSE_TREECTRL=yes
906
907   DEFAULT_wxUSE_UNICODE=no
908   DEFAULT_wxUSE_WCSRTOMBS=no
909
910   DEFAULT_wxUSE_GIF=yes
911   DEFAULT_wxUSE_PCX=yes
912   DEFAULT_wxUSE_PNM=yes
913 fi
914
915 dnl WX_ARG_WITH should be used to select whether an external package will be
916 dnl used or not, to configure compile-time features of this package itself,
917 dnl use WX_ARG_ENABLE instead
918
919 dnl ============================
920 dnl external package dependecies
921 dnl ============================
922
923 dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
924 dnl these values manually
925 for toolkit in `echo $ALL_TOOLKITS`; do
926   LINE=`grep "wxUSE_$toolkit" ${wx_arg_cache_file}`
927   if test "x$LINE" != x ; then
928     has_toolkit_in_cache=1
929     eval "DEFAULT_$LINE"
930     eval "CACHE_$toolkit=1"
931   fi
932 done
933
934 dnl ---------------------------------------------------------------------------
935 dnl --disable-gui will build only non-GUI part of wxWindows: check for this
936 dnl first to disable many other switches if it's given
937 dnl
938 dnl NB: this is still in testing stage, don't use if you don't know what you're
939 dnl     doing
940 dnl ---------------------------------------------------------------------------
941
942 WX_ARG_ENABLE(gui,         [  --enable-gui            use GUI classes], wxUSE_GUI)
943
944 if test "$wxUSE_GUI" = "yes"; then
945
946 AC_ARG_WITH(gtk,           [  --with-gtk              use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
947 AC_ARG_WITH(motif,         [  --with-motif            use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
948 AC_ARG_WITH(wine,          [  --with-wine             use WINE], [wxUSE_WINE="$withval" CACHE_WINE=1 TOOLKIT_GIVEN=1])
949 AC_ARG_WITH(cygwin,        [  --with-cygwin           use Cygwin for MS-Windows], [wxUSE_CYGWIN="$withval" CACHE_CYGWIN=1 TOOLKIT_GIVEN=1])
950 AC_ARG_WITH(mingw,         [  --with-mingw            use GCC Minimal MS-Windows], [wxUSE_MINGW="$withval" CACHE_MINGW=1 TOOLKIT_GIVEN=1])
951 AC_ARG_WITH(pm,            [  --with-pm               use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
952
953 AC_ARG_WITH(gtk-prefix,    [  --with-gtk-prefix=PFX   Prefix where GTK is installed],
954             gtk_config_prefix="$withval", gtk_config_prefix="")
955 AC_ARG_WITH(gtk-exec-prefix, [  --with-gtk-exec-prefix=PFX  Exec prefix where GTK is installed],
956             gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
957
958 WX_ARG_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
959 WX_ARG_SYS_WITH(libjpeg,   [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
960 WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
961 WX_ARG_WITH(opengl,        [  --with-opengl           use OpenGL (or Mesa)], wxUSE_OPENGL)
962
963 fi
964 dnl for GUI only
965
966 WX_ARG_WITH(dmalloc,       [  --with-dmalloc          use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
967 WX_ARG_SYS_WITH(zlib,      [  --with-zlib             use zlib for LZW compression], wxUSE_ZLIB)
968 WX_ARG_WITH(odbc,          [  --with-odbc             use the IODBC and wxODBC classes], wxUSE_ODBC)
969
970 dnl ====================
971 dnl compile-time options
972 dnl ====================
973
974 dnl ---------------------------------------------------------------------------
975 dnl compile options
976 dnl ---------------------------------------------------------------------------
977
978 WX_ARG_ENABLE(shared,      [  --enable-shared         create shared library code], wxUSE_SHARED)
979 WX_ARG_ENABLE(burnt_name,  [  --enable-burnt_name     create set name in shared library ], wxUSE_BURNT_NAME)
980 WX_ARG_ENABLE(optimise,    [  --enable-optimise       create optimised code], wxUSE_OPTIMISE)
981 WX_ARG_ENABLE(debug,       [  --enable-debug          same as debug_flag and debug_info], wxUSE_DEBUG)
982
983 if test "$wxUSE_DEBUG" = "yes"; then
984   DEFAULT_wxUSE_DEBUG_FLAG=yes
985   DEFAULT_wxUSE_DEBUG_INFO=yes
986 elif test "$wxUSE_DEBUG" = "no"; then
987   DEFAULT_wxUSE_DEBUG_FLAG=no
988   DEFAULT_wxUSE_DEBUG_INFO=no
989 fi
990
991 WX_ARG_ENABLE(debug_flag,    [  --enable-debug_flag     set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
992 WX_ARG_ENABLE(debug_info,    [  --enable-debug_info     create code with debugging information], wxUSE_DEBUG_INFO)
993 WX_ARG_ENABLE(debug_gdb,     [  --enable-debug_gdb      create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
994 WX_ARG_ENABLE(debug_cntxt,   [  --enable-debug_cntxt    use wxDebugContext], wxUSE_DEBUG_CONTEXT)
995 WX_ARG_ENABLE(mem_tracing,   [  --enable-mem_tracing    create code with memory tracing], wxUSE_MEM_TRACING)
996 WX_ARG_ENABLE(profile,       [  --enable-profile        create code with profiling information], wxUSE_PROFILE)
997 WX_ARG_ENABLE(no_rtti,       [  --enable-no_rtti        create code without RTTI information], wxUSE_NO_RTTI)
998 WX_ARG_ENABLE(no_exceptions, [  --enable-no_exceptions  create code without exceptions information], wxUSE_NO_EXCEPTIONS)
999 WX_ARG_ENABLE(permissive,    [  --enable-permissive     compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
1000 WX_ARG_ENABLE(no_deps,       [  --enable-no_deps        create code without dependency information], wxUSE_NO_DEPS)
1001
1002 dnl ---------------------------------------------------------------------------
1003 dnl (small) optional non GUI classes
1004 dnl ---------------------------------------------------------------------------
1005
1006 WX_ARG_ENABLE(intl,          [  --enable-intl           use internationalization system], wxUSE_INTL)
1007 WX_ARG_ENABLE(config,        [  --enable-config         use wxConfig (and derived) classes], wxUSE_CONFIG)
1008
1009 dnl can't use sockets without GUI so far
1010 if test "$wxUSE_GUI" = "yes"; then
1011 WX_ARG_ENABLE(sockets,       [  --enable-sockets        use socket/network classes], wxUSE_SOCKETS)
1012 else
1013 wxUSE_SOCKETS=no
1014 fi
1015
1016 WX_ARG_ENABLE(dialupman,     [  --enable-dialupman      use dialup network classes], wxUSE_DIALUP_MANAGER)
1017 WX_ARG_ENABLE(ipc,           [  --enable-ipc            use interprocess communication (wxSocket etc.)], wxUSE_IPC)
1018 WX_ARG_ENABLE(apple_ieee,    [  --enable-apple_ieee     use the Apple IEEE codec], wxUSE_APPLE_IEEE)
1019 WX_ARG_ENABLE(timedate,      [  --enable-timedate       use date/time classes], wxUSE_TIMEDATE)
1020 WX_ARG_ENABLE(wave,          [  --enable-wave           use wxWave class], wxUSE_WAVE)
1021 WX_ARG_ENABLE(fraction,      [  --enable-fraction       use wxFraction class], wxUSE_FRACTION)
1022 WX_ARG_ENABLE(dynlib,        [  --enable-dynlib         use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
1023 WX_ARG_ENABLE(longlong,      [  --enable-longlong       use wxLongLong class], wxUSE_LONGLONG)
1024 WX_ARG_ENABLE(log,           [  --enable-log            use logging system], wxUSE_LOG)
1025 WX_ARG_ENABLE(streams,       [  --enable-streams        use wxStream etc classes], wxUSE_STREAMS)
1026 WX_ARG_ENABLE(file,          [  --enable-file           use wxFile classes], wxUSE_FILE)
1027 WX_ARG_ENABLE(textfile,      [  --enable-textfile       use wxTextFile classes], wxUSE_TEXTFILE)
1028 WX_ARG_ENABLE(unicode,       [  --enable-unicode        compile wxString with Unicode support], wxUSE_UNICODE)
1029 WX_ARG_ENABLE(wcsrtombs,     [  --enable-wcsrtombs      use wcsrtombs instead of buggy (GNU libc1/Linux libc5) wcstombs], wxUSE_WCSRTOMBS)
1030 WX_ARG_ENABLE(wxprintfv,     [  --enable-wxprintfv      use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
1031 WX_ARG_ENABLE(joystick,      [  --enable-joystick       compile in joystick support (Linux only)], wxUSE_JOYSTICK)
1032 WX_ARG_ENABLE(std_iostreams, [  --enable-std_iostreams  use standard C++ stream classes], wxUSE_STD_IOSTREAM)
1033 WX_ARG_ENABLE(filesystem,    [  --enable-filesystem     use virtual file systems classes], wxUSE_FILESYSTEM)
1034 WX_ARG_ENABLE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
1035 WX_ARG_ENABLE(fs_zip,        [  --enable-fs_zip         use virtual ZIP filesystems], wxUSE_FS_ZIP)
1036 WX_ARG_ENABLE(zipstream,     [  --enable-zipstream      use wxZipInputStream], wxUSE_ZIPSTREAM)
1037
1038 dnl ---------------------------------------------------------------------------
1039 dnl "big" options (i.e. those which change a lot of things throughout the library)
1040 dnl ---------------------------------------------------------------------------
1041
1042 WX_ARG_ENABLE(threads,     [  --enable-threads        use threads], wxUSE_THREADS)
1043 WX_ARG_ENABLE(serial,      [  --enable-serial         use class serialization], wxUSE_SERIAL)
1044
1045 if test "$wxUSE_GUI" = "yes"; then
1046
1047 dnl ---------------------------------------------------------------------------
1048 dnl "big" GUI options
1049 dnl ---------------------------------------------------------------------------
1050
1051 WX_ARG_ENABLE(docview,     [  --enable-docview        use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
1052 WX_ARG_ENABLE(help,        [  --enable-help           use help (using external browser at present)], wxUSE_HELP)
1053 WX_ARG_ENABLE(constraints, [  --enable-constraints    use layout-constraints system], wxUSE_CONSTRAINTS)
1054 WX_ARG_ENABLE(printarch,   [  --enable-printarch      use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
1055 WX_ARG_ENABLE(mdi,         [  --enable-mdi            use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
1056
1057 dnl ---------------------------------------------------------------------------
1058 dnl PostScript options
1059 dnl ---------------------------------------------------------------------------
1060 WX_ARG_ENABLE(postscript,  [  --enable-postscript     use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT)
1061
1062 dnl VZ: these options seem to be always on, if someone wants to change it please do
1063 dnl WX_ARG_ENABLE(PS-normalized,    [  --enable-PS-normalized  use normalized PS fonts], dnl             wxUSE_NORMALIZED_PS_FONTS)
1064 dnl WX_ARG_ENABLE(afmfonts,        [  --enable-afmfonts       use Adobe Font Metric Font table], dnl             wxUSE_AFM_FOR_POSTSCRIPT)
1065
1066 dnl ---------------------------------------------------------------------------
1067 dnl resources
1068 dnl ---------------------------------------------------------------------------
1069 WX_ARG_ENABLE(prologio,    [  --enable-prologio       use Prolog IO library], wxUSE_PROLOGIO)
1070 WX_ARG_ENABLE(resources,   [  --enable-resources      use wxWindows resources], wxUSE_RESOURCES)
1071
1072 WX_ARG_ENABLE(xresources,  [  --enable-xresources     use X resources for save (default for gtk+)], wxUSE_X_RESOURCES)
1073
1074 dnl ---------------------------------------------------------------------------
1075 dnl IPC &c
1076 dnl ---------------------------------------------------------------------------
1077
1078 WX_ARG_ENABLE(clipboard,   [  --enable-clipboard      use wxClipboard classes], wxUSE_CLIPBOARD)
1079 WX_ARG_ENABLE(dnd,         [  --enable-dnd            use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
1080
1081 dnl TODO: doesn't work yet
1082 WX_ARG_ENABLE(wxtree,      [  --enable-wxtree         make wxTree library], wxUSE_WXTREE)
1083
1084 dnl ---------------------------------------------------------------------------
1085 dnl optional GUI controls (in alphabetical order except the first one)
1086 dnl ---------------------------------------------------------------------------
1087
1088 WX_ARG_ENABLE(controls,    [  --enable-controls       use all usual controls], wxUSE_CONTROLS)
1089
1090 dnl even with --enable-controls, some may be disabled by giving
1091 dnl --disable-<control> later on the command line - but by default all will be
1092 dnl used (and vice versa)
1093 if test "$wxUSE_CONTROLS" = "yes"; then
1094   DEFAULT_wxUSE_ACCEL=yes
1095   DEFAULT_wxUSE_CARET=yes
1096   DEFAULT_wxUSE_COMBOBOX=yes
1097   DEFAULT_wxUSE_BMPBUTTON=yes
1098   DEFAULT_wxUSE_CHECKBOX=yes
1099   DEFAULT_wxUSE_CHECKLISTBOX=yes
1100   DEFAULT_wxUSE_CHOICE=yes
1101   DEFAULT_wxUSE_GAUGE=yes
1102   DEFAULT_wxUSE_GRID=yes
1103   DEFAULT_wxUSE_NEW_GRID=yes
1104   DEFAULT_wxUSE_IMAGLIST=yes
1105   DEFAULT_wxUSE_LISTBOX=yes
1106   DEFAULT_wxUSE_LISTCTRL=yes
1107   DEFAULT_wxUSE_NOTEBOOK=yes
1108   DEFAULT_wxUSE_RADIOBOX=yes
1109   DEFAULT_wxUSE_RADIOBTN=yes
1110   DEFAULT_wxUSE_SASH=yes
1111   DEFAULT_wxUSE_SCROLLBAR=yes
1112   DEFAULT_wxUSE_SLIDER=yes
1113   DEFAULT_wxUSE_SPINBTN=yes
1114   DEFAULT_wxUSE_SPINCTRL=yes
1115   DEFAULT_wxUSE_SPLITTER=yes
1116   DEFAULT_wxUSE_STATBMP=yes
1117   DEFAULT_wxUSE_STATBOX=yes
1118   DEFAULT_wxUSE_STATLINE=yes
1119   DEFAULT_wxUSE_STATUSBAR=yes
1120   DEFAULT_wxUSE_TAB_DIALOG=yes
1121   DEFAULT_wxUSE_TOOLBAR=yes
1122   DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
1123   DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
1124   DEFAULT_wxUSE_TOOLTIPS=yes
1125   DEFAULT_wxUSE_TREECTRL=yes
1126 elif test "$wxUSE_CONTROLS" = "no"; then
1127   DEFAULT_wxUSE_ACCEL=no
1128   DEFAULT_wxUSE_CARET=no
1129   DEFAULT_wxUSE_COMBOBOX=no
1130   DEFAULT_wxUSE_BMPBUTTON=no
1131   DEFAULT_wxUSE_CHECKBOX=no
1132   DEFAULT_wxUSE_CHECKLISTBOX=no
1133   DEFAULT_wxUSE_CHOICE=no
1134   DEFAULT_wxUSE_GAUGE=no
1135   DEFAULT_wxUSE_GRID=no
1136   DEFAULT_wxUSE_NEW_GRID=no
1137   DEFAULT_wxUSE_IMAGLIST=no
1138   DEFAULT_wxUSE_LISTBOX=no
1139   DEFAULT_wxUSE_LISTCTRL=no
1140   DEFAULT_wxUSE_NOTEBOOK=no
1141   DEFAULT_wxUSE_RADIOBOX=no
1142   DEFAULT_wxUSE_RADIOBTN=no
1143   DEFAULT_wxUSE_SASH=no
1144   DEFAULT_wxUSE_SCROLLBAR=no
1145   DEFAULT_wxUSE_SLIDER=no
1146   DEFAULT_wxUSE_SPINBTN=no
1147   DEFAULT_wxUSE_SPINCTRL=no
1148   DEFAULT_wxUSE_SPLITTER=no
1149   DEFAULT_wxUSE_STATBMP=no
1150   DEFAULT_wxUSE_STATBOX=no
1151   DEFAULT_wxUSE_STATLINE=no
1152   DEFAULT_wxUSE_STATUSBAR=no
1153   DEFAULT_wxUSE_TAB_DIALOG=no
1154   DEFAULT_wxUSE_TOOLBAR=no
1155   DEFAULT_wxUSE_TOOLBAR_NATIVE=no
1156   DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
1157   DEFAULT_wxUSE_TOOLTIPS=no
1158   DEFAULT_wxUSE_TREECTRL=no
1159 fi
1160
1161 WX_ARG_ENABLE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
1162 WX_ARG_ENABLE(caret,       [  --enable-caret          use wxCaret class], wxUSE_CARET)
1163 WX_ARG_ENABLE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
1164 WX_ARG_ENABLE(checkbox,    [  --enable-checkbox       use wxCheckBox class], wxUSE_CHECKBOX)
1165 WX_ARG_ENABLE(checklst,    [  --enable-checklst       use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
1166 WX_ARG_ENABLE(choice,      [  --enable-choice         use wxChoice class], wxUSE_CHOICE)
1167 WX_ARG_ENABLE(combobox,    [  --enable-combobox       use wxComboBox classes], wxUSE_COMBOBOX)
1168 WX_ARG_ENABLE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
1169 WX_ARG_ENABLE(grid,        [  --enable-grid           use wxGrid class], wxUSE_GRID)
1170 WX_ARG_ENABLE(newgrid,     [  --enable-newgrid        use new wxGrid class], wxUSE_NEW_GRID)
1171 WX_ARG_ENABLE(imaglist,    [  --enable-imaglist       use wxImageList class], wxUSE_IMAGLIST)
1172 WX_ARG_ENABLE(listbox,     [  --enable-listbox        use wxListBox class], wxUSE_LISTBOX)
1173 WX_ARG_ENABLE(listctrl,    [  --enable-listctrl       use wxListCtrl class], wxUSE_LISTCTRL)
1174 WX_ARG_ENABLE(notebook,    [  --enable-notebook       use wxNotebook class], wxUSE_NOTEBOOK)
1175 WX_ARG_ENABLE(radiobox,    [  --enable-radiobox       use wxRadioBox class], wxUSE_RADIOBOX)
1176 WX_ARG_ENABLE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
1177 WX_ARG_ENABLE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
1178 WX_ARG_ENABLE(scrollbar,   [  --enable-scrollbar      use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
1179 WX_ARG_ENABLE(slider,      [  --enable-slider         use wxSlider class], wxUSE_SLIDER)
1180 WX_ARG_ENABLE(spinbtn,     [  --enable-spinbtn        use wxSpinButton class], wxUSE_SPINBTN)
1181 WX_ARG_ENABLE(spinctrl,    [  --enable-spinctrl       use wxSpinCtrl class], wxUSE_SPINCTRL)
1182 WX_ARG_ENABLE(splitter,    [  --enable-splitter       use wxSplitterWindow class], wxUSE_SPLITTER)
1183 WX_ARG_ENABLE(statbmp,     [  --enable-statbmp        use wxStaticBitmap class], wxUSE_STATBMP)
1184 WX_ARG_ENABLE(statbox,     [  --enable-statbox        use wxStaticBox class], wxUSE_STATBOX)
1185 WX_ARG_ENABLE(statline,    [  --enable-statline       use wxStaticLine class], wxUSE_STATLINE)
1186 WX_ARG_ENABLE(statusbar,   [  --enable-statusbar      use wxStatusBar class], wxUSE_STATUSBAR)
1187 WX_ARG_ENABLE(tabdialog,   [  --enable-tabdialog      use wxTabControl class], wxUSE_TABDIALOG)
1188 WX_ARG_ENABLE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUSE_TOOLBAR)
1189 WX_ARG_ENABLE(tbarnative,  [  --enable-tbarnative     use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
1190 WX_ARG_ENABLE(tbarsmpl,    [  --enable-tbarsmpl       use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
1191 WX_ARG_ENABLE(treectrl,    [  --enable-treectrl       use wxTreeCtrl class], wxUSE_TREECTRL)
1192
1193 dnl ---------------------------------------------------------------------------
1194 dnl misc GUI options
1195 dnl ---------------------------------------------------------------------------
1196
1197 WX_ARG_ENABLE(commondlg,   [  --enable-commondlg      use common dialogs (wxDirDialog, wxProgressDialog, wxTextDialog, ...)], wxUSE_COMMONDLGS)
1198 WX_ARG_ENABLE(dirdlg,      [  --enable-dirdlg         use wxDirDialog], wxUSE_DIRDLG)
1199 WX_ARG_ENABLE(textdlg,     [  --enable-textdlg        use wxTextDialog], wxUSE_TEXTDLG)
1200 WX_ARG_ENABLE(tipdlg,      [  --enable-tipdlg         use startup tips], wxUSE_STARTUP_TIPS)
1201 WX_ARG_ENABLE(progressdlg, [  --enable-progressdlg    use wxProgressDialog], wxUSE_PROGRESSDLG)
1202 WX_ARG_ENABLE(miniframe,   [  --enable-miniframe      use wxMiniFrame class], wxUSE_MINIFRAME)
1203 WX_ARG_ENABLE(html,        [  --enable-html           use wxHTML sub-library], wxUSE_HTML)
1204 WX_ARG_ENABLE(tooltips,    [  --enable-tooltips       use wxToolTip class], wxUSE_TOOLTIPS)
1205 WX_ARG_ENABLE(splines,     [  --enable-splines        use spline drawing code], wxUSE_SPLINES)
1206 WX_ARG_ENABLE(validators,  [  --enable-validators     use wxValidator and derived classes], wxUSE_VALIDATORS)
1207 WX_ARG_ENABLE(busyinfo,    [  --enable-busyinfo       use wxBusyInfo], wxUSE_BUSYINFO)
1208 WX_ARG_ENABLE(plot,        [  --enable-plot           use wxPlot], wxUSE_PLOT)
1209
1210 dnl ---------------------------------------------------------------------------
1211 dnl support for image formats that do not rely on external library
1212 dnl ---------------------------------------------------------------------------
1213
1214 WX_ARG_ENABLE(gif,         [  --enable-gif            use gif images (GIF file format)], wxUSE_GIF)
1215 WX_ARG_ENABLE(pcx,         [  --enable-pcx            use pcx images (PCX file format)], wxUSE_PCX)
1216 WX_ARG_ENABLE(pnm,         [  --enable-pnm            use pnm images (PNM file format)], wxUSE_PNM)
1217
1218 fi
1219 dnl for GUI only
1220
1221 dnl cache the options values before (may be) aborting below
1222 WX_ARG_CACHE_FLUSH
1223
1224 dnl check that no more than one toolkit is given and that if none are given that
1225 dnl we have a default one
1226
1227 AC_MSG_CHECKING(for toolkit)
1228
1229 if test "$wxUSE_GUI" = "yes"; then
1230
1231 if test "$USE_BEOS" = 1; then
1232     AC_MSG_ERROR([BeOS GUI is not supported yet, use --disable-gui])
1233 fi
1234
1235 if test "$TOOLKIT_GIVEN" = 1; then
1236   dnl convert "yes" to 1 and "no" to 0
1237   for toolkit in `echo $ALL_TOOLKITS`; do
1238     var=wxUSE_$toolkit
1239     eval "value=\$${var}"
1240     eval "$var=`echo \$value | sed -e "s/yes/1/" -e "s/no/0/"`"
1241   done
1242 else
1243   dnl try to guess the most apropriate toolkit for this platform
1244   for toolkit in `echo $ALL_TOOLKITS`; do
1245     if test "$has_toolkit_in_cache" != 1; then
1246       var=DEFAULT_DEFAULT_wxUSE_$toolkit
1247     else
1248       var=DEFAULT_wxUSE_$toolkit
1249     fi
1250     eval "wxUSE_$toolkit=\$${var}"
1251   done
1252 fi
1253
1254 dnl we suppose that expr exists...
1255 NUM_TOOLKITS=`expr ${wxUSE_GTK:-0} + ${wxUSE_MOTIF:-0} + ${wxUSE_WINE:-0} + ${wxUSE_MINGW:-0} + ${wxUSE_CYGWIN:-0}`
1256
1257 dnl Allow wxUSE_PM only for OS/2 with EMX.
1258 dnl Path separator; ':' for unix.
1259 dnl Stem for flex output; lexyy for OS/2, lex.yy otherwise
1260 dnl Extension for programs; '.exe' for OS/2 and msw builds (set later).
1261 case "${host}" in
1262   *-pc-os2_emx )
1263     NUM_TOOLKITS=`expr ${NUM_TOOLKITS} + ${wxUSE_PM:-0}`
1264     # PATH_IFS is autodetected by OS/2's configure (usually ';')
1265     LEX_STEM="lexyy"
1266   ;;
1267   *)
1268     PATH_IFS=':'
1269     LEX_STEM="lex.yy"
1270   ;;
1271 esac
1272
1273 case "$NUM_TOOLKITS" in
1274   1)
1275   ;;
1276   0)
1277     AC_MSG_ERROR(Please specify a toolkit - cannot determine the default for ${host})
1278   ;;
1279   *)
1280     AC_MSG_ERROR(Please specify at most one toolkit (may be some are cached?))
1281 esac
1282
1283 dnl cache the wxUSE_<TOOLKIT> values too
1284 for toolkit in `echo $ALL_TOOLKITS`; do
1285   var=wxUSE_$toolkit
1286   eval "value=\$${var}"
1287   if test "x$value" != x; then
1288     cache_var=CACHE_$toolkit
1289     eval "cache=\$${cache_var}"
1290     if test "$cache" = 1; then
1291       echo "$var=$value" >> ${wx_arg_cache_file}
1292     fi
1293     if test "$value" = 1; then
1294       AC_MSG_RESULT(`echo $toolkit | tr [[A-Z]] [[a-z]]`)
1295     fi
1296   fi
1297 done
1298
1299 dnl from "if wxUSE_GUI"
1300 else
1301     PATH_IFS=':'
1302     AC_MSG_RESULT(base only)
1303 fi
1304
1305 dnl ---------------------------------------------------------------------------
1306 dnl Checks for programs
1307 dnl ---------------------------------------------------------------------------
1308
1309 dnl flush the cache because checking for programs might abort
1310 AC_CACHE_SAVE
1311
1312 dnl cross-compiling support: we're cross compiling if the build system is
1313 dnl different from the target one (assume host and target be always the same)
1314 if eval "test $host != $build"; then
1315   if eval "test $host_alias != NONE"; then
1316     CC=$host_alias-gcc
1317     CXX=$host_alias-c++
1318     AR=$host_alias-ar
1319     RANLIB=$host_alias-ranlib
1320     DLLTOOL=$host_alias-dlltool
1321     LD=$host_alias-ld
1322     NM=$host_alias-nm
1323     STRIP=$host_alias-strip
1324   fi
1325 fi
1326
1327 dnl C-compiler checks
1328 dnl   defines CC with the compiler to use
1329 dnl   defines GCC with yes if using gcc
1330 dnl   defines GCC empty if not using gcc
1331 dnl   defines CFLAGS
1332 AC_PROG_CC
1333
1334 CFLAGS=`echo "$CFLAGS" | sed 's/-g//g'`
1335
1336 dnl what is the c-preprocessor
1337 dnl   defines CPP with the c-preprocessor
1338 AC_PROG_CPP
1339
1340 dnl is -traditional needed for correct compilations
1341 dnl   adds -traditional for gcc if needed
1342 AC_PROG_GCC_TRADITIONAL
1343
1344 AC_LANG_SAVE
1345 AC_LANG_CPLUSPLUS
1346
1347 dnl C++-compiler checks
1348 dnl   defines CXX with the compiler to use
1349 dnl   defines GXX with yes if using gxx
1350 dnl   defines GXX empty if not using gxx
1351 dnl   defines CXXFLAGS
1352 AC_PROG_CXX
1353
1354 dnl what is the C++-preprocessor
1355 dnl   defines CXXCPP with the C++-preprocessor
1356 AC_PROG_CXXCPP
1357
1358 CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g//g'`
1359
1360 AC_LANG_RESTORE
1361
1362 dnl ranlib command
1363 dnl   defines RANLIB with the appropriate command
1364 AC_PROG_RANLIB
1365
1366 dnl ar command
1367 dnl   defines AR with the appropriate command
1368 AC_CHECK_PROG(AR, ar, ar, ar)
1369
1370 dnl install checks
1371 dnl   defines INSTALL with the appropriate command
1372 AC_PROG_INSTALL
1373
1374 dnl strip command
1375 dnl   defines STRIP as strip or nothing if not found
1376 AC_CHECK_PROG(STRIP, strip, strip, true)
1377
1378 dnl check if VPATH works
1379 AC_MSG_CHECKING("make for VPATH support")
1380 dnl create Makefile
1381 cat - << EOF > confMake
1382 check : file
1383         cp \$? \$@
1384         cp \$? final_file
1385 EOF
1386
1387 if test ! -d sub ; then
1388   mkdir sub
1389 fi
1390 echo dummy > sub/file
1391 ${MAKE-make} -f confMake VPATH=sub 2> config.log > /dev/null
1392 RESULT=$?
1393 rm -f sub/file check final_file confMake
1394 rmdir sub
1395 if test "$RESULT" = 0; then
1396   AC_MSG_RESULT(yes)
1397 else
1398   AC_MSG_RESULT(no)
1399   AC_MSG_ERROR(
1400 You need a make-utility that is able to use the variable
1401 VPATH correctly.
1402 If your version of make does not support VPATH correctly,
1403 please install GNU-make (possibly as gmake), and start
1404 configure with the following command:
1405 export MAKE=gmake; ./configure  for sh-type shells
1406 setenv MAKE gmake; ./configure  for csh-type shells
1407 Also please do remember to use gmake in this case every time
1408 you are trying to compile.
1409 )
1410 fi
1411
1412 dnl YACC checks
1413 dnl   defines YACC with the appropriate command
1414 AC_PROG_YACC
1415
1416 dnl LEX checks
1417 dnl   defines LEX with the appropriate command
1418 dnl   defines LEXLIB with the appropriate library
1419 AC_PROG_LEX
1420
1421 dnl needed for making link to setup.h
1422 AC_PROG_LN_S
1423
1424 dnl ---------------------------------------------------------------------------
1425 dnl Define search path for includes and libraries: all headers and libs will be
1426 dnl looked for in all directories of this path
1427 dnl ---------------------------------------------------------------------------
1428
1429 dnl notice that /usr/include should not be in this list, otherwise it breaks
1430 dnl compilation on Solaris/gcc because standard headers are included instead
1431 dnl of the gcc ones (correction: it *is* needed for broken AIX compiler - but
1432 dnl do put it last!)
1433 dnl
1434 dnl Also try to put all directories which may contain X11R6 before those which
1435 dnl may contain X11R5/4 - we want to use R6 on machines which have both!
1436 SEARCH_INCLUDE="\
1437     /usr/local/include        \
1438                               \
1439     /usr/Motif-1.2/include    \
1440     /usr/Motif-2.1/include    \
1441                               \
1442     /usr/include/Motif1.2     \
1443     /opt/xpm/include/X11      \
1444     /opt/GBxpm/include/       \
1445     /opt/GBxpm/X11/include/   \
1446                               \
1447     /usr/Motif1.2/include     \
1448     /usr/dt/include           \
1449     /usr/openwin/include      \
1450                               \
1451     /usr/include/Xm           \
1452                               \
1453     /usr/X11R6/include        \
1454     /usr/X11R6.4/include      \
1455     /usr/X11R5/include        \
1456     /usr/X11R4/include        \
1457                               \
1458     /usr/include/X11R6        \
1459     /usr/include/X11R5        \
1460     /usr/include/X11R4        \
1461                               \
1462     /usr/local/X11R6/include  \
1463     /usr/local/X11R5/include  \
1464     /usr/local/X11R4/include  \
1465                               \
1466     /usr/local/include/X11R6  \
1467     /usr/local/include/X11R5  \
1468     /usr/local/include/X11R4  \
1469                               \
1470     /usr/X11/include          \
1471     /usr/include/X11          \
1472     /usr/local/X11/include    \
1473     /usr/local/include/X11    \
1474                               \
1475     /usr/X386/include         \
1476     /usr/x386/include         \
1477     /usr/XFree86/include/X11  \
1478                               \
1479     X:/XFree86/include        \
1480     X:/XFree86/include/X11    \
1481                               \
1482     /usr/include/gtk          \
1483     /usr/local/include/gtk    \
1484     /usr/include/glib         \
1485     /usr/local/include/glib   \
1486                               \
1487     /usr/include/qt           \
1488     /usr/local/include/qt     \
1489                               \
1490     /usr/include/windows      \
1491     /usr/include/wine         \
1492     /usr/local/include/wine   \
1493                               \
1494     /usr/unsupported/include  \
1495     /usr/athena/include       \
1496     /usr/local/x11r5/include  \
1497     /usr/lpp/Xamples/include  \
1498                               \
1499     /usr/openwin/share/include \
1500                                \
1501     /usr/include"
1502
1503 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s/include/lib/g` "
1504
1505 dnl ------------------------------------------------------------------------
1506 dnl Check for libraries
1507 dnl ------------------------------------------------------------------------
1508
1509 dnl flush the cache because checking for libraries below might abort
1510 AC_CACHE_SAVE
1511
1512 dnl ----------------------------------------------------------------
1513 dnl search for toolkit (widget sets)
1514 dnl ----------------------------------------------------------------
1515
1516 AFMINSTALL=
1517
1518 if test "$wxUSE_GUI" = "yes"; then
1519
1520 USE_GUI=1
1521
1522 TOOLKIT=
1523 TOOLKIT_INCLUDE=
1524
1525 GUIOBJS=
1526 COMMONOBJS=
1527 GENERICOBJS=
1528
1529 GUI_TK_LIBRARY=
1530 GUI_TK_LINK=
1531
1532 WXGTK12=
1533 WXGTK13=
1534
1535 WXWINE=
1536
1537 if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
1538     if test "$cross_compiling" = "yes" ; then
1539         AC_MSG_WARN(Cross compiling --- skipping windows.h check)
1540     else
1541         AC_MSG_CHECKING(for Windows headers)
1542         WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
1543         if test "$ac_find_includes" != "" ; then
1544             AC_MSG_RESULT(found $ac_find_includes)
1545             TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
1546         else
1547             AC_MSG_RESULT(no)
1548             AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
1549         fi
1550     fi
1551
1552     INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS msw"
1553     dnl --- Quick & Dirty ; link against most/all libraries
1554     dnl --- This will bloat the executable, but it'll work for now...
1555     LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lctl3d32 -lcrtdll -ladvapi32 -lwsock32"
1556
1557     dnl -mwindows is needed to avoid that spawning of a console window
1558     if test "$wxUSE_MINGW" = 1; then
1559         LDFLAGS="$LDFLAGS -mwindows"
1560     fi
1561
1562     TOOLKIT=MSW
1563
1564     GUIOBJS="\$(MSW_GUIOBJS)"
1565     GUIHEADERS="\$(MSW_HEADERS)"
1566     COMMONOBJS="\$(MSW_COMMONOBJS)"
1567     GENERICOBJS="\$(MSW_GENERICOBJS)"
1568     UNIXOBJS=
1569     GUIDIST=MSW_DIST
1570 fi
1571
1572 if test "$wxUSE_GTK" = 1; then
1573     dnl avoid calling AM_PATH_GTK twice, so check first for the newer version
1574     dnl and only then, if it wasn't found, for an older one
1575     AM_PATH_GTK(1.2.3, WXGTK12=1)
1576
1577     if test "$WXGTK12" != 1; then
1578         AC_MSG_ERROR([
1579             Please check that gtk-config is in path, the directory
1580             where GTK+ libraries are installed (returned by
1581             'gtk-config --libs' command) is in LD_LIBRARY_PATH or
1582             equivalent variable and GTK+ is version 1.2.3 or above.
1583         ])
1584     fi
1585
1586 dnl it doesn't really work with 1.3.0 now...
1587 dnl    AM_PATH_GTK(1.3.0,
1588 dnl        WXGTK13=1,
1589 dnl        AM_PATH_GTK(1.2.1,
1590 dnl            WXGTK12=1,
1591 dnl            AC_MSG_ERROR(Is gtk-config in path and GTK+ is version 1.2.1 or above?)
1592 dnl        )
1593 dnl    )
1594
1595     TOOLKIT_INCLUDE="$GTK_CFLAGS"
1596
1597 dnl Appending gthreads as it was done here is not portable, instead
1598 dnl we now call "gtk-config --libs gthread" which sets the right library
1599 dnl name for us. The following hacks are no longer required.
1600
1601     GUI_TK_LIBRARY="$GTK_LIBS"
1602
1603 dnl dnl On FreeBSD, the libs are called gtk12 etc, so we must append gthread12
1604 dnl    echo $GTK_LIBS | fgrep -q "glib12"
1605 dnl    if test $? = 0  ; then
1606 dnl       GUI_TK_LIBRARY="$GTK_LIBS -gthread12"
1607 dnl    else
1608 dnl       GUI_TK_LIBRARY="$GTK_LIBS -lgthread"
1609 dnl    fi
1610     TOOLKIT=GTK
1611
1612     AFMINSTALL=afminstall
1613
1614     GUIOBJS="\$(GTK_GUIOBJS)"
1615     GUIHEADERS="\$(GTK_HEADERS)"
1616     COMMONOBJS="\$(GTK_COMMONOBJS)"
1617     GENERICOBJS="\$(GTK_GENERICOBJS)"
1618     GUIDEPS="\$(GTK_GUIDEPS)"
1619     COMMONDEPS="\$(GTK_COMMONDEPS)"
1620     GENERICDEPS="\$(GTK_GENERICDEPS)"
1621     UNIXOBJS="\$(UNIX_OBJS)"
1622     UNIXDEPS="\$(UNIX_DEPS)"
1623     GUIDIST=GTK_DIST
1624
1625     dnl test for XIM support in libgdk
1626     AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
1627 fi
1628
1629 if test "$wxUSE_WINE" = 1; then
1630     AC_MSG_CHECKING(for WINE includes)
1631     WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
1632     if test "$ac_find_includes" != "" ; then
1633         AC_MSG_RESULT(found $ac_find_includes)
1634         TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
1635     else
1636         AC_MSG_RESULT(no)
1637         AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
1638     fi
1639
1640     XPM_LINK=""
1641     AC_MSG_CHECKING(for Xpm library)
1642     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1643     if test "$ac_find_libraries" != "" ; then
1644         GUI_TK_LIBRARY="-L$ac_find_libraries"
1645         XPM_LINK="-lXpm"
1646         AC_DEFINE(wxHAVE_LIB_XPM)
1647         AC_MSG_RESULT(found at $ac_find_libraries)
1648     else
1649         AC_MSG_RESULT(no)
1650         AC_MSG_WARN(library will be compiled without support for images in XPM format)
1651     fi
1652
1653     MESA_LINK=""
1654     AC_MSG_CHECKING(for Mesa library)
1655     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,MesaGL)
1656     if test "$ac_find_libraries" != "" ; then
1657         GUI_TK_LIBRARY="$GUI_TK_LIBRARY -L$ac_find_libraries"
1658         MESA_LINK="-lMesaGL"
1659         AC_MSG_RESULT(found at $ac_find_libraries)
1660     else
1661         AC_MSG_ERROR(no)
1662     fi
1663
1664     GUI_TK_LINK="-lwine $MESA_LINK $XPM_LINK -lXxf86dga -lXxf86vm -lSM -lICE -lXext -lXmu -lX11 -lncurses -lm"
1665     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
1666     WXWINE=1
1667     TOOLKIT=MSW
1668
1669     GUIHEADERS="\$(MSW_HEADERS)"
1670     GUIOBJS="\$(MSW_GUIOBJS)"
1671     COMMONOBJS="\$(MSW_COMMONOBJS)"
1672     GENERICOBJS="\$(MSW_GENERICOBJS)"
1673     GUIDEPS="\$(MSW_GUIDEPS)"
1674     COMMONDEPS="\$(MSW_COMMONDEPS)"
1675     GENERICDEPS="\$(MSW_GENERICDEPS)"
1676     UNIXOBJS="\$(UNIX_OBJS)"
1677     UNIXDEPS="\$(UNIX_DEPS)"
1678     GUIDIST=MSW_DIST
1679 fi
1680
1681 if test "$wxUSE_MOTIF" = 1; then
1682     dnl use standard macros to check for X headers/libs, this brings support
1683     dnl for the standard configure options --x-includes and --x-libraries
1684     AC_PATH_XTRA
1685
1686     if test "$no_x" = "yes"; then
1687         AC_MSG_ERROR(X11 not found, please use --x-includes and/or --x-libraries options)
1688     fi
1689
1690     GUI_TK_LIBRARY="$X_LIBS"
1691     TOOLKIT_INCLUDE="$X_CFLAGS"
1692
1693     AFMINSTALL=afminstall
1694
1695     dnl manual check for X11 headers/libs
1696     dnl
1697     dnl    AC_MSG_CHECKING(for X11 headers)
1698     dnl    WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, X11/Intrinsic.h)
1699     dnl    if test "$ac_find_includes" != "" ; then
1700     dnl        AC_MSG_RESULT(found $ac_find_includes)
1701     dnl    else
1702     dnl        AC_MSG_RESULT(no)
1703     dnl        AC_MSG_ERROR(please set CFLAGS to contain the location of X11/Intrinsic.h)
1704     dnl    fi
1705     dnl
1706     dnl    AC_MSG_CHECKING(for X11 libraries)
1707     dnl    WX_PATH_FIND_LIBRARIES($SEARCH_LIB, X11)
1708     dnl    if test "$ac_find_libraries" != "" ; then
1709     dnl        WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
1710     dnl        WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
1711     dnl
1712     dnl        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
1713     dnl        TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
1714     dnl        AC_MSG_RESULT(found at $ac_find_libraries)
1715     dnl    else
1716     dnl        AC_MSG_RESULT(no)
1717     dnl        AC_MSG_ERROR(please set LDFLAGS to contain the location of libX11)
1718     dnl    fi
1719
1720     COMPILED_X_PROGRAM=0
1721
1722     AC_MSG_CHECKING(for Motif/Lesstif headers)
1723     WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
1724     if test "$ac_find_includes" != "" ; then
1725         AC_MSG_RESULT(found $ac_find_includes)
1726     else
1727         AC_TRY_COMPILE(
1728             [
1729                 #include <Xm/Xm.h>
1730             ],
1731             [
1732                 int version;
1733
1734                 version = xmUseVersion;
1735             ],
1736             [
1737                 AC_MSG_RESULT(found in default search path)
1738                 COMPILED_X_PROGRAM=1
1739             ],
1740             [
1741                 AC_MSG_RESULT(no)
1742                 AC_MSG_ERROR(please set CFLAGS to contain the location of Xm/Xm.h)
1743             ]
1744         )
1745     fi
1746
1747     if test "$COMPILED_X_PROGRAM" = 0; then
1748         AC_MSG_CHECKING(for Motif/Lesstif library)
1749         WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
1750         if test "$ac_find_libraries" != "" ; then
1751             WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
1752             WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
1753
1754             GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
1755             TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE $ac_path_to_include"
1756             AC_MSG_RESULT(found at $ac_find_libraries)
1757         else
1758             dnl it might happen that we found headers in one of the standard
1759             dnl paths but the libs are elsewhere - we do need to try to
1760             dnl compile a sample program then here
1761             AC_TRY_COMPILE(
1762                 [
1763                     #include <Xm/Xm.h>
1764                 ],
1765                 [
1766                     int version;
1767
1768                     version = xmUseVersion;
1769                 ],
1770                 [
1771                     AC_MSG_RESULT(found in default search path)
1772                     COMPILED_X_PROGRAM=1
1773                 ],
1774                 [
1775                     AC_MSG_RESULT(no)
1776                     AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
1777                 ]
1778             )
1779         fi
1780     fi
1781
1782     dnl we don't need this as we used AC_PATH_XTRA above which does it for us
1783     dnl
1784     dnl dnl if we already compiled a sample program, X libs are surely there
1785     dnl if test "$COMPILED_X_PROGRAM" = 0; then
1786     dnl     AC_MSG_CHECKING(for Xt library)
1787     dnl     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xt)
1788     dnl     if test "$ac_find_libraries" != "" ; then
1789     dnl         WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
1790     dnl         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
1791     dnl         AC_MSG_RESULT(found at $ac_find_libraries)
1792     dnl     else
1793     dnl         AC_TRY_COMPILE
1794     dnl         (
1795     dnl             [
1796     dnl                 #include <X11/Intrinsic.h>
1797     dnl             ],
1798     dnl             [
1799     dnl                 char *p;
1800     dnl                 p = XtMalloc(5);
1801     dnl             ],
1802     dnl             [
1803     dnl                 AC_MSG_RESULT(found in default search path)
1804     dnl                 COMPILED_X_PROGRAM=1
1805     dnl             ],
1806     dnl             [
1807     dnl                 AC_MSG_RESULT(no)
1808     dnl                 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXt)
1809     dnl             ]
1810     dnl         )
1811     dnl     fi
1812     dnl fi
1813
1814     XPM_LINK=""
1815     AC_MSG_CHECKING(for Xpm library)
1816     WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
1817     if test "$ac_find_libraries" != "" ; then
1818         WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
1819         GUI_TK_LIBRARY="$GUI_TK_LIBRARY $ac_path_to_link"
1820         XPM_LINK="-lXpm "
1821         AC_DEFINE(wxHAVE_LIB_XPM)
1822         AC_MSG_RESULT(found at $ac_find_libraries)
1823     else
1824         AC_TRY_COMPILE(
1825             [
1826                 #include <X11/xpm.h>
1827             ],
1828             [
1829                 int version;
1830
1831                 version = XpmLibraryVersion();
1832             ],
1833             [
1834                 XPM_LINK="-lXpm "
1835                 AC_DEFINE(wxHAVE_LIB_XPM)
1836                 AC_MSG_RESULT(found in default search path)
1837                 COMPILED_X_PROGRAM=0
1838             ],
1839             [
1840                 AC_MSG_RESULT(no)
1841                 AC_MSG_WARN(library will be compiled without support for images in XPM format)
1842             ]
1843         )
1844     fi
1845
1846     GUI_TK_LINK="-lXm $XPM_LINK -lXmu -lXext -lXt -lX11 -lm"
1847     GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GUI_TK_LINK"
1848     TOOLKIT=MOTIF
1849
1850     GUIHEADERS="\$(MOTIF_HEADERS)"
1851     GUIOBJS="\$(MOTIF_GUIOBJS)"
1852     COMMONOBJS="\$(MOTIF_COMMONOBJS)"
1853     GENERICOBJS="\$(MOTIF_GENERICOBJS)"
1854     GUIDEPS="\$(MOTIF_GUIDEPS)"
1855     COMMONDEPS="\$(MOTIF_COMMONDEPS)"
1856     GENERICDEPS="\$(MOTIF_GENERICDEPS)"
1857     UNIXOBJS="\$(UNIX_OBJS)"
1858     UNIXDEPS="\$(UNIX_DEPS)"
1859     GUIDIST=MOTIF_DIST
1860 fi
1861
1862 if test "$wxUSE_PM" = 1; then
1863     TOOLKIT=PM
1864
1865     GUIOBJS="\$(PM_GUIOBJS)"
1866     GUIHEADERS="\$(PM_HEADERS)"
1867     COMMONOBJS="\$(PM_COMMONOBJS)"
1868     GENERICOBJS="\$(PM_GENERICOBJS)"
1869     GUIDEPS="\$(PM_GUIDEPS)"
1870     COMMONDEPS="\$(PM_COMMONDEPS)"
1871     GENERICDEPS="\$(PM_GENERICDEPS)"
1872     UNIXOBJS=
1873     UNIXDEPS=
1874     GUIDIST=GTK_DIST
1875 fi
1876
1877 dnl the name of the directory where the files for this toolkit live
1878 if test "$TOOLKIT" != "PM" ; then
1879     TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
1880 else
1881     TOOLKIT_DIR="os2"
1882 fi
1883
1884     dnl the symbol which allows conditional compilation for the given toolkit
1885     TOOLKIT_DEF="-D__WX${TOOLKIT}__"
1886
1887     dnl the name of the (libtool) library
1888     WX_LIBRARY="wx_${TOOLKIT_DIR}"
1889
1890     dnl the sources, their dependenices and the headers
1891     ALL_OBJECTS="\$(GUIOBJS) \$(COMMONOBJS) \$(GENERICOBJS) \$(UNIXOBJS) \$(HTMLOBJS) \$(OGLOBJS)"
1892
1893     dnl ODBC objects are Unix only
1894     if test "$TOOLKIT" != "MSW"; then
1895         if test "$wxUSE_ODBC" = "yes" ; then
1896             ALL_OBJECTS="${ALL_OBJECTS} \$(IODBCOBJS)"
1897         fi
1898     fi
1899
1900     if test "$wxUSE_LIBJPEG" = "yes" ; then
1901         ALL_OBJECTS="${ALL_OBJECTS} \$(JPEGOBJS)"
1902     fi
1903     if test "$wxUSE_LIBTIFF" = "yes" ; then
1904         ALL_OBJECTS="${ALL_OBJECTS} \$(TIFFOBJS)"
1905     fi
1906     if test "$wxUSE_LIBPNG" = "yes" ; then
1907         ALL_OBJECTS="${ALL_OBJECTS} \$(PNGOBJS)"
1908     fi
1909     if test "$wxUSE_ZLIB" = "yes" ; then
1910         ALL_OBJECTS="${ALL_OBJECTS} \$(ZLIBOBJS)"
1911     fi
1912     ALL_DEPFILES="\$(GUIDEPS) \$(COMMONDEPS) \$(GENERICDEPS) \$(UNIXDEPS) \$(HTMLDEPS) \$(OGLDEPS)"
1913
1914     PORT_FILES="src/\$(TOOLKITDIR)/files.lst"
1915     RPM_FILES="src/\$(TOOLKITDIR)/rpmfiles.lst"
1916     RPM_SPEC="wx\$(TOOLKIT).spec"
1917
1918     dnl distribute samples/demos/utils with GUI versions
1919     GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST"
1920     DISTDIR="wx\$(TOOLKIT)"
1921 else
1922     USE_GUI=0
1923
1924     TOOLKIT_DIR="base"
1925     TOOLKIT_DEF="-D__WXBASE__"
1926
1927     dnl the sources, their dependenices and the headers
1928     ALL_OBJECTS="\$(BASE_OBJS) \${BASE_UNIX_OBJS}"
1929     ALL_DEPFILES="\${BASE_DEPS} \${BASE_UNIX_DEPS}"
1930
1931     dnl building wxBase only
1932     WX_LIBRARY="wxbase"
1933
1934     PORT_FILES="src/files.lst"
1935     RPM_FILES="src/rpmfiles.lst"
1936     RPM_SPEC="wxBase.spec"
1937
1938     dnl distribute only wxBase sources/headers
1939     GUIDIST="BASE_DIST"
1940     DISTDIR="wxBase"
1941 fi
1942
1943 dnl the name of the (libtool) library
1944 WX_LIBRARY_NAME="lib${WX_LIBRARY}.la"
1945 WX_LIBRARY_NAME_GL="lib${WX_LIBRARY}_gl.la"
1946
1947 dnl the name of the static library
1948 WX_LIBRARY_NAME_STATIC="lib${WX_LIBRARY}.a"
1949 WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY}_gl.a"
1950
1951 dnl the name of the shared library
1952 WX_LIBRARY_NAME_SHARED="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
1953 WX_LIBRARY_NAME_SHARED_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.so.${WX_CURRENT}.${WX_REVISION}.${WX_AGE}"
1954
1955 dnl the name of the links to the shared library
1956 WX_LIBRARY_LINK1="lib${WX_LIBRARY}-${WX_RELEASE}.so.${WX_CURRENT}"
1957 WX_LIBRARY_LINK2="lib${WX_LIBRARY}-${WX_RELEASE}.so"
1958 WX_LIBRARY_LINK3="lib${WX_LIBRARY}.so"
1959 WX_LIBRARY_LINK1_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.so.${WX_CURRENT}"
1960 WX_LIBRARY_LINK2_GL="lib${WX_LIBRARY}_gl-${WX_RELEASE}.so"
1961 WX_LIBRARY_LINK3_GL="lib${WX_LIBRARY}_gl.so"
1962
1963 dnl shared library settings
1964 SHARED_LD=
1965 PIC_FLAG=
1966 WX_ALL=
1967 WX_ALL_INSTALLED=
1968 BURNT_LIBRARY_NAME=
1969
1970 dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
1971
1972 if test "$wxUSE_SHARED" = "yes"; then
1973     case "${host}" in
1974       *-hp-hpux* )
1975         if test "$GCC" = yes ; then
1976             SHARED_LD="${CC} -shared -fPIC -o"
1977             PIC_FLAG="-fPIC"
1978         else
1979             SHARED_LD="${CXX} -b -o"
1980             PIC_FLAG="+Z"
1981         fi
1982         WX_LIBRARY_NAME_SHARED="libwx_${TOOLKIT_DIR}.sl"
1983         WX_LIBRARY_NAME_SHARED_GL="libwx_${TOOLKIT_DIR}_gl.sl"
1984         if test "$wxUSE_OPENGL" = "yes"; then
1985             WX_ALL="${WX_LIBRARY_NAME_SHARED} ${WX_LIBRARY_NAME_SHARED_GL}"
1986         else
1987             WX_ALL="${WX_LIBRARY_NAME_SHARED}"
1988         fi
1989       ;;
1990
1991       dnl in fact, these settings are for any platform using gcc
1992       *-*-linux* )
1993         SHARED_LD="${CC} -shared -o"
1994         PIC_FLAG="-fPIC"
1995         if test "$wxUSE_BURNT_NAME" = "yes" ; then
1996             BURNT_LIBRARY_NAME="-Wl,-soname,${WX_LIBRARY_LINK1}"
1997             BURNT_LIBRARY_NAME_GL="-Wl,-soname,${WX_LIBRARY_LINK1_GL}"
1998         fi
1999         if test "$wxUSE_OPENGL" = "yes"; then
2000             WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL"
2001             WX_ALL="CREATE_LINKS CREATE_LINKS_GL"
2002         else
2003             WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
2004             WX_ALL="CREATE_LINKS"
2005         fi
2006       ;;
2007       *-*-irix5* | *-*-irix6* )
2008         if test "$GCC" = yes ; then
2009            SHARED_LD="${CC} -shared -o"
2010            PIC_FLAG="-fPIC"
2011         else
2012            SHARED_LD="${CXX} -shared -o"
2013         fi
2014         if test "$wxUSE_OPENGL" = "yes"; then
2015             WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL"
2016             WX_ALL="CREATE_LINKS CREATE_LINKS_GL"
2017         else
2018             WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
2019             WX_ALL="CREATE_LINKS"
2020         fi
2021       ;;
2022       *-*-solaris2* )
2023         if test "$GCC" = yes ; then
2024             SHARED_LD="${CC} -shared -o"
2025             PIC_FLAG="-fPIC"
2026         else
2027             SHARED_LD="${CXX} -G -o"
2028             PIC_FLAG="-KPIC"
2029         fi
2030         if test "$wxUSE_OPENGL" = "yes"; then
2031             WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS CREATE_INSTALLED_LINKS_GL"
2032             WX_ALL="CREATE_LINKS CREATE_LINKS_GL"
2033         else
2034             WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
2035             WX_ALL="CREATE_LINKS"
2036         fi
2037       ;;
2038       *-*-sunos4* )
2039         SHARED_LD="${CC} -shared -o"
2040         PIC_FLAG="-fPIC"
2041         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
2042         WX_ALL="CREATE_LINKS"
2043       ;;
2044       *-*-freebsd* | *-*-netbsd*)
2045         SHARED_LD="${CC} -shared -o"
2046         PIC_FLAG="-fPIC"
2047         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
2048         WX_ALL="CREATE_LINKS"
2049       ;;
2050       *-*-osf* )
2051         SHARED_LD="${CXX} -shared -o"
2052         PIC_FLAG="-fPIC"
2053         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
2054         WX_ALL="CREATE_LINKS"
2055       ;;
2056       *-*-dgux5* )
2057         SHARED_LD="${CXX} -shared -o"
2058         PIC_FLAG="-fPIC"
2059         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
2060         WX_ALL="CREATE_LINKS"
2061       ;;
2062       *-*-sysv5* )
2063         SHARED_LD="${CC} -shared -o"
2064         PIC_FLAG="-fPIC"
2065         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
2066         WX_ALL="CREATE_LINKS"
2067       ;;
2068       *-*-aix* )
2069         SHARED_LD="/usr/lpp/xlC/bin/makeC++SharedLib -p 0 -o"
2070         WX_ALL=${WX_LIBRARY_NAME_SHARED}
2071       ;;
2072       *-*-cygwin32* )
2073         dnl only static for now
2074         WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
2075         WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
2076         WX_ALL="${WX_LIBRARY_NAME_STATIC}"
2077       ;;
2078       *-*-mingw32* )
2079         dnl only static for now
2080         WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
2081         WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
2082         WX_ALL="${WX_LIBRARY_NAME_STATIC}"
2083       ;;
2084       *-pc-os2_emx )
2085         dnl only static for now
2086         WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
2087         WX_ALL="${WX_LIBRARY_NAME_STATIC}"
2088       ;;
2089       *-*-beos* )
2090         dnl can't use gcc under BeOS for shared library creation because it
2091         dnl complains about missing 'main'
2092         SHARED_LD="${LD} -shared -o"
2093         PIC_FLAG="-fPIC"
2094         WX_ALL_INSTALLED="CREATE_INSTALLED_LINKS"
2095         WX_ALL="CREATE_LINKS"
2096       ;;
2097       *)
2098         AC_MSG_ERROR(unknown system type ${host}.)
2099     esac
2100
2101     dnl set target to shared if not explicitly chose static before
2102     if test "x$WX_TARGET_LIBRARY" = "x"; then
2103         WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_SHARED}"
2104         WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_SHARED_GL}"
2105     fi
2106 else
2107     dnl set target to static
2108     WX_TARGET_LIBRARY="${WX_LIBRARY_NAME_STATIC}"
2109     WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
2110     WX_ALL="${WX_LIBRARY_NAME_STATIC}"
2111 fi
2112
2113 dnl ------------------------------------------------------------------------
2114 dnl Check for headers
2115 dnl ------------------------------------------------------------------------
2116
2117 dnl defines HAVE_STRINGS_H (where some string functions live on AIX for example)
2118 AC_CHECK_HEADERS(strings.h)
2119 dnl defines HAVE_UNISTD_H
2120 AC_CHECK_HEADERS(unistd.h)
2121 dnl defines HAVE_WCHAR_H
2122 AC_CHECK_HEADERS(wchar.h)
2123 dnl defines HAVE_WCSTR_H
2124 AC_CHECK_HEADERS(wcstr.h)
2125 dnl defines HAVE_FNMATCH_H
2126 AC_CHECK_HEADERS(fnmatch.h)
2127
2128 if test "$wxUSE_GUI" = "yes"; then
2129     dnl defines HAVE_X11_XKBLIB_H
2130     AC_CHECK_HEADERS(X11/XKBlib.h)
2131 fi
2132
2133 dnl ---------------------------------------------------------------------------
2134 dnl Checks for typedefs
2135 dnl ---------------------------------------------------------------------------
2136
2137 dnl   defines mode_t if not already defined
2138 AC_TYPE_MODE_T
2139 dnl   defines off_t if not already defined
2140 AC_TYPE_OFF_T
2141 dnl   defines pid_t if not already defined
2142 AC_TYPE_PID_T
2143 dnl   defines size_t if not already defined
2144 AC_TYPE_SIZE_T
2145 dnl   defines uid_t and gid_t if not already defined
2146 AC_TYPE_UID_T
2147
2148 dnl ---------------------------------------------------------------------------
2149 dnl Checks for structures
2150 dnl ---------------------------------------------------------------------------
2151
2152 dnl does passwd struct has the pw_gecos field?
2153 AC_CACHE_CHECK([for pw_gecos in struct passwd], wx_cv_struct_pw_gecos,
2154     [
2155         AC_TRY_COMPILE([#include <pwd.h>],
2156              [
2157                 char *p;
2158                 struct passwd *pw;
2159                 p = pw->pw_gecos;
2160              ],
2161              [
2162                 wx_cv_struct_pw_gecos=yes
2163                 AC_DEFINE(HAVE_PW_GECOS)
2164              ],
2165              [
2166                 wx_cv_struct_pw_gecos=no
2167              ]
2168         )
2169     ]
2170 )
2171
2172 dnl ---------------------------------------------------------------------------
2173 dnl Checks for compiler characteristics
2174 dnl ---------------------------------------------------------------------------
2175
2176 dnl defines const to be empty if c-compiler does not support const fully
2177 AC_C_CONST
2178 dnl defines inline to a sensible value for the c-compiler
2179 AC_C_INLINE
2180
2181 dnl check the sizes of integral types (give some reasonable default values for
2182 dnl cross-compiling)
2183 dnl   defines the size of certain types of variables in SIZEOF_<TYPE>
2184 AC_CHECK_SIZEOF(char, 1)
2185 AC_CHECK_SIZEOF(short, 2)
2186 AC_CHECK_SIZEOF(int *, 4)
2187 AC_CHECK_SIZEOF(int, 4)
2188 AC_CHECK_SIZEOF(long, 4)
2189 AC_CHECK_SIZEOF(long long, 0)
2190
2191 dnl for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
2192 WX_C_BIGENDIAN
2193
2194 dnl check for iostream (as opposed to iostream.h) standard header
2195 WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
2196
2197 dnl check whether C++ compiler supports bool built-in type
2198 WX_CPP_BOOL
2199
2200 dnl check whether we should define _GNU_SOURCE
2201 WX_GNU_EXTENSIONS
2202
2203 dnl ---------------------------------------------------------------------------
2204 dnl Check for functions
2205 dnl ---------------------------------------------------------------------------
2206
2207 dnl check for wcslen
2208 AC_CHECK_LIB(c, wcslen, [
2209             AC_DEFINE(HAVE_WCSLEN)
2210             WCHAR_LINK=""
2211         ], [
2212             AC_CHECK_LIB(w, wcslen, [
2213                 AC_DEFINE(HAVE_WCSLEN)
2214                 WCHAR_LINK="-lw"
2215             ])
2216         ])
2217
2218 dnl check for vprintf/vsprintf() which are GNU extensions
2219 AC_FUNC_VPRINTF
2220
2221 dnl check for vsnprintf() - a safe version of vsprintf()
2222 AC_CHECK_FUNCS(vsnprintf,
2223                AC_DEFINE(HAVE_VSNPRINTF),
2224                AC_MSG_WARN(unsafe function sprintf will be used instead of snprintf)
2225               )
2226
2227 dnl check for vsscanf() - on some platforms (Linux, glibc 2.1.1) it's
2228 dnl available in the library but the prototype is missing, so we can't use
2229 dnl AC_CHECK_FUNCS here, do it manually
2230 AC_LANG_SAVE
2231 AC_LANG_CPLUSPLUS
2232
2233 AC_CACHE_CHECK([for vsscanf], wx_cv_func_vsscanf,
2234 [
2235   AC_TRY_RUN(
2236              [
2237                 #include <stdio.h>
2238                 #include <stdarg.h>
2239
2240                 int try_vsscanf(const char *format, ...)
2241                 {
2242                   va_list ap;
2243                   va_start(ap, format);
2244
2245                   vsscanf("17", format, ap);
2246
2247                   va_end(ap);
2248                 }
2249
2250                 int main()
2251                 {
2252                   int i;
2253                   try_vsscanf("%d", &i);
2254                   return i == 17 ? 0 : 1;
2255                 }
2256              ], [
2257                 AC_DEFINE(HAVE_VSSCANF)
2258                 wx_cv_func_vsscanf=yes
2259              ],
2260                 wx_cv_func_vsscanf=no,
2261                 wx_cv_func_vsscanf=no
2262              )
2263 ])
2264
2265 AC_LANG_RESTORE
2266
2267 dnl under MSW we always have Sleep()
2268 if test "$TOOLKIT" != "MSW"; then
2269
2270 dnl check for vfork() (even if it's the same as fork() in modern Unices)
2271 AC_CHECK_FUNCS(vfork)
2272
2273 dnl check for timegm() used by datetime.cpp
2274 AC_CHECK_FUNCS(timegm)
2275
2276 HAVE_SOME_SLEEP_FUNC=0
2277 if test "$USE_BEOS" = 1; then
2278     dnl BeOS has its own (wonder where did they get it from) sleep() function
2279     dnl in unistd.h
2280     AC_DEFINE(HAVE_SLEEP)
2281     HAVE_SOME_SLEEP_FUNC=1
2282 fi
2283
2284 if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
2285     dnl try nanosleep() in libc and libposix4, if this fails - usleep()
2286     POSIX4_LINK=
2287     AC_CHECK_FUNCS(nanosleep,
2288         AC_DEFINE(HAVE_NANOSLEEP),
2289         [
2290             AC_CHECK_LIB(posix4, nanosleep,
2291                 [
2292                     AC_DEFINE(HAVE_NANOSLEEP)
2293                     POSIX4_LINK="-lposix4"
2294                 ],
2295                 [
2296                     AC_CHECK_FUNCS(usleep)
2297                     AC_MSG_WARN([wxSleep() function will not work])
2298                 ]
2299             )
2300         ]
2301     )
2302 fi
2303
2304 dnl check for uname (POSIX) and gethostname (BSD)
2305 AC_CHECK_FUNCS(uname gethostname, break)
2306
2307 dnl check for MT-safe version of strtok
2308 AC_CHECK_FUNCS(strtok_r)
2309
2310 dnl check for inet_addr and inet_aton (these may live either in libc, or in
2311 dnl libnsl or libresolv)
2312 INET_LINK=
2313 AC_CHECK_FUNCS(inet_addr,
2314     AC_DEFINE(HAVE_INET_ADDR),
2315     [
2316         AC_CHECK_LIB(nsl, inet_addr,
2317             INET_LINK="nsl",
2318             AC_CHECK_LIB(resolv, inet_addr,
2319                 INET_LINK="resolv"
2320             )
2321         )
2322     ]
2323 )
2324
2325 AC_CHECK_FUNCS(inet_aton,
2326         AC_DEFINE(HAVE_INET_ATON),
2327         [
2328             dnl only check it in the same lib
2329             AC_CHECK_LIB($INET_LINK, inet_aton, AC_DEFINE(HAVE_INET_ATON))
2330         ])
2331
2332 if test "x$INET_LINK" != "x"; then
2333     AC_DEFINE(HAVE_INET_ADDR)
2334     INET_LINK="-l$INET_LINK"
2335 fi
2336
2337 fi
2338 dnl if !MSW
2339
2340 dnl ===========================================================================
2341 dnl Now we have all the info we need - use it!
2342 dnl ===========================================================================
2343
2344 dnl flush the cache
2345 AC_CACHE_SAVE
2346
2347 dnl ---------------------------------------------------------------------------
2348 dnl thread support for Unix (always available under Win32)
2349 dnl ---------------------------------------------------------------------------
2350
2351 dnl under MSW we always have thread support
2352 if test "$TOOLKIT" != "MSW"; then
2353
2354 dnl the code below:
2355 dnl   defines THREADS_OBJ which contains the object files to build
2356 dnl   defines THREADS_LINK which contains the thread library to link with
2357 dnl   defines wxUSE_THREADS=1 if thread support is activated
2358
2359 THREADS_LINK=""
2360 THREADS_OBJ=""
2361
2362 if test "$wxUSE_THREADS" = "yes" ; then
2363     if test "$wxUSE_WINE" = 1 ; then
2364         AC_MSG_WARN([Threads are not supported under WINE])
2365         wxUSE_THREADS="no"
2366     elif test "$USE_BEOS" = 1; then
2367         AC_MSG_WARN([BeOS threads are not yet supported])
2368         wxUSE_THREADS="no"
2369     fi
2370 fi
2371
2372 if test "$wxUSE_THREADS" = "yes" ; then
2373     dnl find if POSIX threads are available
2374
2375     dnl standard lib name is pthread
2376     dnl We no longer test for pthread-0.7 as it breaks compilation on some
2377     dnl glibc2 systems, especially for static linkage.
2378     AC_CHECK_LIB(pthread, pthread_create, [
2379             THREADS_OBJ="threadpsx.lo"
2380             THREADS_LINK="pthread"
2381         ], [
2382             dnl thread functions are in libc_r under FreeBSD
2383             AC_CHECK_LIB(c_r, pthread_create, [
2384                 THREADS_OBJ="threadpsx.lo"
2385                 THREADS_LINK="c_r"
2386             ], [
2387                 dnl VZ: SGI threads are not supported currently
2388                 AC_CHECK_HEADER(sys/prctl.h, [
2389                     THREADS_OBJ="threadsgi.lo"
2390                 ])
2391             ])
2392         ])
2393
2394     if test -z "$THREADS_OBJ" ; then
2395         wxUSE_THREADS=no
2396         AC_MSG_WARN(No thread support on this system)
2397     fi
2398 fi
2399
2400 dnl do other tests only if we are using threads
2401 if test "$wxUSE_THREADS" = "yes" ; then
2402   AC_CHECK_FUNCS(thr_setconcurrency)
2403
2404   dnl define autoconf macro to check for given function in both pthread and
2405   dnl posix4 libraries
2406   dnl usage: AC_FUNC_THREAD(FUNCTION_NAME)
2407   dnl VZ: TODO
2408   dnl AC_DEFUN(AC_FUNC_THREAD,
2409   dnl [
2410   dnl     AC_CHECK_LIB($THREADS_LINK, $1,
2411   dnl            AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'),
2412   dnl            [AC_CHECK_LIB("posix4", $1,
2413   dnl                [AC_DEFINE(HAVE_`'translit($1, `A-Z', 'a-z'))
2414   dnl                 POSIX4_LINK="-lposix4"
2415   dnl             ])
2416   dnl            ])
2417   dnl ])
2418
2419   AC_CHECK_HEADERS(sched.h)
2420
2421   AC_CHECK_LIB($THREADS_LINK, sched_yield,
2422                AC_DEFINE(HAVE_SCHED_YIELD),
2423                [AC_CHECK_LIB("posix4", sched_yield,
2424                    [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK="-lposix4"],
2425                    AC_MSG_WARN(wxThread::Yield will not work properly)
2426                 )]
2427                )
2428
2429   dnl VZ: we should be checking for all of the following functions instead:
2430   dnl   1. pthread_attr_getschedpolicy
2431   dnl   2. sched_get_priority_min and sched_get_priority_max
2432   dnl   3. pthread_attr_getschedparam and pthread_attr_setschedparam
2433   dnl but it seems that if the first one is there, the other ones are too (of
2434   dnl course the proper solution would be to implement AC_FUNC_THREAD above
2435   dnl and do test for them all - anyone?)
2436   AC_CHECK_LIB($THREADS_LINK, pthread_attr_getschedpolicy,
2437                AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS),
2438                [AC_CHECK_LIB("posix4", pthread_attr_getschedpolicy,
2439                    [AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS) POSIX4_LINK="-lposix4"],
2440                    AC_MSG_WARN(Setting thread priority will not work)
2441                 )]
2442                )
2443
2444   AC_CHECK_LIB($THREADS_LINK, pthread_cancel,
2445                AC_DEFINE(HAVE_PTHREAD_CANCEL),
2446                AC_MSG_WARN([wxThread::Kill() will not work properly]))
2447
2448   AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup_push,
2449   [
2450     AC_TRY_COMPILE([#include <pthread.h>],
2451                  [
2452                     pthread_cleanup_push(NULL, NULL);
2453                     pthread_cleanup_pop(0);
2454                  ], [
2455                     wx_cv_func_pthread_cleanup_push=yes
2456                     AC_DEFINE(HAVE_THREAD_CLEANUP_FUNCTIONS)
2457                  ], [
2458                     wx_cv_func_pthread_cleanup_push=no
2459                  ])
2460   ])
2461
2462   THREADS_LINK="-l$THREADS_LINK"
2463 fi
2464
2465 dnl from if !MSW
2466 fi
2467
2468 if test "$wxUSE_THREADS" = "yes"; then
2469   AC_DEFINE(wxUSE_THREADS)
2470
2471   dnl must define _REENTRANT for multithreaded code
2472   CFLAGS="${CFLAGS} -D_REENTRANT"
2473   CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
2474
2475   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
2476 else
2477   dnl on some systems, _REENTRANT should be defined if we want to use any _r()
2478   dnl functions - add tests for other functions here as well
2479   if test "$ac_cv_func_strtok_r" = "yes"; then
2480     AC_MSG_CHECKING(if -D_REENTRANT is needed)
2481     if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
2482         CFLAGS="${CFLAGS} -D_REENTRANT"
2483         CXXFLAGS="${CXXFLAGS} -D_REENTRANT"
2484         AC_MSG_RESULT(yes)
2485     else
2486         AC_MSG_RESULT(no)
2487     fi
2488   fi
2489 fi
2490
2491 if test "$WXGTK13" = 1 ; then
2492   AC_DEFINE_UNQUOTED(__WXGTK13__,$WXGTK13)
2493   WXGTK12=1
2494 fi
2495
2496 if test "$WXGTK12" = 1 ; then
2497   AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
2498 fi
2499
2500 if test "$WXWINE" = 1 ; then
2501   TOOLKIT_DEF="${TOOLKIT_DEF} -D__WXWINE__"
2502 fi
2503
2504 if test "$wxUSE_CYGWIN" = 1 ; then
2505   TOOLKIT_DEF="${TOOLKIT_DEF} -D__WIN95__"
2506 fi
2507
2508 WXDEBUG=
2509
2510 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
2511     WXDEBUG="-g"
2512     wxUSE_OPTIMISE=no
2513 fi
2514
2515 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
2516     wxUSE_DEBUG_INFO=yes
2517     WXDEBUG="-ggdb"
2518 fi
2519
2520 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
2521     AC_DEFINE(WXDEBUG)
2522     WXDEBUG_DEFINE="-D__WXDEBUG__"
2523 else
2524     if test "$wxUSE_GTK" = 1 ; then
2525         WXDEBUG_DEFINE="-DGTK_NO_CHECK_CASTS"
2526     fi
2527 fi
2528
2529 if test "$wxUSE_MEM_TRACING" = "yes" ; then
2530     AC_DEFINE(wxUSE_MEMORY_TRACING)
2531     AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
2532     AC_DEFINE(wxUSE_DEBUG_NEW_ALWAYS)
2533     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
2534 fi
2535
2536 if test "$wxUSE_DMALLOC" = "yes" ; then
2537     DMALLOC_LINK="-ldmalloc"
2538 fi
2539
2540 PROFILE=
2541 if test "$wxUSE_PROFILE" = "yes" ; then
2542     PROFILE="-pg"
2543 fi
2544
2545 DEP_INFO_FLAGS=
2546 CODE_GEN_FLAGS=
2547 if test "$GCC" = yes ; then
2548     if test "$wxUSE_NO_RTTI" = "yes" ; then
2549         CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-rtti"
2550     fi
2551     if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
2552         CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fno-exceptions"
2553     fi
2554     if test "$wxUSE_PERMISSIVE" = "yes" ; then
2555        CODE_GEN_FLAGS="$CODE_GEN_FLAGS -fpermissive"
2556     fi
2557     if test "$wxUSE_NO_DEPS" = "no" ; then
2558         DEP_INFO_FLAGS="-MMD"
2559     fi
2560 fi
2561
2562
2563 CXXFLAGS=`echo "${CXXFLAGS}" | sed "s/\-O.//g" `
2564 CFLAGS=`echo "${CFLAGS}" | sed "s/\-O.//g" `
2565 if test "$wxUSE_OPTIMISE" = "no" ; then
2566     OPTIMISE=
2567 else
2568     if test "$GCC" = yes ; then
2569         OPTIMISE="-O2"
2570         case "${host}" in
2571             i586-*-*|i686-*-* )
2572             OPTIMISE="${OPTIMISE} "
2573         ;;
2574         esac
2575     else
2576         OPTIMISE="-O"
2577     fi
2578 fi
2579
2580 dnl ---------------------------------------------------------------------------
2581 dnl Optional libraries
2582 dnl ---------------------------------------------------------------------------
2583
2584 ZLIB_INCLUDE=
2585 if test "$wxUSE_ZLIB" = "yes" -o "$wxUSE_ZLIB" = "sys" ; then
2586   AC_DEFINE(wxUSE_ZLIB)
2587   if test "$wxUSE_ZLIB" = "yes" ; then
2588     ZLIB_INCLUDE="-I\${top_srcdir}/src/zlib"
2589   else
2590     ZLIB_LINK=
2591     AC_CHECK_HEADER(zlib.h, AC_CHECK_LIB(z, deflate, ZLIB_LINK="-lz"))
2592     if test "x$ZLIB_LINK" = "x" ; then
2593         AC_MSG_ERROR(system zlib compression library not found! Use --with-zlib=yes to use built-in zlib)
2594     fi
2595   fi
2596 fi
2597
2598 PNG_INCLUDE=
2599 if test "$wxUSE_LIBPNG" = "yes" -o "$wxUSE_LIBPNG" = "sys" ; then
2600   AC_DEFINE(wxUSE_LIBPNG)
2601   dnl for the check below to have a chance to succeed, we must already have
2602   dnl libz somewhere
2603   if test "$wxUSE_LIBPNG" = "sys" -a "$wxUSE_ZLIB" != "sys" ; then
2604     AC_MSG_WARN([--with-libpng=sys doesn't work without --with-zlib=sys, will compile the built-in libpng instead])
2605     wxUSE_LIBPNG=yes
2606   fi
2607
2608   if test "$wxUSE_LIBPNG" = "yes" ; then
2609     PNG_INCLUDE="-I\${top_srcdir}/src/png"
2610   else
2611     PNG_LINK=
2612     AC_CHECK_HEADER(png.h,
2613                     AC_CHECK_LIB(png, png_check_sig,
2614                                  PNG_LINK="-lpng",
2615                                  ,
2616                                  [-lz -lm])
2617                    )
2618     if test "x$PNG_LINK" = "x" ; then
2619         AC_MSG_ERROR(system png library not found! Use --with-libpng=yes to use the built-in libpng)
2620     fi
2621   fi
2622
2623   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
2624 fi
2625
2626 JPEG_INCLUDE=
2627 if test "$wxUSE_LIBJPEG" = "yes" -o "$wxUSE_LIBJPEG" = "sys" ; then
2628   AC_DEFINE(wxUSE_LIBJPEG)
2629   if test "$wxUSE_LIBJPEG" = "yes" ; then
2630     JPEG_INCLUDE="-I\${top_srcdir}/src/jpeg"
2631   else
2632     JPEG_LINK=
2633     AC_CHECK_HEADER(jpeglib.h, AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LINK="-ljpeg"))
2634     if test "x$JPEG_LINK" = "x" ; then
2635         AC_MSG_ERROR(system jpeg library not found! Use --with-libjpeg=yes to use the built-in one)
2636     fi
2637   fi
2638 fi
2639
2640 TIFF_INCLUDE=
2641 if test "$wxUSE_LIBTIFF" = "yes" -o "$wxUSE_LIBTIFF" = "sys" ; then
2642   AC_DEFINE(wxUSE_LIBTIFF)
2643   if test "$wxUSE_LIBTIFF" = "yes" ; then  
2644     TIFF_INCLUDE="-I\${top_srcdir}/src/tiff"
2645   else
2646     TIFF_LINK=
2647     AC_CHECK_HEADER(tiffio.h, AC_CHECK_LIB(tiff, TIFFError,
2648                                            TIFF_LINK="-ltiff",
2649                                            ,
2650                                            -lm))
2651     if test "x$TIFF_LINK" = "x" ; then
2652         AC_MSG_ERROR(system tiff library not found! Use --with-libtiff=yes to use the built-in one)
2653     fi
2654   fi
2655 fi
2656
2657 if test "$wxUSE_OPENGL" = "yes"; then
2658   AC_CHECK_HEADER(GL/gl.h, [
2659     AC_DEFINE(wxUSE_OPENGL)
2660     AC_DEFINE(wxUSE_GLCANVAS)
2661     AC_CHECK_LIB(GL, glFlush, [
2662       OPENGL_LINK="-lGL"
2663     ],[
2664         AC_CHECK_LIB(MesaGL, glFlush, [
2665         OPENGL_LINK="-lMesaGL"
2666       ],)
2667      ],)
2668     ],wxUSE_OPENGL=0)
2669 fi
2670
2671 dnl ---------------------------------------------------------------------------
2672 dnl the library may be built without GUI classes at all
2673 dnl ---------------------------------------------------------------------------
2674
2675 if test "$wxUSE_GUI" = "yes"; then
2676   AC_DEFINE(wxUSE_GUI)
2677
2678   dnl the things we always pull in the GUI version of the library:
2679   dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
2680   dnl    library really can't be built without those)
2681   dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
2682   dnl    almost any program and the first 2 are needed to show a message box
2683   dnl    which want to be always able to do)
2684   dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
2685   dnl    to compile without them (if the app doesn't do any drawing, it doesn't
2686   dnl    need the dcs, pens, brushes, ...), this just can't be done now
2687   dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
2688   dnl 5. misc stuff: timers, settings, message box
2689 else
2690   AC_DEFINE(wxUSE_NOGUI)
2691 fi
2692
2693 dnl ---------------------------------------------------------------------------
2694 dnl Unix/Windows
2695 dnl ---------------------------------------------------------------------------
2696
2697 if test "$wxUSE_UNIX" = "yes"; then
2698   AC_DEFINE(wxUSE_UNIX)
2699 fi
2700
2701 dnl ---------------------------------------------------------------------------
2702 dnl Register non-GUI class options for makefiles and setup.h
2703 dnl ---------------------------------------------------------------------------
2704
2705 if test "$wxUSE_APPLE_IEEE" = "yes"; then
2706   AC_DEFINE(wxUSE_APPLE_IEEE)
2707 fi
2708
2709 if test "$wxUSE_WAVE" = "yes"; then
2710   AC_DEFINE(wxUSE_WAVE)
2711 fi
2712
2713 if test "$wxUSE_FILE" = "yes"; then
2714   AC_DEFINE(wxUSE_FILE)
2715 fi
2716
2717 if test "$wxUSE_FILESYSTEM" = "yes"; then
2718   AC_DEFINE(wxUSE_FILESYSTEM)
2719 fi
2720
2721 if test "$wxUSE_FS_INET" = "yes"; then
2722   AC_DEFINE(wxUSE_FS_INET)
2723 fi
2724
2725 if test "$wxUSE_FS_ZIP" = "yes"; then
2726   AC_DEFINE(wxUSE_FS_ZIP)
2727 fi
2728
2729 if test "$wxUSE_ZIPSTREAM" = "yes"; then
2730   AC_DEFINE(wxUSE_ZIPSTREAM)
2731 fi
2732
2733 if test "$wxUSE_BUSYINFO" = "yes"; then
2734   AC_DEFINE(wxUSE_BUSYINFO)
2735 fi
2736
2737 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
2738   AC_DEFINE(wxUSE_STD_IOSTREAM)
2739 fi
2740
2741 if test "$wxUSE_TEXTFILE" = "yes"; then
2742   if test "$wxUSE_FILE" != "yes"; then
2743     AC_MSG_WARN(wxTextFile requires wxFile and it won't be compiled without it)
2744   else
2745     AC_DEFINE(wxUSE_TEXTFILE)
2746   fi
2747 fi
2748
2749 if test "$wxUSE_CONFIG" = "yes" ; then
2750   if test "$wxUSE_TEXTFILE" != "yes"; then
2751     AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
2752   else
2753     AC_DEFINE(wxUSE_CONFIG)
2754     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
2755   fi
2756 fi
2757
2758 if test "$wxUSE_INTL" = "yes" ; then
2759   if test "$wxUSE_FILE" != "yes"; then
2760     AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
2761   else
2762     AC_DEFINE(wxUSE_INTL)
2763     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
2764   fi
2765 fi
2766
2767 if test "$wxUSE_LOG" = "yes"; then
2768   AC_DEFINE(wxUSE_LOG)
2769 fi
2770
2771 if test "$wxUSE_LONGLONG" = "yes"; then
2772   AC_DEFINE(wxUSE_LONGLONG)
2773 fi
2774
2775 if test "$wxUSE_PLOT" = "yes"; then
2776   AC_DEFINE(wxUSE_PLOT)
2777 fi
2778
2779 if test "$wxUSE_DIALUP_MANAGER" = "yes" ; then
2780   AC_DEFINE(wxUSE_DIALUP_MANAGER)
2781   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
2782 fi
2783
2784 if test "$wxUSE_STREAMS" = "yes" ; then
2785   AC_DEFINE(wxUSE_STREAMS)
2786 fi
2787
2788 dnl ------------------------------------------------------------------------
2789 dnl time/date functions
2790 dnl ------------------------------------------------------------------------
2791
2792 if test "$wxUSE_TIMEDATE" = "yes"; then
2793     dnl check for strptime
2794     AC_CHECK_FUNCS(strptime)
2795
2796     dnl check for timezone variable
2797     AC_CACHE_CHECK(for timezone variable in <time.h>,
2798                    wx_cv_var_timezone,
2799                    [
2800                         AC_TRY_COMPILE(
2801                             [
2802                                 #include <time.h>
2803                             ],
2804                             [
2805                                 int tz;
2806                                 tz = __timezone;
2807                             ],
2808                             [
2809                                 wx_cv_var_timezone=__timezone
2810                             ],
2811                             [
2812                                 AC_TRY_COMPILE(
2813                                     [
2814                                         #include <time.h>
2815                                     ],
2816                                     [
2817                                         int tz;
2818                                         tz = _timezone;
2819                                     ],
2820                                     [
2821                                         wx_cv_var_timezone=_timezone
2822                                     ],
2823                                     [
2824                                         AC_TRY_COMPILE(
2825                                             [
2826                                                 #include <time.h>
2827                                             ],
2828                                             [
2829                                                 int tz;
2830                                                 tz = timezone;
2831                                             ],
2832                                             [
2833                                                 wx_cv_var_timezone=timezone
2834                                             ],
2835                                             AC_MSG_ERROR(no timezone variable)
2836                                         )
2837                                     ]
2838                                 )
2839                             ]
2840                         )
2841                    ]
2842     )
2843
2844     dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
2845     AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
2846
2847     dnl check for localtime (it's POSIX, but the check can do no harm...)
2848     AC_CHECK_FUNCS(localtime)
2849
2850     if test "$ac_cv_func_localtime" = "yes"; then
2851         AC_CACHE_CHECK(for tm_gmtoff in struct tm,
2852                        wx_cv_struct_tm_has_gmtoff,
2853         [
2854             AC_TRY_COMPILE(
2855                 [
2856                     #include <time.h>
2857                 ],
2858                 [
2859                     struct tm tm;
2860                     tm.tm_gmtoff++;
2861                 ],
2862                 [
2863                     wx_cv_struct_tm_has_gmtoff=yes
2864                     AC_DEFINE(WX_GMTOFF_IN_TM)
2865                 ],
2866                 wx_cv_struct_tm_has_gmtoff=no
2867             )
2868         ])
2869     fi
2870
2871     dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the
2872     dnl function to be used for high resolution timers
2873     AC_CHECK_FUNCS(gettimeofday ftime, break)
2874
2875     if test "$ac_cv_func_gettimeofday" = "yes"; then
2876         AC_CACHE_CHECK([whether gettimeofday takes two arguments],
2877                        wx_cv_func_gettimeofday_has_2_args,
2878         [
2879             dnl on some _really_ old systems it takes only 1 argument
2880             AC_LANG_SAVE
2881             AC_LANG_CPLUSPLUS
2882
2883             AC_TRY_COMPILE(
2884                 [
2885                     #include <sys/time.h>
2886                     #include <unistd.h>
2887                 ],
2888                 [
2889                     struct timeval tv;
2890                     struct timezone tz;
2891                     gettimeofday(&tv, &tz);
2892                 ],
2893                 wx_cv_func_gettimeofday_has_2_args=yes,
2894                 AC_TRY_COMPILE(
2895                     [
2896                         #include <sys/time.h>
2897                         #include <unistd.h>
2898                     ],
2899                     [
2900                         struct timeval tv;
2901                         gettimeofday(&tv);
2902                     ],
2903                     wx_cv_func_gettimeofday_has_2_args=no,
2904                     wx_cv_func_gettimeofday_has_2_args=unknown
2905                 )
2906             )
2907             AC_LANG_RESTORE
2908         ])
2909
2910         if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then
2911             AC_DEFINE(WX_GETTIMEOFDAY_NO_TZ)
2912         fi
2913     fi
2914
2915     AC_DEFINE(wxUSE_TIMEDATE)
2916     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
2917 fi
2918
2919 dnl ------------------------------------------------------------------------
2920 dnl wxSocket
2921 dnl ------------------------------------------------------------------------
2922
2923 dnl under MSW we always have sockets
2924 if test "$TOOLKIT" != "MSW"; then
2925
2926 if test "$wxUSE_SOCKETS" = "yes"; then
2927     dnl under Solaris, socket functions live in -lsocket
2928     AC_CHECK_FUNC(socket,,
2929         AC_CHECK_LIB(socket, socket,
2930             INET_LINK="$INET_LINK -lsocket",
2931             [
2932                 AC_MSG_WARN([socket library not found - sockets will be disabled])
2933                 wxUSE_SOCKETS=no
2934             ]
2935         )
2936     )
2937 fi
2938
2939 fi
2940 dnl if !MSW
2941
2942 if test "$wxUSE_SOCKETS" = "yes" ; then
2943     dnl determine the type of third argument for getsockname
2944     AC_CACHE_CHECK([what is the type of the third argument of getsockname],
2945                    wx_cv_type_getsockname3,
2946         [
2947             AC_LANG_SAVE
2948             AC_LANG_CPLUSPLUS
2949
2950             AC_TRY_COMPILE(
2951                 [
2952                     #include <sys/types.h>
2953                     #include <sys/socket.h>
2954                 ],
2955                 [
2956                     socklen_t len;
2957                     getsockname(0, 0, &len);
2958                 ],
2959                 wx_cv_type_getsockname3=socklen_t,
2960                 AC_TRY_COMPILE(
2961                     [
2962                         #include <sys/types.h>
2963                         #include <sys/socket.h>
2964                     ],
2965                     [
2966                         size_t len;
2967                         getsockname(0, 0, &len);
2968                     ],
2969                     wx_cv_type_getsockname3=size_t,
2970                     AC_TRY_COMPILE(
2971                         [
2972                             #include <sys/types.h>
2973                             #include <sys/socket.h>
2974                         ],
2975                         [
2976                             int len;
2977                             getsockname(0, 0, &len);
2978                         ],
2979                         wx_cv_type_getsockname3=int,
2980                         wx_cv_type_getsockname3=unknown
2981                     )
2982                 )
2983             )
2984
2985             AC_LANG_RESTORE
2986         ])
2987
2988     if test "$wx_cv_type_getsockname3" = "unknown"; then
2989         wxUSE_SOCKETS=no
2990         AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
2991     else
2992         AC_DEFINE_UNQUOTED(SOCKLEN_T, $wx_cv_type_getsockname3)
2993     fi
2994 fi
2995
2996 if test "$wxUSE_SOCKETS" = "yes" ; then
2997     AC_DEFINE(wxUSE_SOCKETS)
2998     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
2999     INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS protocol"
3000 fi
3001
3002 dnl ---------------------------------------------------------------------------
3003 dnl Joystick support
3004 dnl ---------------------------------------------------------------------------
3005
3006 dnl under MSW we always have joystick support
3007 if test "$TOOLKIT" != "MSW"; then
3008
3009 if test "$wxUSE_JOYSTICK" = 1; then
3010   dnl joystick support is only for Linux 2.1.x or greater
3011   AC_CHECK_HEADERS(linux/joystick.h)
3012   if test "$ac_cv_header_linux_joystick_h" != "yes"; then
3013     wxUSE_JOYSTICK=0
3014     AC_MSG_WARN(Joystick not supported yb this system, disabled)
3015   fi
3016 fi
3017
3018 fi
3019 dnl if !MSW
3020
3021 if test "$wxUSE_JOYSTICK" = 1; then
3022     AC_DEFINE(wxUSE_JOYSTICK)
3023     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
3024 fi
3025
3026 dnl ------------------------------------------------------------------------
3027 dnl DLL support
3028 dnl ------------------------------------------------------------------------
3029
3030 dnl under MSW we always have LoadLibrary/GetProcAddress
3031 if test "$TOOLKIT" != "MSW"; then
3032
3033 HAVE_DL_FUNCS=0
3034 HAVE_SHL_FUNCS=0
3035 if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
3036     dnl the test is a bit complicated because we check for dlopen() both with
3037     dnl and without -ldl and we also try to find shl_load() if there is no
3038     dnl dlopen() on this system
3039     AC_CHECK_FUNCS(dlopen,
3040         [
3041             AC_DEFINE(HAVE_DLOPEN)
3042             HAVE_DL_FUNCS=1
3043         ],
3044         [
3045             AC_CHECK_LIB(dl, dlopen,
3046                         [
3047                             AC_DEFINE(HAVE_DLOPEN)
3048                             HAVE_DL_FUNCS=1
3049                             LIBS="$LIBS -ldl"
3050                         ],
3051                         [
3052                             AC_CHECK_FUNCS(shl_load,
3053                                           [
3054                                             AC_DEFINE(HAVE_SHL_LOAD)
3055                                             HAVE_SHL_FUNCS=1
3056                                           ])
3057                         ])
3058         ])
3059
3060     if test "$HAVE_DL_FUNCS" = 0; then
3061         if test "$HAVE_SHL_FUNCS" = 0; then
3062           if test "$USE_UNIX" = 1; then
3063               AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
3064               wxUSE_DYNLIB_CLASS=no
3065           else
3066               AC_MSG_WARN([Assuming wxLibrary class works on this platform])
3067           fi
3068         fi
3069     fi
3070 fi
3071
3072 fi
3073 dnl if !MSW
3074
3075 if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
3076     AC_DEFINE(wxUSE_DYNLIB_CLASS)
3077 else
3078     wxUSE_ODBC=no
3079     wxUSE_SERIAL=no
3080 fi
3081
3082 dnl ---------------------------------------------------------------------------
3083 dnl String stuff
3084 dnl ---------------------------------------------------------------------------
3085
3086 if test "$wxUSE_UNICODE" = "yes" ; then
3087   AC_DEFINE(wxUSE_UNICODE)
3088 fi
3089
3090 if test "$wxUSE_WCSRTOMBS" = "yes" ; then
3091   AC_DEFINE(wxUSE_WCSRTOMBS)
3092 fi
3093
3094 if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
3095   AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
3096 fi
3097
3098 dnl ----------------------------------------------------------------
3099 dnl serialization support
3100 dnl ----------------------------------------------------------------
3101
3102 if test "$wxUSE_SERIAL" = "yes" ; then
3103     AC_DEFINE(wxUSE_SERIAL)
3104 fi
3105
3106 dnl ----------------------------------------------------------------
3107 dnl iODBC support
3108 dnl ----------------------------------------------------------------
3109
3110 IODBC_C_SRC=""
3111 if test "$wxUSE_ODBC" = "yes" ; then
3112     AC_DEFINE(wxUSE_ODBC)
3113     WXODBCFLAG="-D_IODBC_"
3114     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
3115     IODBCOBJS="\$(IODBC_OBJS)"
3116 else
3117     IODBCOBJS=
3118 fi
3119
3120 dnl ----------------------------------------------------------------
3121 dnl Register PostScript options for makefiles and setup.h
3122 dnl ----------------------------------------------------------------
3123
3124 if test "$wxUSE_POSTSCRIPT" = "yes" ; then
3125   AC_DEFINE(wxUSE_POSTSCRIPT)
3126 fi
3127
3128 AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
3129
3130 AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
3131
3132 dnl ---------------------------------------------------------------------------
3133 dnl big GUI components: MDI, doc/view, printing, help, ...
3134 dnl ---------------------------------------------------------------------------
3135
3136 if test "$wxUSE_CONSTRAINTS" = "yes"; then
3137     AC_DEFINE(wxUSE_CONSTRAINTS)
3138     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
3139 fi
3140
3141 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
3142     AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
3143     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
3144 fi
3145
3146 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
3147     AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
3148     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
3149     if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
3150         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
3151     fi
3152 fi
3153
3154 if test "$wxUSE_HELP" = "yes"; then
3155     AC_DEFINE(wxUSE_HELP)
3156     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
3157 fi
3158
3159 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
3160     if test "$wxUSE_CONSTRAINTS" != "yes"; then
3161         AC_MSG_WARN(Printing support cannot be used without constraints so it won't be compiled without it)
3162     else
3163         AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
3164     fi
3165     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
3166 fi
3167
3168 if test "$wxUSE_PROLOGIO" = "yes" ; then
3169     AC_DEFINE(wxUSE_PROLOGIO)
3170 fi
3171
3172 if test "$wxUSE_RESOURCES" = "yes" ; then
3173     if test "$wxUSE_PROLOGIO" = "yes" ; then
3174         AC_DEFINE(wxUSE_RESOURCES)
3175         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS resource"
3176     else
3177         AC_MSG_WARN([wxWindows ressource system requires PrologIO and can't be compiled without it.])
3178     fi
3179 fi
3180
3181 if test "$wxUSE_X_RESOURCES" = "yes"; then
3182     AC_DEFINE(wxUSE_X_RESOURCES)
3183 fi
3184
3185 dnl ---------------------------------------------------------------------------
3186 dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
3187 dnl ---------------------------------------------------------------------------
3188
3189 if test "$wxUSE_IPC" = "yes"; then
3190     AC_DEFINE(wxUSE_IPC)
3191 fi
3192
3193 if test "$wxUSE_CLIPBOARD" = "yes"; then
3194     AC_DEFINE(wxUSE_CLIPBOARD)
3195 fi
3196
3197 if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
3198     if test "$wxUSE_GTK" = 1; then
3199         if test "$WXGTK12" != 1; then
3200             AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2])
3201             wxUSE_DRAG_AND_DROP=no
3202         fi
3203     fi
3204
3205     if test "$wxUSE_MOTIF" = 1; then
3206         AC_MSG_WARN([Drag and drop is not yet supported under Motif])
3207         wxUSE_DRAG_AND_DROP=no
3208     fi
3209
3210     if test "$USE_WIN32" = 1; then
3211         dnl check for ole headers and disable DnD if not present (earlier
3212         dnl versions of mingw32 don't have them)
3213         AC_CHECK_HEADERS(ole2.h)
3214         if test "x$HAVE_OLE2_H" = x ; then
3215             AC_MSG_WARN(Drag and drop disabled because OLE headers not found)
3216             wxUSE_DRAG_AND_DROP=no
3217         fi
3218     fi
3219
3220     if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
3221         AC_DEFINE(wxUSE_DRAG_AND_DROP)
3222         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
3223     fi
3224
3225 fi
3226
3227 if test "$wxUSE_SPLINES" = "yes" ; then
3228   AC_DEFINE(wxUSE_SPLINES)
3229 fi
3230
3231 dnl ---------------------------------------------------------------------------
3232 dnl GUI controls
3233 dnl ---------------------------------------------------------------------------
3234
3235 if test "$wxUSE_ACCEL" = "yes"; then
3236   AC_DEFINE(wxUSE_ACCEL)
3237 fi
3238
3239 if test "$wxUSE_CARET" = "yes"; then
3240   AC_DEFINE(wxUSE_CARET)
3241   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
3242 fi
3243
3244 if test "$wxUSE_COMBOBOX" = "yes"; then
3245   AC_DEFINE(wxUSE_COMBOBOX)
3246 fi
3247
3248 if test "$wxUSE_CHOICE" = "yes"; then
3249   AC_DEFINE(wxUSE_CHOICE)
3250 fi
3251
3252 if test "$wxUSE_BMPBUTTON" = "yes"; then
3253   AC_DEFINE(wxUSE_BMPBUTTON)
3254 fi
3255
3256 if test "$wxUSE_CHECKBOX" = "yes"; then
3257   AC_DEFINE(wxUSE_CHECKBOX)
3258 fi
3259
3260 if test "$wxUSE_CHECKLST" = "yes"; then
3261   AC_DEFINE(wxUSE_CHECKLISTBOX)
3262   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
3263 fi
3264
3265 if test "$wxUSE_GAUGE" = "yes"; then
3266   AC_DEFINE(wxUSE_GAUGE)
3267 fi
3268
3269 if test "$wxUSE_NEW_GRID" = "yes"; then
3270   wxUSE_GRID="yes"
3271   AC_DEFINE(wxUSE_NEW_GRID)
3272   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS newgrid"
3273 fi
3274
3275 if test "$wxUSE_GRID" = "yes"; then
3276   AC_DEFINE(wxUSE_GRID)
3277   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
3278 fi
3279
3280 if test "$wxUSE_IMAGLIST" = "yes"; then
3281     AC_DEFINE(wxUSE_IMAGLIST)
3282 fi
3283
3284 if test "$wxUSE_LISTBOX" = "yes"; then
3285     AC_DEFINE(wxUSE_LISTBOX)
3286 fi
3287
3288 if test "$wxUSE_LISTCTRL" = "yes"; then
3289     if test "$wxUSE_IMAGLIST" = "yes"; then
3290         AC_DEFINE(wxUSE_LISTCTRL)
3291         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
3292     else
3293         AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
3294     fi
3295 fi
3296
3297 if test "$wxUSE_NOTEBOOK" = "yes"; then
3298     AC_DEFINE(wxUSE_NOTEBOOK)
3299     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
3300 fi
3301
3302 if test "$wxUSE_RADIOBOX" = "yes"; then
3303     AC_DEFINE(wxUSE_RADIOBOX)
3304 fi
3305
3306 if test "$wxUSE_RADIOBTN" = "yes"; then
3307     AC_DEFINE(wxUSE_RADIOBTN)
3308 fi
3309
3310 if test "$wxUSE_SASH" = "yes"; then
3311     AC_DEFINE(wxUSE_SASH)
3312     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
3313 fi
3314
3315 if test "$wxUSE_SCROLLBAR" = "yes"; then
3316     AC_DEFINE(wxUSE_SCROLLBAR)
3317     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
3318 fi
3319
3320 if test "$wxUSE_SLIDER" = "yes"; then
3321     AC_DEFINE(wxUSE_SLIDER)
3322 fi
3323
3324 if test "$wxUSE_SPINBTN" = "yes"; then
3325     AC_DEFINE(wxUSE_SPINBTN)
3326 fi
3327
3328 if test "$wxUSE_SPINCTRL" = "yes"; then
3329     AC_DEFINE(wxUSE_SPINCTRL)
3330 fi
3331
3332 if test "$wxUSE_SPLITTER" = "yes"; then
3333     AC_DEFINE(wxUSE_SPLITTER)
3334     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
3335 fi
3336
3337 if test "$wxUSE_STATBMP" = "yes"; then
3338     AC_DEFINE(wxUSE_STATBMP)
3339 fi
3340
3341 if test "$wxUSE_STATBOX" = "yes"; then
3342     AC_DEFINE(wxUSE_STATBOX)
3343 fi
3344
3345 if test "$wxUSE_STATLINE" = "yes"; then
3346     if test "$wxUSE_WINE" = 1 ; then
3347         AC_MSG_WARN([wxStaticLine is not supported under WINE])
3348     else
3349         AC_DEFINE(wxUSE_STATLINE)
3350     fi
3351 fi
3352
3353 if test "$wxUSE_STATUSBAR" = "yes"; then
3354     AC_DEFINE(wxUSE_STATUSBAR)
3355
3356     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
3357 fi
3358
3359 if test "$wxUSE_TABDIALOG" = "yes"; then
3360     AC_DEFINE(wxUSE_TAB_DIALOG)
3361     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS tab"
3362 fi
3363
3364 if test "$wxUSE_TOOLBAR_SIMPLE" = "yes"; then
3365     AC_DEFINE(wxUSE_TOOLBAR_SIMPLE)
3366     wxUSE_TOOLBAR="yes"
3367 fi
3368
3369 if test "$wxUSE_TOOLBAR" = "yes"; then
3370     AC_DEFINE(wxUSE_TOOLBAR)
3371
3372     dnl if wxUSE_TOOLBAR and !wxUSE_TOOLBAR_SIMPLE => wxUSE_TOOLBAR_NATIVE
3373     if test "$wxUSE_TOOLBAR_SIMPLE" != "yes"; then
3374         wxUSE_TOOLBAR_NATIVE="yes"
3375     fi
3376
3377     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
3378 fi
3379
3380 if test "$wxUSE_TOOLBAR_NATIVE" = "yes"; then
3381     AC_DEFINE(wxUSE_TOOLBAR_NATIVE)
3382 fi
3383
3384 if test "$wxUSE_TOOLTIPS" = "yes"; then
3385     if test "$wxUSE_MOTIF" = 1; then
3386         AC_MSG_WARN(wxTooltip not supported yet under Motif)
3387     else
3388         if test "$wxUSE_WINE" = 1; then
3389             AC_MSG_WARN(wxTooltip not supported under WINE)
3390         else
3391             AC_DEFINE(wxUSE_TOOLTIPS)
3392         fi
3393     fi
3394 fi
3395
3396 if test "$wxUSE_TREECTRL" = "yes"; then
3397     if test "$wxUSE_IMAGLIST" = "yes"; then
3398         AC_DEFINE(wxUSE_TREECTRL)
3399         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
3400     else
3401         AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
3402     fi
3403 fi
3404
3405 dnl ---------------------------------------------------------------------------
3406 dnl misc options
3407 dnl ---------------------------------------------------------------------------
3408
3409 dnl TODO this is unused for now...
3410 dnl if test "$wxUSE_WXTREE" = "yes"; then
3411 dnl   AC_DEFINE(wxUSE_WXTREE)
3412 dnl fi
3413
3414 if test "$wxUSE_METAFILE" = "yes"; then
3415     AC_DEFINE(wxUSE_METAFILE)
3416 fi
3417
3418 if test "$wxUSE_DIRDLG" = "yes"; then
3419     if test "$wxUSE_CONSTRAINTS" != "yes"; then
3420        AC_MSG_WARN(wxDirDialog requires constraints so it won't be compiled without them)
3421     else
3422         if test "$wxUSE_TREECTRL" != "yes"; then
3423             AC_MSG_WARN(wxDirDialog requires wxTreeCtrl so it won't be compiled without it)
3424         else
3425             AC_DEFINE(wxUSE_DIRDLG)
3426         fi
3427     fi
3428 fi
3429
3430 if test "$wxUSE_TEXTDLG" = "yes"; then
3431     AC_DEFINE(wxUSE_TEXTDLG)
3432 fi
3433
3434 if test "$wxUSE_STARTUP_TIPS" = "yes"; then
3435     if test "$wxUSE_CONSTRAINTS" != "yes"; then
3436        AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them)
3437     else
3438         AC_DEFINE(wxUSE_STARTUP_TIPS)
3439     fi
3440 fi
3441
3442 if test "$wxUSE_PROGRESSDLG" = "yes"; then
3443     if test "$wxUSE_CONSTRAINTS" != "yes"; then
3444        AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them)
3445     else
3446         AC_DEFINE(wxUSE_PROGRESSDLG)
3447     fi
3448 fi
3449
3450 if test "$wxUSE_MINIFRAME" = "yes"; then
3451     AC_DEFINE(wxUSE_MINIFRAME)
3452     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
3453 fi
3454
3455 if test "$wxUSE_HTML" = "yes"; then
3456     AC_DEFINE(wxUSE_HTML)
3457     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html"
3458     INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS html"
3459 fi
3460
3461 if test "$wxUSE_VALIDATORS" = "yes"; then
3462     AC_DEFINE(wxUSE_VALIDATORS)
3463     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
3464 fi
3465
3466 if test "$wxUSE_GIF" = "yes" ; then
3467   AC_DEFINE(wxUSE_GIF)
3468 fi
3469
3470 if test "$wxUSE_PCX" = "yes" ; then
3471   AC_DEFINE(wxUSE_PCX)
3472 fi
3473
3474 if test "$wxUSE_PNM" = "yes" ; then
3475   AC_DEFINE(wxUSE_PNM)
3476 fi
3477
3478 dnl ---------------------------------------------------------------------------
3479 dnl get the string with OS info - used by wxGetOsDescription()
3480 dnl ---------------------------------------------------------------------------
3481
3482 OSINFO=`uname -s -r -m`
3483 OSINFO="\"$OSINFO\""
3484 AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
3485
3486 dnl ---------------------------------------------------------------------------
3487 dnl Output the makefiles and such from the results found above
3488 dnl ---------------------------------------------------------------------------
3489
3490 GUILIBS="$GUI_TK_LIBRARY $OPENGL_LINK $TOOLKIT_LINK"
3491
3492 dnl all additional libraries (except wxWindows itself) we link with
3493 EXTRA_LIBS="$LIBS $ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $THREADS_LINK $DMALLOC_LINK $DL_LINK"
3494 if test "$wxUSE_GUI" = "yes"; then
3495     EXTRA_LIBS="$EXTRA_LIBS $GUILIBS $PNG_LINK $JPEG_LINK $TIFF_LINK"
3496 fi
3497
3498 dnl all the libraries needed to link wxWindows programs when using the
3499 dnl makefile system without libtool
3500 LD_LIBS="\${top_builddir}/lib/${WX_LIBRARY_NAME_STATIC} $EXTRA_LIBS"
3501
3502 dnl all -I options we must pass to the compiler
3503 INCLUDES="-I. -I\${top_builddir}/include -I\${top_srcdir}/include -I\${top_srcdir}/contrib/include $ZLIB_INCLUDE $PNG_INCLUDE $JPEG_INCLUDE $TIFF_INCLUDE $TOOLKIT_INCLUDE"
3504
3505 dnl C/C++ compiler options used to compile wxWindows
3506 if test "$GXX" = yes ; then
3507     dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
3508     CXXWARNINGS="-Wall"
3509     dnl should enable this one day...
3510     dnl CXXWARNINGS="-Wall -Werror"
3511 fi
3512 EXTRA_CFLAGS="$WXDEBUG $WXODBCFLAG $PROFILE $OPTIMISE $INCLUDES"
3513
3514 CFLAGS=`echo $CFLAGS $EXTRA_CFLAGS | sed 's/ \\+/ /g'`
3515 CXXFLAGS=`echo $CXXFLAGS $EXTRA_CFLAGS $CXXWARNINGS | sed 's/ \+/ /g'`
3516
3517 LDFLAGS="$LDFLAGS $PROFILE"
3518
3519 if test "$wxUSE_GUI" = "yes"; then
3520     dnl TODO add checks that these samples will really compile (i.e. all the
3521     dnl      library features they need are present)
3522
3523     dnl TODO some samples are never built so far:
3524     dnl      ipc, mfc, nativdlg, oleauto, ownerdrw, proplist
3525     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS controls dialogs dragimag drawing dynamic \
3526                      font fractal image menu minimal richedit"
3527
3528     dnl this is needed to be able to find AFM files
3529     CPPFLAGS="$CPPFLAGS \$(EXTRADEFS) \$(APPEXTRADEFS)"
3530 else
3531     SAMPLES_SUBDIRS=""
3532 fi
3533
3534 dnl for convenience, sort the samples in alphabetical order
3535 dnl
3536 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
3537 dnl       in this list - hence uniq. But normally, this shouldn't be needed!
3538 dnl
3539 dnl       Unfortunately, there is a bug in OS/2's tr, such that
3540 dnl       tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
3541 dnl       only removes the Unix-like part of the introduced line break.
3542 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
3543
3544 dnl makefile variables
3545 AC_SUBST(LEX_STEM)
3546 AC_SUBST(PATH_IFS)
3547
3548 dnl global options
3549 AC_SUBST(WX_MAJOR_VERSION_NUMBER)
3550 AC_SUBST(WX_MINOR_VERSION_NUMBER)
3551 AC_SUBST(WX_RELEASE_NUMBER)
3552 AC_SUBST(WX_LIBRARY_NAME)
3553 AC_SUBST(WX_LIBRARY_NAME_STATIC)
3554 AC_SUBST(WX_LIBRARY_NAME_SHARED)
3555 AC_SUBST(WX_LIBRARY)
3556 AC_SUBST(WX_TARGET_LIBRARY)
3557 AC_SUBST(WX_LIBRARY_LINK1)
3558 AC_SUBST(WX_LIBRARY_LINK2)
3559 AC_SUBST(WX_LIBRARY_LINK3)
3560 AC_SUBST(PROGRAM_EXT)
3561
3562 dnl global gl options
3563 AC_SUBST(WX_LIBRARY_NAME_GL)
3564 AC_SUBST(WX_LIBRARY_NAME_STATIC_GL)
3565 AC_SUBST(WX_LIBRARY_NAME_SHARED_GL)
3566 AC_SUBST(WX_LIBRARY_GL)
3567 AC_SUBST(WX_TARGET_LIBRARY_GL)
3568 AC_SUBST(WX_LIBRARY_LINK1_GL)
3569 AC_SUBST(WX_LIBRARY_LINK2_GL)
3570 AC_SUBST(WX_LIBRARY_LINK3_GL)
3571
3572 dnl are we supposed to create the links?
3573 AC_SUBST(WX_ALL)
3574 AC_SUBST(WX_ALL_INSTALLED)
3575
3576 AC_SUBST(SHARED_LD)
3577 AC_SUBST(PIC_FLAG)
3578 AC_SUBST(DEP_INFO_FLAGS)
3579 AC_SUBST(CODE_GEN_FLAGS)
3580 AC_SUBST(BURNT_LIBRARY_NAME)
3581 AC_SUBST(BURNT_LIBRARY_NAME_GL)
3582
3583 dnl debugging options
3584 AC_SUBST(WXDEBUG_DEFINE)
3585
3586 dnl toolkit options
3587 AC_SUBST(USE_GUI)
3588 AC_SUBST(AFMINSTALL)
3589 AC_SUBST(TOOLKIT)
3590 AC_SUBST(TOOLKIT_DEF)
3591 AC_SUBST(TOOLKIT_DIR)
3592 AC_SUBST(TOOLKIT_INCLUDE)
3593
3594 dnl what to compile
3595 AC_SUBST(GUIHEADERS)
3596 AC_SUBST(GUIOBJS)
3597 AC_SUBST(COMMONOBJS)
3598 AC_SUBST(GENERICOBJS)
3599 AC_SUBST(GUIDEPS)
3600 AC_SUBST(COMMONDEPS)
3601 AC_SUBST(GENERICDEPS)
3602 AC_SUBST(IODBCOBJS)
3603 AC_SUBST(UNIXOBJS)
3604 AC_SUBST(UNIXDEPS)
3605 AC_SUBST(ALL_OBJECTS)
3606 AC_SUBST(ALL_DEPFILES)
3607
3608 dnl distribution vars
3609 AC_SUBST(GUIDIST)
3610 AC_SUBST(PORT_FILES)
3611 AC_SUBST(DISTDIR)
3612 AC_SUBST(RPM_SPEC)
3613 AC_SUBST(RPM_FILES)
3614
3615 dnl additional subdirectories where we will build
3616 AC_SUBST(SRC_SUBDIRS)
3617 AC_SUBST(INCLUDE_SUBDIRS)
3618 AC_SUBST(UTILS_SUBDIRS)
3619 AC_SUBST(DOCS_SUBDIRS)
3620 AC_SUBST(SAMPLES_SUBDIRS)
3621 AC_SUBST(USER_SUBDIRS)
3622
3623 dnl additional libraries and linker settings
3624 AC_SUBST(LDFLAGS)
3625 AC_SUBST(EXTRA_LIBS)
3626 AC_SUBST(EXTRADEFS)
3627 AC_SUBST(LIBS)
3628 AC_SUBST(LD_LIBS)
3629
3630 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
3631 dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
3632 dnl - and we do use it)
3633 AC_PROG_MAKE_SET
3634
3635 dnl move setup.h back if available
3636 if test -d include; then
3637     if test -d include/wx; then
3638         if test -d include/wx/${TOOLKIT_DIR}; then
3639             if test -f include/wx/${TOOLKIT_DIR}/setup.h; then
3640                 mv -f include/wx/${TOOLKIT_DIR}/setup.h setup.h 
3641             fi
3642         fi
3643     fi
3644 fi
3645             
3646 AC_CONFIG_HEADER(setup.h:setup.h.in)
3647
3648 dnl some more GUI only things
3649 if test "$wxUSE_GUI" = "yes"; then
3650     dnl we need to pass SAMPLES_SUBDIRS (and some other) to the configure in
3651     dnl samples and the only way to do it is, again, use the cache
3652     wx_cv_path_samplesubdirs=$SAMPLES_SUBDIRS
3653     wx_cv_path_ifs=$PATH_IFS
3654     wx_cv_program_ext=$PROGRAM_EXT
3655     wx_cv_target_library=$WX_TARGET_LIBRARY
3656     AC_CONFIG_SUBDIRS(demos samples utils contrib)
3657 fi
3658 dnl from wxUSE_GUI
3659
3660 dnl create each of the files in the space separated list from the file.in
3661 dnl (the original file name may be overriden by appending another name after a
3662 dnl colon)
3663 AC_OUTPUT([
3664             wx-config
3665             src/make.env
3666             src/makeprog.env
3667             src/makelib.env
3668             Makefile
3669           ],
3670           [
3671             chmod +x wx-config
3672             mv wx-config wx${TOOLKIT_DIR}-config
3673             ${LN_S} wx${TOOLKIT_DIR}-config wx-config
3674             
3675             dnl the debian installer wants setup.h to be in the lib subdir
3676             dnl so we *copy* it there
3677             
3678             if test ! -d lib; then
3679               mkdir lib
3680             fi
3681             if test ! -d lib/wx; then
3682               mkdir lib/wx
3683             fi
3684             if test ! -d lib/wx/include; then
3685               mkdir lib/wx/include
3686             fi
3687             if test ! -d lib/wx/include/wx; then
3688               mkdir lib/wx/include/wx
3689             fi
3690             if test ! -d lib/wx/include/wx/${TOOLKIT_DIR}; then
3691               mkdir lib/wx/include/wx/${TOOLKIT_DIR}
3692             fi
3693             if test -f setup.h; then
3694                 cp -f setup.h lib/wx/include/wx/${TOOLKIT_DIR}/setup.h
3695             fi
3696
3697             dnl *move* setup.h to its final place
3698
3699             if test ! -d include; then
3700               mkdir include
3701             fi
3702             if test ! -d include/wx; then
3703               mkdir include/wx
3704             fi
3705             if test ! -d include/wx/${TOOLKIT_DIR}; then
3706               mkdir include/wx/${TOOLKIT_DIR}
3707             fi
3708             if test -f setup.h; then
3709                 mv -f setup.h include/wx/${TOOLKIT_DIR}/setup.h
3710             fi
3711             
3712           ],
3713           [
3714             TOOLKIT_DIR="${TOOLKIT_DIR}"
3715             LN_S="${LN_S}"
3716           ]
3717          )
3718