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