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