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