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