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