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