1 dnl Process this file with autoconf to produce a configure script.
6 dnl ---------------------------------------------------------------------------
8 dnl Top-level configure.in for wxWidgets by Robert Roebling, Phil Blecker,
9 dnl Vadim Zeitlin and Ron Lee
11 dnl This script is under the wxWidgets licence.
14 dnl ---------------------------------------------------------------------------
16 dnl ---------------------------------------------------------------------------
18 dnl ---------------------------------------------------------------------------
20 AC_INIT([wxWidgets], [2.7.0], [wx-dev@lists.wxwidgets.org])
22 dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
23 AC_CONFIG_SRCDIR([wx-config.in])
25 dnl sets build, host, target variables and the same with _alias
31 dnl When making releases do:
33 dnl wx_release_number += 1
35 wx_major_version_number=2
36 wx_minor_version_number=7
38 wx_subrelease_number=1
40 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
41 WX_VERSION=$WX_RELEASE.$wx_release_number
42 WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number
44 WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
48 dnl ------------------------------------------------------------------------
49 dnl Check platform (host system)
50 dnl ------------------------------------------------------------------------
63 USE_DARWIN= dnl a.k.a. Mac OS X
70 USE_OSF= dnl OSF/1 (obsolete?)
72 USE_SOLARIS= dnl Solaris ("SunOS" >= 5)
73 USE_SUN= dnl SunOS or Solaris
74 USE_SUNOS= dnl old/real SunOS (obsolete)
76 USE_SYSV= dnl any System V
84 dnl on some platforms xxx_r() functions are declared inside "#ifdef
85 dnl _REENTRANT" and it's easier to just define this symbol for these platforms
86 dnl than checking it during run-time
87 NEEDS_D_REENTRANT_FOR_R_FUNCS=0
89 dnl the list of all available toolkits
91 dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
92 ALL_TOOLKITS="COCOA GTK MAC MGL MICROWIN MOTIF MSW PM X11 DFB"
94 dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
95 dnl which are either yes or no
100 DEFAULT_wxUSE_MICROWIN=0
101 DEFAULT_wxUSE_MOTIF=0
107 dnl these are the values which are really default for the given platform -
108 dnl they're not cached and are only used if no --with-toolkit was given *and*
109 dnl nothing was found in the cache
110 DEFAULT_DEFAULT_wxUSE_COCOA=0
111 DEFAULT_DEFAULT_wxUSE_GTK=0
112 DEFAULT_DEFAULT_wxUSE_MAC=0
113 DEFAULT_DEFAULT_wxUSE_MGL=0
114 DEFAULT_DEFAULT_wxUSE_MICROWIN=0
115 DEFAULT_DEFAULT_wxUSE_MOTIF=0
116 DEFAULT_DEFAULT_wxUSE_MSW=0
117 DEFAULT_DEFAULT_wxUSE_PM=0
118 DEFAULT_DEFAULT_wxUSE_X11=0
119 DEFAULT_DEFAULT_wxUSE_DFB=0
124 SAMPLES_RPATH_POSTLINK=
128 dnl to support a new system, you need to add its canonical name (as determined
129 dnl by config.sub or specified by the configure command line) to this "case"
130 dnl and also define the shared library flags below - search for
131 dnl SHARED_LIB_SETUP to find the exact place
135 DEFAULT_DEFAULT_wxUSE_MOTIF=1
136 NEEDS_D_REENTRANT_FOR_R_FUNCS=1
140 dnl many standard declarations in HP-UX headers are only included if either
141 dnl _HPUX_SOURCE is defined, see stdsyms(5)
142 CPPFLAGS="-D_HPUX_SOURCE $CPPFLAGS"
148 if test "x$TMP" = "xalpha"; then
152 DEFAULT_DEFAULT_wxUSE_GTK=1
154 *-*-gnu* | *-*-k*bsd*-gnu )
157 if test "x$TMP" = "xalpha"; then
161 DEFAULT_DEFAULT_wxUSE_GTK=1
163 *-*-irix5* | *-*-irix6* )
168 DEFAULT_DEFAULT_wxUSE_MOTIF=1
175 AC_DEFINE(__SOLARIS__)
177 DEFAULT_DEFAULT_wxUSE_MOTIF=1
178 NEEDS_D_REENTRANT_FOR_R_FUNCS=1
187 DEFAULT_DEFAULT_wxUSE_MOTIF=1
192 AC_DEFINE(__FREEBSD__)
194 DEFAULT_DEFAULT_wxUSE_GTK=1
196 *-*-openbsd*|*-*-mirbsd*)
199 AC_DEFINE(__OPENBSD__)
201 DEFAULT_DEFAULT_wxUSE_GTK=1
206 AC_DEFINE(__NETBSD__)
208 DEFAULT_DEFAULT_wxUSE_GTK=1
209 NEEDS_D_REENTRANT_FOR_R_FUNCS=1
211 dnl some standard declarations in NetBSD headers are only included if
212 dnl _NETBSD_SOURCE and _LIBC are defined, e.g. getservbyname_r in netdb.h
213 CPPFLAGS="-D_NETBSD_SOURCE -D_LIBC $CPPFLAGS"
220 DEFAULT_DEFAULT_wxUSE_MOTIF=1
221 NEEDS_D_REENTRANT_FOR_R_FUNCS=1
228 DEFAULT_DEFAULT_wxUSE_MOTIF=1
235 DEFAULT_DEFAULT_wxUSE_MOTIF=1
241 dnl quoting from http://www-1.ibm.com/servers/esdd/articles/gnu.html:
243 dnl Both archive libraries and shared libraries on AIX have an .a
244 dnl extension. This will explain why you can't link with an .so and
245 dnl why it works with the name changed to .a.
250 DEFAULT_DEFAULT_wxUSE_MOTIF=1
257 AC_DEFINE(__UNIXWARE__)
260 *-*-cygwin* | *-*-mingw32* )
261 dnl MBN: some of the defines have been moved after toolkit detection
262 dnl because for wxMotif/wxGTK/wxX11 to build on Cygwin
263 dnl USE_UNIX must be set and not USE_WIN32
266 DEFAULT_DEFAULT_wxUSE_MSW=1
275 DEFAULT_DEFAULT_wxUSE_MGL=1
278 *-pc-os2_emx | *-pc-os2-emx )
283 DEFAULT_DEFAULT_wxUSE_PM=1
284 dnl "c++" wrapper is not always available, so always use plain gcc.
286 LDFLAGS="$LDFLAGS -Zcrtdll"
288 dnl Some special code that's automatically added by autoconf-2.57 for OS/2
289 dnl and hopefully also by autoconf-2.58 and newer on all other platforms.
290 dnl For now however, we still need it to make sure the configure script
291 dnl works on OS/2 no matter what platform it is generated on.
292 ac_executable_extensions=".exe"
293 export ac_executable_extensions
294 dnl This strange code is necessary to deal with handling of
295 dnl backslashes by ksh and pdksh's sh variant.
299 for ac_dir in $PATH; do
301 if test -z "$ac_TEMP_PATH"; then
302 ac_TEMP_PATH="$ac_dir"
304 ac_TEMP_PATH="$ac_TEMP_PATH/$ac_dir"
307 export PATH="$ac_TEMP_PATH"
313 dnl Darwin based distributions (including Mac OS X)
318 AC_DEFINE(__DARWIN__)
319 AC_DEFINE(TARGET_CARBON)
320 DEFAULT_DEFAULT_wxUSE_MAC=1
323 powerpc-apple-macos* )
324 dnl Classic Mac OS (< X)
326 dnl For some reason the test that should be cross-compiler capable fails
327 dnl However, there is no doubt that MacOS PowerPC is big endian.
328 ac_cv_c_bigendian=yes
330 dnl AC_DEFINE(TARGET_CARBON)
331 dnl platform.h needs TARGET_CARBON before setup.h, we'll add it to CPPFLAGS
332 DEFAULT_DEFAULT_wxUSE_MAC=1
337 dnl leave USE_UNIX on - BeOS is sufficiently Unix-like for this
343 AC_MSG_WARN([*** System type ${host} is unknown, assuming generic Unix and continuing nevertheless.])
344 AC_MSG_WARN([*** Please report the build results to wx-dev@lists.wxwidgets.org.])
346 DEFAULT_DEFAULT_wxUSE_X11=1
347 DEFAULT_wxUSE_SHARED=no
350 dnl ---------------------------------------------------------------------------
351 dnl command line options for configure
352 dnl ---------------------------------------------------------------------------
354 dnl the default values for all options - we collect them all here to simplify
355 dnl modification of the default values (for example, if the defaults for some
356 dnl platform should be changed, it can be done here too)
358 dnl NB: see also DEFAULT_wxUSE<toolkit> variables defined above
362 dnl useful to test the compilation with minimum options, define as 0 for normal
365 if test $DEBUG_CONFIGURE = 1; then
366 DEFAULT_wxUSE_UNIVERSAL=no
369 DEFAULT_wxUSE_NANOX=no
371 DEFAULT_wxUSE_THREADS=yes
373 DEFAULT_wxUSE_SHARED=${DEFAULT_wxUSE_SHARED:-yes}
374 DEFAULT_wxUSE_OPTIMISE=no
375 DEFAULT_wxUSE_PROFILE=no
376 DEFAULT_wxUSE_NO_DEPS=no
377 DEFAULT_wxUSE_NO_RTTI=no
378 DEFAULT_wxUSE_NO_EXCEPTIONS=no
379 DEFAULT_wxUSE_UNIVERSAL_BINARY=no
380 DEFAULT_wxUSE_RPATH=yes
381 DEFAULT_wxUSE_PERMISSIVE=no
382 DEFAULT_wxUSE_DEBUG_FLAG=yes
383 DEFAULT_wxUSE_DEBUG_INFO=yes
384 DEFAULT_wxUSE_DEBUG_GDB=yes
385 DEFAULT_wxUSE_MEM_TRACING=no
386 DEFAULT_wxUSE_DEBUG_CONTEXT=no
387 DEFAULT_wxUSE_DMALLOC=no
388 DEFAULT_wxUSE_APPLE_IEEE=no
390 DEFAULT_wxUSE_EXCEPTIONS=no
391 DEFAULT_wxUSE_LOG=yes
392 DEFAULT_wxUSE_LOGWINDOW=no
393 DEFAULT_wxUSE_LOGGUI=no
394 DEFAULT_wxUSE_LOGDIALOG=no
396 DEFAULT_wxUSE_GUI=yes
397 DEFAULT_wxUSE_CONTROLS=no
399 DEFAULT_wxUSE_REGEX=no
401 DEFAULT_wxUSE_EXPAT=no
402 DEFAULT_wxUSE_ZLIB=no
403 DEFAULT_wxUSE_LIBPNG=no
404 DEFAULT_wxUSE_LIBJPEG=no
405 DEFAULT_wxUSE_LIBTIFF=no
406 DEFAULT_wxUSE_LIBXPM=no
407 DEFAULT_wxUSE_LIBMSPACK=no
408 DEFAULT_wxUSE_LIBSDL=no
409 DEFAULT_wxUSE_LIBGNOMEPRINT=no
410 DEFAULT_wxUSE_LIBGNOMEVFS=no
411 DEFAULT_wxUSE_LIBHILDON=no
412 DEFAULT_wxUSE_ODBC=no
413 DEFAULT_wxUSE_OPENGL=no
415 DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no
416 DEFAULT_wxUSE_STACKWALKER=no
417 DEFAULT_wxUSE_DEBUGREPORT=no
418 DEFAULT_wxUSE_SNGLINST_CHECKER=no
419 DEFAULT_wxUSE_STD_IOSTREAM=no
420 DEFAULT_wxUSE_STD_STRING=no
421 DEFAULT_wxUSE_CMDLINE_PARSER=no
422 DEFAULT_wxUSE_DATETIME=no
423 DEFAULT_wxUSE_TIMER=no
424 DEFAULT_wxUSE_STOPWATCH=no
425 DEFAULT_wxUSE_FILE=no
426 DEFAULT_wxUSE_FFILE=no
427 DEFAULT_wxUSE_STDPATHS=no
428 DEFAULT_wxUSE_TEXTBUFFER=no
429 DEFAULT_wxUSE_TEXTFILE=no
430 DEFAULT_wxUSE_SOUND=no
431 DEFAULT_wxUSE_MEDIACTRL=no
432 DEFAULT_wxUSE_GSTREAMER8=no
433 DEFAULT_wxUSE_PRINTF_POS_PARAMS=no
434 DEFAULT_wxUSE_INTL=no
435 DEFAULT_wxUSE_CONFIG=no
436 DEFAULT_wxUSE_FONTMAP=no
437 DEFAULT_wxUSE_STREAMS=no
438 DEFAULT_wxUSE_SOCKETS=no
440 DEFAULT_wxUSE_DATAOBJ=no
441 DEFAULT_wxUSE_DIALUP_MANAGER=no
442 DEFAULT_wxUSE_JOYSTICK=no
443 DEFAULT_wxUSE_DYNLIB_CLASS=no
444 DEFAULT_wxUSE_DYNAMIC_LOADER=no
445 DEFAULT_wxUSE_LONGLONG=no
446 DEFAULT_wxUSE_GEOMETRY=no
448 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no
449 DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no
450 DEFAULT_wxUSE_POSTSCRIPT=no
452 DEFAULT_wxUSE_CLIPBOARD=no
453 DEFAULT_wxUSE_TOOLTIPS=no
454 DEFAULT_wxUSE_DRAG_AND_DROP=no
455 DEFAULT_wxUSE_DRAGIMAGE=no
456 DEFAULT_wxUSE_SPLINES=no
457 DEFAULT_wxUSE_MOUSEWHEEL=no
460 DEFAULT_wxUSE_MDI_ARCHITECTURE=no
461 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no
462 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no
464 DEFAULT_wxUSE_RESOURCES=no
465 DEFAULT_wxUSE_CONSTRAINTS=no
467 DEFAULT_wxUSE_HELP=no
468 DEFAULT_wxUSE_MS_HTML_HELP=no
469 DEFAULT_wxUSE_WXHTML_HELP=no
470 DEFAULT_wxUSE_TREELAYOUT=no
471 DEFAULT_wxUSE_METAFILE=no
472 DEFAULT_wxUSE_MIMETYPE=no
473 DEFAULT_wxUSE_SYSTEM_OPTIONS=no
474 DEFAULT_wxUSE_PROTOCOL=no
475 DEFAULT_wxUSE_PROTOCOL_HTTP=no
476 DEFAULT_wxUSE_PROTOCOL_FTP=no
477 DEFAULT_wxUSE_PROTOCOL_FILE=no
479 DEFAULT_wxUSE_VARIANT=no
481 DEFAULT_wxUSE_COMMONDLGS=no
482 DEFAULT_wxUSE_CHOICEDLG=no
483 DEFAULT_wxUSE_COLOURDLG=no
484 DEFAULT_wxUSE_DIRDLG=no
485 DEFAULT_wxUSE_FILEDLG=no
486 DEFAULT_wxUSE_FINDREPLDLG=no
487 DEFAULT_wxUSE_FONTDLG=no
488 DEFAULT_wxUSE_MSGDLG=no
489 DEFAULT_wxUSE_NUMBERDLG=no
490 DEFAULT_wxUSE_TEXTDLG=no
491 DEFAULT_wxUSE_SPLASH=no
492 DEFAULT_wxUSE_STARTUP_TIPS=no
493 DEFAULT_wxUSE_PROGRESSDLG=no
494 DEFAULT_wxUSE_WIZARDDLG=no
496 DEFAULT_wxUSE_MENUS=no
497 DEFAULT_wxUSE_MINIFRAME=no
498 DEFAULT_wxUSE_HTML=no
499 DEFAULT_wxUSE_RICHTEXT=no
502 DEFAULT_wxUSE_WEBKIT=no
503 DEFAULT_wxUSE_FILESYSTEM=no
504 DEFAULT_wxUSE_FS_INET=no
505 DEFAULT_wxUSE_FS_ZIP=no
506 DEFAULT_wxUSE_BUSYINFO=no
507 DEFAULT_wxUSE_ARCHIVE_STREAMS=no
508 DEFAULT_wxUSE_ZIPSTREAM=no
509 DEFAULT_wxUSE_VALIDATORS=no
511 DEFAULT_wxUSE_ACCEL=no
512 DEFAULT_wxUSE_BUTTON=no
513 DEFAULT_wxUSE_BMPBUTTON=no
514 DEFAULT_wxUSE_BITMAPCOMBOBOX=no
515 DEFAULT_wxUSE_CALCTRL=no
516 DEFAULT_wxUSE_CARET=no
517 DEFAULT_wxUSE_CHECKBOX=no
518 DEFAULT_wxUSE_CHECKLST=no
519 DEFAULT_wxUSE_CHOICE=no
520 DEFAULT_wxUSE_CHOICEBOOK=no
521 DEFAULT_wxUSE_COLOURPICKERCTRL=no
522 DEFAULT_wxUSE_COMBOBOX=no
523 DEFAULT_wxUSE_COMBOCTRL=no
524 DEFAULT_wxUSE_DATEPICKCTRL=no
525 DEFAULT_wxUSE_DISPLAY=no
526 DEFAULT_wxUSE_DIRPICKERCTRL=no
527 DEFAULT_wxUSE_FILEPICKERCTRL=no
528 DEFAULT_wxUSE_FONTPICKERCTRL=no
529 DEFAULT_wxUSE_GAUGE=no
530 DEFAULT_wxUSE_GRAPHICS_CONTEXT=no
531 DEFAULT_wxUSE_GRID=no
532 DEFAULT_wxUSE_HYPERLINKCTRL=no
533 DEFAULT_wxUSE_DATAVIEWCTRL=no
534 DEFAULT_wxUSE_IMAGLIST=no
535 DEFAULT_wxUSE_LISTBOOK=no
536 DEFAULT_wxUSE_LISTBOX=no
537 DEFAULT_wxUSE_LISTCTRL=no
538 DEFAULT_wxUSE_NOTEBOOK=no
539 DEFAULT_wxUSE_ODCOMBOBOX=no
540 DEFAULT_wxUSE_RADIOBOX=no
541 DEFAULT_wxUSE_RADIOBTN=no
542 DEFAULT_wxUSE_SASH=no
543 DEFAULT_wxUSE_SCROLLBAR=no
544 DEFAULT_wxUSE_SLIDER=no
545 DEFAULT_wxUSE_SPINBTN=no
546 DEFAULT_wxUSE_SPINCTRL=no
547 DEFAULT_wxUSE_SPLITTER=no
548 DEFAULT_wxUSE_STATBMP=no
549 DEFAULT_wxUSE_STATBOX=no
550 DEFAULT_wxUSE_STATLINE=no
551 DEFAULT_wxUSE_STATTEXT=no
552 DEFAULT_wxUSE_STATUSBAR=yes
553 DEFAULT_wxUSE_TAB_DIALOG=no
554 DEFAULT_wxUSE_TEXTCTRL=no
555 DEFAULT_wxUSE_TOGGLEBTN=no
556 DEFAULT_wxUSE_TOOLBAR=no
557 DEFAULT_wxUSE_TOOLBAR_NATIVE=no
558 DEFAULT_wxUSE_TREEBOOK=no
559 DEFAULT_wxUSE_TOOLBOOK=no
560 DEFAULT_wxUSE_TREECTRL=no
561 DEFAULT_wxUSE_POPUPWIN=no
562 DEFAULT_wxUSE_TIPWINDOW=no
564 DEFAULT_wxUSE_UNICODE=no
565 DEFAULT_wxUSE_UNICODE_MSLU=no
566 DEFAULT_wxUSE_WCSRTOMBS=no
568 DEFAULT_wxUSE_PALETTE=no
569 DEFAULT_wxUSE_IMAGE=no
575 DEFAULT_wxUSE_ICO_CUR=no
576 DEFAULT_wxUSE_ACCESSIBILITY=no
578 DEFAULT_wxUSE_MONOLITHIC=no
579 DEFAULT_wxUSE_PLUGINS=no
580 DEFAULT_wxUSE_OFFICIAL_BUILD=no
582 DEFAULT_wxUSE_UNIVERSAL=no
585 DEFAULT_wxUSE_NANOX=no
587 DEFAULT_wxUSE_THREADS=yes
589 DEFAULT_wxUSE_SHARED=${DEFAULT_wxUSE_SHARED:-yes}
590 DEFAULT_wxUSE_OPTIMISE=yes
591 DEFAULT_wxUSE_PROFILE=no
592 DEFAULT_wxUSE_NO_DEPS=no
593 DEFAULT_wxUSE_NO_RTTI=no
594 DEFAULT_wxUSE_NO_EXCEPTIONS=no
595 DEFAULT_wxUSE_UNIVERSAL_BINARY=no
596 DEFAULT_wxUSE_RPATH=yes
597 DEFAULT_wxUSE_PERMISSIVE=no
598 DEFAULT_wxUSE_DEBUG_FLAG=no
599 DEFAULT_wxUSE_DEBUG_INFO=no
600 DEFAULT_wxUSE_DEBUG_GDB=no
601 DEFAULT_wxUSE_MEM_TRACING=no
602 DEFAULT_wxUSE_DEBUG_CONTEXT=no
603 DEFAULT_wxUSE_DMALLOC=no
604 DEFAULT_wxUSE_APPLE_IEEE=yes
606 DEFAULT_wxUSE_EXCEPTIONS=yes
607 DEFAULT_wxUSE_LOG=yes
608 DEFAULT_wxUSE_LOGWINDOW=yes
609 DEFAULT_wxUSE_LOGGUI=yes
610 DEFAULT_wxUSE_LOGDIALOG=yes
612 DEFAULT_wxUSE_GUI=yes
614 DEFAULT_wxUSE_REGEX=yes
615 DEFAULT_wxUSE_XML=yes
616 DEFAULT_wxUSE_EXPAT=yes
617 DEFAULT_wxUSE_ZLIB=yes
618 DEFAULT_wxUSE_LIBPNG=yes
619 DEFAULT_wxUSE_LIBJPEG=yes
620 DEFAULT_wxUSE_LIBTIFF=yes
621 DEFAULT_wxUSE_LIBXPM=yes
622 DEFAULT_wxUSE_LIBMSPACK=yes
623 DEFAULT_wxUSE_LIBSDL=no
624 DEFAULT_wxUSE_LIBGNOMEPRINT=no
625 DEFAULT_wxUSE_LIBGNOMEVFS=no
626 DEFAULT_wxUSE_LIBHILDON=no
627 DEFAULT_wxUSE_ODBC=no
628 DEFAULT_wxUSE_OPENGL=no
630 DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
631 DEFAULT_wxUSE_STACKWALKER=yes
632 DEFAULT_wxUSE_DEBUGREPORT=yes
633 DEFAULT_wxUSE_SNGLINST_CHECKER=yes
634 DEFAULT_wxUSE_STD_IOSTREAM=$DEFAULT_STD_FLAG
635 DEFAULT_wxUSE_STD_STRING=$DEFAULT_STD_FLAG
636 DEFAULT_wxUSE_CMDLINE_PARSER=yes
637 DEFAULT_wxUSE_DATETIME=yes
638 DEFAULT_wxUSE_TIMER=yes
639 DEFAULT_wxUSE_STOPWATCH=yes
640 DEFAULT_wxUSE_FILE=yes
641 DEFAULT_wxUSE_FFILE=yes
642 DEFAULT_wxUSE_STDPATHS=yes
643 DEFAULT_wxUSE_TEXTBUFFER=yes
644 DEFAULT_wxUSE_TEXTFILE=yes
645 DEFAULT_wxUSE_SOUND=yes
646 DEFAULT_wxUSE_MEDIACTRL=no
647 DEFAULT_wxUSE_GSTREAMER8=no
648 DEFAULT_wxUSE_PRINTF_POS_PARAMS=yes
649 DEFAULT_wxUSE_INTL=yes
650 DEFAULT_wxUSE_CONFIG=yes
651 DEFAULT_wxUSE_FONTMAP=yes
652 DEFAULT_wxUSE_STREAMS=yes
653 DEFAULT_wxUSE_SOCKETS=yes
654 DEFAULT_wxUSE_OLE=yes
655 DEFAULT_wxUSE_DATAOBJ=yes
656 DEFAULT_wxUSE_DIALUP_MANAGER=yes
657 DEFAULT_wxUSE_JOYSTICK=yes
658 DEFAULT_wxUSE_DYNLIB_CLASS=yes
659 DEFAULT_wxUSE_DYNAMIC_LOADER=yes
660 DEFAULT_wxUSE_LONGLONG=yes
661 DEFAULT_wxUSE_GEOMETRY=yes
663 DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes
664 DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes
665 DEFAULT_wxUSE_POSTSCRIPT=yes
667 DEFAULT_wxUSE_CLIPBOARD=yes
668 DEFAULT_wxUSE_TOOLTIPS=yes
669 DEFAULT_wxUSE_DRAG_AND_DROP=yes
670 DEFAULT_wxUSE_DRAGIMAGE=yes
671 DEFAULT_wxUSE_SPLINES=yes
672 DEFAULT_wxUSE_MOUSEWHEEL=yes
674 DEFAULT_wxUSE_MDI=yes
675 DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
676 DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes
677 DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes
679 DEFAULT_wxUSE_RESOURCES=no
680 DEFAULT_wxUSE_CONSTRAINTS=yes
681 DEFAULT_wxUSE_IPC=yes
682 DEFAULT_wxUSE_HELP=yes
683 DEFAULT_wxUSE_MS_HTML_HELP=yes
684 DEFAULT_wxUSE_WXHTML_HELP=yes
685 DEFAULT_wxUSE_TREELAYOUT=yes
686 DEFAULT_wxUSE_METAFILE=yes
687 DEFAULT_wxUSE_MIMETYPE=yes
688 DEFAULT_wxUSE_SYSTEM_OPTIONS=yes
689 DEFAULT_wxUSE_PROTOCOL=yes
690 DEFAULT_wxUSE_PROTOCOL_HTTP=yes
691 DEFAULT_wxUSE_PROTOCOL_FTP=yes
692 DEFAULT_wxUSE_PROTOCOL_FILE=yes
693 DEFAULT_wxUSE_URL=yes
694 DEFAULT_wxUSE_VARIANT=yes
696 DEFAULT_wxUSE_COMMONDLGS=yes
697 DEFAULT_wxUSE_CHOICEDLG=yes
698 DEFAULT_wxUSE_COLOURDLG=yes
699 DEFAULT_wxUSE_DIRDLG=yes
700 DEFAULT_wxUSE_FILEDLG=yes
701 DEFAULT_wxUSE_FINDREPLDLG=yes
702 DEFAULT_wxUSE_FONTDLG=yes
703 DEFAULT_wxUSE_MSGDLG=yes
704 DEFAULT_wxUSE_NUMBERDLG=yes
705 DEFAULT_wxUSE_TEXTDLG=yes
706 DEFAULT_wxUSE_SPLASH=yes
707 DEFAULT_wxUSE_STARTUP_TIPS=yes
708 DEFAULT_wxUSE_PROGRESSDLG=yes
709 DEFAULT_wxUSE_WIZARDDLG=yes
711 DEFAULT_wxUSE_MENUS=yes
712 DEFAULT_wxUSE_MINIFRAME=yes
713 DEFAULT_wxUSE_HTML=yes
714 DEFAULT_wxUSE_RICHTEXT=yes
715 DEFAULT_wxUSE_XRC=yes
716 DEFAULT_wxUSE_AUI=yes
717 DEFAULT_wxUSE_WEBKIT=yes
718 DEFAULT_wxUSE_FILESYSTEM=yes
719 DEFAULT_wxUSE_FS_INET=yes
720 DEFAULT_wxUSE_FS_ZIP=yes
721 DEFAULT_wxUSE_BUSYINFO=yes
722 DEFAULT_wxUSE_ARCHIVE_STREAMS=yes
723 DEFAULT_wxUSE_ZIPSTREAM=yes
724 DEFAULT_wxUSE_VALIDATORS=yes
726 DEFAULT_wxUSE_ACCEL=yes
727 DEFAULT_wxUSE_BUTTON=yes
728 DEFAULT_wxUSE_BMPBUTTON=yes
729 DEFAULT_wxUSE_BITMAPCOMBOBOX=yes
730 DEFAULT_wxUSE_CALCTRL=yes
731 DEFAULT_wxUSE_CARET=yes
732 DEFAULT_wxUSE_CHECKBOX=yes
733 DEFAULT_wxUSE_CHECKLST=yes
734 DEFAULT_wxUSE_CHOICE=yes
735 DEFAULT_wxUSE_CHOICEBOOK=yes
736 DEFAULT_wxUSE_COLOURPICKERCTRL=yes
737 DEFAULT_wxUSE_COMBOBOX=yes
738 DEFAULT_wxUSE_COMBOCTRL=yes
739 DEFAULT_wxUSE_DATEPICKCTRL=yes
740 DEFAULT_wxUSE_DISPLAY=yes
741 DEFAULT_wxUSE_DIRPICKERCTRL=yes
742 DEFAULT_wxUSE_FILEPICKERCTRL=yes
743 DEFAULT_wxUSE_FONTPICKERCTRL=yes
744 DEFAULT_wxUSE_GAUGE=yes
745 DEFAULT_wxUSE_GRID=yes
746 DEFAULT_wxUSE_GRAPHICS_CONTEXT=no
747 DEFAULT_wxUSE_HYPERLINKCTRL=yes
748 DEFAULT_wxUSE_DATAVIEWCTRL=no
749 DEFAULT_wxUSE_IMAGLIST=yes
750 DEFAULT_wxUSE_LISTBOOK=yes
751 DEFAULT_wxUSE_LISTBOX=yes
752 DEFAULT_wxUSE_LISTCTRL=yes
753 DEFAULT_wxUSE_NOTEBOOK=yes
754 DEFAULT_wxUSE_ODCOMBOBOX=yes
755 DEFAULT_wxUSE_RADIOBOX=yes
756 DEFAULT_wxUSE_RADIOBTN=yes
757 DEFAULT_wxUSE_SASH=yes
758 DEFAULT_wxUSE_SCROLLBAR=yes
759 DEFAULT_wxUSE_SLIDER=yes
760 DEFAULT_wxUSE_SPINBTN=yes
761 DEFAULT_wxUSE_SPINCTRL=yes
762 DEFAULT_wxUSE_SPLITTER=yes
763 DEFAULT_wxUSE_STATBMP=yes
764 DEFAULT_wxUSE_STATBOX=yes
765 DEFAULT_wxUSE_STATLINE=yes
766 DEFAULT_wxUSE_STATTEXT=yes
767 DEFAULT_wxUSE_STATUSBAR=yes
768 DEFAULT_wxUSE_TAB_DIALOG=no
769 DEFAULT_wxUSE_TEXTCTRL=yes
770 DEFAULT_wxUSE_TOGGLEBTN=yes
771 DEFAULT_wxUSE_TOOLBAR=yes
772 DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
773 DEFAULT_wxUSE_TREEBOOK=yes
774 DEFAULT_wxUSE_TOOLBOOK=yes
775 DEFAULT_wxUSE_TREECTRL=yes
776 DEFAULT_wxUSE_POPUPWIN=yes
777 DEFAULT_wxUSE_TIPWINDOW=yes
779 DEFAULT_wxUSE_UNICODE=no
780 DEFAULT_wxUSE_UNICODE_MSLU=yes
781 DEFAULT_wxUSE_WCSRTOMBS=no
783 DEFAULT_wxUSE_PALETTE=yes
784 DEFAULT_wxUSE_IMAGE=yes
785 DEFAULT_wxUSE_GIF=yes
786 DEFAULT_wxUSE_PCX=yes
788 DEFAULT_wxUSE_PNM=yes
789 DEFAULT_wxUSE_XPM=yes
790 DEFAULT_wxUSE_ICO_CUR=yes
791 DEFAULT_wxUSE_ACCESSIBILITY=no
793 DEFAULT_wxUSE_MONOLITHIC=no
794 DEFAULT_wxUSE_PLUGINS=no
795 DEFAULT_wxUSE_OFFICIAL_BUILD=no
797 dnl Applicable only when --with-gtk was used:
798 DEFAULT_wxUSE_GTK2=yes
802 dnl WX_ARG_WITH should be used to select whether an external package will be
803 dnl used or not, to configure compile-time features of this package itself,
804 dnl use WX_ARG_ENABLE instead
806 dnl ============================
807 dnl external package dependecies
808 dnl ============================
810 dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache
811 dnl these values manually
812 for toolkit in `echo $ALL_TOOLKITS`; do
813 LINE=`grep "wxUSE_$toolkit=" ${wx_arg_cache_file}`
814 if test "x$LINE" != "x" ; then
815 has_toolkit_in_cache=1
817 eval "CACHE_$toolkit=1"
819 LINE=`grep "wx${toolkit}_VERSION=" ${wx_arg_cache_file}`
820 if test "x$LINE" != "x" ; then
826 dnl ---------------------------------------------------------------------------
827 dnl --disable-gui will build only non-GUI part of wxWidgets: check for this
828 dnl first to disable many other switches if it's given
830 dnl NB: this is still in testing stage, don't use if you don't know what you're
832 dnl ---------------------------------------------------------------------------
834 WX_ARG_ENABLE(gui, [ --enable-gui use GUI classes], wxUSE_GUI)
835 WX_ARG_ENABLE(monolithic, [ --enable-monolithic build wxWidgets as single library], wxUSE_MONOLITHIC)
836 WX_ARG_ENABLE(plugins, [ --enable-plugins build parts of wxWidgets as loadable components], wxUSE_PLUGINS)
837 WX_ARG_WITH(subdirs, [ --without-subdirs don't generate makefiles for samples/demos/...], wxWITH_SUBDIRS, without)
839 if test "$wxUSE_GUI" = "yes"; then
841 WX_ARG_ENABLE(universal, [ --enable-universal use wxWidgets GUI controls instead of native ones], wxUSE_UNIVERSAL)
842 AC_ARG_WITH(gtk, [[ --with-gtk[=VERSION] use GTK+, VERSION can be 2 (default), 1 or "any"]], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
843 AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
844 AC_ARG_WITH(mac, [ --with-mac use Mac OS X], [wxUSE_MAC="$withval" CACHE_MAC=1 TOOLKIT_GIVEN=1])
845 AC_ARG_WITH(cocoa, [ --with-cocoa use Cocoa], [wxUSE_COCOA="$withval" CACHE_COCOA=1 TOOLKIT_GIVEN=1])
846 AC_ARG_WITH(wine, [ --with-wine use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
847 AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])
848 AC_ARG_WITH(pm, [ --with-pm use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
849 AC_ARG_WITH(mgl, [ --with-mgl use SciTech MGL], [wxUSE_MGL="$withval" wxUSE_UNIVERSAL="yes" CACHE_MGL=1 TOOLKIT_GIVEN=1])
850 AC_ARG_WITH(directfb, [ --with-directfb use DirectFB], [wxUSE_DFB="$withval" wxUSE_UNIVERSAL="yes" CACHE_DFB=1 TOOLKIT_GIVEN=1])
851 AC_ARG_WITH(microwin, [ --with-microwin use MicroWindows], [wxUSE_MICROWIN="$withval" CACHE_MICROWIN=1 TOOLKIT_GIVEN=1])
852 AC_ARG_WITH(x11, [ --with-x11 use X11], [wxUSE_X11="$withval" wxUSE_UNIVERSAL="yes" CACHE_X11=1 TOOLKIT_GIVEN=1])
853 WX_ARG_ENABLE(nanox, [ --enable-nanox use NanoX], wxUSE_NANOX)
855 AC_ARG_ENABLE(gtk2, [ --disable-gtk2 use GTK+ 1.2 instead of 2.0], [wxUSE_GTK2="$enableval"])
856 WX_ARG_ENABLE(gpe, [ --enable-gpe use GNOME PDA Environment features if possible], wxUSE_GPE)
858 WX_ARG_SYS_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG)
859 WX_ARG_SYS_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
860 WX_ARG_SYS_WITH(libtiff, [ --with-libtiff use libtiff (TIFF file format)], wxUSE_LIBTIFF)
861 WX_ARG_SYS_WITH(libxpm, [ --with-libxpm use libxpm (XPM file format)], wxUSE_LIBXPM)
862 WX_ARG_WITH(libmspack, [ --with-libmspack use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
863 WX_ARG_WITH(sdl, [ --with-sdl use SDL for audio on Unix], wxUSE_LIBSDL)
864 WX_ARG_WITH(gnomeprint, [ --with-gnomeprint use GNOME print for printing under GNOME], wxUSE_LIBGNOMEPRINT)
865 WX_ARG_WITH(gnomevfs, [ --with-gnomevfs use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS)
866 WX_ARG_WITH(hildon, [ --with-hildon use Hildon framework for Nokia 770], wxUSE_LIBHILDON)
867 WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL)
869 if test "$wxUSE_UNIVERSAL" = "yes"; then
870 AC_ARG_WITH(themes, [ --with-themes=all|list use only the specified comma-separated list of wxUniversal themes], [wxUNIV_THEMES="$withval"])
876 WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (http://dmalloc.com/)], wxUSE_DMALLOC)
877 WX_ARG_SYS_WITH(regex, [ --with-regex enable support for wxRegEx class], wxUSE_REGEX)
878 WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB)
879 WX_ARG_SYS_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
880 WX_ARG_SYS_WITH(expat, [ --with-expat enable XML support using expat parser], wxUSE_EXPAT)
882 dnl ---------------------------------------------------------------------------
884 dnl ---------------------------------------------------------------------------
886 WX_ARG_ENABLE(shared, [ --enable-shared create shared library code], wxUSE_SHARED)
887 WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE)
888 WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG)
889 WX_ARG_ENABLE(stl, [ --enable-stl use STL for containers], wxUSE_STL)
890 if test "$USE_OS2" = "1"; then
892 WX_ARG_ENABLE(omf, [ --enable-omf use OMF object format], wxUSE_OMF)
895 if test "$wxUSE_DEBUG" = "yes"; then
896 DEFAULT_wxUSE_DEBUG_FLAG=yes
897 DEFAULT_wxUSE_DEBUG_INFO=yes
899 elif test "$wxUSE_DEBUG" = "no"; then
900 DEFAULT_wxUSE_DEBUG_FLAG=no
901 DEFAULT_wxUSE_DEBUG_INFO=no
905 WX_ARG_ENABLE(debug_flag, [ --enable-debug_flag set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
906 WX_ARG_ENABLE(debug_info, [ --enable-debug_info create code with debugging information], wxUSE_DEBUG_INFO)
907 WX_ARG_ENABLE(debug_gdb, [ --enable-debug_gdb create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
908 WX_ARG_ENABLE(debug_cntxt, [ --enable-debug_cntxt use wxDebugContext], wxUSE_DEBUG_CONTEXT)
909 WX_ARG_ENABLE(mem_tracing, [ --enable-mem_tracing create code with memory tracing], wxUSE_MEM_TRACING)
910 WX_ARG_ENABLE(profile, [ --enable-profile create code with profiling information], wxUSE_PROFILE)
911 WX_ARG_ENABLE(no_rtti, [ --enable-no_rtti create code without RTTI information], wxUSE_NO_RTTI)
912 WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS)
913 WX_ARG_ENABLE(permissive, [ --enable-permissive compile code disregarding strict ANSI], wxUSE_PERMISSIVE)
914 WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS)
915 WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary[=SDK] create Mac PowerPC and Intel Universal binary (not yet working)]], wxUSE_UNIVERSAL_BINARY)
917 WX_ARG_ENABLE(compat24, [ --enable-compat24 enable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, enable)
918 WX_ARG_ENABLE(compat26, [ --disable-compat26 disable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, disable)
920 WX_ARG_ENABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH)
923 dnl ---------------------------------------------------------------------------
924 dnl (small) optional non GUI classes
925 dnl ---------------------------------------------------------------------------
927 WX_ARG_ENABLE(intl, [ --enable-intl use internationalization system], wxUSE_INTL)
928 WX_ARG_ENABLE(config, [ --enable-config use wxConfig (and derived) classes], wxUSE_CONFIG)
930 WX_ARG_ENABLE(protocols, [ --enable-protocols use wxProtocol and derived classes], wxUSE_PROTOCOL)
931 WX_ARG_ENABLE(ftp, [ --enable-ftp use wxFTP (requires wxProtocol], wxUSE_PROTOCOL_FTP)
932 WX_ARG_ENABLE(http, [ --enable-http use wxHTTP (requires wxProtocol], wxUSE_PROTOCOL_HTTP)
933 WX_ARG_ENABLE(fileproto, [ --enable-fileproto use wxFileProto class (requires wxProtocol], wxUSE_PROTOCOL_FILE)
934 WX_ARG_ENABLE(sockets, [ --enable-sockets use socket/network classes], wxUSE_SOCKETS)
935 WX_ARG_ENABLE(ole, [ --enable-ole use OLE classes (Win32 only)], wxUSE_OLE)
936 WX_ARG_ENABLE(dataobj, [ --enable-dataobj use data object classes], wxUSE_DATAOBJ)
938 WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC)
940 dnl please keep the settings below in alphabetical order
941 WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE)
942 WX_ARG_ENABLE(arcstream, [ --enable-arcstream use wxArchive streams], wxUSE_ARCHIVE_STREAMS)
943 WX_ARG_ENABLE(backtrace, [ --enable-backtrace use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER)
944 WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION)
945 WX_ARG_ENABLE(cmdline, [ --enable-cmdline use wxCmdLineParser class], wxUSE_CMDLINE_PARSER)
946 WX_ARG_ENABLE(datetime, [ --enable-datetime use wxDateTime class], wxUSE_DATETIME)
947 WX_ARG_ENABLE(debugreport, [ --enable-debugreport use wxDebugReport class], wxUSE_DEBUGREPORT)
948 WX_ARG_ENABLE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER)
949 WX_ARG_ENABLE(dynlib, [ --enable-dynlib use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS)
950 WX_ARG_ENABLE(dynamicloader, [ --enable-dynamicloader use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER)
951 WX_ARG_ENABLE(exceptions, [ --enable-exceptions build exception-safe library], wxUSE_EXCEPTIONS)
952 WX_ARG_ENABLE(ffile, [ --enable-ffile use wxFFile class], wxUSE_FFILE)
953 WX_ARG_ENABLE(file, [ --enable-file use wxFile class], wxUSE_FILE)
954 WX_ARG_ENABLE(filesystem, [ --enable-filesystem use virtual file systems classes], wxUSE_FILESYSTEM)
955 WX_ARG_ENABLE(fontmap, [ --enable-fontmap use font encodings conversion classes], wxUSE_FONTMAP)
956 WX_ARG_ENABLE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
957 WX_ARG_ENABLE(fs_zip, [ --enable-fs_zip use virtual ZIP filesystems], wxUSE_FS_ZIP)
958 WX_ARG_ENABLE(geometry, [ --enable-geometry use geometry class], wxUSE_GEOMETRY)
959 WX_ARG_ENABLE(log, [ --enable-log use logging system], wxUSE_LOG)
960 WX_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG)
961 WX_ARG_ENABLE(mimetype, [ --enable-mimetype use wxMimeTypesManager], wxUSE_MIMETYPE)
962 WX_ARG_ENABLE(mslu, [ --enable-mslu use MS Layer for Unicode on Windows 9x (Win32 only)], wxUSE_UNICODE_MSLU)
963 WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
964 WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM)
965 WX_ARG_ENABLE(std_string, [ --enable-std_string use standard C++ string classes], wxUSE_STD_STRING)
966 WX_ARG_ENABLE(stdpaths, [ --enable-stdpaths use wxStandardPaths class], wxUSE_STDPATHS)
967 WX_ARG_ENABLE(stopwatch, [ --enable-stopwatch use wxStopWatch class], wxUSE_STOPWATCH)
968 WX_ARG_ENABLE(streams, [ --enable-streams use wxStream etc classes], wxUSE_STREAMS)
969 WX_ARG_ENABLE(system_options,[ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
970 WX_ARG_ENABLE(textbuf, [ --enable-textbuf use wxTextBuffer class], wxUSE_TEXTBUFFER)
971 WX_ARG_ENABLE(textfile, [ --enable-textfile use wxTextFile class], wxUSE_TEXTFILE)
972 WX_ARG_ENABLE(timer, [ --enable-timer use wxTimer class], wxUSE_TIMER)
973 WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE)
974 WX_ARG_ENABLE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND)
975 WX_ARG_ENABLE(mediactrl, [ --enable-mediactrl use wxMediaCtrl class], wxUSE_MEDIACTRL)
976 WX_ARG_ENABLE(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8)
977 WX_ARG_ENABLE(printfposparam,[ --enable-printfposparam use wxVsnprintf() which supports positional parameters], wxUSE_PRINTF_POS_PARAMS)
978 WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZip streams], wxUSE_ZIPSTREAM)
980 WX_ARG_ENABLE(url, [ --enable-url use wxURL class], wxUSE_URL)
981 WX_ARG_ENABLE(variant, [ --enable-variant use wxVariant class], wxUSE_VARIANT)
982 WX_ARG_ENABLE(protocol, [ --enable-protocol use wxProtocol class], wxUSE_PROTOCOL)
983 WX_ARG_ENABLE(protocol_http, [ --enable-protocol-http HTTP support in wxProtocol], wxUSE_PROTOCOL_HTTP)
984 WX_ARG_ENABLE(protocol_ftp, [ --enable-protocol-ftp FTP support in wxProtocol], wxUSE_PROTOCOL_FTP)
985 WX_ARG_ENABLE(protocol_file, [ --enable-protocol-file FILE support in wxProtocol], wxUSE_PROTOCOL_FILE)
988 dnl ---------------------------------------------------------------------------
989 dnl "big" options (i.e. those which change a lot of things throughout the library)
990 dnl ---------------------------------------------------------------------------
992 WX_ARG_ENABLE(threads, [ --enable-threads use threads], wxUSE_THREADS)
994 if test "$wxUSE_GUI" = "yes"; then
996 dnl ---------------------------------------------------------------------------
997 dnl "big" GUI options
998 dnl ---------------------------------------------------------------------------
1000 WX_ARG_ENABLE(docview, [ --enable-docview use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE)
1001 WX_ARG_ENABLE(help, [ --enable-help use help subsystem], wxUSE_HELP)
1002 WX_ARG_ENABLE(mshtmlhelp, [ --enable-mshtmlhelp use MS HTML Help (win32)], wxUSE_MS_HTML_HELP)
1003 WX_ARG_ENABLE(html, [ --enable-html use wxHTML sub-library], wxUSE_HTML)
1004 WX_ARG_ENABLE(htmlhelp, [ --enable-htmlhelp use wxHTML-based help], wxUSE_WXHTML_HELP)
1005 WX_ARG_ENABLE(xrc, [ --enable-xrc use XRC resources sub-library], wxUSE_XRC)
1006 WX_ARG_ENABLE(aui, [ --enable-aui use AUI docking library], wxUSE_AUI)
1007 WX_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS)
1008 WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE)
1009 WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI)
1010 WX_ARG_ENABLE(mdidoc, [ --enable-mdidoc use docview architecture with MDI], wxUSE_MDI_ARCHITECTURE)
1011 WX_ARG_ENABLE(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI)
1012 WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW)
1013 WX_ARG_ENABLE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG)
1014 WX_ARG_ENABLE(webkit, [ --enable-webkit use wxWebKitCtrl (Mac)], wxUSE_WEBKIT)
1015 WX_ARG_ENABLE(html, [ --enable-richtext use wxRichTextCtrl], wxUSE_RICHTEXT)
1016 WX_ARG_ENABLE(graphics_ctx, [ --enable-graphics_ctx use graphics context 2D drawing API], wxUSE_GRAPHICS_CONTEXT)
1018 dnl ---------------------------------------------------------------------------
1019 dnl PostScript options
1020 dnl ---------------------------------------------------------------------------
1021 WX_ARG_ENABLE(postscript, [ --enable-postscript use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT)
1023 dnl VZ: these options seem to be always on, if someone wants to change it please do
1024 dnl WX_ARG_ENABLE(PS-normalized, [ --enable-PS-normalized use normalized PS fonts], dnl wxUSE_NORMALIZED_PS_FONTS)
1025 dnl WX_ARG_ENABLE(afmfonts, [ --enable-afmfonts use Adobe Font Metric Font table], dnl wxUSE_AFM_FOR_POSTSCRIPT)
1027 dnl ---------------------------------------------------------------------------
1029 dnl ---------------------------------------------------------------------------
1031 WX_ARG_ENABLE(prologio, [ --enable-prologio not available; see contrib], wxUSE_PROLOGIO)
1032 WX_ARG_ENABLE(resources, [ --enable-resources not available; see contrib], wxUSE_RESOURCES)
1034 dnl ---------------------------------------------------------------------------
1036 dnl ---------------------------------------------------------------------------
1038 WX_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard class], wxUSE_CLIPBOARD)
1039 WX_ARG_ENABLE(dnd, [ --enable-dnd use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP)
1040 WX_ARG_ENABLE(metafile, [ --enable-metafile use win32 metafiles], wxUSE_METAFILE)
1042 dnl WX_ARG_ENABLE(treelayout, [ --enable-treelayout use wxTreeLayout class], wxUSE_TREELAYOUT)
1044 dnl ---------------------------------------------------------------------------
1045 dnl optional GUI controls (in alphabetical order except the first one)
1046 dnl ---------------------------------------------------------------------------
1048 WX_ARG_ENABLE(controls, [ --enable-controls use all usual controls], wxUSE_CONTROLS)
1050 dnl even with --enable-controls, some may be disabled by giving
1051 dnl --disable-<control> later on the command line - but by default all will be
1052 dnl used (and vice versa)
1053 if test "$wxUSE_CONTROLS" = "yes"; then
1054 DEFAULT_wxUSE_ACCEL=yes
1055 DEFAULT_wxUSE_BMPBUTTON=yes
1056 DEFAULT_wxUSE_BUTTON=yes
1057 DEFAULT_wxUSE_CALCTRL=yes
1058 DEFAULT_wxUSE_CARET=yes
1059 DEFAULT_wxUSE_COMBOBOX=yes
1060 DEFAULT_wxUSE_CHECKBOX=yes
1061 DEFAULT_wxUSE_CHECKLISTBOX=yes
1062 DEFAULT_wxUSE_CHOICE=yes
1063 DEFAULT_wxUSE_CHOICEBOOK=yes
1064 DEFAULT_wxUSE_COLOURPICKERCTRL=yes
1065 DEFAULT_wxUSE_COMBOBOX=yes
1066 DEFAULT_wxUSE_DATEPICKCTRL=yes
1067 DEFAULT_wxUSE_DISPLAY=yes
1068 DEFAULT_wxUSE_DIRPICKERCTRL=yes
1069 DEFAULT_wxUSE_FILEPICKERCTRL=yes
1070 DEFAULT_wxUSE_FONTPICKERCTRL=yes
1071 DEFAULT_wxUSE_GAUGE=yes
1072 DEFAULT_wxUSE_GRID=yes
1073 DEFAULT_wxUSE_HYPERLINKCTRL=yes
1074 DEFAULT_wxUSE_DATAVIEWCTRL=no
1075 DEFAULT_wxUSE_IMAGLIST=yes
1076 DEFAULT_wxUSE_LISTBOOK=yes
1077 DEFAULT_wxUSE_LISTBOX=yes
1078 DEFAULT_wxUSE_LISTCTRL=yes
1079 DEFAULT_wxUSE_NOTEBOOK=yes
1080 DEFAULT_wxUSE_RADIOBOX=yes
1081 DEFAULT_wxUSE_RADIOBTN=yes
1082 DEFAULT_wxUSE_SASH=yes
1083 DEFAULT_wxUSE_SCROLLBAR=yes
1084 DEFAULT_wxUSE_SLIDER=yes
1085 DEFAULT_wxUSE_SPINBTN=yes
1086 DEFAULT_wxUSE_SPINCTRL=yes
1087 DEFAULT_wxUSE_SPLITTER=yes
1088 DEFAULT_wxUSE_STATBMP=yes
1089 DEFAULT_wxUSE_STATBOX=yes
1090 DEFAULT_wxUSE_STATLINE=yes
1091 DEFAULT_wxUSE_STATUSBAR=yes
1092 DEFAULT_wxUSE_TAB_DIALOG=yes
1093 DEFAULT_wxUSE_TOGGLEBTN=yes
1094 DEFAULT_wxUSE_TOOLBAR=yes
1095 DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
1096 DEFAULT_wxUSE_TOOLTIPS=yes
1097 DEFAULT_wxUSE_TREEBOOK=yes
1098 DEFAULT_wxUSE_TOOLBOOK=yes
1099 DEFAULT_wxUSE_TREECTRL=yes
1100 DEFAULT_wxUSE_POPUPWIN=yes
1101 DEFAULT_wxUSE_TIPWINDOW=yes
1102 elif test "$wxUSE_CONTROLS" = "no"; then
1103 DEFAULT_wxUSE_ACCEL=no
1104 DEFAULT_wxUSE_BMPBUTTON=no
1105 DEFAULT_wxUSE_BUTTON=no
1106 DEFAULT_wxUSE_CALCTRL=no
1107 DEFAULT_wxUSE_CARET=no
1108 DEFAULT_wxUSE_COMBOBOX=no
1109 DEFAULT_wxUSE_CHECKBOX=no
1110 DEFAULT_wxUSE_CHECKLISTBOX=no
1111 DEFAULT_wxUSE_CHOICE=no
1112 DEFAULT_wxUSE_CHOICEBOOK=no
1113 DEFAULT_wxUSE_COLOURPICKERCTRL=no
1114 DEFAULT_wxUSE_COMBOBOX=no
1115 DEFAULT_wxUSE_DATEPICKCTRL=no
1116 DEFAULT_wxUSE_DISPLAY=no
1117 DEFAULT_wxUSE_DIRPICKERCTRL=no
1118 DEFAULT_wxUSE_FILEPICKERCTRL=no
1119 DEFAULT_wxUSE_FONTPICKERCTRL=no
1120 DEFAULT_wxUSE_GAUGE=no
1121 DEFAULT_wxUSE_GRID=no
1122 DEFAULT_wxUSE_HYPERLINKCTRL=no
1123 DEFAULT_wxUSE_DATAVIEWCTRL=no
1124 DEFAULT_wxUSE_IMAGLIST=no
1125 DEFAULT_wxUSE_LISTBOOK=no
1126 DEFAULT_wxUSE_LISTBOX=no
1127 DEFAULT_wxUSE_LISTCTRL=no
1128 DEFAULT_wxUSE_NOTEBOOK=no
1129 DEFAULT_wxUSE_RADIOBOX=no
1130 DEFAULT_wxUSE_RADIOBTN=no
1131 DEFAULT_wxUSE_SASH=no
1132 DEFAULT_wxUSE_SCROLLBAR=no
1133 DEFAULT_wxUSE_SLIDER=no
1134 DEFAULT_wxUSE_SPINBTN=no
1135 DEFAULT_wxUSE_SPINCTRL=no
1136 DEFAULT_wxUSE_SPLITTER=no
1137 DEFAULT_wxUSE_STATBMP=no
1138 DEFAULT_wxUSE_STATBOX=no
1139 DEFAULT_wxUSE_STATLINE=no
1140 DEFAULT_wxUSE_STATUSBAR=no
1141 DEFAULT_wxUSE_TAB_DIALOG=no
1142 DEFAULT_wxUSE_TOGGLEBTN=no
1143 DEFAULT_wxUSE_TOOLBAR=no
1144 DEFAULT_wxUSE_TOOLBAR_NATIVE=no
1145 DEFAULT_wxUSE_TOOLTIPS=no
1146 DEFAULT_wxUSE_TREEBOOK=no
1147 DEFAULT_wxUSE_TOOLBOOK=no
1148 DEFAULT_wxUSE_TREECTRL=no
1149 DEFAULT_wxUSE_POPUPWIN=no
1150 DEFAULT_wxUSE_TIPWINDOW=no
1153 WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL)
1154 WX_ARG_ENABLE(button, [ --enable-button use wxButton class], wxUSE_BUTTON)
1155 WX_ARG_ENABLE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class], wxUSE_BMPBUTTON)
1156 WX_ARG_ENABLE(bmpcombobox, [ --enable-bmpcombobox use wxBitmapComboBox class], wxUSE_BITMAPCOMBOBOX)
1157 WX_ARG_ENABLE(calendar, [ --enable-calendar use wxCalendarCtrl class], wxUSE_CALCTRL)
1158 WX_ARG_ENABLE(caret, [ --enable-caret use wxCaret class], wxUSE_CARET)
1159 WX_ARG_ENABLE(checkbox, [ --enable-checkbox use wxCheckBox class], wxUSE_CHECKBOX)
1160 WX_ARG_ENABLE(checklst, [ --enable-checklst use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
1161 WX_ARG_ENABLE(choice, [ --enable-choice use wxChoice class], wxUSE_CHOICE)
1162 WX_ARG_ENABLE(choicebook, [ --enable-choicebook use wxChoicebook class], wxUSE_CHOICEBOOK)
1163 WX_ARG_ENABLE(colourpicker,[ --enable-colourpicker use wxColourPickerCtrl class], wxUSE_COLOURPICKERCTRL)
1164 WX_ARG_ENABLE(combobox, [ --enable-combobox use wxComboBox class], wxUSE_COMBOBOX)
1165 WX_ARG_ENABLE(comboctrl, [ --enable-comboctrl use wxComboCtrl class], wxUSE_COMBOCTRL)
1166 WX_ARG_ENABLE(datepick, [ --enable-datepick use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL)
1167 WX_ARG_ENABLE(dirpicker, [ --enable-dirpicker use wxDirPickerCtrl class], wxUSE_DIRPICKERCTRL)
1168 WX_ARG_ENABLE(display, [ --enable-display use wxDisplay class], wxUSE_DISPLAY)
1169 WX_ARG_ENABLE(filepicker, [ --enable-filepicker use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL)
1170 WX_ARG_ENABLE(fontpicker, [ --enable-fontpicker use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL)
1171 WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE)
1172 WX_ARG_ENABLE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID)
1173 WX_ARG_ENABLE(dataviewctrl,[ --enable-dataviewctrl, use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL)
1174 WX_ARG_ENABLE(hyperlink, [ --enable-hyperlink use wxHyperlinkCtrl class], wxUSE_HYPERLINKCTRL)
1175 WX_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST)
1176 WX_ARG_ENABLE(listbook, [ --enable-listbook use wxListbook class], wxUSE_LISTBOOK)
1177 WX_ARG_ENABLE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX)
1178 WX_ARG_ENABLE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL)
1179 WX_ARG_ENABLE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK)
1180 WX_ARG_ENABLE(odcombobox, [ --enable-odcombobox use wxOwnerDrawnComboBox class], wxUSE_ODCOMBOBOX)
1181 WX_ARG_ENABLE(radiobox, [ --enable-radiobox use wxRadioBox class], wxUSE_RADIOBOX)
1182 WX_ARG_ENABLE(radiobtn, [ --enable-radiobtn use wxRadioButton class], wxUSE_RADIOBTN)
1183 WX_ARG_ENABLE(sash, [ --enable-sash use wxSashWindow class], wxUSE_SASH)
1184 WX_ARG_ENABLE(scrollbar, [ --enable-scrollbar use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
1185 WX_ARG_ENABLE(slider, [ --enable-slider use wxSlider class], wxUSE_SLIDER)
1186 WX_ARG_ENABLE(spinbtn, [ --enable-spinbtn use wxSpinButton class], wxUSE_SPINBTN)
1187 WX_ARG_ENABLE(spinctrl, [ --enable-spinctrl use wxSpinCtrl class], wxUSE_SPINCTRL)
1188 WX_ARG_ENABLE(splitter, [ --enable-splitter use wxSplitterWindow class], wxUSE_SPLITTER)
1189 WX_ARG_ENABLE(statbmp, [ --enable-statbmp use wxStaticBitmap class], wxUSE_STATBMP)
1190 WX_ARG_ENABLE(statbox, [ --enable-statbox use wxStaticBox class], wxUSE_STATBOX)
1191 WX_ARG_ENABLE(statline, [ --enable-statline use wxStaticLine class], wxUSE_STATLINE)
1192 WX_ARG_ENABLE(stattext, [ --enable-stattext use wxStaticText class], wxUSE_STATTEXT)
1193 WX_ARG_ENABLE(statusbar, [ --enable-statusbar use wxStatusBar class], wxUSE_STATUSBAR)
1194 WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TAB_DIALOG)
1195 WX_ARG_ENABLE(textctrl, [ --enable-textctrl use wxTextCtrl class], wxUSE_TEXTCTRL)
1196 WX_ARG_ENABLE(togglebtn, [ --enable-togglebtn use wxToggleButton class], wxUSE_TOGGLEBTN)
1197 WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUSE_TOOLBAR)
1198 WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
1199 WX_ARG_ENABLE(treebook, [ --enable-treebook use wxTreebook class], wxUSE_TREEBOOK)
1200 WX_ARG_ENABLE(toolbook, [ --enable-toolbook use wxToolbook class], wxUSE_TOOLBOOK)
1201 WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL)
1202 WX_ARG_ENABLE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW)
1203 WX_ARG_ENABLE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN)
1205 dnl ---------------------------------------------------------------------------
1207 dnl ---------------------------------------------------------------------------
1209 WX_ARG_ENABLE(commondlg, [ --enable-commondlg use all common dialogs], wxUSE_COMMONDLGS)
1210 WX_ARG_ENABLE(choicedlg, [ --enable-choicedlg use wxChoiceDialog], wxUSE_CHOICEDLG)
1211 WX_ARG_ENABLE(coldlg, [ --enable-coldlg use wxColourDialog], wxUSE_COLOURDLG)
1212 WX_ARG_ENABLE(filedlg, [ --enable-filedlg use wxFileDialog], wxUSE_FILEDLG)
1213 WX_ARG_ENABLE(finddlg, [ --enable-finddlg use wxFindReplaceDialog], wxUSE_FINDREPLDLG)
1214 WX_ARG_ENABLE(fontdlg, [ --enable-fontdlg use wxFontDialog], wxUSE_FONTDLG)
1215 WX_ARG_ENABLE(dirdlg, [ --enable-dirdlg use wxDirDialog], wxUSE_DIRDLG)
1216 WX_ARG_ENABLE(msgdlg, [ --enable-msgdlg use wxMessageDialog], wxUSE_MSGDLG)
1217 WX_ARG_ENABLE(numberdlg, [ --enable-numberdlg use wxNumberEntryDialog], wxUSE_NUMBERDLG)
1218 WX_ARG_ENABLE(splash, [ --enable-splash use wxSplashScreen], wxUSE_SPLASH)
1219 WX_ARG_ENABLE(textdlg, [ --enable-textdlg use wxTextDialog], wxUSE_TEXTDLG)
1220 WX_ARG_ENABLE(tipdlg, [ --enable-tipdlg use startup tips], wxUSE_STARTUP_TIPS)
1221 WX_ARG_ENABLE(progressdlg, [ --enable-progressdlg use wxProgressDialog], wxUSE_PROGRESSDLG)
1222 WX_ARG_ENABLE(wizarddlg, [ --enable-wizarddlg use wxWizard], wxUSE_WIZARDDLG)
1224 dnl ---------------------------------------------------------------------------
1225 dnl misc GUI options
1226 dnl ---------------------------------------------------------------------------
1228 WX_ARG_ENABLE(menus, [ --enable-menus use wxMenu/wxMenuBar/wxMenuItem classes], wxUSE_MENUS)
1229 WX_ARG_ENABLE(miniframe, [ --enable-miniframe use wxMiniFrame class], wxUSE_MINIFRAME)
1230 WX_ARG_ENABLE(tooltips, [ --enable-tooltips use wxToolTip class], wxUSE_TOOLTIPS)
1231 WX_ARG_ENABLE(splines, [ --enable-splines use spline drawing code], wxUSE_SPLINES)
1232 WX_ARG_ENABLE(mousewheel, [ --enable-mousewheel use mousewheel], wxUSE_MOUSEWHEEL)
1233 WX_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS)
1234 WX_ARG_ENABLE(busyinfo, [ --enable-busyinfo use wxBusyInfo], wxUSE_BUSYINFO)
1235 WX_ARG_ENABLE(joystick, [ --enable-joystick use wxJoystick], wxUSE_JOYSTICK)
1236 WX_ARG_ENABLE(metafile, [ --enable-metafiles use wxMetaFile (Win32 only)], wxUSE_METAFILE)
1237 WX_ARG_ENABLE(dragimage, [ --enable-dragimage use wxDragImage], wxUSE_DRAGIMAGE)
1238 WX_ARG_ENABLE(accessibility,[ --enable-accessibility enable accessibility support], wxUSE_ACCESSIBILITY)
1240 if test "$wxUSE_MSW" = "1"; then
1241 WX_ARG_ENABLE(dccache, [ --enable-dccache cache temporary wxDC objects (Win32 only)], wxUSE_DC_CACHEING)
1244 dnl ---------------------------------------------------------------------------
1245 dnl support for image formats that do not rely on external library
1246 dnl ---------------------------------------------------------------------------
1248 WX_ARG_ENABLE(palette, [ --enable-palette use wxPalette class], wxUSE_PALETTE)
1249 WX_ARG_ENABLE(image, [ --enable-image use wxImage class], wxUSE_IMAGE)
1250 WX_ARG_ENABLE(gif, [ --enable-gif use gif images (GIF file format)], wxUSE_GIF)
1251 WX_ARG_ENABLE(pcx, [ --enable-pcx use pcx images (PCX file format)], wxUSE_PCX)
1252 WX_ARG_ENABLE(iff, [ --enable-iff use iff images (IFF file format)], wxUSE_IFF)
1253 WX_ARG_ENABLE(pnm, [ --enable-pnm use pnm images (PNM file format)], wxUSE_PNM)
1254 WX_ARG_ENABLE(xpm, [ --enable-xpm use xpm images (XPM file format)], wxUSE_XPM)
1255 WX_ARG_ENABLE(ico_cur, [ --enable-icocur use Windows ICO and CUR formats], wxUSE_ICO_CUR)
1259 dnl ---------------------------------------------------------------------------
1261 dnl ---------------------------------------------------------------------------
1263 dnl Should this be --enable? I flip-flopped a couple of times and this seems
1264 dnl in the spirit if not the letter, we have gtk-prefix and the like in this group.
1265 dnl It doesn't actually change anything but the output file names.
1266 AC_ARG_WITH(flavour, [ --with-flavour=NAME specify a name to identify this build], [WX_FLAVOUR="$withval"])
1268 dnl ---------------------------------------------------------------------------
1269 dnl some win32 settings
1270 dnl ---------------------------------------------------------------------------
1272 WX_ARG_ENABLE(official_build, [ --enable-official_build official build of wxWidgets (win32 DLL only)], wxUSE_OFFICIAL_BUILD)
1273 AC_ARG_ENABLE(vendor, [ --enable-vendor=VENDOR vendor name (win32 DLL only)], [VENDOR="$enableval"])
1274 if test "x$VENDOR" = "x"; then
1281 dnl cache the options values before (may be) aborting below
1284 dnl check that no more than one toolkit is given and that if none are given that
1285 dnl we have a default one
1287 AC_MSG_CHECKING(for toolkit)
1289 # In Wine, we need to default to MSW, not GTK or MOTIF
1290 if test "$wxUSE_WINE" = "yes"; then
1291 DEFAULT_DEFAULT_wxUSE_GTK=0
1292 DEFAULT_DEFAULT_wxUSE_MOTIF=0
1293 DEFAULT_DEFAULT_wxUSE_MSW=1
1298 if test "$wxUSE_GUI" = "yes"; then
1300 if test "$USE_BEOS" = 1; then
1301 AC_MSG_ERROR([BeOS GUI is not supported yet, use --disable-gui])
1304 if test "$TOOLKIT_GIVEN" = 1; then
1305 dnl convert "yes", "any" or a number to 1 and "no" to 0
1306 for toolkit in `echo $ALL_TOOLKITS`; do
1308 eval "value=\$${var}"
1309 if test "x$value" = "xno"; then
1311 elif test "x$value" != "x"; then
1315 if test "x$value" != "x" -a "x$value" != "xyes" -a "x$value" != "xno"; then
1316 eval "wx${toolkit}_VERSION=$value"
1320 dnl try to guess the most apropriate toolkit for this platform
1321 for toolkit in `echo $ALL_TOOLKITS`; do
1322 if test "$has_toolkit_in_cache" != 1; then
1323 var=DEFAULT_DEFAULT_wxUSE_$toolkit
1325 var=DEFAULT_wxUSE_$toolkit
1327 eval "version=\$DEFAULT_wx${toolkit}_VERSION"
1328 if test "x$version" != "x"; then
1329 eval "wx${toolkit}_VERSION=$version"
1332 eval "wxUSE_$toolkit=\$${var}"
1336 dnl we suppose that expr is available (maybe there is a better way to do
1337 dnl this? what about using ALL_TOOLKITS? TODO)
1338 NUM_TOOLKITS=`expr ${wxUSE_COCOA:-0} + ${wxUSE_GTK:-0} + ${wxUSE_MAC:-0} \
1339 + ${wxUSE_MGL:-0} + ${wxUSE_DFB:-0} + ${wxUSE_MICROWIN:-0} \
1340 + ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} + ${wxUSE_X11:-0}`
1342 dnl Allow wxUSE_PM only for OS/2 with EMX.
1344 *-pc-os2_emx | *-pc-os2-emx )
1345 NUM_TOOLKITS=`expr ${NUM_TOOLKITS} + ${wxUSE_PM:-0}`
1348 case "$NUM_TOOLKITS" in
1352 AC_MSG_ERROR(Please specify a toolkit -- cannot determine the default for ${host})
1355 AC_MSG_ERROR(Please specify at most one toolkit (maybe some are cached in configarg.cache?))
1358 # to be removed when --disable-gtk2 isn't needed
1359 if test "x$wxUSE_GTK2" = "xyes"; then
1361 elif test "x$wxUSE_GTK2" = "xno"; then
1365 dnl cache the wxUSE_<TOOLKIT> values too
1366 for toolkit in `echo $ALL_TOOLKITS`; do
1368 eval "value=\$${var}"
1369 if test "x$value" != x; then
1370 cache_var=CACHE_$toolkit
1371 eval "cache=\$${cache_var}"
1372 if test "$cache" = 1; then
1373 echo "$var=$value" >> ${wx_arg_cache_file}
1374 eval "version=\$wx${toolkit}_VERSION"
1375 if test "x$version" != "x"; then
1376 echo "wx${toolkit}_VERSION=$version" >> ${wx_arg_cache_file}
1379 if test "$value" = 1; then
1380 toolkit_echo=`echo $toolkit | tr "[[A-Z]]" "[[a-z]]"`
1381 AC_MSG_RESULT($toolkit_echo)
1386 if test "x$host_alias" != "x"; then
1387 AC_MSG_RESULT(base ($host_alias hosted) only)
1389 AC_MSG_RESULT(base only)
1393 dnl ---------------------------------------------------------------------------
1394 dnl When we are using Cygwin with Motif/GTK+, we want it to appear like
1395 dnl 'just' a POSIX platform, so the Win32 API must not be available
1396 dnl ---------------------------------------------------------------------------
1397 dnl (Windows-only piece)
1402 if test "$wxUSE_MSW" = 1 ; then
1404 BAKEFILE_FORCE_PLATFORM=win32
1414 dnl ---------------------------------------------------------------------------
1415 dnl Wine is a virtual platform, we need to patch things up a bit
1416 dnl ---------------------------------------------------------------------------
1417 if test "$wxUSE_WINE" = "yes"; then
1419 dnl FIXME: we should do a better job of testing for these
1422 LDFLAGS_GUI="-mwindows"
1425 dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only
1426 dnl take effect on Cygwin/Mingw and not other platforms.
1427 if test "$wants_win32" = 1 ; then
1430 AC_DEFINE(__WIN32__)
1431 AC_DEFINE(__WIN95__)
1432 AC_DEFINE(__WINDOWS__)
1433 AC_DEFINE(__GNUWIN32__)
1435 AC_DEFINE(WINVER, 0x0400)
1437 if test "$doesnt_want_win32" = 1 ; then
1441 dnl (end of Windows-only piece)
1443 if test "$USE_UNIX" = 1 ; then
1448 dnl ---------------------------------------------------------------------------
1449 dnl Checks for programs
1450 dnl ---------------------------------------------------------------------------
1452 dnl flush the cache because checking for programs might abort
1455 dnl C-compiler checks
1456 dnl defines CC with the compiler to use
1457 dnl defines GCC with yes if using gcc
1458 dnl defines GCC empty if not using gcc
1461 dnl this magic incantation is needed to prevent AC_PROG_CC from setting the
1462 dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add
1463 dnl -g and -O flags ourselves below
1467 dnl is -traditional needed for correct compilations
1468 dnl adds -traditional for gcc if needed
1469 AC_PROG_GCC_TRADITIONAL
1471 dnl do all checks from now on using the C++ compiler: this saves us a lot of
1472 dnl problems with various functions which may be available in libc but not
1473 dnl declared in the header and various pointer conversions which compile with
1474 dnl the C compiler but not in C++
1477 dnl C++-compiler checks
1478 dnl defines CXX with the compiler to use
1479 dnl defines GXX with yes if using gxx
1480 dnl defines GXX empty if not using gxx
1481 dnl defines CXXFLAGS
1483 dnl see CFLAGS line above
1484 CXXFLAGS=${CXXFLAGS:=}
1485 AC_BAKEFILE_PROG_CXX
1488 dnl defines RANLIB with the appropriate command
1492 dnl defines AR with the appropriate command
1493 AC_CHECK_TOOL(AR, ar)
1494 if test "x$AR" = "x" ; then
1495 AC_MSG_ERROR([ar is needed to build wxWidgets])
1499 dnl defines INSTALL with the appropriate command
1502 dnl make install path absolute (if not already);
1503 dnl will fail with (some) MSDOS paths
1507 ?:* ) # Drive letter, considered as absolute.
1510 INSTALL=`pwd`/${INSTALL} ;;
1516 dnl The other BSD's should probably go in here too, since this is
1517 dnl to workaround a strange static lib BSDism.
1518 dnl Mac OS X install seems to ignore -p option...
1520 INSTALL_PROGRAM="cp -fp"
1521 INSTALL_DATA="cp -fp"
1528 dnl defines STRIP as strip or nothing (true) if not found
1529 AC_CHECK_TOOL(STRIP, strip, true)
1532 if test "$wxUSE_WINE" = "yes"; then
1533 AC_CHECK_TOOL(WINDRES, wrc)
1537 *-*-cygwin* | *-*-mingw32* )
1538 dnl Bakefile CVS (as of 2005-11-24) now detects windres properly
1539 dnl ... maybe it does, but it does not make it available here
1540 dnl anymore, so do it ourselves still.
1541 AC_CHECK_TOOL(WINDRES, windres)
1543 AC_CHECK_TOOL(DLLTOOL, dlltool)
1548 dnl does make support "-include" (only GNU make does AFAIK)?
1549 AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu,
1551 if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
1552 egrep -s GNU > /dev/null); then
1553 wx_cv_prog_makeisgnu="yes"
1555 wx_cv_prog_makeisgnu="no"
1559 if test "x$wx_cv_prog_makeisgnu" = "xyes"; then
1565 AC_SUBST(IF_GNU_MAKE)
1567 dnl we don't need to check for VPATH support in GNU make - it does have it
1568 if test "x$wx_cv_prog_makeisgnu" != "xyes"; then
1569 dnl check if VPATH works
1570 AC_CACHE_CHECK([if make supports VPATH], wx_cv_prog_makevpath, [
1572 cat - << EOF > confMake
1578 if test ! -d sub ; then
1581 echo dummy > sub/file
1582 ${MAKE-make} -f confMake VPATH=sub 2>&5 > /dev/null
1584 rm -f sub/file check final_file confMake
1586 if test "$RESULT" = 0; then
1587 wx_cv_prog_makevpath="yes"
1589 wx_cv_prog_makevpath="no"
1593 if test "x$wx_cv_prog_makevpath" != "xyes"; then
1595 You need a make-utility that is able to use the variable
1597 If your version of make does not support VPATH correctly,
1598 please install GNU-make (possibly as gmake), and start
1599 configure with the following command:
1600 export MAKE=gmake; ./configure for sh-type shells
1601 setenv MAKE gmake; ./configure for csh-type shells
1602 Also please do remember to use gmake in this case every time
1603 you are trying to compile.
1605 fi dnl make without VPATH
1608 dnl needed for making link to setup.h
1612 dnl ------------------------------------------------------------------------
1613 dnl Platform specific tests
1614 dnl ------------------------------------------------------------------------
1616 dnl xlC needs -qunique under AIX so that one source file can be
1617 dnl compiled to multiple object files and safely linked together.
1618 if test "x$XLCXX" = "xyes" -a "x$USE_AIX" = "x1"; then
1619 CXXFLAGS="-qunique $CXXFLAGS"
1622 dnl This case is for PowerPC OS X vs. everything else
1625 AC_MSG_CHECKING([if __POWERPC__ is already defined])
1626 AC_TRY_COMPILE([],[#ifndef __POWERPC__
1627 choke me for lack of PowerPC
1630 [AC_MSG_RESULT([yes])],
1631 [AC_MSG_RESULT([no])
1632 AC_DEFINE(__POWERPC__)
1637 dnl This case is for OS X vs. everything else
1640 AC_MSG_CHECKING([if CoreFoundation/CFBase.h is usable])
1641 AC_TRY_COMPILE([#include <CoreFoundation/CFBase.h>
1643 [AC_MSG_RESULT([yes])],
1644 [AC_MSG_RESULT([no])
1645 AC_MSG_CHECKING([if __CF_USE_FRAMEWORK_INCLUDES__ is required])
1646 AC_TRY_COMPILE([#define __CF_USE_FRAMEWORK_INCLUDES__
1647 #include <CoreFoundation/CFBase.h>
1649 [AC_MSG_RESULT([yes])
1650 dnl We must use -D so source files that don't include wx/setup.h
1651 dnl but do include CFBase will work.
1652 CPPFLAGS="-D__CF_USE_FRAMEWORK_INCLUDES__ $CPPFLAGS"],
1653 [AC_MSG_FAILURE([no. CoreFoundation not available.])]
1660 dnl This case is for OS/2 vs. everything else
1662 *-pc-os2_emx | *-pc-os2-emx )
1663 dnl ---------------------------------------------------------------------
1664 dnl When we are using gcc on OS/2, we want to be either using resources
1665 dnl (PM) or a more complete POSIX emulation for Motif/GTK+/X11.
1666 dnl Moreover we need to link explicitly against either stdcpp.a or
1667 dnl stdcxx.a (depending on compiler version), since we are using "gcc",
1669 dnl ---------------------------------------------------------------------
1670 dnl (OS/2-only piece)
1672 if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then
1673 dnl More complete Unix emulation for unix-like ports
1674 dnl by linking in POSIX/2's cExt (if available).
1675 AC_CHECK_LIB(cExt, drand48, LIBS="$LIBS -lcExt")
1677 dnl Include resources for the "native" port (wxPM).
1678 RESPROGRAMOBJ="\${top_srcdir}/include/wx/os2/wx.res"
1680 dnl Check for the gcc version (and thereby for the C runtime library).
1681 dnl wx_cv_gccversion = EMX2 -> Standard EMX environment
1682 dnl wx_cv_gccversion = EMX3 -> EMX with gcc-3.0.3 or gcc-3.2.1
1683 dnl wx_cv_gccversion = Innotek5 -> gcc-3.2.2 with Innotek libc5
1684 dnl wx_cv_gccversion = Innotek6 -> gcc-3.3.5 with Innotek libc6.
1685 AC_CACHE_CHECK([for gcc/libc version], wx_cv_gccversion,[
1687 dnl Check the gcc version macro.
1693 FILE *f=fopen("conftestval", "w");
1698 #elif (__GNUC__==3) && ((__GNUC_MINOR__ < 2) || ((__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__<2)))
1700 #elif (__GNUC__==3) && (__GNUC_MINOR__==2) && (__GNUC_PATCHLEVEL__==2)
1709 wx_cv_gccversion=`cat conftestval`,
1710 wx_cv_gccversion="EMX2",
1711 dnl Compilation error: Assuming standard EMX environment
1712 wx_cv_gccversion="EMX2"
1716 if test "$wx_cv_gccversion" = "EMX2"; then
1717 LIBS="$LIBS -lstdcpp"
1718 LDFLAGS="$LDFLAGS -Zsysv-signals"
1720 if test "$wx_cv_gccversion" = "EMX3"; then
1721 LIBS="$LIBS -lstdcxx -lgcc"
1722 LDFLAGS="$LDFLAGS -Zsysv-signals"
1724 LIBS="$LIBS -lstdc++"
1727 if test "$wxUSE_SHARED" = "yes" -a "$wxUSE_OMF" = "no"; then
1728 AC_MSG_WARN([Building DLLs requires OMF mode, enabled])
1732 dnl (end of OS/2-only piece)
1735 dnl ---------------------------------------------------------------------
1736 dnl look for strcasecmp() in string.h and then strings.h if it's not
1737 dnl there. Don't do this on OS/2, where "stricmp" is the function to be
1739 dnl ---------------------------------------------------------------------
1740 dnl (non-OS/2-only piece)
1742 AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
1747 strcasecmp("foo", "bar");
1749 ac_cv_string_strcasecmp=yes,
1750 ac_cv_string_strcasecmp=no
1754 if test x"$ac_cv_string_strcasecmp" = "xyes"; then
1755 AC_DEFINE(HAVE_STRCASECMP_IN_STRING_H)
1757 AC_CACHE_CHECK([for strcasecmp() in strings.h], ac_cv_strings_strcasecmp, [
1759 #include <strings.h>
1762 strcasecmp("foo", "bar");
1764 ac_cv_strings_strcasecmp=yes,
1765 ac_cv_strings_strcasecmp=no
1769 if test x"$ac_cv_strings_strcasecmp" = "xyes"; then
1770 AC_DEFINE(HAVE_STRCASECMP_IN_STRINGS_H)
1772 AC_MSG_ERROR([No case-insensitive string comparison function found.])
1776 dnl (end of non-OS/2-only piece)
1780 dnl ------------------------------------------------------------------------
1781 dnl Check for headers
1782 dnl ------------------------------------------------------------------------
1784 dnl defines HAVE_STDLIB_H
1785 AC_CHECK_HEADERS(stdlib.h)
1786 dnl defines HAVE_MALLOC_H
1787 AC_CHECK_HEADERS(malloc.h)
1788 dnl defines HAVE_UNISTD_H
1789 AC_CHECK_HEADERS(unistd.h)
1790 dnl defines HAVE_WCHAR_H
1791 AC_CHECK_HEADERS(wchar.h)
1793 dnl maybe wchar_t is in wcstr.h if we don't have wchar.h?
1794 if test "$ac_cv_header_wchar_h" != "yes"; then
1795 dnl defines HAVE_WCSTR_H
1796 AC_CHECK_HEADERS(wcstr.h)
1799 dnl defines HAVE_FNMATCH_H
1800 AC_CHECK_HEADERS(fnmatch.h)
1802 dnl defines HAVE_LANGINFO_H (GNU libc locale parameters)
1803 AC_CHECK_HEADERS(langinfo.h)
1806 *-pc-os2_emx | *-pc-os2-emx )
1807 dnl Explicitly link -lintl if langinfo.h is available
1808 dnl and intl not yet included in libc
1809 if test $ac_cv_header_langinfo_h = "yes" \
1810 -a \( "$wx_cv_gccversion" = "EMX2" \
1811 -o "$wx_cv_gccversion" = "EMX3" \
1812 -o "$wx_cv_gccversion" = "Innotek5" \); then
1818 dnl POSIX needs this for select(), but old systems don't have it
1819 if test "$USE_UNIX" = 1 ; then
1820 AC_CHECK_HEADERS([sys/select.h])
1823 dnl ---------------------------------------------------------------------------
1824 dnl Checks for compiler characteristics
1825 dnl ---------------------------------------------------------------------------
1827 dnl defines const to be empty if c-compiler does not support const fully
1829 dnl defines inline to a sensible value for the c-compiler
1832 dnl check the sizes of integral types (give some reasonable default values for
1833 dnl cross-compiling)
1834 dnl defines the size of certain types of variables in SIZEOF_<TYPE>
1835 AC_CHECK_SIZEOF(char, 1)
1836 AC_CHECK_SIZEOF(short, 2)
1837 AC_CHECK_SIZEOF(void *, 4)
1838 AC_CHECK_SIZEOF(int, 4)
1839 AC_CHECK_SIZEOF(long, 4)
1840 AC_CHECK_SIZEOF(size_t, 4)
1844 AC_CHECK_SIZEOF(long long, 8)
1847 AC_CHECK_SIZEOF(long long, 0)
1848 if test "$ac_cv_sizeof_long_long" != "0"; then
1849 dnl HPUX 10.20 headers need this define in order to use long long definitions
1850 CPPFLAGS="-D_INCLUDE_LONGLONG $CPPFLAGS"
1854 AC_CHECK_SIZEOF(long long, 0)
1857 dnl SGI/Irix's stdio.h does not include wchar_t. Mac OS X does not provide
1858 dnl wchar.h and wchar_t is defined by stdlib.h (GD)
1859 AC_CHECK_SIZEOF(wchar_t, 0,
1861 /* DJGPP's wchar_t is now a keyword in C++ (still not C though) */
1862 #if defined(__DJGPP__) && !( (__GNUC_MINOR__ >= 8 && __GNUC__ == 2 ) || __GNUC__ >= 3 )
1863 # error "fake wchar_t"
1867 # include <stddef.h>
1871 #ifdef HAVE_STDLIB_H
1872 # include <stdlib.h>
1877 if test "$ac_cv_sizeof_wchar_t" != "0"; then
1883 dnl checks needed to define wxVaCopy
1884 AC_CACHE_CHECK([for va_copy],
1889 void foo(char *f, ...)
1902 wx_cv_func_va_copy=yes,
1903 wx_cv_func_va_copy=no
1908 if test $wx_cv_func_va_copy = "yes"; then
1909 AC_DEFINE(HAVE_VA_COPY)
1911 dnl try to understand how can we copy va_lists
1912 AC_CACHE_CHECK([if va_list can be copied by value],
1913 wx_cv_type_va_list_lvalue,
1917 int foo(char *f, ...)
1922 if ( va_arg(ap1, int) != 17 || va_arg(ap2, int) != 17 )
1930 return foo("hi", 17);
1932 wx_cv_type_va_list_lvalue=yes,
1933 wx_cv_type_va_list_lvalue=no,
1934 dnl assume most common case for cross-compiling...
1935 wx_cv_type_va_list_lvalue=yes
1940 if test $wx_cv_type_va_list_lvalue != "yes"; then
1941 dnl we suppose that the only thing which can't be copied like this
1942 dnl are arrays... only experience will show whether this is really true
1943 AC_DEFINE(VA_LIST_IS_ARRAY)
1947 dnl Check if variadic macros (C99 feature) are supported:
1949 [whether the compiler supports variadic macros],
1950 [wx_cv_have_variadic_macros],
1956 #define test(fmt, ...) printf(fmt, __VA_ARGS__)
1959 test("%s %d %p", "test", 1, 0);
1962 [wx_cv_have_variadic_macros=yes],
1963 [wx_cv_have_variadic_macros=no]
1968 if test $wx_cv_have_variadic_macros = "yes"; then
1969 AC_DEFINE(HAVE_VARIADIC_MACROS)
1972 dnl check for large file support
1975 dnl we need to define _FILE_OFFSET_BITS or _LARGE_FILES on the compiler command
1976 dnl line because otherwise the system headers risk being included before
1977 dnl wx/defs.h which defines these constants leading to inconsistent
1978 dnl sizeof(off_t) in different source files of the same program and linking
1980 if test "x$wx_largefile" = "xyes"; then
1981 if test "x$ac_cv_sys_file_offset_bits" = "x64"; then
1982 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES"
1984 dnl We get "Large Files (ILP32) not supported in strict ANSI mode."
1985 dnl #error from HP standard headers unless __STDC_EXT__ is defined.
1986 dnl The compiler should define it automatically, but some old g++
1987 dnl versions don't define it, so test and add it if necessary. AFAIK
1988 dnl the problem only affects the C++ compiler so it is added to
1990 if test "$USE_HPUX" = 1 -a "$GXX" = "yes"; then
1992 [if -D__STDC_EXT__ is required],
1993 wx_cv_STDC_EXT_required,
1998 #ifndef __STDC_EXT__
2002 wx_cv_STDC_EXT_required=no,
2003 wx_cv_STDC_EXT_required=yes
2007 if test "x$wx_cv_STDC_EXT_required" = "xyes"; then
2008 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -D__STDC_EXT__"
2012 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGE_FILES"
2014 dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source
2016 if test "$ac_cv_sys_largefile_source" != no; then
2017 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source"
2021 dnl check for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling)
2024 dnl check for iostream (as opposed to iostream.h) standard header
2025 WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH))
2027 dnl check whether C++ compiler supports bool built-in type
2030 dnl check whether C++ compiler supports explicit keyword
2033 dnl check whether C++ compiler supports C++ casts
2035 AC_CXX_REINTERPRET_CAST
2037 dnl we don't use HAVE_DYNAMIC_CAST anywhere right now...
2038 dnl AC_CXX_DYNAMIC_CAST
2040 dnl With Sun CC, temporaries have block scope by default. This flag is needed
2041 dnl to get the expression scope behaviour that conforms to the standard.
2042 if test "x$SUNCXX" = xyes; then
2043 CXXFLAGS="-features=tmplife $CXXFLAGS"
2046 dnl Sun X11 headers are (still, in 2005!) non-ANSI and the best they could do
2047 dnl was to hack their C++ compiler to accept them silently -- but C compiler
2048 dnl still spits out dozens of warnings for each X include file, so suppress
2050 if test "x$SUNCC" = xyes; then
2051 CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS"
2054 dnl SGI mipsPro compiler gives this warning for "conversion from pointer to
2055 dnl same-sized integral type" even when there is an explicit cast and as there
2056 dnl is no way to turn it off and there are hundreds of these warnings in wx
2057 dnl sources, just turn it off for now
2059 dnl a better long term solution would be to use #pragma set/reset woff in
2060 dnl wxPtrToUInt() and use it instead of casts elsewhere
2061 if test "x$SGICC" = "xyes"; then
2062 CFLAGS="-woff 3970 $CFLAGS"
2064 if test "x$SGICXX" = "xyes"; then
2065 CXXFLAGS="-woff 3970 $CXXFLAGS"
2068 dnl HP-UX c89/aCC compiler warnings
2069 if test "x$HPCC" = "xyes"; then
2070 dnl 2011: "unrecognized preprocessor directive": nice warning but it's given
2071 dnl even for directives inside #if which is not true (i.e. which are
2072 dnl used for other compilers/OS) and so we have no way to get rid of it
2073 dnl 2450: "long long is non standard" -- yes, we know
2074 CFLAGS="+W 2011,2450 $CFLAGS"
2076 if test "x$HPCXX" = "xyes"; then
2077 dnl 2340: "value copied to temporary, reference to temporary used": very
2078 dnl painful as triggered by any occurrence of user-defined conversion
2079 CXXFLAGS="+W 2340 $CXXFLAGS"
2082 dnl DEC/Compaq/HP cxx warnings
2083 if test "x$COMPAQCXX" = "xyes"; then
2084 dnl -w0 enables all warnings, then we disable some of them:
2085 dnl basclsnondto: base class dtor non virtual (sometimes we do want this)
2086 dnl unrimpret: "end of routine block may be unreachable" is given for
2087 dnl every "if ( ) return ...; else return ...;"
2088 dnl intconlosbit: "conversion to integral type of smaller size could lose
2089 dnl data" this is a useful warning but there are too many of
2091 CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit"
2094 dnl check for std::string or std::wstring
2095 if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then
2096 if test "$wxUSE_UNICODE" = "yes"; then
2097 std_string="std::wstring"
2100 std_string="std::string"
2104 dnl check if <string> declares std::wstring
2105 AC_MSG_CHECKING([for $std_string in <string>])
2106 AC_TRY_COMPILE([#include <string>],
2109 AC_DEFINE(HAVE_STD_WSTRING)],
2111 AC_MSG_CHECKING([if std::basic_string<$char_type> works])
2115 # include <stddef.h>
2119 #ifdef HAVE_STDLIB_H
2120 # include <stdlib.h>
2125 [std::basic_string<$char_type> foo;
2126 const $char_type* dummy = foo.c_str();],
2127 [AC_MSG_RESULT(yes)],
2128 [AC_MSG_RESULT([no])
2129 if test "$wxUSE_STL" = "yes"; then
2130 AC_MSG_ERROR([Can't use --enable-stl without $std_string or std::basic_string<$char_type>])
2131 elif grep wxUSE_STD_STRING $wx_arg_cache_file >/dev/null; then
2132 AC_MSG_ERROR([Can't use --enable-std_string without $std_string or std::basic_string<$char_type>])
2134 AC_MSG_WARN([No $std_string or std::basic_string<$char_type>, switching to --disable-std_string])
2142 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
2143 AC_CHECK_TYPES([std::istream, std::ostream],,
2144 [wxUSE_STD_IOSTREAM=no],
2145 [#include <iostream>])
2147 if test "$wxUSE_STD_IOSTREAM" != "yes"; then
2148 if grep wxUSE_STD_IOSTREAM $wx_arg_cache_file >/dev/null; then
2149 AC_MSG_ERROR([Can't use --enable-std_iostreams without std::istream and std::ostream])
2151 AC_MSG_WARN([No std::iostreams, switching to --disable-std_iostreams])
2156 if test "$wxUSE_STL" = "yes"; then
2157 dnl check for basic STL functionality
2158 AC_MSG_CHECKING([for basic STL functionality])
2159 AC_TRY_COMPILE([#include <string>
2160 #include <functional>
2161 #include <algorithm>
2164 [std::vector<int> moo;
2166 std::vector<int>::iterator it =
2167 std::find_if(moo.begin(), moo.end(),
2168 std::bind2nd(std::less<int>(), 3));],
2169 [AC_MSG_RESULT([yes])],
2170 [AC_MSG_RESULT([no])
2171 AC_MSG_ERROR([Basic STL functionality missing])])
2173 dnl check for compliant std::string::compare
2174 AC_MSG_CHECKING([for compliant std::string::compare])
2175 AC_TRY_COMPILE([#include <string>],
2176 [std::string foo, bar;
2178 foo.compare(1, 1, bar);
2179 foo.compare(1, 1, bar, 1, 1);
2181 foo.compare(1, 1, "");
2182 foo.compare(1, 1, "", 2);],
2184 AC_DEFINE(HAVE_STD_STRING_COMPARE)],
2185 [AC_MSG_RESULT(no)])
2187 dnl check for hash_map and hash_set headers
2188 AC_CHECK_HEADER([hash_map],
2189 [AC_MSG_CHECKING([for hash_map and hash_set])
2190 AC_TRY_COMPILE([#include <hash_map>
2191 #include <hash_set>],
2192 [std::hash_map<double*, char*, std::hash<double*>, std::equal_to<double*> > test1;
2193 std::hash_set<char*, std::hash<char*>, std::equal_to<char*> > test2;],
2195 AC_DEFINE(HAVE_HASH_MAP)
2196 AC_DEFINE(HAVE_STD_HASH_MAP)],
2197 [AC_MSG_RESULT(no)])
2200 AC_CHECK_HEADER([ext/hash_map],
2201 [AC_MSG_CHECKING([for hash_map and hash_set])
2202 AC_TRY_COMPILE([#include <ext/hash_map>
2203 #include <ext/hash_set>],
2204 [__gnu_cxx::hash_map<double*, char*, __gnu_cxx::hash<double*>, std::equal_to<double*> > test1;
2205 __gnu_cxx::hash_set<char*, __gnu_cxx::hash<char*>, std::equal_to<char*> > test2;],
2207 AC_DEFINE(HAVE_EXT_HASH_MAP)
2208 AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
2209 [AC_MSG_RESULT(no)])
2213 dnl ---------------------------------------------------------------------------
2214 dnl Define search path for includes and libraries: all headers and libs will be
2215 dnl looked for in all directories of this path
2216 dnl ---------------------------------------------------------------------------
2218 dnl Notice that /usr/include should *not* be in this list, otherwise it breaks
2219 dnl compilation on Solaris/AIX/... with gcc because standard (non ANSI C)
2220 dnl headers are included instead of the "fixed" (ANSI-fied) gcc ones.
2222 dnl Also try to put all directories which may contain X11R6 before those which
2223 dnl may contain X11R5/4 - we want to use R6 on machines which have both!
2225 dnl In the same vein. Motif 2.1 should be tried before Motif 1.2 for the
2226 dnl systems which have both (AIX 4.x does)
2228 /usr/local/include \
2230 /usr/Motif-2.1/include \
2231 /usr/Motif-1.2/include \
2232 /usr/include/Motif1.2 \
2235 /usr/openwin/include \
2239 /usr/X11R6/include \
2240 /usr/X11R6.4/include \
2241 /usr/X11R5/include \
2242 /usr/X11R4/include \
2244 /usr/include/X11R6 \
2245 /usr/include/X11R5 \
2246 /usr/include/X11R4 \
2248 /usr/local/X11R6/include \
2249 /usr/local/X11R5/include \
2250 /usr/local/X11R4/include \
2252 /usr/local/include/X11R6 \
2253 /usr/local/include/X11R5 \
2254 /usr/local/include/X11R4 \
2258 /usr/local/X11/include \
2259 /usr/local/include/X11 \
2261 /usr/XFree86/include/X11 \
2264 /usr/openwin/share/include"
2266 dnl try to find out the standard lib locations for the systems with multiple
2268 AC_MSG_CHECKING([for libraries directory])
2275 for d in WX_STD_LIBPATH(); do
2276 for e in a so sl dylib dll.a; do
2278 if test -f $libc; then
2281 AC_LINK_IFELSE([int main() { return 0; }],
2282 wx_cv_std_libpath=`echo $d | sed s@/usr/@@`)
2284 if test "x$wx_cv_std_libpath" != "x"; then
2290 if test "x$wx_cv_std_libpath" = "x"; then
2291 wx_cv_std_libpath="lib"
2298 dnl use ../lib or ../lib/64 depending on the size of void*
2299 if test "$ac_cv_sizeof_void_p" = 8 -a -d "/usr/lib/64"; then
2300 wx_cv_std_libpath="lib/64"
2302 wx_cv_std_libpath="lib"
2307 dnl use ../lib or ../lib64 depending on the size of void*
2308 if test "$ac_cv_sizeof_void_p" = 8 -a \
2309 -d "/usr/lib64" -a ! -h "/usr/lib64"; then
2310 wx_cv_std_libpath="lib64"
2312 wx_cv_std_libpath="lib"
2317 wx_cv_std_libpath="lib";
2321 AC_MSG_RESULT($wx_cv_std_libpath)
2323 SEARCH_LIB="`echo "$SEARCH_INCLUDE" | sed s@include@$wx_cv_std_libpath@g` /usr/$wx_cv_std_libpath"
2325 dnl Cross compiling with gcc?
2326 if test "$build" != "$host" -a "$GCC" = yes; then
2327 dnl for gcc cross-compilers "$CC -print-prog-name=ld" prints the path to
2328 dnl the linker. Stripping off the trailing '/bin/ld' gives us a candiate
2329 dnl for a 'root' below which libraries and headers for the target system
2330 dnl might be installed.
2331 if cross_root=`$CC -print-prog-name=ld 2>/dev/null`; then
2332 cross_root=`dirname $cross_root`
2333 cross_root=`dirname $cross_root`
2335 dnl substitute this candiate root for '^/usr' in the search lists,
2336 dnl strip out any that don't start '^/usr'.
2337 SEARCH_LIB=`for x in $SEARCH_LIB; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
2338 SEARCH_INCLUDE=`for x in $SEARCH_INCLUDE; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"`
2339 SEARCH_INCLUDE="$SEARCH_INCLUDE $cross_root/include"
2341 dnl also have pkg-config search for *.pc files under this 'root'
2342 if test -z "$PKG_CONFIG_PATH"; then
2343 PKG_CONFIG_PATH="$cross_root/local/lib/pkgconfig:$cross_root/lib/pkgconfig"
2344 export PKG_CONFIG_PATH
2347 dnl AC_PATH_XTRA doesn't work currently unless -x-includes and
2348 dnl -x-libraries are given on the command line. So if they are not
2349 dnl set then set them here to plausible defaults.
2350 if test -z "$x_includes" -o "$x_includes" = NONE; then
2351 WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, X11/Intrinsic.h)
2352 x_includes=$ac_find_includes
2354 if test -z "$x_libraries" -o "$x_libraries" = NONE; then
2355 WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xt)
2356 x_libraries=$ac_find_libraries
2361 dnl ------------------------------------------------------------------------
2362 dnl Check for libraries
2363 dnl ------------------------------------------------------------------------
2365 dnl flush the cache because checking for libraries below might abort
2368 dnl check for glibc version
2370 dnl VZ: I have no idea why had this check been there originally, but now
2371 dnl we could probably do without it by just always adding _GNU_SOURCE
2372 if test "$USE_LINUX" = 1 -o "$USE_GNU" = 1; then
2373 AC_CACHE_CHECK([for glibc 2.1 or later], wx_cv_lib_glibc21,[
2374 AC_TRY_COMPILE([#include <features.h>],
2376 #if (__GLIBC__ < 2) || (__GLIBC_MINOR__ < 1)
2381 wx_cv_lib_glibc21=yes
2384 wx_cv_lib_glibc21=no
2388 if test "$wx_cv_lib_glibc21" = "yes"; then
2389 AC_DEFINE(wxHAVE_GLIBC2)
2393 dnl we may need _GNU_SOURCE for 2 things:
2395 dnl 1. to get PTHREAD_MUTEX_RECURSIVE with glibc 2.1+ (strictly speaking we
2396 dnl only need _XOPEN_SOURCE=500 but just defining this disables _BSD_SOURCE
2397 dnl which breaks libtiff compilation, so it is simpler to just define
2398 dnl _GNU_SOURCE to get everything)
2400 dnl 2. for Unicode functions
2401 if test "x$wx_cv_lib_glibc21" = "xyes"; then
2402 if test "$wxUSE_UNICODE" = "yes" -o "$wxUSE_THREADS" = "yes"; then
2403 AC_DEFINE(_GNU_SOURCE)
2407 dnl Only add the -lm library if floating point functions cannot be used
2408 dnl without it. This check is important on cygwin because of the bizarre
2409 dnl way that they have organized functions into libraries. On cygwin, both
2410 dnl libc.a and libm.a are symbolic links to a single lib libcygwin.a. This
2412 dnl 1) linking with -lm is not necessary, and
2413 dnl 2) linking with -lm is dangerous if the order of libraries is wrong
2414 dnl In particular, if you compile any program with -mno-cygwin and link with
2415 dnl -lm, it will crash instantly when it is run. This happens because the
2416 dnl linker incorrectly links the Cygwin libm.a (==libcygwin.a), which replaces
2417 dnl the ___main function instead of allowing it to be defined by
2418 dnl /usr/lib/mingw/libmingw32.a as it should be.
2420 dnl On MacOS X, this test will find that -lm is unnecessary and leave it out.
2422 dnl Just check a few floating point functions. If they are all found without
2423 dnl -lm, then we must not need -lm.
2426 AC_CHECK_FUNCS(cos, have_cos=1)
2427 AC_CHECK_FUNCS(floor, have_floor=1)
2428 AC_MSG_CHECKING(if floating point functions link without -lm)
2429 if test "$have_cos" = 1 -a "$have_floor" = 1; then
2434 # use different functions to avoid configure caching
2437 AC_CHECK_FUNCS(sin, have_sin=1)
2438 AC_CHECK_FUNCS(ceil, have_ceil=1)
2439 AC_MSG_CHECKING(if floating point functions link with -lm)
2440 if test "$have_sin" = 1 -a "$have_ceil" = 1; then
2444 # not sure we should warn the user, crash, etc.
2448 dnl ---------------------------------------------------------------------------
2449 dnl Optional libraries
2451 dnl --with-<lib>=sys
2452 dnl looks for system library and fails if not found
2455 dnl --with-<lib>=yes
2456 dnl looks for system library and, if not found, prints a warning,
2457 dnl falls back to the builtin wx version, and continues configuration
2459 dnl --with-<lib>=builtin
2460 dnl uses builtin wx version without searching for system library
2464 dnl do not use library (neither system nor builtin wx version)
2466 dnl ---------------------------------------------------------------------------
2468 dnl ------------------------------------------------------------------------
2469 dnl Check for regex libraries
2470 dnl ------------------------------------------------------------------------
2472 if test "$wxUSE_REGEX" != "no"; then
2473 AC_DEFINE(wxUSE_REGEX)
2475 if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_REGEX" = "yes"; then
2476 AC_MSG_WARN([Defaulting to the the builtin regex library for Unicode build.])
2480 if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; then
2481 dnl according to Unix 98 specs, regcomp() is in libc but I believe that
2482 dnl on some old systems it may be in libregex - check for it too?
2483 AC_CHECK_HEADER(regex.h, [AC_CHECK_FUNCS(regcomp re_search)])
2485 if test "x$ac_cv_func_regcomp" != "xyes"; then
2486 if test "$wxUSE_REGEX" = "sys" ; then
2487 AC_MSG_ERROR([system regex library not found! Use --with-regex to use built-in version])
2489 AC_MSG_WARN([system regex library not found, will use built-in instead])
2493 dnl we are using the system library
2495 dnl only the built-in supports advanced REs
2496 AC_DEFINE(WX_NO_REGEX_ADVANCED)
2501 dnl ------------------------------------------------------------------------
2502 dnl Check for zlib compression library
2503 dnl ------------------------------------------------------------------------
2506 if test "$wxUSE_ZLIB" != "no" ; then
2507 AC_DEFINE(wxUSE_ZLIB)
2509 if test "$wxUSE_ZLIB" = "sys" -o "$wxUSE_ZLIB" = "yes" ; then
2510 dnl don't test for zlib under Mac -- its verson there is 1.1.3 but we
2511 dnl should still use it because hopefully (can someone confirm this?)
2512 dnl Apple did fix the security problem in it and not using the system
2513 dnl library results in a whole bunch of warnings when linking with
2514 dnl Carbon framework
2515 if test "$USE_DARWIN" = 1; then
2516 system_zlib_h_ok="yes"
2518 dnl we have troubles with ancient zlib versions (e.g. 1.0.4 is
2519 dnl known to not work) and although I don't know which is
2520 dnl the minimal required version it's safer to test for 1.1.4 as
2521 dnl it fixes a security problem in 1.1.3 -- and hopefully nobody
2522 dnl has anything more ancient (1.1.3 was released in July 1998)
2524 AC_CACHE_CHECK([for zlib.h >= 1.1.4], ac_cv_header_zlib_h,
2526 dnl zlib.h defines ZLIB_VERSION="x.y.z"
2533 FILE *f=fopen("conftestval", "w");
2536 ZLIB_VERSION[0] == '1' &&
2537 (ZLIB_VERSION[2] > '1' ||
2538 (ZLIB_VERSION[2] == '1' &&
2539 ZLIB_VERSION[4] >= '4')) ? "yes" : "no");
2543 ac_cv_header_zlib_h=`cat conftestval`,
2544 ac_cv_header_zlib_h=no,
2545 dnl cross-compiling: don't have an answer, try later
2546 unset ac_cv_header_zlib_h
2549 dnl If the test above did not come up with a value (e.g. cross
2550 dnl compiling) then this should give a definitive answer
2551 AC_CHECK_HEADER(zlib.h)
2553 system_zlib_h_ok=$ac_cv_header_zlib_h
2556 if test "$system_zlib_h_ok" = "yes"; then
2557 AC_CHECK_LIB(z, deflate, ZLIB_LINK=" -lz")
2560 if test "x$ZLIB_LINK" = "x" ; then
2561 if test "$wxUSE_ZLIB" = "sys" ; then
2562 AC_MSG_ERROR([zlib library not found or too old! Use --with-zlib=builtin to use built-in version])
2564 AC_MSG_WARN([zlib library not found or too old, will use built-in instead])
2568 dnl we are using the system library
2574 dnl ------------------------------------------------------------------------
2575 dnl Check for png library
2576 dnl ------------------------------------------------------------------------
2579 if test "$wxUSE_LIBPNG" != "no" ; then
2580 AC_DEFINE(wxUSE_LIBPNG)
2582 if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBPNG" = "builtin" ; then
2583 AC_MSG_WARN([wxMGL doesn't work with builtin png library, will use MGL one instead])
2587 dnl for the check below to have a chance to succeed, we must already have
2588 dnl libz somewhere (don't do this when bulding wxMGL since its libpng
2589 dnl doesn't depend on zlib)
2590 if test "$wxUSE_MGL" != 1 -a "$wxUSE_LIBPNG" = "sys" -a "$wxUSE_ZLIB" != "sys" ; then
2591 AC_MSG_WARN([system png library doesn't work without system zlib, will use built-in instead])
2592 wxUSE_LIBPNG=builtin
2595 if test "$wxUSE_MGL" != 1 ; then
2596 dnl Don't check for libpng when building wxMGL, libmgl contains it
2597 if test "$wxUSE_LIBPNG" = "sys" -o "$wxUSE_LIBPNG" = "yes" ; then
2598 dnl libpng version 0.9 is known to not work, if an even newer
2599 dnl version is required, just bump it up in the test below
2600 AC_CACHE_CHECK([for png.h > 0.90], ac_cv_header_png_h,
2602 dnl png.h defines PNG_LIBPNG_VER=number
2609 FILE *f=fopen("conftestval", "w");
2612 PNG_LIBPNG_VER > 90 ? "yes" : "no");
2616 ac_cv_header_png_h=`cat conftestval`,
2617 ac_cv_header_png_h=no,
2618 dnl cross-compiling: test (later) if we have any png.h
2619 unset ac_cv_header_png_h
2622 AC_CHECK_HEADER(png.h)
2624 if test "$ac_cv_header_png_h" = "yes"; then
2625 AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng -lz", , [-lz -lm])
2628 if test "x$PNG_LINK" = "x" ; then
2629 if test "$wxUSE_LIBPNG" = "sys" ; then
2630 AC_MSG_ERROR([system png library not found or too old! Use --with-libpng=builtin to use built-in version])
2632 AC_MSG_WARN([system png library not found or too old, will use built-in instead])
2633 wxUSE_LIBPNG=builtin
2636 dnl we are using the system library
2642 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS png"
2645 dnl ------------------------------------------------------------------------
2646 dnl Check for jpeg library
2647 dnl ------------------------------------------------------------------------
2650 if test "$wxUSE_LIBJPEG" != "no" ; then
2651 AC_DEFINE(wxUSE_LIBJPEG)
2653 if test "$wxUSE_MGL" = 1 -a "$wxUSE_LIBJPEG" = "builtin" ; then
2654 AC_MSG_WARN([wxMGL doesn't work with builtin jpeg library, will use MGL one instead])
2658 if test "$wxUSE_MGL" != 1 ; then
2659 dnl Don't check for libjpeg when building wxMGL, libmgl contains it
2660 if test "$wxUSE_LIBJPEG" = "sys" -o "$wxUSE_LIBJPEG" = "yes" ; then
2661 dnl can't use AC_CHECK_HEADER as jconfig.h defines things like
2662 dnl HAVE_STDLIB_H which are already defined and this provokes
2663 dnl a compiler warning which configure considers as an error...
2664 AC_MSG_CHECKING(for jpeglib.h)
2665 AC_CACHE_VAL(ac_cv_header_jpeglib_h,
2668 #undef HAVE_STDLIB_H
2670 #include <jpeglib.h>
2674 ac_cv_header_jpeglib_h=yes,
2675 ac_cv_header_jpeglib_h=no
2678 AC_MSG_RESULT($ac_cv_header_jpeglib_h)
2680 if test "$ac_cv_header_jpeglib_h" = "yes"; then
2681 AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LINK=" -ljpeg")
2684 if test "x$JPEG_LINK" = "x" ; then
2685 if test "$wxUSE_LIBJPEG" = "sys" ; then
2686 AC_MSG_ERROR([system jpeg library not found! Use --with-libjpeg=builtin to use built-in version])
2688 AC_MSG_WARN([system jpeg library not found, will use built-in instead])
2689 wxUSE_LIBJPEG=builtin
2692 dnl we are using the system library
2699 dnl ------------------------------------------------------------------------
2700 dnl Check for tiff library
2701 dnl ------------------------------------------------------------------------
2704 TIFF_PREREQ_LINKS=-lm
2705 if test "$wxUSE_LIBTIFF" != "no" ; then
2706 AC_DEFINE(wxUSE_LIBTIFF)
2708 if test "$wxUSE_LIBTIFF" = "sys" -o "$wxUSE_LIBTIFF" = "yes" ; then
2709 dnl libtiff may depend on libjpeg and libz so use them in the test
2710 dnl below or it would fail
2711 if test "$wxUSE_LIBJPEG" = "sys"; then
2712 TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $JPEG_LINK"
2714 if test "$wxUSE_ZLIB" = "sys"; then
2715 TIFF_PREREQ_LINKS="$TIFF_PREREQ_LINKS $ZLIB_LINK"
2717 AC_CHECK_HEADER(tiffio.h,
2719 AC_CHECK_LIB(tiff, TIFFError,
2720 TIFF_LINK=" -ltiff",
2726 if test "x$TIFF_LINK" = "x" ; then
2727 if test "$wxUSE_LIBTIFF" = "sys" ; then
2728 AC_MSG_ERROR([system tiff library not found! Use --with-libtiff=builtin to use built-in version])
2730 AC_MSG_WARN([system tiff library not found, will use built-in instead])
2731 wxUSE_LIBTIFF=builtin
2734 dnl we are using the system library
2740 dnl ------------------------------------------------------------------------
2741 dnl Check for expat libraries
2742 dnl ------------------------------------------------------------------------
2744 if test "$wxUSE_WCHAR_T" != "yes"; then
2745 if test "$wxUSE_EXPAT" != "no"; then
2746 AC_MSG_WARN([wxWidgets requires wchar_t to use expat, disabling])
2749 if test "$wxUSE_XML" != "no"; then
2750 AC_MSG_WARN([wxWidgets requires wchar_t to use xml, disabling])
2755 if test "$wxUSE_EXPAT" != "no"; then
2757 AC_DEFINE(wxUSE_EXPAT)
2758 AC_DEFINE(wxUSE_XML)
2760 if test "$wxUSE_EXPAT" = "sys" -o "$wxUSE_EXPAT" = "yes" ; then
2761 AC_CHECK_HEADER([expat.h], [found_expat_h=1])
2762 if test "x$found_expat_h" = "x1"; then
2763 dnl Expat 1.95.6 comes with broken expat.h:
2764 AC_CACHE_CHECK([if expat.h is valid C++ header],
2765 wx_cv_expat_is_not_broken,
2767 AC_TRY_COMPILE([#include <expat.h>],[],
2768 wx_cv_expat_is_not_broken=yes,
2769 wx_cv_expat_is_not_broken=no
2773 if test "$wx_cv_expat_is_not_broken" = "yes" ; then
2774 AC_CHECK_LIB(expat, XML_ParserCreate, EXPAT_LINK=" -lexpat")
2777 if test "x$EXPAT_LINK" = "x" ; then
2778 if test "$wxUSE_EXPAT" = "sys" ; then
2779 AC_MSG_ERROR([system expat library not found! Use --with-expat=builtin to use built-in version])
2781 AC_MSG_WARN([system expat library not found, will use built-in instead])
2785 dnl we are using the system library
2789 if test "$wxUSE_EXPAT" = "builtin" ; then
2790 dnl Expat needs this:
2791 AC_CONFIG_SUBDIRS([src/expat])
2796 dnl ------------------------------------------------------------------------
2797 dnl Check for libmspack
2798 dnl ------------------------------------------------------------------------
2800 if test "$wxUSE_LIBMSPACK" != "no"; then
2801 AC_CHECK_HEADER([mspack.h], [found_mspack_h=1])
2802 if test "x$found_mspack_h" = "x1"; then
2803 AC_CHECK_LIB(mspack, mspack_create_chm_decompressor,
2804 MSPACK_LINK=" -lmspack")
2806 if test "x$MSPACK_LINK" = "x" ; then
2811 if test "$wxUSE_LIBMSPACK" != "no"; then
2812 AC_DEFINE(wxUSE_LIBMSPACK)
2816 dnl ----------------------------------------------------------------
2817 dnl search for toolkit (widget sets)
2818 dnl ----------------------------------------------------------------
2827 dnl are we building for a win32 target environment?
2828 dnl If so, setup common stuff needed for both GUI and Base libs.
2829 if test "$USE_WIN32" = 1 ; then
2830 AC_CHECK_HEADERS(w32api.h)
2831 AC_CHECK_HEADER(windows.h, [],
2833 AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
2836 dnl --- FIXME: This is still a somewhat random list of libs,
2837 dnl --- some of them should probably be included conditionally.
2838 LIBS="$LIBS -lwinspool -lwinmm -lshell32 -lcomctl32 -lcomdlg32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32"
2840 if test "$wxUSE_ACCESSIBILITY" = "yes" ; then
2841 LIBS="$LIBS -loleacc"
2846 dnl Cygwin doesn't include these by default
2847 LIBS="$LIBS -lkernel32 -luser32"
2850 dnl add extra odbc libs if we have compiled in odbc
2851 if test "$wxUSE_ODBC" = "sys" ; then
2854 if test "$wxUSE_ODBC" = "yes" ; then
2855 LIBS=" -lodbc32 -lole32 -loleaut32 $LIBS"
2856 AC_DEFINE(wxUSE_ODBC)
2858 dnl We might want to abort here if wxUSE_ODBC="builtin" isn't supported on msw.
2860 dnl This one is still used by some sample makefiles.
2861 RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
2862 RESPROGRAMOBJ="\$(PROGRAM)_resources.o"
2864 dnl This lot we export to wx-config. It must add the relevant
2865 dnl include directories at the point when they can be known.
2866 dnl (but are these (still) required anyway?)
2867 WXCONFIG_RESFLAGS="--define __WIN32__ --define __WIN95__ --define __GNUWIN32__"
2869 dnl install Win32-specific files in "make install"
2870 WIN32INSTALL=win32install
2872 dnl the jpeg header jmorecfg.h delcares the type boolean, which conflicts
2873 dnl on systems which declare it in the system headers. If HAVE_BOOLEAN is
2874 dnl defined then jmorecfg.h doesn't declare it, so checking for it here
2875 dnl solves the problem.
2876 AC_CHECK_TYPES(boolean, [], [], [#include <windows.h>])
2878 dnl pbt.h is missing on Wine at least
2879 AC_CHECK_HEADERS(pbt.h, [], [AC_DEFINE(NEED_PBT_H)])
2882 if test "$wxUSE_GUI" = "yes"; then
2892 if test "$wxUSE_COCOA" = 1 ; then
2893 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes"; then
2894 AC_MSG_WARN([Printing not supported under wxCocoa yet, disabled])
2895 wxUSE_PRINTING_ARCHITECTURE=no
2897 if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
2898 AC_MSG_WARN([Drag and Drop not supported under wxCocoa yet, disabled])
2899 wxUSE_DRAG_AND_DROP=no
2901 if test "$wxUSE_DRAGIMAGE" = "yes"; then
2902 AC_MSG_WARN([Drag Image and DandD not supported under wxCocoa yet, disabled])
2907 if test "$wxUSE_MSW" = 1 ; then
2911 dnl -mwindows causes a heap of other default gui libs to be linked in.
2914 WXCONFIG_LDFLAGS_GUI="$LDFLAGS -Wl,--subsystem,windows -mwindows"
2918 if test "$wxUSE_GTK" = 1; then
2919 dnl GTK+ test program must be compiled with C compiler
2922 AC_MSG_CHECKING([for GTK+ version])
2924 gtk_version_cached=1
2925 AC_CACHE_VAL(wx_cv_lib_gtk,
2927 dnl stupid GTK+ AM macros produce their own messages, so we
2928 dnl have to pass to the next line
2929 gtk_version_cached=0
2932 dnl we must link against lgthread unless the user
2933 dnl used --disable-threads
2935 if test "$wxUSE_THREADS" = "yes"; then
2941 if test "x$wxGTK_VERSION" != "x1"
2943 dnl The gthread.pc that ships with solaris returns '-mt',
2944 dnl it's correct for Sun CC, but gcc requires '-pthreads'.
2945 dnl So disable the compile check and remove the -mt below.
2948 if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then
2953 AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
2955 dnl Remove the '-mt' for gcc on solaris
2958 if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then
2959 GTK_CFLAGS=`echo $GTK_CFLAGS | sed 's/-mt//'`
2960 GTK_LIBS=`echo $GTK_LIBS | sed 's/-mt//'`
2962 dnl solaris also requires -lX11 for static lib
2963 if test "$wxUSE_SHARED" != "yes"; then
2964 GTK_LIBS="$GTK_LIBS -lX11"
2970 if test -z "$wx_cv_lib_gtk"; then
2971 if test "x$wxGTK_VERSION" = "x1" -o "x$wxGTK_VERSION" = "xany" ; then
2972 AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
2974 if test -z "$wx_cv_lib_gtk"; then
2975 AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
2980 if test -z "$wx_cv_lib_gtk"; then
2981 dnl looks better in AC_MSG_RESULT
2984 dnl we need to cache GTK_CFLAGS and GTK_LIBS for the
2986 wx_cv_cflags_gtk=$GTK_CFLAGS
2987 wx_cv_libs_gtk=`echo $GTK_LIBS | sed -e 's/ -l[[^ ]]*cairo[[^ ]]*//g'`
2992 dnl if it wasn't cached, the messages from AM_PATH_GTK() above are
2994 if test "$gtk_version_cached" = 1; then
2995 AC_MSG_RESULT($wx_cv_lib_gtk)
2998 case "$wx_cv_lib_gtk" in
3008 The development files for GTK+ were not found. For GTK+ 2, please
3009 ensure that pkg-config is in the path and that gtk+-2.0.pc is
3010 installed. For GTK+ 1.2 please check that gtk-config is in the path,
3011 and that the version is 1.2.3 or above. Also check that the
3012 libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
3013 --libs' are in the LD_LIBRARY_PATH or equivalent.
3018 if test "$WXGTK20" = 1; then
3019 save_CFLAGS="$CFLAGS"
3021 CFLAGS="$wx_cv_cflags_gtk $CFLAGS"
3022 LIBS="$LIBS $wx_cv_libs_gtk"
3024 dnl gtk_icon_size_lookup is not available in the GTK+ headers
3025 dnl that have shipped with some versions of Sun's JDS. Not using
3026 dnl AC_CHECK_FUNCS here since it only checks the function exists
3027 dnl in the lib (not the header).
3028 AC_CHECK_DECLS([gtk_icon_size_lookup], [],
3029 [AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP)],
3030 [#include <gtk/gtk.h>])
3032 dnl test if we have at least GTK+ 2.6:
3033 AC_MSG_CHECKING([if GTK+ is version >= 2.6])
3035 #include <gtk/gtk.h>
3038 #if !GTK_CHECK_VERSION(2,6,0)
3043 AC_DEFINE(__WXGTK26__)
3044 AC_DEFINE(__WXGTK24__)
3045 AC_MSG_RESULT([yes])
3053 if test "$ac_wxgtk26" = 0; then
3054 dnl test if we have at least GTK+ 2.4:
3055 AC_MSG_CHECKING([if GTK+ is version >= 2.4])
3057 #include <gtk/gtk.h>
3060 #if !GTK_CHECK_VERSION(2,4,0)
3065 AC_DEFINE(__WXGTK24__)
3066 AC_MSG_RESULT([yes])
3073 CFLAGS="$save_CFLAGS"
3076 if test "$wxUSE_UNICODE" = "yes"; then
3077 AC_MSG_WARN([Unicode configuration not supported with GTK+ 1.x])
3084 dnl we need poll() in src/gtk/app.cpp (we know that Darwin doesn't
3085 dnl have it but we do the check for the others)
3086 if test "$USE_DARWIN" != 1; then
3087 AC_CHECK_FUNCS(poll)
3090 TOOLKIT_INCLUDE="$wx_cv_cflags_gtk"
3091 GUI_TK_LIBRARY="$wx_cv_libs_gtk $GUI_TK_LIBRARY"
3093 AFMINSTALL=afminstall
3097 dnl test for XIM support in libgdk
3098 AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM))
3101 dnl test for external libxpm if we're configured to use it
3102 if test "$wxUSE_GPE" = "yes"; then
3103 AC_MSG_CHECKING(for gpewidget library)
3104 WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpewidget)
3105 if test "$ac_find_libraries" != "" ; then
3106 WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
3107 dnl -lgpewidget must be before all GTK libs and
3108 dnl we guess its path from the prefix
3109 GUI_TK_LIBRARY="-L${prefix}/lib -lgpewidget $GUI_TK_LIBRARY"
3111 AC_MSG_RESULT([found in $ac_find_libraries])
3113 AC_MSG_RESULT(not found)
3116 dnl AC_MSG_CHECKING(for gpe library)
3117 dnl WX_PATH_FIND_LIBRARIES($SEARCH_LIB,gpe)
3118 dnl if test "$ac_find_libraries" != "" ; then
3119 dnl WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
3120 dnl GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lgpe"
3121 dnl AC_MSG_RESULT(found in $ac_find_libraries)
3123 dnl AC_MSG_RESULT(not found)
3128 if test "$wxUSE_MGL" = 1; then
3129 AC_MSG_CHECKING(for SciTech MGL library)
3130 if test "x$MGL_ROOT" = x ; then
3131 AC_MSG_RESULT(not found)
3132 AC_MSG_ERROR([Cannot find MGL library. Make sure MGL_ROOT is set.])
3134 AC_MSG_RESULT($MGL_ROOT)
3137 AC_MSG_CHECKING(for libmgl location)
3138 dnl Find MGL library that we want
3139 dnl FIXME_MGL - test for MGL variants for freebsd etc.;
3140 dnl and for non-x86 versions
3143 dnl glibc.so, glibc are for older versions of MGL,
3144 dnl x86/a, x86/so are used by >= 5.0 R11
3145 if test "x$wxUSE_SHARED" = xyes ; then
3146 mgl_os_candidates="linux/gcc/x86/so linux/gcc/x86/a linux/gcc/glibc.so linux/gcc/glibc"
3148 mgl_os_candidates="linux/gcc/x86/a linux/gcc/x86/so linux/gcc/glibc linux/gcc/glibc.so"
3152 mgl_os_candidates="dos32/dj2"
3155 AC_MSG_ERROR(This system type ${host} is not yet supported by wxMGL.)
3161 for mgl_os_i in $mgl_os_candidates ; do
3162 if test "x$mgl_os" = x ; then
3163 if test "$wxUSE_DEBUG_FLAG" = yes ; then
3164 if test -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.a -o \
3165 -f $MGL_ROOT/lib/debug/$mgl_os_i/libmgl.so; then
3170 if test "x$mgl_lib_type" = x ; then
3171 if test -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.a -o \
3172 -f $MGL_ROOT/lib/release/$mgl_os_i/libmgl.so; then
3173 mgl_lib_type=release
3180 if test "x$mgl_os" = x ; then
3181 AC_MSG_RESULT(not found)
3182 AC_MSG_ERROR([Cannot find MGL libraries, make sure they are compiled.])
3184 AC_MSG_RESULT("$MGL_ROOT/lib/$mgl_lib_type/$mgl_os")
3186 wxUSE_UNIVERSAL="yes"
3188 TOOLKIT_INCLUDE="-I$MGL_ROOT/include"
3189 GUI_TK_LIBRARY="-L$MGL_ROOT/lib/$mgl_lib_type/$mgl_os -lmgl -lmglcpp -lpm"
3191 AFMINSTALL=afminstall
3196 if test "$wxUSE_DFB" = 1; then
3197 PKG_CHECK_MODULES(DIRECTFB,
3198 [directfb >= 0.9.22],
3200 wxUSE_UNIVERSAL="yes"
3201 TOOLKIT_INCLUDE="$DIRECTFB_CFLAGS"
3202 GUI_TK_LIBRARY="$DIRECTFB_LIBS"
3207 AC_MSG_ERROR([DirectFB not found.])
3212 if test "$wxUSE_MICROWIN" = 1; then
3213 AC_MSG_CHECKING(for MicroWindows)
3214 if test "x$MICROWINDOWS" = x ; then
3215 AC_MSG_RESULT(not found)
3216 AC_MSG_ERROR([Cannot find MicroWindows library. Make sure MICROWINDOWS is set.])
3218 AC_MSG_RESULT($MICROWINDOWS)
3221 if test -f $MICROWINDOWS/lib/libmwin.a; then
3222 AC_MSG_RESULT(MicroWindows' libraries found.)
3224 AC_MSG_ERROR([Cannot find MicroWindows libraries, make sure they are compiled.])
3227 TOOLKIT_INCLUDE="-I$MICROWINDOWS/include"
3228 GUI_TK_LIBRARY="-L$MICROWINDOWS/lib -lmwin -lmwengine -mwfonts -mwdrivers -mwinlib"
3230 wxUSE_UNIVERSAL="yes"
3232 AFMINSTALL=afminstall
3234 GUIDIST=MICROWIN_DIST
3236 TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXMSW__ -D__WIN95__ -D__WIN32__ -DMWIN -DMICROWIN_NOCONTROLS -DMICROWIN_TODO=1"
3239 dnl common part of X11 and Motif port checks
3240 if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
3241 dnl use standard macros to check for X headers/libs, this brings
3242 dnl support for the standard configure options --x-includes,
3243 dnl --x-libraries and --no-x
3246 if test "$no_x" = "yes"; then
3247 AC_MSG_ERROR([X11 not found, please use --x-includes and/or --x-libraries options (see config.log for details)])
3250 dnl for some reason AC_PATH_XTRA seems to add -INONE and -LNONE (and
3251 dnl also sometimes -RNONE) to X_CFLAGS and X_LIBS respectively, filter
3253 GUI_TK_LIBRARY=`echo $X_LIBS | sed 's/ -LNONE//' | sed 's/ -RNONE//'`
3254 TOOLKIT_INCLUDE=`echo $X_CFLAGS | sed 's/ -INONE//'`
3255 AFMINSTALL=afminstall
3256 COMPILED_X_PROGRAM=0
3260 if test "$wxUSE_X11" = 1; then
3261 if test "$wxUSE_NANOX" = "yes"; then
3262 AC_MSG_CHECKING(for MicroWindows/NanoX distribution)
3263 if test "x$MICROWIN" = x ; then
3264 AC_MSG_RESULT(not found)
3265 AC_MSG_ERROR([Cannot find MicroWindows library. Make sure MICROWIN is set.])
3267 AC_MSG_RESULT($MICROWIN)
3268 AC_DEFINE(wxUSE_NANOX)
3272 if test "$wxUSE_UNICODE" = "yes"; then
3273 PKG_CHECK_MODULES(PANGOX, pangox,
3275 CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
3276 GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS"
3279 AC_MSG_ERROR([pangox library not found, library cannot be compiled in Unicode mode])
3282 PKG_CHECK_MODULES(PANGOFT2, pangoft2,
3284 CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS"
3285 GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS"
3288 AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support])
3289 wxUSE_PRINTING_ARCHITECTURE="no"
3292 PKG_CHECK_MODULES(PANGOXFT, pangoxft,
3294 AC_DEFINE(HAVE_PANGO_XFT)
3295 CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS"
3296 GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS"
3299 AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support])
3302 save_CXXFLAGS="$CXXFLAGS"
3304 CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS"
3305 LIBS="$LIBS $PANGOX_LIBS"
3306 AC_CHECK_FUNCS([pango_font_family_is_monospace])
3307 CXXFLAGS="$save_CXXFLAGS"
3311 wxUSE_UNIVERSAL="yes"
3313 if test "$wxUSE_NANOX" = "yes"; then
3314 TOOLKIT_INCLUDE="-I\$(top_srcdir)/include/wx/x11/nanox -I\$(MICROWIN)/src/include $TOOLKIT_INCLUDE"
3315 TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__NANOX__ -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888 -DHAVE_FILEIO -DHAVE_BMP_SUPPORT=1 -DHAVE_GIF_SUPPORT=1 -DHAVE_PNM_SUPPORT=1 -DHAVE_XPM_SUPPORT=1 -DUNIX=1 -DUSE_EXPOSURE -DSCREEN_HEIGHT=480 -DSCREEN_WIDTH=640 -DSCREEN_DEPTH=4 -DX11=1"
3316 GUI_TK_LIBRARY="$GUI_TK_LIBRARY \$(MICROWIN)/src/lib/libnano-X.a"
3318 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lX11"
3325 if test "$wxUSE_MOTIF" = 1; then
3326 if test "$wxUSE_UNICODE" = "yes"; then
3327 AC_MSG_ERROR([Unicode configuration not supported with Motif])
3330 AC_MSG_CHECKING(for Motif/Lesstif headers)
3331 WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
3332 if test "$ac_find_includes" != "" ; then
3333 AC_MSG_RESULT(found in $ac_find_includes)
3334 WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
3335 TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
3337 save_CXXFLAGS=$CXXFLAGS
3338 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3346 version = xmUseVersion;
3349 AC_MSG_RESULT(found in default search path)
3350 COMPILED_X_PROGRAM=1
3354 AC_MSG_ERROR(please set CPPFLAGS to contain the location of Xm/Xm.h)
3358 CXXFLAGS=$save_CXXFLAGS
3362 AC_MSG_CHECKING(for Motif/Lesstif library)
3363 WX_PATH_FIND_LIBRARIES($SEARCH_LIB, Xm)
3365 if test "x$ac_find_libraries" != "x" ; then
3366 AC_MSG_RESULT(found in $ac_find_libraries)
3368 WX_LINK_PATH_EXIST($ac_find_libraries, $GUI_TK_LIBRARY)
3369 GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
3371 dnl it might happen that we found headers in one of the standard
3372 dnl paths but the libs are elsewhere but still in default (linker)
3373 dnl path -- try to compile a test program to check for this
3374 save_CXXFLAGS=$CXXFLAGS
3375 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3377 LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11"
3385 version = xmUseVersion;
3388 AC_MSG_RESULT(found in default search path)
3389 COMPILED_X_PROGRAM=1
3393 AC_MSG_ERROR(please set LDFLAGS to contain the location of libXm)
3397 CXXFLAGS=$save_CXXFLAGS
3401 AC_MSG_CHECKING([if we need -lXp and/or -lSM -lICE])
3405 for libp in "" " -lXp"; do
3406 if test "$libs_found" = "0"; then
3407 for libsm_ice in "" " -lSM -lICE"; do
3408 if test "$libs_found" = "0"; then
3410 LIBS="$GUI_TK_LIBRARY -lXm ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11"
3411 save_CXXFLAGS=$CXXFLAGS
3412 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3417 #include <Xm/List.h>
3420 XmString string = NULL;
3423 XmListAddItem(w, string, position);
3427 libsm_ice_link="$libsm_ice"
3429 [need${libp_link}${libsm_ice_link}])
3435 CXXFLAGS=$save_CXXFLAGS
3441 if test "$libs_found" = "0"; then
3442 AC_MSG_RESULT([can't find the right libraries])
3443 AC_MSG_ERROR([can't link a simple motif program])
3446 dnl this seems to be needed under IRIX and shouldn't do any harm
3448 AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"])
3450 save_CXXFLAGS=$CXXFLAGS
3451 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3453 AC_CACHE_CHECK([for Motif 2],
3459 #if XmVersion < 2000
3463 wx_cv_lib_motif2="yes",
3464 wx_cv_lib_motif2="no"))
3465 if test "$wx_cv_lib_motif2" = "yes"; then
3466 AC_DEFINE(__WXMOTIF20__,1)
3468 AC_DEFINE(__WXMOTIF20__,0)
3471 AC_CACHE_CHECK([whether Motif is Lesstif],
3477 #if !defined(LesstifVersion) || LesstifVersion <= 0
3481 wx_cv_lib_lesstif="yes",
3482 wx_cv_lib_lesstif="no")
3484 if test "$wx_cv_lib_lesstif" = "yes"; then
3485 AC_DEFINE(__WXLESSTIF__,1)
3487 AC_DEFINE(__WXLESSTIF__,0)
3490 CXXFLAGS=$save_CXXFLAGS
3492 GUI_TK_LIBRARY="$GUI_TK_LIBRARY${libsgm_link} -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11"
3497 dnl more tests common to X11 and Motif:
3498 if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
3499 dnl test for external libxpm if we're configured to use it
3500 if test "$wxUSE_LIBXPM" = "sys"; then
3501 AC_MSG_CHECKING(for Xpm library)
3502 WX_PATH_FIND_LIBRARIES($SEARCH_LIB,Xpm)
3503 if test "$ac_find_libraries" != "" ; then
3504 WX_LINK_PATH_EXIST($ac_find_libraries,$GUI_TK_LIBRARY)
3505 GUI_TK_LIBRARY="$GUI_TK_LIBRARY$ac_path_to_link"
3506 AC_MSG_RESULT(found in $ac_find_libraries)
3508 AC_CACHE_CHECK([for X11/xpm.h],
3511 save_CXXFLAGS=$CXXFLAGS
3512 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3516 #include <X11/xpm.h>
3520 version = XpmLibraryVersion();
3522 wx_cv_x11_xpm_h=yes,
3526 CXXFLAGS=$save_CXXFLAGS
3530 if test $wx_cv_x11_xpm_h = "yes"; then
3531 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXpm"
3532 AC_DEFINE(wxHAVE_LIB_XPM)
3534 AC_MSG_WARN([built-in less efficient XPM decoder will be used])
3540 dnl XShapeQueryExtension checks: first the library, then prototype
3541 AC_CHECK_LIB([Xext], [XShapeQueryExtension],
3543 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXext"
3546 [], [$GUI_TK_LIBRARY -lX11])
3548 if test "$wxHAVE_XEXT_LIB" = 1; then
3549 save_CXXFLAGS="$CXXFLAGS"
3550 CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
3552 AC_MSG_CHECKING([for X11/extensions/shape.h])
3554 #include <X11/Xlib.h>
3555 #include <X11/extensions/shape.h>
3559 XShapeQueryExtension((Display*)NULL,
3560 (int*)NULL, (int*)NULL);
3563 AC_DEFINE(HAVE_XSHAPE)
3564 AC_MSG_RESULT([found])
3567 AC_MSG_RESULT([not found])
3569 CXXFLAGS="$save_CXXFLAGS"
3574 if test "$wxUSE_MAC" = 1; then
3575 AC_MSG_CHECKING([for compiler syntax to enable Pascal strings])
3576 if test "$GCC" = yes; then
3577 AC_MSG_RESULT([gcc])
3578 CPPFLAGS_PASCAL="-fpascal-strings"
3579 elif test "`echo $CXX | sed -e 's@.*/@@'`" = "xlC"; then
3580 AC_MSG_RESULT([xlc])
3581 CPPFLAGS_PASCAL="-qmacpstr"
3583 AC_MSG_RESULT([none])
3586 if test "x$wxUSE_UNIX" = "xyes"; then
3587 CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon $CPPFLAGS"
3589 dnl platform.h needs TARGET_CARBON before setup.h
3590 CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON $CPPFLAGS"
3594 dnl we can't call this MAC_DIST or autoconf thinks its a macro
3596 dnl wxMac version of wxBase and wxCocoa or wxBase-only built on Darwin
3597 dnl are different, so they need different names:
3598 WXBASEPORT="_carbon"
3601 if test "$wxUSE_COCOA" = 1; then
3606 if test "$wxUSE_PM" = 1; then
3609 AC_CACHE_CHECK([for type SPBCDATA],
3626 if test $wx_cv_spbcdata = "yes"; then
3627 AC_DEFINE(HAVE_SPBCDATA)
3631 dnl the name of the directory where the files for this toolkit live
3632 if test "$TOOLKIT" = "PM" ; then
3635 TOOLKIT_DIR=`echo ${TOOLKIT} | tr "[[A-Z]]" "[[a-z]]"`
3638 if test "$wxUSE_UNIVERSAL" = "yes"; then
3639 TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WXUNIVERSAL__"
3643 dnl distribute samples/demos/utils with GUI versions
3644 GUIDIST="${GUIDIST} SAMPLES_DIST DEMOS_DIST UTILS_DIST MISC_DIST"
3645 DISTDIR="wx\$(TOOLKIT)"
3649 dnl this doesn't quite work right for wxBase, but the places
3650 dnl where it is wrong aren't fatal (yet) though.
3653 dnl the sources, their dependenices and the headers
3654 if test "$USE_WIN32" = 1 ; then
3655 dnl yes, the toolkit for wxBase on win32 is actually MSW
3656 dnl wxBase on unix does not need a 'TOOLKIT' defined.
3660 dnl distribute only wxBase sources/headers
3665 dnl ---------------------------------------------------------------------------
3666 dnl Optional libraries included when system library is not used
3667 dnl ---------------------------------------------------------------------------
3669 dnl do this after test for X11 above so that we have a chance of finding Xlib.h
3670 if test "$wxUSE_GUI" = "yes"; then
3671 if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_PM" != 1; then
3672 dnl defines HAVE_X11_XKBLIB_H
3673 AC_CHECK_HEADERS(X11/Xlib.h)
3674 AC_CHECK_HEADERS([X11/XKBlib.h], [], [],
3677 #include <X11/Xlib.h>
3684 dnl ----------------------------------------------------------------
3686 dnl ----------------------------------------------------------------
3691 dnl ODBC is handled separately for MSW
3692 if test "$TOOLKIT" != "MSW" ; then
3694 if test "$wxUSE_ODBC" = "sys" -o "$wxUSE_ODBC" = "yes" ; then
3695 dnl This is not ideal we really ough to use the unixodbc-config
3696 dnl or iodbc-config if they exist.
3698 AC_CHECK_HEADER([sql.h], [found_sql_h=1])
3699 if test "x$found_sql_h" = "x1" ; then
3700 AC_CHECK_LIB(iodbc, SQLAllocEnv, ODBC_LINK=" -liodbc",
3702 AC_CHECK_LIB(unixodbc, SQLAllocEnv, ODBC_LINK=" -lunixodbc",
3704 AC_CHECK_LIB(odbc, SQLAllocEnv, ODBC_LINK=" -lodbc")
3708 if test "x$ODBC_LINK" = "x" ; then
3709 if test "$wxUSE_ODBC" = "sys" ; then
3710 AC_MSG_ERROR([system ODBC library not found! Use --with-odbc=builtin to use built-in version])
3712 AC_MSG_WARN([system ODBC library not found, will use built-in instead])
3716 dnl we are using the system library
3721 if test "$wxUSE_ODBC" = "builtin" ; then
3722 AC_DEFINE(wxUSE_BUILTIN_IODBC)
3726 if test "$wxUSE_ODBC" != "no" ; then
3727 AC_DEFINE(wxUSE_ODBC)
3728 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS db"
3730 dnl is this still necessary?
3731 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_IODBC_"
3734 dnl ---------------------------------------------------------------------------
3735 dnl wxDisplay Sanity checks
3736 dnl ---------------------------------------------------------------------------
3738 if test "$wxUSE_DISPLAY" = "yes"; then
3739 dnl ---------------------------------------------------------------------------
3740 dnl Xinerama (for unix ) - Brian Victor
3741 dnl ---------------------------------------------------------------------------
3742 if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1; then
3743 AC_MSG_CHECKING([for Xinerama])
3744 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xinerama)
3745 if test "$ac_find_libraries" != "" ; then
3746 WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3747 if test "$ac_path_to_link" != " -L/usr/lib" ; then
3748 LDFLAGS="$LDFLAGS $ac_path_to_link"
3750 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXinerama"
3751 AC_MSG_RESULT([yes])
3753 AC_MSG_CHECKING([for Xxf86vm extension])
3754 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xxf86vm)
3755 if test "$ac_find_libraries" != "" ; then
3756 AC_MSG_RESULT([yes])
3757 AC_CHECK_HEADERS([X11/extensions/xf86vmode.h],
3759 GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXxf86vm"
3764 #include <X11/Xlib.h>
3773 AC_MSG_WARN([Xinerama not found; disabling wxDisplay])
3776 elif test "$wxUSE_MSW" = 1; then
3777 dnl ---------------------------------------------------------------------------
3778 dnl DirectDraw for MSW - optionally used by WxDisplay.
3779 dnl ---------------------------------------------------------------------------
3780 AC_CHECK_HEADERS([ddraw.h], [], [], [#include <windows.h>])
3784 dnl ---------------------------------------------------------------------------
3785 dnl OpenGL libraries
3786 dnl ---------------------------------------------------------------------------
3789 if test "$wxUSE_OPENGL" = "yes"; then
3790 if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
3791 OPENGL_LIBS="-framework OpenGL -framework AGL"
3792 elif test "$wxUSE_MSW" = 1; then
3793 OPENGL_LIBS="-lopengl32 -lglu32"
3795 dnl David Elliott: Without this snippet AC_CHECK_HEADER fails to find
3796 dnl GL/gl.h on Mac OS X where it is located in
3797 dnl /usr/X11R6/include/GL/gl.h:
3799 WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, GL/gl.h)
3800 if test "$ac_find_includes" != "" ; then
3801 AC_MSG_RESULT(found in $ac_find_includes)
3802 WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS)
3803 CPPFLAGS="$ac_path_to_include $CPPFLAGS"
3806 AC_CHECK_HEADER(GL/gl.h,
3810 AC_MSG_CHECKING([for -lGL])
3811 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL)
3812 if test "$ac_find_libraries" != "" ; then
3813 AC_MSG_RESULT([yes])
3815 WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3816 if test "$ac_path_to_link" != " -L/usr/lib" ; then
3817 LDFLAGS_GL="$ac_path_to_link"
3820 dnl don't suppose that libGL and libGLU are always in the
3821 dnl same directory -- this is not true for some common
3823 AC_MSG_CHECKING([for -lGLU])
3824 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GLU)
3825 if test "$ac_find_libraries" != "" ; then
3826 WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3827 if test "$ac_path_to_link" != " -L/usr/lib" -a \
3828 "$ac_path_to_link" != "$LDFLAGS_GL"; then
3829 LDFLAGS_GL="$LDFLAGS_GL$ac_path_to_link"
3833 OPENGL_LIBS="-lGL -lGLU"
3834 AC_MSG_RESULT([yes])
3842 if test "$found_gl" != 1; then
3843 AC_MSG_CHECKING([for -lMesaGL])
3844 WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],MesaGL)
3845 if test "$ac_find_libraries" != "" ; then
3846 WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
3847 LDFLAGS_GL="$LDFLAGS$ac_path_to_link"
3848 OPENGL_LIBS="-lMesaGL -lMesaGLU"
3849 AC_MSG_RESULT([yes])
3856 if test "x$OPENGL_LIBS" = "x"; then
3857 dnl it should be an error and not a warning because OpenGL is not on
3858 dnl by default and so if it had been explicitly requested, we
3859 dnl shouldn't just fall back to compiling the library without it
3860 AC_MSG_ERROR(OpenGL libraries not available)
3864 if test "$wxUSE_OPENGL" = "yes"; then
3866 AC_DEFINE(wxUSE_OPENGL)
3867 AC_DEFINE(wxUSE_GLCANVAS)
3868 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS opengl opengl/cube opengl/penguin opengl/isosurf"
3873 dnl the symbol which allows conditional compilation for the given toolkit
3874 if test -n "$TOOLKIT" ; then
3875 TOOLCHAIN_DEFS="${TOOLCHAIN_DEFS} -D__WX${TOOLKIT}__"
3879 dnl --- the marker for quick search, leave it here: SHARED_LIB_SETUP ---
3881 if test "$wxUSE_SHARED" = "yes"; then
3884 dnl only static for now
3886 AC_MSG_WARN([Host system doesn't support shared libraries, disabling])
3891 if test "$wxUSE_SHARED" = "yes"; then
3893 dnl use versioned symbols if available on the platform
3894 WX_VERSIONED_SYMBOLS([\$(top_builddir)version-script])
3897 *-*-linux* | *-*-gnu* )
3898 SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
3899 WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
3903 if test "$GCC" = yes ; then
3904 dnl newer versions of gcc need -isystem to compile X headers on
3905 dnl Solaris (which use old style C syntax)
3906 CPPFLAGS="-isystem /usr/openwin/include $CPPFLAGS"
3908 dnl gcc may use Sun's ld, in which case -rpath gives a confusing
3909 dnl error message. We have to try both -Wl,-rpath and -Wl,-R:
3910 saveLdflags="$LDFLAGS"
3911 LDFLAGS="$saveLdflags -Wl,-rpath,/"
3912 AC_MSG_CHECKING([if the linker accepts -rpath])
3916 AC_MSG_RESULT([yes])
3917 SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib"
3918 WXCONFIG_RPATH="-Wl,-rpath,\$libdir"
3921 AC_MSG_CHECKING([if the linker accepts -R])
3922 LDFLAGS="$saveLdflags -Wl,-R,/"
3926 AC_MSG_RESULT([yes])
3927 SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib"
3928 WXCONFIG_RPATH="-Wl,-R,\$libdir"
3933 LDFLAGS="$saveLdflags"
3935 SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib"
3936 WXCONFIG_RPATH="-R\$libdir"
3941 install_name_tool=`which install_name_tool`
3942 if test "$install_name_tool" -a -x "$install_name_tool"; then
3943 SAMPLES_RPATH_POSTLINK="\$(top_builddir)change-install-names \$(LIBDIRNAME) \$(prefix) \$@"
3944 cat <<EOF >change-install-names
3946 libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\`
3947 inst_cmd="install_name_tool "
3948 for i in \${libnames} ; do
3949 inst_cmd="\${inst_cmd} -change \${2}/lib/\${i} \${1}/\${i}"
3953 chmod +x change-install-names
3957 *-*-cygwin* | *-*-mingw32* )
3958 dnl this one shouldn't be used for the library build so put it in a
3959 dnl separate variable from WXCONFIG_CPPFLAGS
3960 WXCONFIG_ONLY_CPPFLAGS="$WXCONFIG_ONLY_CPPFLAGS -DWXUSINGDLL"
3964 SAMPLES_RPATH_FLAG="-Wl,+b,\$(top_builddir)lib"
3965 WXCONFIG_RPATH="-Wl,+b,\$libdir"
3970 if test $wxUSE_RPATH = "no"; then
3971 SAMPLES_RPATH_FLAG=''
3972 SAMPLES_RPATH_POSTLINK=''
3980 config_linkage_component="-static"
3989 if test "$wxUSE_UNICODE" = "yes"; then
3990 lib_unicode_suffix=u
3991 WX_CHARTYPE="unicode"
3996 WX_DEBUGTYPE="release"
3998 if test "$wxUSE_DEBUG_FLAG" = "yes"; then
4000 WX_DEBUGTYPE="debug"
4004 WX_FLAVOUR=${WX_FLAVOUR:+-$WX_FLAVOUR}
4005 WX_LIB_FLAVOUR=`echo $WX_FLAVOUR | tr '-' '_'`
4008 if test "$wxUSE_DEBUG_INFO" = "yes"; then
4012 WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr "[[a-z]]" "[[A-Z]]"`
4014 TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}"
4016 TOOLCHAIN_FULLNAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}-${WX_DEBUGTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}"
4018 if test "$cross_compiling" = "yes"; then
4019 HOST_SUFFIX="-$host_alias"
4020 TOOLCHAIN_NAME="$TOOLCHAIN_NAME$HOST_SUFFIX"
4021 TOOLCHAIN_FULLNAME="${host_alias}-$TOOLCHAIN_FULLNAME"
4024 dnl library link name
4025 dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix.
4026 dnl If we ever need to do that, we won't need to keep these.
4027 WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
4028 if test "${TOOLKIT_DIR}" = "os2"; then
4029 WX_LIBRARY_BASENAME_GUI="wx_pm${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
4031 WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
4036 if test "$wxUSE_COCOA" = 1; then
4038 AC_WX_LANG_OBJECTIVEC
4039 dnl Recent AppKit/NSEvent.h include parts of IOKit which eventually
4040 dnl gets IOKit/graphics/IOGraphicsTypes.h included which typedefs
4041 dnl Point but only if MacTypes.h was not included first. Of course,
4042 dnl if MacTypes.h is included later then you're screwed when it
4043 dnl tries to typedef Point. Defining __Point__ will cause IOGraphicsTypes.h
4044 dnl to not typedef Point and thus fix the problem.
4045 AC_MSG_CHECKING([if AppKit/NSEvent.h conflicts with CoreFoundation])
4046 AC_TRY_COMPILE([#include <AppKit/NSEvent.h>
4047 #include <CoreFoundation/CoreFoundation.h>
4049 [AC_MSG_RESULT([no])],
4050 [AC_MSG_RESULT([yes])
4051 AC_MSG_CHECKING([if defining __Point__ will fix it])
4052 AC_TRY_COMPILE([#define __Point__ 1
4053 #include <AppKit/NSEvent.h>
4054 #include <CoreFoundation/CoreFoundation.h>
4056 [AC_MSG_RESULT([yes])
4057 AC_DEFINE(__Point__)
4059 [AC_MSG_FAILURE([no])]
4065 if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then
4066 dnl base name of the resource file for wxMac must be the same
4067 dnl as library installation base name (-install_name)
4068 WX_RESOURCES_MACOSX_ASCII="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.r"
4069 WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc"
4071 dnl add the resources target for wxMac
4072 LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}"
4074 AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez)
4075 AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez)
4076 AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile)
4078 MACSETFILE="\$(SETFILE)"
4080 dnl resources are bundled both with shared library and applications
4081 dnl since the carb resource *must* be included in the application
4082 if test "$wxUSE_MAC" = 1; then
4083 POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o"
4085 WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o"
4087 POSTLINK_COMMAND="echo -n | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}"
4088 RESCOMP="echo -n \| $REZ"
4089 WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII"
4093 dnl default value is to (silently) do nothing in the makefile
4096 if test "$wxUSE_PM" = 1; then
4098 WXCONFIG_RESFLAGS="-ep"
4100 dnl Is this one really used anywhere for pm?
4101 POSTLINK_COMMAND="$RESCOMP $WXCONFIG_RESFLAGS"
4103 POSTLINK_COMMAND="@true"
4109 dnl ---------------------------------------------------------------------------
4110 dnl Checks for typedefs
4111 dnl ---------------------------------------------------------------------------
4113 dnl defines mode_t if not already defined
4115 dnl defines off_t if not already defined
4117 dnl defines pid_t if not already defined
4119 dnl defines size_t if not already defined
4121 dnl defines uid_t and gid_t if not already defined
4124 dnl sets HAVE_SSIZE_T if ssize_t is defined
4125 AC_CHECK_TYPES(ssize_t)
4127 dnl check what exactly size_t is on this machine - this is necessary to avoid
4128 dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
4129 AC_CACHE_CHECK([if size_t is unsigned int],
4130 wx_cv_size_t_is_uint,
4132 dnl an obvious check like AC_TRY_COMPILE[struct Foo { ... };] doesn't work
4133 dnl with egcs (at least) up to 1.1.1 as it allows you to compile duplicate
4134 dnl methods in a local class (i.e. class inside a function) declaration
4135 dnl without any objections!!
4137 dnl hence the hack below: we must have Foo at global scope!
4138 AC_TRY_COMPILE([#include <stddef.h>],
4142 struct Foo { void foo(size_t); void foo(unsigned int); };
4146 wx_cv_size_t_is_uint=no,
4147 wx_cv_size_t_is_uint=yes
4152 if test "$wx_cv_size_t_is_uint" = "yes"; then
4153 AC_DEFINE(wxSIZE_T_IS_UINT)
4155 AC_CACHE_CHECK([if size_t is unsigned long],
4156 wx_cv_size_t_is_ulong,
4157 AC_TRY_COMPILE([#include <stddef.h>],
4161 struct Foo { void foo(size_t); void foo(unsigned long); };
4165 wx_cv_size_t_is_ulong=no,
4166 wx_cv_size_t_is_ulong=yes
4170 if test "$wx_cv_size_t_is_ulong" = "yes"; then
4171 AC_DEFINE(wxSIZE_T_IS_ULONG)
4175 dnl ---------------------------------------------------------------------------
4176 dnl Checks for structures
4177 dnl ---------------------------------------------------------------------------
4179 dnl does passwd struct has the pw_gecos field?
4180 AC_CACHE_CHECK([for pw_gecos in struct passwd], wx_cv_struct_pw_gecos,
4182 AC_TRY_COMPILE([#include <pwd.h>],
4189 wx_cv_struct_pw_gecos=yes
4192 wx_cv_struct_pw_gecos=no
4198 if test "$wx_cv_struct_pw_gecos" = "yes"; then
4199 AC_DEFINE(HAVE_PW_GECOS)
4202 dnl ---------------------------------------------------------------------------
4203 dnl Check for functions
4204 dnl ---------------------------------------------------------------------------
4206 dnl don't check for wchar_t functions if we haven't got wchar_t itself
4207 if test "$wxUSE_WCHAR_T" = "yes"; then
4208 AC_DEFINE(wxUSE_WCHAR_T)
4210 dnl check for wcslen in all possible places
4213 AC_CHECK_FUNCS(wcslen, WCSLEN_FOUND=1)
4215 if test "$WCSLEN_FOUND" = 0; then
4216 if test "$TOOLKIT" = "MSW"; then
4217 AC_CHECK_LIB(msvcrt, wcslen, WCHAR_OK=1)
4219 AC_CHECK_LIB(w, wcslen, [
4226 if test "$WCSLEN_FOUND" = 1; then
4227 AC_DEFINE(HAVE_WCSLEN)
4230 dnl On HP-UX aCC need this define to find mbstrtowcs() &c
4231 dnl Can't be used for g++ since the mbstate_t in wchar.h can conflict
4232 dnl with g++'s in <cwchar> (unless -D_INCLUDE__STDC_A1_SOURCE is in the
4233 dnl flags when g++ is configured, it will declare it's own).
4234 if test "$USE_HPUX" = 1 -a "$GCC" != "yes"; then
4235 CPPFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CPPFLAGS"
4238 dnl Try to use wcsrtombs instead of wcstombs which is buggy in old GNU
4239 dnl libc versions if possible. AC_CHECK_FUNCS only checks it's in the
4240 dnl library, not the header, so do a header check for mbstate_t first.
4241 AC_CHECK_TYPES([mbstate_t],
4242 [AC_CHECK_FUNCS(wcsrtombs)],
4244 [#include <wchar.h>])
4246 AC_MSG_WARN([Wide character support is unavailable])
4249 dnl check for vsnprintf() -- a safe version of vsprintf())
4251 dnl the trouble here is that on some systems (e.g HP-UX 10) this function is
4252 dnl present in libc but not in the system headers and so AC_CHECK_FUNCS (which,
4253 dnl stupidly, provides a dummy function declaration inside its extension)
4254 dnl succeeds, even with C++ compiler, but the compilation of wxWidgets fails
4256 dnl so we first check if the function is in the library
4257 AC_CHECK_FUNCS(snprintf vsnprintf)
4259 if test "$ac_cv_func_vsnprintf" = "yes"; then
4260 dnl yes it is -- now check if it is in the headers
4261 AC_CACHE_CHECK([for vsnprintf declaration], wx_cv_func_vsnprintf_decl,
4263 dnl our troubles are not over: HP-UX 11 prototypes vsnprintf() as
4264 dnl taking "char *" and not "const char *" while Metrowerks does
4265 dnl provide a correct vsnprintf declaration but in C++ mode it's
4266 dnl always in std namespace and so we have to bring it in scope
4272 #if __MSL__ >= 0x6000
4274 using namespace std;
4281 vsnprintf(buf, 10u, "%s", ap);
4283 wx_cv_func_vsnprintf_decl=yes,
4284 wx_cv_func_vsnprintf_decl=no
4289 if test "$wx_cv_func_vsnprintf_decl" = "yes"; then
4290 AC_DEFINE(HAVE_VSNPRINTF_DECL)
4292 dnl we know there is a vsnprintf declaration, but some old headers
4293 dnl may have one taking a "char *" format instead of "const char *"
4294 AC_CACHE_CHECK([if vsnprintf declaration is broken], wx_cv_func_broken_vsnprintf_decl,
4301 #if __MSL__ >= 0x6000
4303 using namespace std;
4310 const char *fmt = "%s";
4311 vsnprintf(buf, 10u, fmt, ap);
4313 wx_cv_func_broken_vsnprintf_decl=no,
4314 wx_cv_func_broken_vsnprintf_decl=yes
4319 if test "$wx_cv_func_broken_vsnprintf_decl" = "yes"; then
4320 AC_DEFINE(HAVE_BROKEN_VSNPRINTF_DECL)
4325 dnl the same as above but for snprintf() now: it's not present in at least AIX
4327 if test "$ac_cv_func_snprintf" = "yes"; then
4328 AC_CACHE_CHECK([for snprintf declaration], wx_cv_func_snprintf_decl,
4335 #if __MSL__ >= 0x6000
4337 using namespace std;
4343 snprintf(buf, 10u, "%s", "wx");
4345 wx_cv_func_snprintf_decl=yes,
4346 wx_cv_func_snprintf_decl=no
4351 if test "$wx_cv_func_snprintf_decl" = "yes"; then
4352 AC_DEFINE(HAVE_SNPRINTF_DECL)
4354 dnl we know there is an snprintf declaration, but some old headers
4355 dnl may have one taking a "char *" format instead of "const char *"
4356 AC_CACHE_CHECK([if snprintf declaration is broken], wx_cv_func_broken_snprintf_decl,
4363 #if __MSL__ >= 0x6000
4365 using namespace std;
4371 const char *fmt = "%s";
4372 snprintf(buf, 10u, fmt, "wx");
4374 wx_cv_func_broken_snprintf_decl=no,
4375 wx_cv_func_broken_snprintf_decl=yes
4380 if test "$wx_cv_func_broken_snprintf_decl" = "yes"; then
4381 AC_DEFINE(HAVE_BROKEN_SNPRINTF_DECL)
4385 if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then
4387 dnl check if snprintf() has support for positional arguments
4388 dnl NB: if snprintf() has positional support we can safely suppose that also
4389 dnl other *printf() functions support them as they all belong to the same
4390 dnl family and they all fallback to the same implementation
4391 AC_CACHE_CHECK([if snprintf supports positional arguments], wx_cv_func_snprintf_pos_params,
4400 snprintf (buffer, 128, "%2\$d %3\$d %1\$d", 1, 2, 3);
4401 if (strcmp ("2 3 1", buffer) == 0)
4406 wx_cv_func_snprintf_pos_params=no,
4407 wx_cv_func_snprintf_pos_params=yes,
4408 dnl be pessimistic when cross-compiling
4410 AC_MSG_WARN([Assuming Unix98 printf() is not available,
4411 define HAVE_UNIX98_PRINTF as 1 in setup.h if it is available.])
4412 wx_cv_func_snprintf_pos_params=no
4418 if test "$wx_cv_func_snprintf_pos_params" = "yes"; then
4419 AC_DEFINE(HAVE_UNIX98_PRINTF)
4424 if test "$wxUSE_UNICODE" = yes; then
4426 dnl our wxVsnprintf() implementation needs to use the system swprintf() in Unicode
4427 dnl builds so let's check if swprintf() is declared as C99 imposes:
4428 dnl int swprintf(wchar_t *s, size_t n, const wchar_t *format, ...);
4430 dnl int swprintf(wchar_t *s, const wchar_t *format, ...);
4431 AC_CHECK_FUNCS(swprintf)
4433 if test "$ac_cv_func_swprintf" = "yes"; then
4434 AC_CACHE_CHECK([if swprintf declaration is broken], wx_cv_func_broken_swprintf_decl,
4444 const wchar_t *fmt = L"test";
4445 swprintf(buf, 10u, fmt);
4447 wx_cv_func_broken_swprintf_decl=no,
4448 wx_cv_func_broken_swprintf_decl=yes
4453 if test "$wx_cv_func_broken_swprintf_decl" = "yes"; then
4454 AC_DEFINE(HAVE_BROKEN_SWPRINTF_DECL)
4458 dnl also look if we have wide char IO functions
4459 AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf)
4461 dnl MinGW has a vswprintf with a different prototype, and
4462 dnl a _vsnwprintf with the correct prototype, but AC_CHECK_FUNCS
4463 dnl finds it even if it is not declared in some versions...
4464 AC_MSG_CHECKING([for _vsnwprintf])
4465 AC_TRY_COMPILE([#include <wchar.h>],
4467 [AC_MSG_RESULT([yes])
4468 AC_DEFINE(HAVE__VSNWPRINTF)],
4469 [AC_MSG_RESULT([no])]);
4472 if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
4473 AC_CHECK_FUNCS(fnmatch)
4476 if test "$wxUSE_FILE" = "yes"; then
4477 AC_CHECK_FUNCS(fsync)
4480 AC_CHECK_FUNCS(round)
4481 if test "$ac_cv_func_round" = yes; then
4482 AC_CHECK_DECLS(round,,,[#include <math.h>])
4486 dnl the following tests are for Unix(like) systems only
4487 if test "$TOOLKIT" != "MSW"; then
4489 dnl check for available version of iconv()
4492 LIBS="$LIBICONV $LIBS"
4494 dnl check for POSIX signals if we need them
4495 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
4496 AC_CHECK_FUNCS(sigaction)
4498 if test "$ac_cv_func_sigaction" = "no"; then
4499 AC_MSG_WARN([No POSIX signal functions on this system, wxApp::OnFatalException will not be called])
4500 wxUSE_ON_FATAL_EXCEPTION=no
4503 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
4504 AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
4506 AC_TRY_COMPILE([#include <signal.h>],
4508 extern void testSigHandler(int);
4510 struct sigaction sa;
4511 sa.sa_handler = testSigHandler;
4513 wx_cv_type_sa_handler=int
4515 wx_cv_type_sa_handler=void
4519 AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler)
4523 dnl backtrace() and backtrace_symbols() for wxStackWalker
4524 if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
4525 AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
4527 AC_TRY_COMPILE([#include <execinfo.h>],
4532 backtrace(trace, 1);
4533 messages = backtrace_symbols(trace, 1);
4535 wx_cv_func_backtrace=yes,
4536 wx_cv_func_backtrace=no
4542 if test "$wx_cv_func_backtrace" = "no"; then
4543 AC_MSG_WARN([backtrace() is not available, wxStackWalker will not be available])
4544 wxUSE_STACKWALKER=no
4546 AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
4548 AC_TRY_LINK([#include <cxxabi.h>],
4551 __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
4553 wx_cv_func_cxa_demangle=yes,
4554 wx_cv_func_cxa_demangle=no
4559 if test "$wx_cv_func_cxa_demangle" = "yes"; then
4560 AC_DEFINE(HAVE_CXA_DEMANGLE)
4565 if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then
4566 AC_MSG_WARN([wxStackWalker is only available on Win32 and UNIX... disabled])
4567 wxUSE_STACKWALKER=no
4571 dnl check for the function for temp files creation
4572 AC_CHECK_FUNCS(mkstemp mktemp, break)
4574 dnl get the library function to use for wxGetDiskSpace(): it is statfs() under
4575 dnl Linux and *BSD and statvfs() under Solaris
4576 AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
4579 #if defined(__BSD__)
4580 #include <sys/param.h>
4581 #include <sys/mount.h>
4583 #include <sys/vfs.h>
4594 wx_cv_func_statfs=yes,
4595 wx_cv_func_statfs=no
4599 if test "$wx_cv_func_statfs" = "yes"; then
4600 dnl check whether we have its dcelaration too: some systems (AIX 4) lack it
4601 AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl,
4604 #if defined(__BSD__)
4605 #include <sys/param.h>
4606 #include <sys/mount.h>
4608 #include <sys/vfs.h>
4615 wx_cv_func_statfs_decl=yes,
4616 wx_cv_func_statfs_decl=no
4620 if test "$wx_cv_func_statfs_decl" = "yes"; then
4621 AC_DEFINE(HAVE_STATFS_DECL)
4624 wx_cv_type_statvfs_t="struct statfs"
4625 AC_DEFINE(HAVE_STATFS)
4627 AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs,
4631 #include <sys/statvfs.h>
4636 wx_cv_func_statvfs=yes,
4637 wx_cv_func_statvfs=no
4641 if test "$wx_cv_func_statvfs" = "yes"; then
4642 dnl we also have to check whether we should use statvfs_t (works under
4643 dnl Solaris 8, doesn't work under Solaris 7) or "struct statvfs" (vice
4644 dnl versa) as the argument for statvfs in 64 bit off_t mode (in 32 bit
4645 dnl mode both work fine)
4647 dnl for this check C++ compiler has to be used as passing incompatible
4648 dnl pointers is just a warning and not an error in C
4649 AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
4652 #include <sys/statvfs.h>
4662 wx_cv_type_statvfs_t=statvfs_t,
4666 #include <sys/statvfs.h>
4676 wx_cv_type_statvfs_t="struct statvfs",
4677 wx_cv_type_statvfs_t="unknown"
4683 if test "$wx_cv_type_statvfs_t" != "unknown"; then
4684 AC_DEFINE(HAVE_STATVFS)
4687 dnl set it for the test below
4688 wx_cv_type_statvfs_t="unknown"
4692 if test "$wx_cv_type_statvfs_t" != "unknown"; then
4693 AC_DEFINE_UNQUOTED(WX_STATFS_T, $wx_cv_type_statvfs_t)
4695 AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
4698 dnl check for fcntl() or at least flock() needed by Unix implementation of
4699 dnl wxSingleInstanceChecker
4700 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
4701 AC_CHECK_FUNCS(fcntl flock, break)
4703 if test "$ac_cv_func_fcntl" != "yes" -a "$ac_cv_func_flock" != "yes"; then
4704 AC_MSG_WARN(wxSingleInstanceChecker not available)
4705 wxUSE_SNGLINST_CHECKER=no
4709 dnl check for timegm() used by datetime.cpp
4710 AC_CHECK_FUNCS(timegm)
4712 dnl look for a function to modify the environment
4713 AC_CHECK_FUNCS(putenv setenv, break)
4715 HAVE_SOME_SLEEP_FUNC=0
4716 if test "$USE_BEOS" = 1; then
4717 dnl BeOS has its own (wonder where did they get it from) sleep() function
4719 AC_DEFINE(HAVE_SLEEP)
4720 HAVE_SOME_SLEEP_FUNC=1
4723 if test "$USE_DARWIN" = 1; then
4724 dnl Mac OS X/Darwin has both nanosleep and usleep
4725 dnl but only usleep is defined in unistd.h
4726 AC_DEFINE(HAVE_USLEEP)
4727 HAVE_SOME_SLEEP_FUNC=1
4730 if test "$HAVE_SOME_SLEEP_FUNC" != 1; then
4731 dnl try nanosleep() in libc and libposix4, if this fails - usleep()
4733 AC_CHECK_FUNCS(nanosleep,
4734 AC_DEFINE(HAVE_NANOSLEEP),
4736 AC_CHECK_LIB(posix4, nanosleep,
4738 AC_DEFINE(HAVE_NANOSLEEP)
4739 POSIX4_LINK=" -lposix4"
4742 AC_CHECK_FUNCS(usleep,
4743 AC_DEFINE(HAVE_USLEEP),
4744 AC_MSG_WARN([wxSleep() function will not work])
4752 dnl check for uname (POSIX) and gethostname (BSD)
4753 AC_CHECK_FUNCS(uname gethostname, break)
4755 WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT])
4757 dnl check for inet_addr and inet_aton (these may live either in libc, or in
4758 dnl libnsl or libresolv or libsocket)
4760 AC_CHECK_FUNCS(inet_addr,
4761 AC_DEFINE(HAVE_INET_ADDR),
4763 AC_CHECK_LIB(nsl, inet_addr,
4766 AC_CHECK_LIB(resolv, inet_addr,
4769 AC_CHECK_LIB(socket, inet_addr,
4779 AC_CHECK_FUNCS(inet_aton,
4780 AC_DEFINE(HAVE_INET_ATON),
4782 dnl only check it in the same lib
4783 AC_CHECK_LIB($INET_LINK, inet_aton, AC_DEFINE(HAVE_INET_ATON))
4786 if test "x$INET_LINK" != "x"; then
4787 AC_DEFINE(HAVE_INET_ADDR)
4788 INET_LINK=" -l$INET_LINK"
4795 dnl ------------------------------------------
4796 dnl Checks specific to contrib libs (MMedia)
4797 dnl ------------------------------------------
4801 AC_CHECK_LIB(esd, esd_close, [
4802 AC_CHECK_HEADERS([esd.h], [
4803 EXTRALIBS_ESD="-lesd"
4806 AC_SUBST(EXTRALIBS_ESD)
4808 dnl check for known CD-ROM interface
4809 AC_MSG_CHECKING([for known CD-ROM interface])
4810 AC_TRY_COMPILE([#ifdef __linux__
4811 #include <linux/cdrom.h>
4814 #include <sys/cdio.h>
4817 [struct cdrom_tocentry entry, old_entry;],
4818 [AC_MSG_RESULT([yes])
4819 AC_DEFINE(HAVE_KNOWN_CDROM_INTERFACE)],
4820 [AC_MSG_RESULT([no])])
4822 dnl ===========================================================================
4823 dnl Now we have all the info we need - use it!
4824 dnl ===========================================================================
4829 dnl ---------------------------------------------------------------------------
4830 dnl thread support for Unix (for Win32 and OS/2 see past
4831 dnl the next matching "else")
4832 dnl ---------------------------------------------------------------------------
4834 dnl under MSW (except mingw32) we always have thread support
4835 if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
4839 dnl defines THREADS_LINK and THREADS_CXXFLAGS which are the options
4840 dnl necessary to build the MT programs for the linker and compiler
4843 dnl sets wxUSE_THREADS=1 if thread support is activated
4848 if test "$wxUSE_THREADS" = "yes" ; then
4849 if test "$USE_BEOS" = 1; then
4850 AC_MSG_WARN([BeOS threads are not yet supported... disabled])
4855 if test "$wxUSE_THREADS" = "yes" ; then
4856 dnl find if POSIX threads are available
4858 dnl the tests here are based on ACX_PTHREAD macro from autoconf macro
4859 dnl archive from http://ac-archive.sourceforge.net/
4861 dnl thanks to Steven G. Johnson <stevenj@alum.mit.edu> and Alejandro
4862 dnl Forero Cuervo <bachue@bachue.com> for the original code
4864 dnl TODO: cache the result
4866 dnl define the list of the thread options to try in the loop below
4867 dnl with the convention that anything starting with '-' is a cpp flag
4868 dnl while anything else is a library (i.e. there is an implicit "-l")
4869 THREAD_OPTS="-pthread"
4871 *-*-solaris2* | *-*-sunos4* )
4872 if test "x$GCC" = "xyes"; then
4873 dnl Solaris/gcc combination use this one for some reason
4874 THREAD_OPTS="-pthreads $THREAD_OPTS"
4876 THREAD_OPTS="-mt $THREAD_OPTS"
4880 dnl look, in order, for the kernel threads, then Linux threads
4881 dnl and finally the userland threads
4882 THREAD_OPTS="-kthread lthread $THREAD_OPTS c_r"
4884 *-*-darwin* | *-*-cygwin* )
4885 dnl Darwin / Mac OS X just uses -lpthread tested below
4886 dnl and so does Cygwin
4890 dnl AIX calls the library libpthreads - thanks IBM!
4891 THREAD_OPTS="pthreads"
4894 if test "x$GCC" = "xyes"; then
4895 dnl g++ versions before 3.3.2 don't support -pthread.
4896 $CXX -dumpspecs | grep 'pthread:' >/dev/null ||
4899 dnl HP-UX aCC (tested with version B3910B A.06.05 [Jul 25
4900 dnl 2005]) supports -mt
4906 dnl gcc under IRIX doesn't seem to like -pthread, but it
4907 dnl doesn't give an error for it neither, just a warning
4908 dnl message -- but this is still very annoying
4909 if test "x$GCC" = "xyes"; then
4915 dnl flying by man pages here: Caldera online docs use this
4916 if test "x$GCC" != "xyes"; then
4917 THREAD_OPTS="-Ethread"
4922 dnl simply linking with libpthread should make the test below work but
4923 dnl it's far from certain that the threaded programs compiled without
4924 dnl any special switches actually work, so try it after all the others
4925 THREAD_OPTS="$THREAD_OPTS pthread none"
4927 dnl now test for all possibilities
4929 for flag in $THREAD_OPTS; do
4932 AC_MSG_CHECKING([whether pthreads work without any flags])
4936 AC_MSG_CHECKING([whether pthreads work with $flag])
4937 THREADS_CXXFLAGS="$flag"
4941 AC_MSG_CHECKING([for the pthreads library -l$flag])
4942 THREADS_LINK="-l$flag"
4947 save_CXXFLAGS="$CXXFLAGS"
4948 LIBS="$THREADS_LINK $LIBS"
4949 CXXFLAGS="$THREADS_CXXFLAGS $CXXFLAGS"
4951 AC_TRY_LINK([#include <pthread.h>],
4952 [pthread_create(0,0,0,0);],
4956 CXXFLAGS="$save_CXXFLAGS"
4958 AC_MSG_RESULT($THREADS_OK)
4959 if test "x$THREADS_OK" = "xyes"; then
4967 if test "x$THREADS_OK" != "xyes"; then
4969 AC_MSG_WARN([No thread support on this system... disabled])
4971 dnl yes, these special compiler flags should be used with the
4973 LDFLAGS="$THREADS_CXXFLAGS $LDFLAGS"
4974 LIBS="$THREADS_LINK $LIBS"
4976 AC_MSG_CHECKING([if more special flags are required for pthreads])
4980 dnl again quoting from
4981 dnl http://www-1.ibm.com/servers/esdd/articles/gnu.html:
4983 dnl When compiling and linking with -pthread, the library
4984 dnl search path should include -L/usr/lib/threads at the
4985 dnl beginning of the path.
4986 LDFLAGS="-L/usr/lib/threads $LDFLAGS"
4987 flag="-D_THREAD_SAFE"
4990 flag="-D_THREAD_SAFE"
4994 if test "x$GCC" != "xyes"; then
4995 dnl see http://docs.hp.com/hpux/onlinedocs/2213/threads.htm
4996 flag="$flag -D_RWSTD_MULTI_THREAD"
4999 *solaris* | alpha*-osf*)
5003 AC_MSG_RESULT(${flag})
5004 if test "x$flag" != xno; then
5005 THREADS_CXXFLAGS="$THREADS_CXXFLAGS $flag"
5008 dnl don't add these options to CPPFLAGS as cpp might not know them
5009 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS $THREADS_CXXFLAGS"
5013 dnl do other tests only if we are using threads
5014 if test "$wxUSE_THREADS" = "yes" ; then
5015 AC_CHECK_FUNCS(thr_setconcurrency)
5017 dnl can't use AC_CHECK_FUNCS for this one as it's usually a macro and so
5018 dnl wouldn't be found by it
5019 AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup,
5021 AC_TRY_COMPILE([#include <pthread.h>
5022 void ThreadCleanupFunc(void *p);
5026 pthread_cleanup_push(ThreadCleanupFunc, p);
5027 pthread_cleanup_pop(0);
5029 wx_cv_func_pthread_cleanup=yes
5031 wx_cv_func_pthread_cleanup=no
5035 if test "x$wx_cv_func_pthread_cleanup" = "xyes"; then
5036 AC_DEFINE(wxHAVE_PTHREAD_CLEANUP)
5039 AC_CHECK_HEADERS(sched.h)
5040 if test "$ac_cv_header_sched_h" = "yes"; then
5041 AC_CHECK_FUNC(sched_yield,
5042 AC_DEFINE(HAVE_SCHED_YIELD),
5044 AC_CHECK_LIB(posix4,
5046 [AC_DEFINE(HAVE_SCHED_YIELD) POSIX4_LINK=" -lposix4"],
5047 AC_MSG_WARN(wxThread::Yield will not work properly)
5053 dnl to be able to set the thread priority, we need to have all of the
5054 dnl following functions:
5055 dnl 1. pthread_attr_getschedpolicy
5056 dnl 2. sched_get_priority_min and sched_get_priority_max
5057 dnl (this one can be in either libpthread or libposix4 (under Solaris))
5058 dnl 3. pthread_attr_getschedparam and pthread_attr_setschedparam
5060 AC_CHECK_FUNC(pthread_attr_getschedpolicy,
5061 [AC_CHECK_FUNC(pthread_attr_setschedparam,
5062 [AC_CHECK_FUNC(sched_get_priority_max,
5064 [AC_CHECK_LIB([posix4], sched_get_priority_max,
5067 POSIX4_LINK=" -lposix4"
5074 if test "$HAVE_PRIOR_FUNCS" = 1; then
5075 AC_DEFINE(HAVE_THREAD_PRIORITY_FUNCTIONS)
5077 AC_MSG_WARN(Setting thread priority will not work)
5080 AC_CHECK_FUNC(pthread_cancel,
5081 AC_DEFINE(HAVE_PTHREAD_CANCEL),
5082 AC_MSG_WARN([wxThread::Kill() will not work properly]))
5084 AC_CHECK_FUNC(pthread_attr_setstacksize,
5085 AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE))
5087 dnl mutexattr_t initialization is done in quite different ways on different
5088 dnl platforms, so check for a few things:
5090 dnl HAVE_MUTEX_RECURSIVE means that we can create recursive mutexes
5091 dnl HAVE_MUTEXATTR_SETTYPE means that we do it using
5092 dnl pthread_mutexattr_settype(PTHREAD_MUTEX_RECURSIVE) and if it is not
5093 dnl defined, we do it by directly assigned
5094 dnl PTHREAD_MUTEX_RECURSIVE_MUTEX_INITIALIZER_NP to attr
5096 AC_CACHE_CHECK([for pthread_mutexattr_t], wx_cv_type_pthread_mutexattr_t,
5098 AC_TRY_COMPILE([#include <pthread.h>],
5100 pthread_mutexattr_t attr;
5101 pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
5103 wx_cv_type_pthread_mutexattr_t=yes,
5104 wx_cv_type_pthread_mutexattr_t=no
5108 if test "$wx_cv_type_pthread_mutexattr_t" = "yes"; then
5109 AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_T)
5111 dnl check if we already have the declaration we need, it is not
5112 dnl present in some systems' headers
5113 AC_CACHE_CHECK([for pthread_mutexattr_settype declaration],
5114 wx_cv_func_pthread_mutexattr_settype_decl, [
5115 AC_TRY_COMPILE([#include <pthread.h>],
5117 pthread_mutexattr_t attr;
5118 pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
5120 wx_cv_func_pthread_mutexattr_settype_decl=yes,
5121 wx_cv_func_pthread_mutexattr_settype_decl=no
5124 if test "$wx_cv_func_pthread_mutexattr_settype_decl" = "yes"; then
5125 AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_SETTYPE_DECL)
5128 dnl don't despair, there may be another way to do it
5129 AC_CACHE_CHECK([for PTHREAD_RECURSIVE_MUTEX_INITIALIZER],
5130 wx_cv_type_pthread_rec_mutex_init,
5132 AC_TRY_COMPILE([#include <pthread.h>],
5134 pthread_mutex_t attr = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
5136 wx_cv_type_pthread_rec_mutex_init=yes
5138 wx_cv_type_pthread_rec_mutex_init=no
5142 if test "$wx_cv_type_pthread_rec_mutex_init" = "yes"; then
5143 AC_DEFINE(HAVE_PTHREAD_RECURSIVE_MUTEX_INITIALIZER)
5145 dnl this may break code working elsewhere, so at least warn about it
5146 AC_MSG_WARN([wxMutex won't be recursive on this platform])
5153 if test "$wxUSE_THREADS" = "yes" ; then
5156 dnl check if the compiler accepts -mthreads
5157 AC_CACHE_CHECK([if compiler supports -mthreads],
5158 wx_cv_cflags_mthread,
5160 CXXFLAGS_OLD="$CXXFLAGS"
5161 CXXFLAGS="-mthreads $CXXFLAGS"
5162 AC_TRY_COMPILE([], [],
5163 wx_cv_cflags_mthread=yes,
5164 wx_cv_cflags_mthread=no
5169 if test "$wx_cv_cflags_mthread" = "yes"; then
5171 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -mthreads"
5172 LDFLAGS="$LDFLAGS -mthreads"
5175 CXXFLAGS="$CXXFLAGS_OLD"
5179 WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -Zmt -D__ST_MT_ERRNO__"
5180 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -Zmt -D__ST_MT_ERRNO__"
5181 LDFLAGS="$LDFLAGS -Zmt"
5187 AC_CHECK_FUNC(localtime_r, [ AC_DEFINE(HAVE_LOCALTIME_R) ])
5188 AC_CHECK_FUNC(gmtime_r, [ AC_DEFINE(HAVE_GMTIME_R) ])
5189 AC_CHECK_FUNC(readdir_r, [ AC_DEFINE(HAVE_READDIR_R) ])
5190 dnl By preference, we probably should use getaddrinfo which avoids thread
5191 dnl safety issues and supports IPv6, however there currently is no code
5192 dnl for it, so testing for it is temporarily disabled and we are restricted
5193 dnl to gethostbyname_r/gethostbyaddr_r and getservbyname_r
5195 dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [
5196 dnl no getaddrinfo, so check for gethostbyname_r and
5197 dnl related functions (taken from python's configure.in)
5198 dnl sigh -- gethostbyname_r is a mess; it can have 3, 5 or 6 arguments
5199 AX_FUNC_WHICH_GETHOSTBYNAME_R
5200 if test "x$ac_cv_func_which_gethostbyname_r" = "xno" -o \
5201 "x$ac_cv_func_which_gethostbyname_r" = "xunknown" ; then
5202 AC_CHECK_FUNC(gethostbyname, [ AC_DEFINE(HAVE_GETHOSTBYNAME) ])
5204 dnl A similar test for getservbyname_r
5205 dnl I'm tempted to just not do this test which is taking much time and
5206 dnl do something similar as for gethostbyaddr_r, but OTOH the macro
5207 dnl doing the test already exists, so using it is easy enough. - SN
5208 AC_raf_FUNC_WHICH_GETSERVBYNAME_R
5209 if test "x$ac_cv_func_which_getservbyname_r" = "xno" -o \
5210 "x$ac_cv_func_which_getservbyname_r" = "xunknown" ; then
5211 AC_CHECK_FUNCS(getservbyname,[ AC_DEFINE(HAVE_GETSERVBYNAME) ])
5213 dnl For gethostbyaddr_r, we currently do no separate test, instead, we
5214 dnl silently assume it's available exactly if gethostbyname_r is
5215 dnl available and always requires two more arguments than
5216 dnl gethostbyname_r.
5217 dnl (also, I'm lazy and there no m4 file that's ready for use for this
5218 dnl function, although it should be easy to rewrite the gethostbyname_r
5219 dnl check to fit this case, if it's really needed. - SN )
5223 if test "$wxUSE_THREADS" = "yes"; then
5224 AC_DEFINE(wxUSE_THREADS)
5226 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS thread"
5228 dnl on some systems, _REENTRANT should be defined if we want to use any _r()
5229 dnl functions - add tests for other functions here as well
5230 if test "$wx_cv_func_strtok_r" = "yes"; then
5231 AC_MSG_CHECKING(if -D_REENTRANT is needed)
5232 if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
5233 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_REENTRANT"
5241 if test "$WXGTK20" = 1 ; then
5242 AC_DEFINE_UNQUOTED(__WXGTK20__,$WXGTK20)
5246 if test "$WXGTK12" = 1 ; then
5247 AC_DEFINE_UNQUOTED(__WXGTK12__,$WXGTK12)
5250 if test "$WXGTK127" = 1 ; then
5251 AC_DEFINE_UNQUOTED(__WXGTK127__,$WXGTK127)
5254 if test "$WXGPE" = 1 ; then
5255 AC_DEFINE_UNQUOTED(__WXGPE__,$WXGPE)
5258 dnl DEBUG_CFLAGS contains debugging options (supposed to be the same for C and C++
5259 dnl compilers: we'd need a separate DEBUG_CXXFLAGS if this is ever not the case)
5261 if test "$wxUSE_DEBUG_INFO" = "yes" ; then
5266 if test "$wxUSE_DEBUG_GDB" = "yes" ; then
5267 wxUSE_DEBUG_INFO=yes
5268 if test "$GCC" = yes; then
5269 DEBUG_CFLAGS="-ggdb"
5273 if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
5275 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D__WXDEBUG__"
5277 if test "$wxUSE_GTK" = 1 ; then
5278 if test "x$wxGTK_VERSION" = "x1" ; then
5279 CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS"
5284 if test "$wxUSE_MEM_TRACING" = "yes" ; then
5285 AC_DEFINE(wxUSE_MEMORY_TRACING)
5286 AC_DEFINE(wxUSE_GLOBAL_MEMORY_OPERATORS)
5287 AC_DEFINE(wxUSE_DEBUG_NEW_ALWAYS)
5288 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS memcheck"
5291 if test "$wxUSE_DMALLOC" = "yes" ; then
5292 DMALLOC_LIBS="-ldmallocthcxx"
5295 dnl cc/cxx/ld option for profiling
5297 if test "$wxUSE_PROFILE" = "yes" ; then
5298 PROFILE_FLAGS=" -pg"
5301 if test "$GCC" = "yes" ; then
5302 if test "$wxUSE_NO_RTTI" = "yes" ; then
5303 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fno-rtti"
5305 if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
5306 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fno-exceptions"
5308 if test "$wxUSE_PERMISSIVE" = "yes" ; then
5309 WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -fpermissive"
5312 dnl Ian Brown <ian.brown@printsoft.de> reports that versions of gcc before
5313 dnl 3.0 overflow the table of contents on rs6000 as they create an entry
5314 dnl for each subroutine by default -- using the switch below only creates
5315 dnl one entry per file instead at the price of minor performance penalty
5317 dnl As of wx2.4 a bug in the hppa gcc compiler causes a similar problem
5318 dnl without -ffunction-sections. No idea how long we'll need to maintain
5319 dnl this, or even the extent of gcc/wx version combinations affected, but
5320 dnl also as above, this 'fix' does not come without side effects.
5322 dnl TODO: test for the gcc version here (how?)
5325 WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -mminimal-toc"
5328 WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -ffunction-sections"
5333 dnl C/C++ compiler option for optimization (supposed to be the same for both)
5335 if test "$wxUSE_OPTIMISE" = "no" ; then
5336 if test "$GCC" = yes ; then
5337 dnl use -O0 because compiling with it is faster than compiling with no
5338 dnl optimization options at all (at least with g++ 3.2)
5339 OPTIMISE_CFLAGS="-O0"
5342 if test "$GCC" = yes ; then
5344 *-pc-os2_emx | *-pc-os2-emx )
5345 dnl Not all of the supported gcc versions understand
5346 dnl -fstrict-aliasing and none actually needs it (yet).
5347 OPTIMISE_CFLAGS="-O2"
5350 dnl Switch on optimisation but keep strict-aliasing off for
5351 dnl now (see -fstrict-aliasing in the gcc manual). When it is
5352 dnl switched back on consider using -Wstrict-aliasing=2.
5353 OPTIMISE_CFLAGS="-O2 -fno-strict-aliasing"
5357 OPTIMISE_CFLAGS="-O"
5361 dnl ---------------------------------------------------------------------------
5362 dnl compatibility level
5363 dnl ---------------------------------------------------------------------------
5365 if test "x$WXWIN_COMPATIBILITY_2_4" = "xyes"; then
5366 AC_DEFINE(WXWIN_COMPATIBILITY_2_4)
5368 WXWIN_COMPATIBILITY_2_6="yes"
5371 if test "x$WXWIN_COMPATIBILITY_2_6" != "xno"; then
5372 AC_DEFINE(WXWIN_COMPATIBILITY_2_6)
5375 dnl ---------------------------------------------------------------------------
5376 dnl the library may be built without GUI classes at all
5377 dnl ---------------------------------------------------------------------------
5379 if test "$wxUSE_GUI" = "yes"; then
5380 AC_DEFINE(wxUSE_GUI)
5382 dnl the things we always pull in the GUI version of the library:
5383 dnl 1. basic things like wxApp, wxWindow, wxControl, wxFrame, wxDialog (the
5384 dnl library really can't be built without those)
5385 dnl 2. basic controls: wxButton, wxStaticText, wxTextCtrl (these are used in
5386 dnl almost any program and the first 2 are needed to show a message box
5387 dnl which want to be always able to do)
5388 dnl 3. GDI stuff: icon, cursors and all that. Although it would be very nice
5389 dnl to compile without them (if the app doesn't do any drawing, it doesn't
5390 dnl need the dcs, pens, brushes, ...), this just can't be done now
5391 dnl 4. menu stuff: wxMenu, wxMenuBar, wxMenuItem
5392 dnl 5. misc stuff: timers, settings, message box
5395 dnl ---------------------------------------------------------------------------
5397 dnl ---------------------------------------------------------------------------
5399 if test "$wxUSE_UNIX" = "yes"; then
5400 AC_DEFINE(wxUSE_UNIX)
5403 dnl ------------------------------------------------------------------------
5405 dnl ------------------------------------------------------------------------
5407 dnl under MSW we always have LoadLibrary/GetProcAddress
5408 if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
5412 if test "$wxUSE_DYNAMIC_LOADER" = "yes" -o "$wxUSE_DYNLIB_CLASS" = "yes" ; then
5413 if test "$USE_DARWIN" = 1; then
5414 dnl dlopen/dlerror is implemented in dynlib.cpp for Darwin/Mac OS X
5416 elif test "$USE_DOS" = 1; then
5419 dnl the test is a bit complicated because we check for dlopen() both with
5420 dnl and without -ldl and we also try to find shl_load() if there is no
5421 dnl dlopen() on this system
5422 AC_CHECK_FUNCS(dlopen,
5424 AC_DEFINE(HAVE_DLOPEN)
5428 AC_CHECK_LIB(dl, dlopen,
5430 AC_DEFINE(HAVE_DLOPEN)
5432 DL_LINK=" -ldl$DL_LINK"
5435 AC_CHECK_FUNCS(shl_load,
5437 AC_DEFINE(HAVE_SHL_LOAD)
5441 AC_CHECK_LIB(shl_load, dld,
5444 DL_LINK=" -ldld$DL_LINK"
5450 dnl check also for dlerror()
5451 if test "$HAVE_DL_FUNCS" = 1; then
5452 AC_CHECK_FUNCS(dlerror,
5453 AC_DEFINE(HAVE_DLERROR),
5455 AC_CHECK_LIB(dl, dlerror, AC_DEFINE(HAVE_DLERROR))
5461 if test "$HAVE_DL_FUNCS" = 0; then
5462 if test "$HAVE_SHL_FUNCS" = 0; then
5463 if test "$USE_UNIX" = 1 -o "$USE_DOS" = 1; then
5464 AC_MSG_WARN([Missing dynamic loading support, several features will be disabled])
5465 wxUSE_DYNAMIC_LOADER=no
5466 wxUSE_DYNLIB_CLASS=no
5468 AC_MSG_WARN([Assuming wxLibrary class works on this platform])
5475 if test "$wxUSE_DYNAMIC_LOADER" = "yes" ; then
5476 AC_DEFINE(wxUSE_DYNAMIC_LOADER)
5478 if test "$wxUSE_DYNLIB_CLASS" = "yes" ; then
5479 AC_DEFINE(wxUSE_DYNLIB_CLASS)
5483 dnl ---------------------------------------------------------------------------
5484 dnl Verify consistency of plugins/monolithic/shared settings:
5485 dnl ---------------------------------------------------------------------------
5487 if test "$wxUSE_PLUGINS" = "yes" ; then
5488 if test "$wxUSE_SHARED" = "no" ; then
5489 AC_MSG_WARN([plugins supported only in shared build, disabling])
5492 if test "$wxUSE_MONOLITHIC" = "yes" ; then
5493 AC_MSG_WARN([plugins not supported monolithic build, disabling])
5496 if test "$wxUSE_DYNLIB_CLASS" = "no" ; then
5497 AC_MSG_WARN([plugins require wxDynamicLibrary, disabling])
5500 if test "$wxUSE_PLUGINS" = "yes" ; then
5501 AC_DEFINE(wxUSE_PLUGINS)
5505 dnl ---------------------------------------------------------------------------
5506 dnl Register non-GUI class options for makefiles and setup.h
5507 dnl ---------------------------------------------------------------------------
5509 if test "$wxUSE_STL" = "yes"; then
5510 AC_DEFINE(wxUSE_STL)
5513 if test "$wxUSE_APPLE_IEEE" = "yes"; then
5514 AC_DEFINE(wxUSE_APPLE_IEEE)
5517 if test "$wxUSE_TIMER" = "yes"; then
5518 AC_DEFINE(wxUSE_TIMER)
5521 dnl Unix implementation needs additional checks because audio support
5522 dnl comes in many favours:
5523 if test "$USE_UNIX" = "1" ; then
5524 dnl it's not enough to check for just the header because OSS under NetBSD
5525 dnl redefines ioctl as oss_ioctrl inside it and so we also need to test
5526 dnl whether we need -lossaudio at link-time
5527 AC_CACHE_CHECK([for SNDCTL_DSP_SPEED in sys/soundcard.h], ac_cv_header_sys_soundcard, [
5529 #include <sys/ioctl.h>
5530 #include <sys/soundcard.h>
5533 ioctl(0, SNDCTL_DSP_SPEED, 0);
5535 ac_cv_header_sys_soundcard=yes,
5538 LIBS="$saveLibs -lossaudio"
5540 #include <sys/ioctl.h>
5541 #include <sys/soundcard.h>
5544 ioctl(0, SNDCTL_DSP_SPEED, 0);
5546 ac_cv_header_sys_soundcard=yes,
5549 ac_cv_header_sys_soundcard=no
5556 if test "$ac_cv_header_sys_soundcard" = "yes"; then
5557 AC_DEFINE(HAVE_SYS_SOUNDCARD_H)
5559 DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"
5563 if test "$wxUSE_SOUND" = "yes"; then
5564 if test "$USE_UNIX" = "1" ; then
5565 if test "$wxUSE_LIBSDL" != "no"; then
5566 AM_PATH_SDL([1.2.0],
5568 EXTRALIBS_SDL="$SDL_LIBS"
5569 CXXFLAGS="$SDL_CFLAGS $CXXFLAGS"
5570 AC_DEFINE(wxUSE_LIBSDL)
5572 [wxUSE_LIBSDL="no"])
5573 if test "$wxUSE_LIBSDL" = "yes" -a "$wxUSE_PLUGINS" = "yes" ; then
5579 AC_DEFINE(wxUSE_SOUND)
5580 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound"
5583 if test "$WXGTK20" = 1; then
5584 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
5585 if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
5587 PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
5588 [libgnomeprintui-2.2 >= 2.8],
5590 dnl EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS"
5591 CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
5592 AC_DEFINE(wxUSE_LIBGNOMEPRINT)
5595 AC_MSG_WARN([libgnomeprintui not found, library will use standard PostScript printing])
5596 wxUSE_LIBGNOMEPRINT="no"
5603 if test "$WXGTK20" = 1; then
5604 if test "$wxUSE_MIMETYPE" = "yes" ; then
5605 if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then
5607 PKG_CHECK_MODULES(GNOMEVFS,
5608 [gnome-vfs-2.0 >= 2.0],
5610 dnl EXTRALIBS_GNOMEVFS="$LIBGNOMEVFS_LIBS"
5611 CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
5612 AC_DEFINE(wxUSE_LIBGNOMEVFS)
5615 AC_MSG_WARN([libgnomevfs not found, library won't be able to associate MIME type])
5616 wxUSE_LIBGNOMEVFS="no"
5623 if test "$WXGTK20" = 1; then
5624 if test "$wxUSE_LIBHILDON" = "yes" ; then
5625 PKG_CHECK_MODULES(HILDON,
5626 [hildon-lgpl >= 0.9],
5628 EXTRALIBS_HILDON="$HILDON_LIBS"
5629 CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
5630 AC_DEFINE(wxUSE_LIBHILDON)
5633 AC_MSG_WARN([libhildon_lgpl not found])
5634 wxUSE_LIBHILDON="no"
5640 if test "$wxUSE_CMDLINE_PARSER" = "yes"; then
5641 AC_DEFINE(wxUSE_CMDLINE_PARSER)
5644 if test "$wxUSE_STOPWATCH" = "yes"; then
5645 AC_DEFINE(wxUSE_STOPWATCH)
5648 if test "$wxUSE_DATETIME" = "yes"; then
5649 AC_DEFINE(wxUSE_DATETIME)
5652 if test "$wxUSE_FILE" = "yes"; then
5653 AC_DEFINE(wxUSE_FILE)
5656 if test "$wxUSE_FFILE" = "yes"; then
5657 AC_DEFINE(wxUSE_FFILE)
5660 if test "$wxUSE_FILESYSTEM" = "yes"; then
5661 AC_DEFINE(wxUSE_FILESYSTEM)
5664 if test "$wxUSE_FS_ZIP" = "yes"; then
5665 AC_DEFINE(wxUSE_FS_ZIP)
5668 if test "$wxUSE_ARCHIVE_STREAMS" = "yes"; then
5669 AC_DEFINE(wxUSE_ARCHIVE_STREAMS)
5672 if test "$wxUSE_ZIPSTREAM" = "yes"; then
5673 if test "$wxUSE_ARCHIVE_STREAMS" != "yes"; then
5674 AC_MSG_WARN(wxZip requires wxArchive... disabled)
5675 elif test "$wxUSE_ZLIB" = "no"; then
5676 AC_MSG_WARN(wxZip requires wxZlib... disabled)
5678 AC_DEFINE(wxUSE_ZIPSTREAM)
5682 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
5683 if test "$USE_UNIX" != 1; then
5684 AC_MSG_WARN([Catching fatal exceptions not currently supported on this system, wxApp::OnFatalException will not be called])
5685 wxUSE_ON_FATAL_EXCEPTION=no
5687 AC_DEFINE(wxUSE_ON_FATAL_EXCEPTION)
5691 if test "$wxUSE_STACKWALKER" = "yes"; then
5692 AC_DEFINE(wxUSE_STACKWALKER)
5695 if test "$wxUSE_DEBUGREPORT" = "yes"; then
5696 if test "$USE_UNIX" != "1" -a "$USE_WIN32" != "1"; then
5697 AC_MSG_WARN([Creating debug reports not currently supported on this system, disabled])
5698 wxUSE_DEBUGREPORT=no
5700 AC_DEFINE(wxUSE_DEBUGREPORT)
5701 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
5702 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS debugrpt"
5707 if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
5708 AC_DEFINE(wxUSE_SNGLINST_CHECKER)
5711 if test "$wxUSE_BUSYINFO" = "yes"; then
5712 AC_DEFINE(wxUSE_BUSYINFO)
5715 if test "$wxUSE_STD_IOSTREAM" = "yes"; then
5716 AC_DEFINE(wxUSE_STD_IOSTREAM)
5719 if test "$wxUSE_STD_STRING" = "yes"; then
5720 AC_DEFINE(wxUSE_STD_STRING)
5723 if test "$wxUSE_STDPATHS" = "yes"; then
5724 AC_DEFINE(wxUSE_STDPATHS)
5727 if test "$wxUSE_TEXTBUFFER" = "yes"; then
5728 AC_DEFINE(wxUSE_TEXTBUFFER)
5731 if test "$wxUSE_TEXTFILE" = "yes"; then
5732 if test "$wxUSE_FILE" != "yes" -o "$wxUSE_TEXTBUFFER" != "yes" ; then
5733 AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer... disabled)
5735 AC_DEFINE(wxUSE_TEXTFILE)
5739 if test "$wxUSE_CONFIG" = "yes" ; then
5740 if test "$wxUSE_TEXTFILE" != "yes"; then
5741 AC_MSG_WARN(wxConfig requires wxTextFile... disabled)
5743 AC_DEFINE(wxUSE_CONFIG)
5744 AC_DEFINE(wxUSE_CONFIG_NATIVE)
5745 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
5749 if test "$wxUSE_INTL" = "yes" ; then
5750 if test "$wxUSE_FILE" != "yes"; then
5751 AC_MSG_WARN(I18n code requires wxFile... disabled)
5753 AC_DEFINE(wxUSE_INTL)
5754 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
5755 GUIDIST="$GUIDIST INTL_DIST"
5759 if test "$wxUSE_LOG" = "yes"; then
5760 AC_DEFINE(wxUSE_LOG)
5762 if test "$wxUSE_LOGGUI" = "yes"; then
5763 AC_DEFINE(wxUSE_LOGGUI)
5766 if test "$wxUSE_LOGWINDOW" = "yes"; then
5767 AC_DEFINE(wxUSE_LOGWINDOW)
5770 if test "$wxUSE_LOGDIALOG" = "yes"; then
5771 AC_DEFINE(wxUSE_LOG_DIALOG)
5774 dnl the keyboard sample requires wxUSE_LOG
5775 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS keyboard"
5778 if test "$wxUSE_LONGLONG" = "yes"; then
5779 AC_DEFINE(wxUSE_LONGLONG)
5782 if test "$wxUSE_GEOMETRY" = "yes"; then
5783 AC_DEFINE(wxUSE_GEOMETRY)
5786 if test "$wxUSE_STREAMS" = "yes" ; then
5787 AC_DEFINE(wxUSE_STREAMS)
5790 if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then
5791 AC_DEFINE(wxUSE_PRINTF_POS_PARAMS)
5795 dnl ---------------------------------------------------------------------------
5796 dnl time/date functions
5797 dnl ---------------------------------------------------------------------------
5799 if test "$wxUSE_DATETIME" = "yes"; then
5800 dnl check for strptime and for its declaration as some systems lack it
5801 AC_CHECK_FUNCS(strptime)
5802 if test "$ac_cv_func_strptime" = "yes"; then
5803 AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl,
5811 strptime("foo", "bar", &t);
5813 wx_cv_func_strptime_decl=yes,
5814 wx_cv_func_strptime_decl=no
5819 if test "$wx_cv_func_strptime_decl" = "yes"; then
5820 AC_DEFINE(HAVE_STRPTIME_DECL)
5823 dnl check for timezone variable
5824 dnl doesn't exist under Darwin / Mac OS X which uses tm_gmtoff instead
5825 AC_CACHE_CHECK(for timezone variable in <time.h>,
5837 wx_cv_var_timezone=timezone
5849 wx_cv_var_timezone=_timezone
5861 wx_cv_var_timezone=__timezone
5864 if test "$USE_DOS" = 0 ; then
5865 AC_MSG_WARN(no timezone variable, will use tm_gmtoff instead)
5876 dnl as we want $wx_cv_var_timezone to be expanded, use AC_DEFINE_UNQUOTED
5877 if test "x$wx_cv_var_timezone" != x ; then
5878 AC_DEFINE_UNQUOTED(WX_TIMEZONE, $wx_cv_var_timezone)
5881 dnl check for localtime (it's POSIX, but the check can do no harm...)
5882 AC_CHECK_FUNCS(localtime)
5884 if test "$ac_cv_func_localtime" = "yes"; then
5885 AC_CACHE_CHECK(for tm_gmtoff in struct tm,
5886 wx_cv_struct_tm_has_gmtoff,
5897 wx_cv_struct_tm_has_gmtoff=yes
5899 wx_cv_struct_tm_has_gmtoff=no
5904 if test "$wx_cv_struct_tm_has_gmtoff" = "yes"; then
5905 AC_DEFINE(WX_GMTOFF_IN_TM)
5908 dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the
5909 dnl function to be used for high resolution timers
5910 AC_CHECK_FUNCS(gettimeofday ftime, break)
5912 if test "$ac_cv_func_gettimeofday" = "yes"; then
5913 AC_CACHE_CHECK([whether gettimeofday takes two arguments],
5914 wx_cv_func_gettimeofday_has_2_args,
5916 dnl on some _really_ old systems it takes only 1 argument
5919 #include <sys/time.h>
5924 gettimeofday(&tv, NULL);
5926 wx_cv_func_gettimeofday_has_2_args=yes,
5929 #include <sys/time.h>
5936 wx_cv_func_gettimeofday_has_2_args=no,
5938 AC_MSG_WARN([failed to determine number of gettimeofday() arguments])
5939 wx_cv_func_gettimeofday_has_2_args=unknown
5945 if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then
5946 AC_DEFINE(WX_GETTIMEOFDAY_NO_TZ)
5950 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
5953 dnl ------------------------------------------------------------------------
5955 dnl ------------------------------------------------------------------------
5957 dnl VZ: the GUI hooks wxSocket needs are not implemented yet in some toolkits
5958 if test "$wxUSE_SOCKETS" = "yes"; then
5959 if test "$wxUSE_MGL" = "1"; then
5960 AC_MSG_WARN([wxSocket not yet supported under MGL... disabled])
5965 if test "$wxUSE_SOCKETS" = "yes"; then
5966 dnl under MSW we always have sockets
5967 if test "$TOOLKIT" != "MSW"; then
5968 dnl under Solaris and OS/2, socket functions live in -lsocket
5969 AC_CHECK_FUNC(socket,,
5971 AC_CHECK_LIB(socket, socket,
5972 if test "$INET_LINK" != " -lsocket"; then
5973 INET_LINK="$INET_LINK -lsocket"
5976 AC_MSG_WARN([socket library not found - sockets will be disabled])
5985 if test "$wxUSE_SOCKETS" = "yes" ; then
5986 dnl this test may be appropriate if building under cygwin
5987 dnl right now I'm assuming it also uses the winsock stuff
5988 dnl like mingw does.. -- RL
5989 if test "$TOOLKIT" != "MSW"; then
5990 dnl determine the type of third argument for getsockname
5991 dnl This test needs to be done in C++ mode since gsocket.cpp now
5992 dnl is C++ code and pointer cast that are possible even without
5993 dnl warning in C still fail in C++.
5994 AC_CACHE_CHECK([what is the type of the third argument of getsockname],
5995 wx_cv_type_getsockname3,
5999 #include <sys/types.h>
6000 #include <sys/socket.h>
6004 getsockname(0, 0, &len);
6006 wx_cv_type_getsockname3=socklen_t,
6008 dnl the compiler will compile the version with size_t
6009 dnl even if the real type of the last parameter is int
6010 dnl but it should give at least a warning about
6011 dnl converting between incompatible pointer types, so
6012 dnl try to use it to get the correct behaviour at
6013 dnl least with gcc (otherwise we'd always use size_t)
6014 CXXFLAGS_OLD="$CXXFLAGS"
6015 if test "$GCC" = yes ; then
6016 CXXFLAGS="-Werror $CXXFLAGS"
6021 #include <sys/types.h>
6022 #include <sys/socket.h>
6026 getsockname(0, 0, &len);
6028 wx_cv_type_getsockname3=size_t,
6031 #include <sys/types.h>
6032 #include <sys/socket.h>
6036 getsockname(0, 0, &len);
6038 wx_cv_type_getsockname3=int,
6039 wx_cv_type_getsockname3=unknown
6043 CXXFLAGS="$CXXFLAGS_OLD"
6048 if test "$wx_cv_type_getsockname3" = "unknown"; then
6050 AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
6052 AC_DEFINE_UNQUOTED(WX_SOCKLEN_T, $wx_cv_type_getsockname3)
6054 dnl Do this again for getsockopt as it may be different
6055 AC_CACHE_CHECK([what is the type of the fifth argument of getsockopt],
6056 wx_cv_type_getsockopt5,
6060 #include <sys/types.h>
6061 #include <sys/socket.h>
6065 getsockopt(0, 0, 0, 0, &len);
6067 wx_cv_type_getsockopt5=socklen_t,
6069 dnl the compiler will compile the version with size_t
6070 dnl even if the real type of the last parameter is int
6071 dnl but it should give at least a warning about
6072 dnl converting between incompatible pointer types, so
6073 dnl try to use it to get the correct behaviour at
6074 dnl least with gcc (otherwise we'd always use size_t)
6075 CXXFLAGS_OLD="$CXXFLAGS"
6076 if test "$GCC" = yes ; then
6077 CXXFLAGS="-Werror $CXXFLAGS"
6082 #include <sys/types.h>
6083 #include <sys/socket.h>
6087 getsockopt(0, 0, 0, 0, &len);
6089 wx_cv_type_getsockopt5=size_t,
6092 #include <sys/types.h>
6093 #include <sys/socket.h>
6097 getsockopt(0, 0, 0, 0, &len);
6099 wx_cv_type_getsockopt5=int,
6100 wx_cv_type_getsockopt5=unknown
6104 CXXFLAGS="$CXXFLAGS_OLD"
6109 if test "$wx_cv_type_getsockopt5" = "unknown"; then
6111 AC_MSG_WARN([Couldn't find socklen_t synonym for this system])
6113 AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5)
6118 if test "$wxUSE_SOCKETS" = "yes" ; then
6119 AC_DEFINE(wxUSE_SOCKETS)
6120 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sockets"
6123 if test "$wxUSE_PROTOCOL" = "yes"; then
6124 if test "$wxUSE_SOCKETS" != "yes"; then
6125 AC_MSG_WARN(Protocol classes require sockets... disabled)
6130 if test "$wxUSE_PROTOCOL" = "yes"; then
6131 AC_DEFINE(wxUSE_PROTOCOL)
6133 if test "$wxUSE_PROTOCOL_HTTP" = "yes"; then
6134 AC_DEFINE(wxUSE_PROTOCOL_HTTP)
6136 if test "$wxUSE_PROTOCOL_FTP" = "yes"; then
6137 AC_DEFINE(wxUSE_PROTOCOL_FTP)
6139 if test "$wxUSE_PROTOCOL_FILE" = "yes"; then
6140 AC_DEFINE(wxUSE_PROTOCOL_FILE)
6143 if test "$wxUSE_FS_INET" = "yes"; then
6144 AC_MSG_WARN([HTTP filesystem require protocol classes... disabled])
6149 if test "$wxUSE_URL" = "yes"; then
6150 if test "$wxUSE_PROTOCOL" != "yes"; then
6151 AC_MSG_WARN(wxURL class requires wxProtocol... disabled)
6154 if test "$wxUSE_URL" = "yes"; then
6155 AC_DEFINE(wxUSE_URL)
6159 if test "$wxUSE_VARIANT" = "yes"; then
6160 AC_DEFINE(wxUSE_VARIANT)
6163 if test "$wxUSE_FS_INET" = "yes"; then
6164 AC_DEFINE(wxUSE_FS_INET)
6167 dnl ---------------------------------------------------------------------------
6168 dnl Joystick support
6169 dnl ---------------------------------------------------------------------------
6171 if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then
6174 dnl under MSW we always have joystick support
6175 if test "$TOOLKIT" = "MSW"; then
6178 dnl mac only available on darwin
6179 elif test "$TOOLKIT" = "MAC" -o "$TOOLKIT" = "COCOA"; then
6180 if test "$USE_DARWIN" = 1; then
6181 dnl check for a bug in the headers, some have bad setEventCallout
6182 AC_MSG_CHECKING([headers have declarations needed for joystick support])
6183 AC_TRY_COMPILE( [ #include <IOKit/hid/IOHIDLib.h> ],
6184 [ IOHIDQueueInterface *qi = NULL;
6185 IOHIDCallbackFunction cb = NULL;
6186 qi->setEventCallout(NULL, cb, NULL, NULL); ],
6187 [ wxUSE_JOYSTICK=yes ]
6189 AC_MSG_RESULT($wxUSE_JOYSTICK)
6192 dnl joystick support is only for Linux 2.1.x or greater
6194 AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes)
6197 if test "$wxUSE_JOYSTICK" = "yes"; then
6198 AC_DEFINE(wxUSE_JOYSTICK)
6199 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS joytest"
6201 AC_MSG_WARN(Joystick not supported by this system... disabled)
6206 dnl ---------------------------------------------------------------------------
6208 dnl ---------------------------------------------------------------------------
6210 if test "$wxUSE_FONTMAP" = "yes" ; then
6211 AC_DEFINE(wxUSE_FONTMAP)
6214 if test "$wxUSE_UNICODE" = "yes" ; then
6215 AC_DEFINE(wxUSE_UNICODE)
6217 if test "$USE_WIN32" != 1; then
6218 wxUSE_UNICODE_MSLU=no
6221 if test "$USE_WIN32" = 1 -a "$wxUSE_UNICODE_MSLU" = "yes"; then
6222 AC_CHECK_LIB(unicows,main,
6224 AC_DEFINE(wxUSE_UNICODE_MSLU)
6227 AC_MSG_WARN([Compiler doesn't support MSLU (libunicows.a), disabled.
6228 Applications will only run on Windows NT/2000/XP!])
6229 wxUSE_UNICODE_MSLU=no
6234 if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then
6235 AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF)
6238 dnl ----------------------------------------------------------------
6239 dnl Register PostScript options for makefiles and setup.h
6240 dnl ----------------------------------------------------------------
6242 if test "$wxUSE_POSTSCRIPT" = "yes" ; then
6243 AC_DEFINE(wxUSE_POSTSCRIPT)
6246 AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT)
6248 AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS)
6250 dnl ---------------------------------------------------------------------------
6251 dnl big GUI components: MDI, doc/view, printing, help, ...
6252 dnl ---------------------------------------------------------------------------
6254 if test "$wxUSE_CONSTRAINTS" = "yes"; then
6255 AC_DEFINE(wxUSE_CONSTRAINTS)
6256 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS layout"
6259 if test "$wxUSE_MDI" = "yes"; then
6260 AC_DEFINE(wxUSE_MDI)
6262 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
6263 AC_DEFINE(wxUSE_MDI_ARCHITECTURE)
6264 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mdi"
6268 if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then
6269 AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE)
6270 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview"
6271 if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
6272 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi"
6276 if test "$wxUSE_HELP" = "yes"; then
6277 AC_DEFINE(wxUSE_HELP)
6278 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS help"
6280 if test "$wxUSE_MSW" = 1; then
6281 if test "$wxUSE_MS_HTML_HELP" = "yes"; then
6282 AC_DEFINE(wxUSE_MS_HTML_HELP)
6286 if test "$wxUSE_WXHTML_HELP" = "yes"; then
6287 if test "$wxUSE_HTML" = "yes"; then
6288 AC_DEFINE(wxUSE_WXHTML_HELP)
6290 AC_MSG_WARN(Cannot use wxHTML-based help without wxHTML so it won't be compiled)
6291 wxUSE_WXHTML_HELP=no
6296 if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then
6297 if test "$wxUSE_CONSTRAINTS" != "yes"; then
6298 AC_MSG_WARN(Printing support cannot be used without constraints so it won't be compiled without it)
6300 AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE)
6302 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing"
6305 if test "$wxUSE_PROLOGIO" = "yes" -o "$wxUSE_RESOURCES" = "yes"; then
6306 AC_MSG_ERROR([wxExpr and old-style resources are now available in contrib only])
6309 dnl ---------------------------------------------------------------------------
6310 dnl wxMetafile availability
6311 dnl ---------------------------------------------------------------------------
6313 if test "$wxUSE_METAFILE" = "yes"; then
6314 if test "$wxUSE_MSW" != 1 -a "$wxUSE_MAC" != 1 -a "$wxUSE_PM" != 1; then
6315 AC_MSG_WARN([wxMetafile is not available on this system... disabled])
6320 dnl ---------------------------------------------------------------------------
6321 dnl IPC: IPC, Drag'n'Drop, Clipboard, ...
6322 dnl ---------------------------------------------------------------------------
6324 dnl check for ole headers and disable a few features requiring it if not
6325 dnl present (earlier versions of mingw32 don't have ole2.h)
6326 if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \
6327 -o "$wxUSE_CLIPBOARD" = "yes" \
6328 -o "$wxUSE_OLE" = "yes" \
6329 -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then
6330 AC_CHECK_HEADERS(ole2.h)
6332 if test "$ac_cv_header_ole2_h" = "yes" ; then
6333 if test "$GCC" = yes ; then
6334 AC_MSG_CHECKING([if g++ requires -fvtable-thunks])
6335 AC_TRY_COMPILE([#include <windows.h>
6338 [AC_MSG_RESULT(no)],
6340 WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fvtable-thunks"])
6341 LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
6342 if test "$wxUSE_OLE" = "yes" ; then
6343 AC_DEFINE(wxUSE_OLE)
6344 AC_DEFINE(wxUSE_OLE_AUTOMATION)
6345 AC_DEFINE(wxUSE_OLE_ACTIVEX)
6346 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS oleauto"
6350 dnl for OLE clipboard and dnd
6351 if test "$wxUSE_DATAOBJ" = "yes" ; then
6352 AC_DEFINE(wxUSE_DATAOBJ)
6355 AC_MSG_WARN([Some features disabled because OLE headers not found])
6358 wxUSE_DRAG_AND_DROP=no
6363 if test "$wxUSE_METAFILE" = "yes"; then
6364 AC_DEFINE(wxUSE_METAFILE)
6366 dnl this one should probably be made separately configurable
6367 AC_DEFINE(wxUSE_ENH_METAFILE)
6371 if test "$wxUSE_IPC" = "yes"; then
6372 if test "$wxUSE_SOCKETS" != "yes" -a "$USE_WIN32" != 1; then
6373 AC_MSG_WARN(wxWidgets IPC classes require sockets... disabled)
6377 if test "$wxUSE_IPC" = "yes"; then
6378 AC_DEFINE(wxUSE_IPC)
6379 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ipc"
6383 if test "$wxUSE_DATAOBJ" = "yes"; then
6384 if test "$wxUSE_MGL" = 1; then
6385 AC_MSG_WARN([wxDataObject not yet supported under MGL... disabled])
6388 AC_DEFINE(wxUSE_DATAOBJ)
6391 AC_MSG_WARN([Clipboard and drag-and-drop require wxDataObject -- disabled])
6393 wxUSE_DRAG_AND_DROP=no
6396 if test "$wxUSE_CLIPBOARD" = "yes"; then
6397 if test "$wxUSE_MGL" = 1; then
6398 AC_MSG_WARN([Clipboard not yet supported under MGL... disabled])
6402 if test "$wxUSE_CLIPBOARD" = "yes"; then
6403 AC_DEFINE(wxUSE_CLIPBOARD)
6407 if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
6408 if test "$wxUSE_GTK" = 1; then
6409 if test "$WXGTK12" != 1; then
6410 AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2... disabled])
6411 wxUSE_DRAG_AND_DROP=no
6415 if test "$wxUSE_MOTIF" = 1; then
6416 AC_MSG_WARN([Drag and drop not yet supported under Motif... disabled])
6417 wxUSE_DRAG_AND_DROP=no
6420 if test "$wxUSE_X11" = 1; then
6421 AC_MSG_WARN([Drag and drop not yet supported under X11... disabled])
6422 wxUSE_DRAG_AND_DROP=no
6425 if test "$wxUSE_MGL" = 1; then
6426 AC_MSG_WARN([Drag and drop not yet supported under MGL... disabled])
6427 wxUSE_DRAG_AND_DROP=no
6430 if test "$wxUSE_DRAG_AND_DROP" = "yes"; then
6431 AC_DEFINE(wxUSE_DRAG_AND_DROP)
6436 if test "$wxUSE_DRAG_AND_DROP" = "yes" -o "$wxUSE_CLIPBOARD" = "yes"; then
6437 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
6440 if test "$wxUSE_SPLINES" = "yes" ; then
6441 AC_DEFINE(wxUSE_SPLINES)
6444 if test "$wxUSE_MOUSEWHEEL" = "yes" ; then
6445 AC_DEFINE(wxUSE_MOUSEWHEEL)
6448 dnl ---------------------------------------------------------------------------
6450 dnl ---------------------------------------------------------------------------
6453 if test "$wxUSE_CONTROLS" = "yes"; then
6457 if test "$wxUSE_ACCEL" = "yes"; then
6458 AC_DEFINE(wxUSE_ACCEL)
6462 if test "$wxUSE_BUTTON" = "yes"; then
6463 AC_DEFINE(wxUSE_BUTTON)
6467 if test "$wxUSE_BMPBUTTON" = "yes"; then
6468 AC_DEFINE(wxUSE_BMPBUTTON)
6472 if test "$wxUSE_CALCTRL" = "yes"; then
6473 AC_DEFINE(wxUSE_CALENDARCTRL)
6475 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS calendar"
6478 if test "$wxUSE_CARET" = "yes"; then
6479 AC_DEFINE(wxUSE_CARET)
6481 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret"
6484 if test "$wxUSE_COMBOBOX" = "yes"; then
6485 AC_DEFINE(wxUSE_COMBOBOX)
6489 if test "$wxUSE_COMBOCTRL" = "yes"; then
6490 AC_DEFINE(wxUSE_COMBOCTRL)
6494 if test "$wxUSE_CHOICE" = "yes"; then
6495 AC_DEFINE(wxUSE_CHOICE)
6499 if test "$wxUSE_CHOICEBOOK" = "yes"; then
6500 AC_DEFINE(wxUSE_CHOICEBOOK)
6504 if test "$wxUSE_CHECKBOX" = "yes"; then
6505 AC_DEFINE(wxUSE_CHECKBOX)
6509 if test "$wxUSE_CHECKLST" = "yes"; then
6510 AC_DEFINE(wxUSE_CHECKLISTBOX)
6512 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst"
6515 if test "$wxUSE_COLOURPICKERCTRL" = "yes"; then
6516 AC_DEFINE(wxUSE_COLOURPICKERCTRL)
6520 if test "$wxUSE_DATEPICKCTRL" = "yes"; then
6521 AC_DEFINE(wxUSE_DATEPICKCTRL)
6525 if test "$wxUSE_DIRPICKERCTRL" = "yes"; then
6526 AC_DEFINE(wxUSE_DIRPICKERCTRL)
6530 if test "$wxUSE_FILEPICKERCTRL" = "yes"; then
6531 AC_DEFINE(wxUSE_FILEPICKERCTRL)
6535 if test "$wxUSE_FONTPICKERCTRL" = "yes"; then
6536 AC_DEFINE(wxUSE_FONTPICKERCTRL)
6540 if test "$wxUSE_DISPLAY" = "yes"; then
6541 AC_DEFINE(wxUSE_DISPLAY)
6542 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon"
6545 if test "$wxUSE_GAUGE" = "yes"; then
6546 AC_DEFINE(wxUSE_GAUGE)
6550 if test "$wxUSE_GRID" = "yes"; then
6551 AC_DEFINE(wxUSE_GRID)
6553 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
6556 if test "$wxUSE_HYPERLINKCTRL" = "yes"; then
6557 AC_DEFINE(wxUSE_HYPERLINKCTRL)
6561 if test "$wxUSE_BITMAPCOMBOBOX" = "yes"; then
6562 AC_DEFINE(wxUSE_BITMAPCOMBOBOX)
6566 if test "$wxUSE_DATAVIEWCTRL" = "yes"; then
6567 AC_DEFINE(wxUSE_DATAVIEWCTRL)
6569 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dataview"
6572 if test "$wxUSE_IMAGLIST" = "yes"; then
6573 AC_DEFINE(wxUSE_IMAGLIST)
6576 if test "$wxUSE_LISTBOOK" = "yes"; then
6577 AC_DEFINE(wxUSE_LISTBOOK)
6581 if test "$wxUSE_LISTBOX" = "yes"; then
6582 AC_DEFINE(wxUSE_LISTBOX)
6584 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listbox"
6587 if test "$wxUSE_LISTCTRL" = "yes"; then
6588 if test "$wxUSE_IMAGLIST" = "yes"; then
6589 AC_DEFINE(wxUSE_LISTCTRL)
6591 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS listctrl"
6593 AC_MSG_WARN([wxListCtrl requires wxImageList and won't be compiled without it])
6597 if test "$wxUSE_NOTEBOOK" = "yes"; then
6598 AC_DEFINE(wxUSE_NOTEBOOK)
6600 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
6603 if test "$wxUSE_ODCOMBOBOX" = "yes"; then
6604 AC_DEFINE(wxUSE_ODCOMBOBOX)
6606 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS combo"
6609 dnl if test "$wxUSE_PROPSHEET" = "yes"; then
6610 dnl AC_DEFINE(wxUSE_PROPSHEET)
6612 dnl SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS proplist"
6615 if test "$wxUSE_RADIOBOX" = "yes"; then
6616 AC_DEFINE(wxUSE_RADIOBOX)
6620 if test "$wxUSE_RADIOBTN" = "yes"; then
6621 AC_DEFINE(wxUSE_RADIOBTN)
6625 if test "$wxUSE_SASH" = "yes"; then
6626 AC_DEFINE(wxUSE_SASH)
6627 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
6630 if test "$wxUSE_SCROLLBAR" = "yes"; then
6631 AC_DEFINE(wxUSE_SCROLLBAR)
6633 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
6636 if test "$wxUSE_SLIDER" = "yes"; then
6637 AC_DEFINE(wxUSE_SLIDER)
6641 if test "$wxUSE_SPINBTN" = "yes"; then
6642 AC_DEFINE(wxUSE_SPINBTN)
6646 if test "$wxUSE_SPINCTRL" = "yes"; then
6647 AC_DEFINE(wxUSE_SPINCTRL)
6651 if test "$wxUSE_SPLITTER" = "yes"; then
6652 AC_DEFINE(wxUSE_SPLITTER)
6653 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splitter"
6656 if test "$wxUSE_STATBMP" = "yes"; then
6657 AC_DEFINE(wxUSE_STATBMP)
6661 if test "$wxUSE_STATBOX" = "yes"; then
6662 AC_DEFINE(wxUSE_STATBOX)
6666 if test "$wxUSE_STATTEXT" = "yes"; then
6667 AC_DEFINE(wxUSE_STATTEXT)
6671 if test "$wxUSE_STATLINE" = "yes"; then
6672 AC_DEFINE(wxUSE_STATLINE)
6676 if test "$wxUSE_STATUSBAR" = "yes"; then
6677 dnl this will get undefined in wx/chkconf.h if it's not supported
6678 AC_DEFINE(wxUSE_NATIVE_STATUSBAR)
6679 AC_DEFINE(wxUSE_STATUSBAR)
6682 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
6685 if test "$wxUSE_TAB_DIALOG" = "yes"; then
6686 AC_DEFINE(wxUSE_TAB_DIALOG)
6689 if test "$wxUSE_TEXTCTRL" = "yes"; then
6690 AC_DEFINE(wxUSE_TEXTCTRL)
6692 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS text"
6695 if test "$wxUSE_TOGGLEBTN" = "yes"; then
6696 if test "$wxUSE_COCOA" = 1 ; then
6697 AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
6701 if test "$wxUSE_TOGGLEBTN" = "yes"; then
6702 AC_DEFINE(wxUSE_TOGGLEBTN)
6707 if test "$wxUSE_TOOLBAR" = "yes"; then
6708 AC_DEFINE(wxUSE_TOOLBAR)
6711 if test "$wxUSE_UNIVERSAL" = "yes"; then
6712 wxUSE_TOOLBAR_NATIVE="no"
6714 wxUSE_TOOLBAR_NATIVE="yes"
6715 AC_DEFINE(wxUSE_TOOLBAR_NATIVE)
6718 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
6721 if test "$wxUSE_TOOLTIPS" = "yes"; then
6722 if test "$wxUSE_MOTIF" = 1; then
6723 AC_MSG_WARN([wxTooltip not supported yet under Motif... disabled])
6725 if test "$wxUSE_UNIVERSAL" = "yes"; then
6726 AC_MSG_WARN([wxTooltip not supported yet in wxUniversal... disabled])
6728 AC_DEFINE(wxUSE_TOOLTIPS)
6733 if test "$wxUSE_TREEBOOK" = "yes"; then
6734 AC_DEFINE(wxUSE_TREEBOOK)
6738 if test "$wxUSE_TOOLBOOK" = "yes"; then
6739 AC_DEFINE(wxUSE_TOOLBOOK)
6743 if test "$wxUSE_TREECTRL" = "yes"; then
6744 if test "$wxUSE_IMAGLIST" = "yes"; then
6745 AC_DEFINE(wxUSE_TREECTRL)
6747 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS treectrl"
6749 AC_MSG_WARN([wxTreeCtrl requires wxImageList and won't be compiled without it])
6753 if test "$wxUSE_POPUPWIN" = "yes"; then
6754 if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
6755 AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled])
6757 if test "$wxUSE_PM" = 1; then
6758 AC_MSG_WARN([wxPopupWindow not yet supported under PM... disabled])
6760 AC_DEFINE(wxUSE_POPUPWIN)
6761 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS popup"
6768 if test "$wxUSE_DIALUP_MANAGER" = "yes"; then
6769 if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then
6770 AC_MSG_WARN([Dialup manager not yet supported under Mac OS X... disabled])
6772 AC_DEFINE(wxUSE_DIALUP_MANAGER)
6773 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup"
6777 if test "$wxUSE_TIPWINDOW" = "yes"; then
6778 if test "$wxUSE_PM" = 1; then
6779 AC_MSG_WARN([wxTipWindow not yet supported under PM... disabled])
6781 AC_DEFINE(wxUSE_TIPWINDOW)
6785 if test "$USES_CONTROLS" = 1; then
6786 AC_DEFINE(wxUSE_CONTROLS)
6789 dnl ---------------------------------------------------------------------------
6791 dnl ---------------------------------------------------------------------------
6793 dnl please keep the settings below in alphabetical order
6794 if test "$wxUSE_ACCESSIBILITY" = "yes"; then
6795 AC_DEFINE(wxUSE_ACCESSIBILITY)
6796 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access"
6799 if test "$wxUSE_DC_CACHEING" = "yes"; then
6800 AC_DEFINE(wxUSE_DC_CACHEING)
6803 if test "$wxUSE_DRAGIMAGE" = "yes"; then
6804 AC_DEFINE(wxUSE_DRAGIMAGE)
6805 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag"
6808 if test "$wxUSE_EXCEPTIONS" = "yes"; then
6809 if test "$wxUSE_NO_EXCEPTIONS" = "yes" ; then
6810 AC_MSG_WARN([--enable-exceptions can't be used with --enable-no_exceptions])
6812 AC_DEFINE(wxUSE_EXCEPTIONS)
6813 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS except"
6818 if test "$wxUSE_HTML" = "yes"; then
6819 AC_DEFINE(wxUSE_HTML)
6821 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html html/about html/help html/helpview html/printing html/test html/virtual html/widget html/zip htlbox"
6822 if test "$wxUSE_MAC" = 1; then
6823 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html/htmlctrl"
6826 if test "$wxUSE_WEBKIT" = "yes"; then
6827 if test "$wxUSE_MAC" = 1 -a "$USE_DARWIN" = 1; then
6828 old_CPPFLAGS="$CPPFLAGS"
6829 CPPFLAGS="-x objective-c++ $CPPFLAGS"
6830 AC_CHECK_HEADER([WebKit/HIWebView.h],
6832 AC_DEFINE(wxUSE_WEBKIT)
6833 WEBKIT_LINK="-framework WebKit"
6836 AC_MSG_WARN([WebKit headers not found; disabling wxWebKit])
6839 [#include <Carbon/Carbon.h>])
6840 CPPFLAGS="$old_CPPFLAGS"
6841 elif test "$wxUSE_COCOA" = 1; then
6842 AC_DEFINE(wxUSE_WEBKIT)
6849 if test "$wxUSE_XRC" = "yes"; then
6850 if test "$wxUSE_XML" != "yes"; then
6851 AC_MSG_WARN([XML library not built, XRC resources disabled])
6854 AC_DEFINE(wxUSE_XRC)
6856 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS xrc"
6861 if test "$wxUSE_AUI" = "yes"; then
6862 AC_DEFINE(wxUSE_AUI)
6864 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS aui"
6867 if test "$wxUSE_MENUS" = "yes"; then
6868 AC_DEFINE(wxUSE_MENUS)
6869 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu"
6872 if test "$wxUSE_METAFILE" = "yes"; then
6873 AC_DEFINE(wxUSE_METAFILE)
6876 if test "$wxUSE_MIMETYPE" = "yes"; then
6877 AC_DEFINE(wxUSE_MIMETYPE)
6880 if test "$wxUSE_MINIFRAME" = "yes"; then
6881 AC_DEFINE(wxUSE_MINIFRAME)
6882 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
6885 if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then
6886 AC_DEFINE(wxUSE_SYSTEM_OPTIONS)
6887 if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \
6888 "$TOOLKIT" = "MOTIF" -o "$TOOLKIT" = "COCOA"; then
6889 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar"
6894 if test "$wxUSE_VALIDATORS" = "yes"; then
6895 AC_DEFINE(wxUSE_VALIDATORS)
6896 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
6899 if test "$wxUSE_PALETTE" = "yes" ; then
6900 AC_DEFINE(wxUSE_PALETTE)
6903 if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then
6904 dnl Must be done this late because -lunicows must be before all the other libs
6905 LIBS=" -lunicows $LIBS"
6909 if test "$wxUSE_RICHTEXT" = "yes"; then
6910 AC_DEFINE(wxUSE_RICHTEXT)
6912 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS richtext"
6915 if test "$wxUSE_GRAPHICS_CONTEXT" = "yes"; then
6916 AC_DEFINE(wxUSE_GRAPHICS_CONTEXT)
6919 dnl ---------------------------------------------------------------------------
6921 dnl ---------------------------------------------------------------------------
6923 if test "$wxUSE_IMAGE" = "yes" ; then
6924 AC_DEFINE(wxUSE_IMAGE)
6926 if test "$wxUSE_GIF" = "yes" ; then
6927 AC_DEFINE(wxUSE_GIF)
6930 if test "$wxUSE_PCX" = "yes" ; then
6931 AC_DEFINE(wxUSE_PCX)
6934 if test "$wxUSE_IFF" = "yes" ; then
6935 AC_DEFINE(wxUSE_IFF)
6938 if test "$wxUSE_PNM" = "yes" ; then
6939 AC_DEFINE(wxUSE_PNM)
6942 if test "$wxUSE_XPM" = "yes" ; then
6943 AC_DEFINE(wxUSE_XPM)
6946 if test "$wxUSE_ICO_CUR" = "yes" ; then
6947 AC_DEFINE(wxUSE_ICO_CUR)
6951 dnl ---------------------------------------------------------------------------
6953 dnl ---------------------------------------------------------------------------
6955 if test "$wxUSE_CHOICEDLG" = "yes"; then
6956 AC_DEFINE(wxUSE_CHOICEDLG)
6959 if test "$wxUSE_COLOURDLG" = "yes"; then
6960 AC_DEFINE(wxUSE_COLOURDLG)
6963 if test "$wxUSE_FILEDLG" = "yes"; then
6964 AC_DEFINE(wxUSE_FILEDLG)
6967 if test "$wxUSE_FINDREPLDLG" = "yes"; then
6968 AC_DEFINE(wxUSE_FINDREPLDLG)
6971 if test "$wxUSE_FONTDLG" = "yes"; then
6972 AC_DEFINE(wxUSE_FONTDLG)
6975 if test "$wxUSE_DIRDLG" = "yes"; then
6976 if test "$wxUSE_TREECTRL" != "yes"; then
6977 AC_MSG_WARN(wxDirDialog requires wxTreeCtrl so it won't be compiled without it)
6979 AC_DEFINE(wxUSE_DIRDLG)
6983 if test "$wxUSE_MSGDLG" = "yes"; then
6984 AC_DEFINE(wxUSE_MSGDLG)
6987 if test "$wxUSE_NUMBERDLG" = "yes"; then
6988 AC_DEFINE(wxUSE_NUMBERDLG)
6991 if test "$wxUSE_PROGRESSDLG" = "yes"; then
6992 if test "$wxUSE_CONSTRAINTS" != "yes"; then
6993 AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them)
6995 AC_DEFINE(wxUSE_PROGRESSDLG)
6999 if test "$wxUSE_SPLASH" = "yes"; then
7000 AC_DEFINE(wxUSE_SPLASH)
7001 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS splash"
7004 if test "$wxUSE_STARTUP_TIPS" = "yes"; then
7005 if test "$wxUSE_CONSTRAINTS" != "yes"; then
7006 AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them)
7008 AC_DEFINE(wxUSE_STARTUP_TIPS)
7012 if test "$wxUSE_TEXTDLG" = "yes"; then
7013 AC_DEFINE(wxUSE_TEXTDLG)
7016 if test "$wxUSE_WIZARDDLG" = "yes"; then
7017 AC_DEFINE(wxUSE_WIZARDDLG)
7018 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wizard"
7021 dnl ---------------------------------------------------------------------------
7023 dnl ---------------------------------------------------------------------------
7027 if test "$wxUSE_MEDIACTRL" = "yes"; then
7030 dnl -----------------------------------------------------------------------
7032 dnl -----------------------------------------------------------------------
7033 if test "$wxUSE_GTK" = 1; then
7034 wxUSE_GSTREAMER="no"
7036 dnl -------------------------------------------------------------------
7037 dnl Test for at least 0.8 gstreamer module from pkg-config
7038 dnl Even totem doesn't accept 0.9 evidently.
7040 dnl So, we first check to see if 0.10 if available - if not we
7041 dnl try the older 0.8 version
7042 dnl -------------------------------------------------------------------
7044 GST_VERSION_MINOR=10
7045 GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
7047 if test "$wxUSE_GSTREAMER8" = "no"; then
7048 PKG_CHECK_MODULES(GST,
7049 [gstreamer-$GST_VERSION gstreamer-plugins-base-$GST_VERSION gconf-2.0],
7051 wxUSE_GSTREAMER="yes"
7052 GST_LIBS="$GST_LIBS -lgstinterfaces-$GST_VERSION"
7055 AC_MSG_WARN([GStreamer 0.10 not available, falling back to 0.8])
7060 dnl check only for 0.8
7064 if test $GST_VERSION_MINOR = "8"; then
7065 GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
7066 PKG_CHECK_MODULES(GST,
7067 [gstreamer-$GST_VERSION gstreamer-interfaces-$GST_VERSION gstreamer-gconf-$GST_VERSION],
7068 wxUSE_GSTREAMER="yes",
7070 AC_MSG_WARN([GStreamer 0.8/0.10 not available.])
7075 if test "$wxUSE_GSTREAMER" = "yes"; then
7076 dnl system gstreamer package is compiled with Sun CC and outputs
7077 dnl CC-specific "-mt" in its flags, remove it for gcc compilation
7080 if "$GCC" = yes; then
7081 GST_CFLAGS=`echo $GST_CFLAGS | sed 's/-mt//'`
7082 GST_LIBS=`echo $GST_LIBS | sed 's/-mt//'`
7086 CPPFLAGS="$GST_CFLAGS $CPPFLAGS"
7087 LIBS="$GST_LIBS $LIBS"
7089 AC_DEFINE(wxUSE_GSTREAMER)
7095 if test $USE_MEDIA = 1; then
7096 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
7097 AC_DEFINE(wxUSE_MEDIACTRL)
7101 dnl ---------------------------------------------------------------------------
7102 dnl get the string with OS info - used by wxGetOsDescription() on MacOS X
7103 dnl ---------------------------------------------------------------------------
7105 if test "$cross_compiling" = "yes"; then
7106 dnl Use best guess from host as we can't use uname when cross compiling
7109 dnl attualy work out OS version
7110 OSINFO=`uname -s -r -m`
7111 OSINFO="\"$OSINFO\""
7114 AC_DEFINE_UNQUOTED(WXWIN_OS_DESCRIPTION, $OSINFO)
7116 dnl ---------------------------------------------------------------------------
7117 dnl define the variable containing the installation prefix (used in dcpsg.cpp)
7118 dnl ---------------------------------------------------------------------------
7120 if test "x$prefix" != "xNONE"; then
7123 wxPREFIX=$ac_default_prefix
7126 AC_DEFINE_UNQUOTED(wxINSTALL_PREFIX, "$wxPREFIX")
7129 dnl ---------------------------------------------------------------------------
7130 dnl define variables with all built libraries for wx-config
7131 dnl ---------------------------------------------------------------------------
7133 CORE_BASE_LIBS="net base"
7134 CORE_GUI_LIBS="adv core"
7136 if test "$wxUSE_XML" = "yes" ; then
7137 CORE_BASE_LIBS="xml $CORE_BASE_LIBS"
7139 if test "$wxUSE_ODBC" != "no" ; then
7140 CORE_BASE_LIBS="odbc $CORE_BASE_LIBS"
7141 CORE_GUI_LIBS="dbgrid $CORE_GUI_LIBS"
7143 if test "$wxUSE_HTML" = "yes" ; then
7144 CORE_GUI_LIBS="html $CORE_GUI_LIBS"
7146 if test "$wxUSE_DEBUGREPORT" = "yes" ; then
7147 CORE_GUI_LIBS="qa $CORE_GUI_LIBS"
7149 if test "$wxUSE_XRC" = "yes" ; then
7150 CORE_GUI_LIBS="xrc $CORE_GUI_LIBS"
7152 if test "$wxUSE_AUI" = "yes" ; then
7153 CORE_GUI_LIBS="aui $CORE_GUI_LIBS"
7156 if test "$wxUSE_GUI" != "yes"; then
7160 AC_SUBST(CORE_BASE_LIBS)
7161 AC_SUBST(CORE_GUI_LIBS)
7163 dnl ---------------------------------------------------------------------------
7164 dnl Output the makefiles and such from the results found above
7165 dnl ---------------------------------------------------------------------------
7167 dnl no more tests from here
7170 dnl all additional libraries (except wxWidgets itself) we link with
7172 if test "$wxUSE_MAC" = 1 ; then
7173 if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then
7174 if test "$USE_DARWIN" = 1; then
7175 LDFLAGS="$LDFLAGS -framework QuickTime"
7177 LDFLAGS="$LDFLAGS -lQuickTimeLib"
7180 if test "$USE_DARWIN" = 1; then
7181 LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework System"
7183 LDFLAGS="$LDFLAGS -lCarbonLib"
7186 if test "$wxUSE_COCOA" = 1 ; then
7187 LDFLAGS="$LDFLAGS -framework IOKit -framework Cocoa"
7188 if test "$wxUSE_MEDIACTRL" = "yes"; then
7189 LDFLAGS="$LDFLAGS -framework QuickTime"
7192 if test "$USE_DARWIN" = 1 -a "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1 ; then
7193 LDFLAGS="$LDFLAGS -framework IOKit -framework CoreServices -framework System -framework ApplicationServices"
7196 LIBS="$ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $DL_LINK $LIBS"
7198 if test "$wxUSE_GUI" = "yes"; then
7200 dnl TODO add checks that these samples will really compile (i.e. all the
7201 dnl library features they need are present)
7203 dnl TODO some samples are never built so far: mfc (requires VC++)
7204 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \
7205 dynamic erase event exec font image minimal mobile \
7206 mobile/wxedit mobile/styles propsize render \
7207 rotate shaped vscroll widgets"
7209 if test "$wxUSE_MONOLITHIC" != "yes"; then
7210 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
7212 if test "$TOOLKIT" = "MSW"; then
7213 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS regtest"
7214 if test "$wxUSE_UNIVERSAL" != "yes"; then
7215 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ownerdrw nativdlg"
7218 if test "$TOOLKIT" = "PM" -a "$wxUSE_UNIVERSAL" != "yes"; then
7219 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ownerdrw"
7222 SAMPLES_SUBDIRS="console"
7226 dnl C/C++ compiler options used to compile wxWidgets
7228 dnl check for icc before gcc as icc is also recognized as gcc
7229 if test "x$INTELCC" = "xyes" ; then
7230 dnl Warnings which can't be easily suppressed in C code are disabled:
7232 dnl remark #810: conversion from "x" to "y" may lose significant bits
7233 dnl remark #869: parameter "foo" was never referenced
7234 dnl remark #1572: floating-point equality and inequality comparisons
7236 dnl remark #1684: conversion from pointer to same-sized integral type
7238 dnl (for others see below)
7239 CWARNINGS="-Wall -wd810,869,981,1418,1572,1684"
7240 elif test "$GCC" = yes ; then
7241 CWARNINGS="-Wall -Wundef"
7244 if test "x$INTELCXX" = "xyes" ; then
7245 dnl Intel compiler gives some warnings which simply can't be worked
7246 dnl around or of which we have too many (810, 869) so it's impractical to
7247 dnl keep them enabled even if in theory it would be nice and some others
7248 dnl (279) are generated for standard macros and so there is nothing we can
7251 dnl remark #279: controlling expression is constant
7252 dnl remark #383: value copied to temporary, reference to temporary used
7253 dnl remark #444: destructor for base class "xxx" is not virtual
7254 dnl remark #810: conversion from "x" to "y" may lose significant bits
7255 dnl remark #869: parameter "foo" was never referenced
7256 dnl remark #981: operands are evaluated in unspecified order
7257 dnl remark #1418: external definition with no prior declaration
7258 dnl remark #1419: external declaration in primary source file
7259 CXXWARNINGS="-Wall -wd279,383,444,810,869,981,1418,1419"
7260 elif test "$GXX" = yes ; then
7261 dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror"
7262 CXXWARNINGS="-Wall -Wundef -Wno-ctor-dtor-privacy"
7266 dnl combine everything together and remove the extra white space while doing it
7267 WXCONFIG_CFLAGS=`echo $WXCONFIG_CFLAGS`
7268 WXCONFIG_CXXFLAGS=`echo $WXCONFIG_CFLAGS $WXCONFIG_CXXFLAGS`
7271 dnl add -I options we use during library compilation
7273 dnl note that the order is somewhat important: wxWidgets headers should
7274 dnl come first and the one with setup.h should be before $(top_srcdir)/include
7275 dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g.
7277 CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \
7278 -I\\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \
7279 -I\\${top_srcdir}/include $TOOLKIT_INCLUDE \
7282 C_AND_CXX_FLAGS="$DEBUG_CFLAGS $PROFILE_FLAGS $OPTIMISE_CFLAGS"
7283 CFLAGS=`echo $WXCONFIG_CFLAGS $CWARNINGS $C_AND_CXX_FLAGS $CFLAGS `
7284 CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $CXXWARNINGS $C_AND_CXX_FLAGS $CXXFLAGS `
7286 dnl now that we added WXCONFIG_CPPFLAGS to CPPFLAGS we can add the wx-config
7287 dnl only stuff to it
7288 WXCONFIG_CPPFLAGS=`echo $WXCONFIG_CPPFLAGS $WXCONFIG_ONLY_CPPFLAGS`
7291 if test "x$MWCC" = "xyes"; then
7292 dnl Correct MW 8.3 to be more similar to GCC. In particular we
7293 dnl must use <regex.h> from system not our local copy on OS X,
7294 dnl but must use local not system on OS 9.
7295 dnl The following should make all -I paths usable for <> includes
7296 dnl while first checking in real system paths. With 8.3 using
7297 dnl -gccincludes it will actually check local paths before system
7298 dnl even for <> which is totally wrong.
7300 dnl Note that because this absolutely needs to be before any -I
7301 dnl that we have to tack it on to the end of the compiler commandline.
7302 CC="$CC -cwd source -I-"
7303 CXX="$CXX -cwd source -I-"
7308 EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS"
7309 EXTRALIBS_XML="$EXPAT_LINK"
7310 EXTRALIBS_HTML="$MSPACK_LINK"
7311 EXTRALIBS_ODBC="$ODBC_LINK"
7312 if test "$wxUSE_GUI" = "yes"; then
7313 EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT`
7315 if test "$wxUSE_OPENGL" = "yes"; then
7316 EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS"
7319 LDFLAGS="$LDFLAGS $PROFILE_FLAGS"
7321 WXCONFIG_LIBS="$LIBS"
7323 dnl wx-config must output builtin 3rd party libs in --libs in static build:
7324 if test "$wxUSE_REGEX" = "builtin" ; then
7325 wxconfig_3rdparty="regex${lib_unicode_suffix} $wxconfig_3rdparty"
7327 if test "$wxUSE_EXPAT" = "builtin" ; then
7328 wxconfig_3rdparty="expat $wxconfig_3rdparty"
7330 if test "$wxUSE_ODBC" = "builtin" ; then
7331 wxconfig_3rdparty="odbc $wxconfig_3rdparty"
7333 if test "$wxUSE_LIBTIFF" = "builtin" ; then
7334 wxconfig_3rdparty="tiff $wxconfig_3rdparty"
7336 if test "$wxUSE_LIBJPEG" = "builtin" ; then
7337 wxconfig_3rdparty="jpeg $wxconfig_3rdparty"
7339 if test "$wxUSE_LIBPNG" = "builtin" ; then
7340 wxconfig_3rdparty="png $wxconfig_3rdparty"
7342 if test "$wxUSE_ZLIB" = "builtin" ; then
7343 wxconfig_3rdparty="zlib $wxconfig_3rdparty"
7346 for i in $wxconfig_3rdparty ; do
7347 WXCONFIG_LIBS="-lwx${i}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX} $WXCONFIG_LIBS"
7351 if test "x$wxUSE_UNIVERSAL" = "xyes" ; then
7354 case "$wxUNIV_THEMES" in
7356 AC_DEFINE(wxUSE_ALL_THEMES)
7360 for t in `echo $wxUNIV_THEMES | tr , ' ' | tr a-z A-Z`; do
7361 AC_DEFINE_UNQUOTED(wxUSE_THEME_$t)
7368 AC_SUBST(wxUSE_ZLIB)
7369 AC_SUBST(wxUSE_REGEX)
7370 AC_SUBST(wxUSE_EXPAT)
7371 AC_SUBST(wxUSE_ODBC)
7372 AC_SUBST(wxUSE_LIBJPEG)
7373 AC_SUBST(wxUSE_LIBPNG)
7374 AC_SUBST(wxUSE_LIBTIFF)
7376 if test $wxUSE_MONOLITHIC = "yes" ; then
7382 if test $wxUSE_PLUGINS = "yes" ; then
7388 if test $wxUSE_ODBC != "no" ; then
7394 if test "$wxUSE_DEBUGREPORT" = "yes" ; then
7400 if test $wxUSE_OFFICIAL_BUILD = "yes" ; then
7407 AC_SUBST(OFFICIAL_BUILD)
7408 AC_SUBST(WX_FLAVOUR)
7409 AC_SUBST(WX_LIB_FLAVOUR)
7412 AC_SUBST(MONOLITHIC)
7413 AC_SUBST(USE_PLUGINS)
7416 AC_SUBST(EXTRALIBS_XML)
7417 AC_SUBST(EXTRALIBS_HTML)
7418 AC_SUBST(EXTRALIBS_ODBC)
7419 AC_SUBST(EXTRALIBS_GUI)
7420 AC_SUBST(EXTRALIBS_OPENGL)
7421 AC_SUBST(EXTRALIBS_SDL)
7422 AC_SUBST(WITH_PLUGIN_SDL)
7423 AC_SUBST(EXTRALIBS_GNOMEPRINT)
7424 AC_SUBST(EXTRALIBS_GNOMEVFS)
7425 AC_SUBST(EXTRALIBS_HILDON)
7428 AC_SUBST(DEBUG_INFO)
7429 AC_SUBST(DEBUG_FLAG)
7430 TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr "[[A-Z]]" "[[a-z]]"`
7431 AC_SUBST(TOOLKIT_LOWERCASE)
7432 AC_SUBST(TOOLKIT_VERSION)
7433 AC_SUBST(SAMPLES_RPATH_FLAG)
7434 AC_SUBST(SAMPLES_RPATH_POSTLINK)
7435 AC_SUBST(HOST_SUFFIX)
7436 AC_SUBST(CPPUNIT_CFLAGS)
7437 AC_SUBST(CPPUNIT_LIBS)
7442 if test "$WXGTK20" = 1; then
7443 TOOLKIT_DESC="$TOOLKIT_DESC 2"
7444 if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
7445 TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomeprint";
7447 if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then
7448 TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomevfs"
7450 if test "$wxUSE_LIBHILDON" = "yes"; then
7451 TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon"
7454 if test "$TOOLKIT_EXTRA" != ""; then
7455 TOOLKIT_DESC="$TOOLKIT_DESC with support for `echo $TOOLKIT_EXTRA | tr -s ' '`"
7461 TOOLKIT_DESC=$TOOLKIT_LOWERCASE
7465 TOOLKIT_DESC="base only"
7469 if test "$wxUSE_WINE" = "yes"; then
7470 BAKEFILE_FORCE_PLATFORM=win32
7473 dnl ---------------------------------------------------------------------------
7474 dnl Add Universal binary support
7475 dnl Note we don't do this earlier because adding these cpp/ld flags could
7476 dnl cause configure tests to fail.
7477 dnl ---------------------------------------------------------------------------
7478 if test "$wxUSE_MAC" = 1 ; then
7479 if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then
7480 dnl --enable-universal_binary uses a default SDK (currently 10.4u)
7481 dnl --enable-universal_binary=SDK names a path to an SDK
7482 if test "x$wxUSE_UNIVERSAL_BINARY" == xyes; then
7483 OSX_UNIV_OPTS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
7485 dnl '' would mean universal with no SDK, which may be the case if
7486 dnl the compiler uses a sysroot by default
7487 OSX_UNIV_OPTS=${wxUSE_UNIVERSAL_BINARY:+"-isysroot '$wxUSE_UNIVERSAL_BINARY'"}
7489 OSX_UNIV_OPTS="$OSX_UNIV_OPTS -arch ppc -arch i386"
7490 CXXFLAGS="$OSX_UNIV_OPTS $CXXFLAGS"
7491 CFLAGS="$OSX_UNIV_OPTS $CFLAGS"
7492 LDFLAGS="$OSX_UNIV_OPTS $LDFLAGS"
7495 # TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)?
7496 # The makefile currently uses AR and RANLIB, which libtool apparently supercedes.
7499 AC_BAKEFILE([m4_include(autoconf_inc.m4)])
7502 dnl For now, we need to alter bk-deps not to generate deps
7503 dnl when we've configured a Universal binary build.
7504 dnl The next version of Bakefile will have the correct fix for this
7505 dnl at which time, this hack can be removed.
7507 if test "$wxUSE_MAC" = 1 ; then
7508 if test "x$wxUSE_UNIVERSAL_BINARY" != "xno" ; then
7509 sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp
7515 if test "$wxUSE_SHARED" = "yes"; then
7517 dnl We get the shared build linker from bakefile, since it
7518 dnl moved all the logic for this out of this file and into
7519 dnl its own macro. But it can't decide on whether to return
7520 dnl us $(VAR), ${VAR}, or the present expansion of VAR.
7521 dnl So normalise and expand everything here now, because its
7522 dnl not going to change inside wx-config anyway.
7523 sanitised_bakefile_mess=`echo "$SHARED_LD_CXX" | tr -d '()'`
7524 EXE_LINKER=`eval echo "$sanitised_bakefile_mess"`
7526 dnl Need addtional flag on OS/2, so override bakefiles value
7527 dnl (there currently is no suitable variable to which the
7528 dnl missing flags could be added, AFAICS. SN, 18.12.2004. )
7530 *-pc-os2_emx | *-pc-os2-emx )
7531 SHARED_LD_CC="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
7532 SHARED_LD_CXX="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o"
7533 cp -p ${srcdir}/src/os2/dllnames.sh .
7534 cp -p ${srcdir}/src/os2/dllar.sh .
7539 dnl No bakefile support for static builds, but this should be ok for most.
7540 EXE_LINKER="$CXX -o"
7543 if test "$wxUSE_OMF" = "yes"; then
7545 *-pc-os2_emx | *-pc-os2-emx )
7546 LDFLAGS="$LDFLAGS -Zlinker /EXEPACK"
7547 LDFLAGS_GUI="-Zlinker /PMTYPE:PM"
7548 WXCONFIG_LDFLAGS_GUI="-Zlinker /PMTYPE:PM"
7553 dnl find out if the compiler supports PCH
7555 dnl TODO: this should be in bakefile
7556 if test $GCC_PCH = 1 ; then
7557 CPPFLAGS="-DWX_PRECOMP $CPPFLAGS"
7560 dnl TOOLCHAIN_DEFS should be used for both wx and client code
7561 WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS $TOOLCHAIN_DEFS"
7563 dnl for convenience, sort the samples in alphabetical order
7565 dnl FIXME For some mysterious reasons, sometimes the directories are duplicated
7566 dnl in this list - hence uniq. But normally, this shouldn't be needed!
7568 dnl Unfortunately, there is a bug in OS/2's tr, such that
7569 dnl tr ' ' '\n' introduces DOS-like line breaks, whereas tr '\n' ' '
7570 dnl only removes the Unix-like part of the introduced line break.
7571 SAMPLES_SUBDIRS="`echo $SAMPLES_SUBDIRS | tr -s ' ' | tr ' ' '\n' | sort | uniq | tr '\n' ' '| tr -d '\r'`"
7573 dnl subtle bakefile goop.
7574 dnl Used in wx-config now too, as its STATIC_FLAG with different makeup.
7575 dnl I wish we would have called it something less likely to clash with
7580 AC_SUBST(WX_LIBRARY_BASENAME_NOGUI)
7581 AC_SUBST(WX_LIBRARY_BASENAME_GUI)
7585 AC_SUBST(AFMINSTALL)
7586 AC_SUBST(WIN32INSTALL)
7588 AC_SUBST(TOOLKIT_DIR)
7589 AC_SUBST(TOOLCHAIN_NAME)
7590 AC_SUBST(TOOLCHAIN_FULLNAME)
7592 dnl wx-config options
7593 AC_SUBST(host_alias)
7594 AC_SUBST(cross_compiling)
7595 AC_SUBST(WIDGET_SET)
7596 AC_SUBST(WX_RELEASE)
7597 AC_SUBST(WX_VERSION)
7598 AC_SUBST(WX_SUBVERSION)
7599 AC_SUBST(WX_CHARTYPE)
7600 AC_SUBST(WX_DEBUGTYPE)
7602 dnl note that in addition to the usual CPP/C/CXXFLAGS which are used for
7603 dnl building the library itself, we also have WXCONFIG_-prefixed variants which
7604 dnl are used when building the libraries using the library
7606 dnl so put anything which should be used only during the library build in, e.g.
7607 dnl CXXFLAGS, but put everything else (by default) into WXCONFIG_CXXFLAGS
7609 dnl and, finally, for some things which should be only used by wx-config but
7610 dnl not during the library compilation, use WXCONFIG_ONLY_CPPFLAGS which is
7611 dnl added to WXCONFIG_CPPFLAGS after adding the latter to CPPFLAGS
7612 AC_SUBST(WXCONFIG_CPPFLAGS)
7613 AC_SUBST(WXCONFIG_CFLAGS)
7614 AC_SUBST(WXCONFIG_CXXFLAGS)
7616 AC_SUBST(WXCONFIG_LIBS)
7617 AC_SUBST(WXCONFIG_RPATH)
7618 AC_SUBST(WXCONFIG_LDFLAGS_GUI)
7619 AC_SUBST(WXCONFIG_RESFLAGS)
7620 AC_SUBST(EXE_LINKER)
7622 dnl distribution vars
7626 dnl additional subdirectories where we will build
7627 AC_SUBST(SAMPLES_SUBDIRS)
7629 dnl additional libraries and linker settings
7631 AC_SUBST(LDFLAGS_GL)
7632 AC_SUBST(OPENGL_LIBS)
7633 AC_SUBST(DMALLOC_LIBS)
7634 AC_SUBST(WX_VERSION_TAG)
7636 dnl additional resurces settings
7641 AC_SUBST(RESPROGRAMOBJ)
7642 AC_SUBST(WX_RESOURCES_MACOSX_ASCII)
7643 AC_SUBST(WX_RESOURCES_MACOSX_DATA)
7645 dnl additional for Mac OS X
7647 AC_SUBST(LIBWXMACRES)
7648 AC_SUBST(POSTLINK_COMMAND)
7649 AC_SUBST(MACSETFILE)
7656 dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
7657 dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am
7658 dnl - and we do use it)
7662 AC_CONFIG_HEADERS([lib/wx/include/${TOOLCHAIN_FULLNAME}/wx/setup.h:setup.h.in])
7664 if test "$USE_WIN32" = 1; then
7671 $CPP $infile | sed 's/^# *[1-9].*//;s/^ *//;/./,/^$/!d' > $outdir/rcdefs.h
7675 infile="$srcdir/include/wx/msw/genrcdefs.h"
7676 outdir="lib/wx/include/$TOOLCHAIN_FULLNAME/wx/msw"
7681 AC_CONFIG_FILES([ lib/wx/config/${TOOLCHAIN_FULLNAME}:wx-config.in ],
7682 [ chmod +x lib/wx/config/${TOOLCHAIN_FULLNAME} ],
7683 [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
7685 AC_CONFIG_FILES([ lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}:wx-config-inplace.in ],
7686 [ chmod +x lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} ],
7687 [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ])
7689 AC_CONFIG_FILES([ version-script Makefile ])
7691 AC_CONFIG_COMMANDS([wx-config],
7693 ${LN_S} lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} wx-config
7695 [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}"
7699 dnl This would give us us build dir that in every significant way
7700 dnl resembles an installed wx in prefix=$builddir. It is troublesome
7701 dnl though in this form because AC_CONFIG_LINKS will fail for directories
7702 dnl on platforms that do not have symlinks.
7703 dnl AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR:include ])
7704 dnl AC_CONFIG_LINKS([ contrib/include ])
7706 if test "$wxWITH_SUBDIRS" != "no"; then
7707 dnl Configure samples, contrib etc. directories, but only if they are present:
7708 if test "$wxUSE_GUI" = "yes"; then
7709 SUBDIRS="samples demos utils contrib"
7710 else dnl we build wxBase only
7711 dnl there are no wxBase programs in contrib nor demos
7712 SUBDIRS="samples utils"
7714 dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected
7715 AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"])
7717 for subdir in `echo $SUBDIRS`; do
7718 if test -d ${srcdir}/${subdir} ; then
7719 if test "$wxUSE_GUI" = "yes"; then
7720 if test ${subdir} = "samples"; then
7721 dnl only take those samples which compile in the current
7722 dnl configuration and which exist
7723 makefiles="samples/Makefile.in $makefiles"
7724 for sample in `echo $SAMPLES_SUBDIRS`; do
7725 if test -d $srcdir/samples/$sample; then
7726 makefiles="samples/$sample/Makefile.in $makefiles"
7730 dnl assume that everything compiles for utils &c
7731 dnl any that shouldn't be built can be added to
7732 dnl DISABLED_UTILS, DISABLED_CONTRIB or DISABLED_DEMOS
7733 disabled_var=DISABLED_`echo $subdir | tr [[a-z]] [[A-Z]]`;
7734 eval "disabled=\$$disabled_var"
7735 disabled=/`echo X $disabled | sed 's@ @/|/@g'`/
7736 makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | egrep -v "$disabled"`
7738 else dnl we build wxBase only
7739 dnl don't take all samples/utils, just those which build with
7741 if test ${subdir} = "samples"; then
7742 makefiles="samples/Makefile.in samples/console/Makefile.in"
7743 elif test ${subdir} = "utils"; then
7745 for util in HelpGen tex2rtf ; do
7746 if test -d $srcdir/utils/$util ; then
7747 makefiles="utils/$util/Makefile.in \
7748 utils/$util/src/Makefile.in \
7752 else dnl assume that everything compiles for tests
7753 makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
7757 for mkin in $makefiles ; do
7758 mk=`echo $mkin | sed 's/Makefile\.in/Makefile/g'`
7759 AC_CONFIG_FILES([$mk])
7763 fi dnl wxWITH_SUBDIRS
7767 dnl report how we have been configured
7769 echo "Configured wxWidgets ${WX_VERSION} for \`${host}'"
7771 echo " Which GUI toolkit should wxWidgets use? ${TOOLKIT_DESC}"
7772 echo " Should wxWidgets be compiled into single library? ${wxUSE_MONOLITHIC:-yes}"
7774 echo " Should wxWidgets be compiled in debug mode? ${wxUSE_DEBUG:-no}"
7775 echo " Should wxWidgets be linked as a shared library? ${wxUSE_SHARED:-no}"
7776 echo " Should wxWidgets be compiled in Unicode mode? ${wxUSE_UNICODE:-no}"
7778 echo " What level of wxWidgets compatibility should be enabled?"
7779 echo " wxWidgets 2.4 ${WXWIN_COMPATIBILITY_2_4:-no}"
7780 echo " wxWidgets 2.6 ${WXWIN_COMPATIBILITY_2_6:-yes}"
7782 echo " Which libraries should wxWidgets use?"
7783 echo " jpeg ${wxUSE_LIBJPEG-none}"
7784 echo " png ${wxUSE_LIBPNG-none}"
7785 echo " regex ${wxUSE_REGEX}"
7786 echo " tiff ${wxUSE_LIBTIFF-none}"
7787 if test "$wxUSE_X11" = 1 -o "$wxUSE_MOTIF" = 1; then
7788 echo " xpm ${wxUSE_LIBXPM-none}"
7790 echo " zlib ${wxUSE_ZLIB}"
7791 echo " odbc ${wxUSE_ODBC}"
7792 echo " expat ${wxUSE_EXPAT}"
7793 echo " libmspack ${wxUSE_LIBMSPACK}"
7794 echo " sdl ${wxUSE_LIBSDL}"
7798 dnl vi: set et sts=4 sw=4 com=\:dnl: