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