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