X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c2e9ada4985eef5711d0fcecf2da42efdc604c5d..a60a5499953215f46062de58c0fe5df7b3a27a60:/configure.in diff --git a/configure.in b/configure.in index 0e4f13f2b1..1dfe34170f 100644 --- a/configure.in +++ b/configure.in @@ -17,7 +17,7 @@ dnl --------------------------------------------------------------------------- dnl initialization dnl --------------------------------------------------------------------------- -AC_INIT([wxWidgets], [2.7.0], [wx-dev@lists.wxwidgets.org]) +AC_INIT([wxWidgets], [2.7.1], [wx-dev@lists.wxwidgets.org]) dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package AC_CONFIG_SRCDIR([wx-config.in]) @@ -34,8 +34,8 @@ dnl wx_release_number += 1 wx_major_version_number=2 wx_minor_version_number=7 -wx_release_number=0 -wx_subrelease_number=0 +wx_release_number=1 +wx_subrelease_number=3 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number WX_VERSION=$WX_RELEASE.$wx_release_number @@ -89,7 +89,7 @@ NEEDS_D_REENTRANT_FOR_R_FUNCS=0 dnl the list of all available toolkits dnl dnl update NUM_TOOLKITS calculation below when adding a new toolkit here! -ALL_TOOLKITS="COCOA GTK MAC MGL MICROWIN MOTIF MSW PM X11" +ALL_TOOLKITS="COCOA GTK MAC MGL MICROWIN MOTIF MSW PM X11 DFB" dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones dnl which are either yes or no @@ -102,6 +102,7 @@ DEFAULT_wxUSE_MOTIF=0 DEFAULT_wxUSE_MSW=0 DEFAULT_wxUSE_PM=0 DEFAULT_wxUSE_X11=0 +DEFAULT_wxUSE_DFB=0 dnl these are the values which are really default for the given platform - dnl they're not cached and are only used if no --with-toolkit was given *and* @@ -115,6 +116,7 @@ DEFAULT_DEFAULT_wxUSE_MOTIF=0 DEFAULT_DEFAULT_wxUSE_MSW=0 DEFAULT_DEFAULT_wxUSE_PM=0 DEFAULT_DEFAULT_wxUSE_X11=0 +DEFAULT_DEFAULT_wxUSE_DFB=0 PROGRAM_EXT= SO_SUFFIX=so @@ -262,7 +264,6 @@ case "${host}" in SO_SUFFIX=dll PROGRAM_EXT=".exe" DEFAULT_DEFAULT_wxUSE_MSW=1 - DEFAULT_STD_FLAG=no ;; *-pc-msdosdjgpp ) @@ -340,6 +341,9 @@ case "${host}" in *) AC_MSG_WARN([*** System type ${host} is unknown, assuming generic Unix and continuing nevertheless.]) AC_MSG_WARN([*** Please report the build results to wx-dev@lists.wxwidgets.org.]) + + DEFAULT_DEFAULT_wxUSE_X11=1 + DEFAULT_wxUSE_SHARED=no esac dnl --------------------------------------------------------------------------- @@ -365,7 +369,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_THREADS=yes - DEFAULT_wxUSE_SHARED=yes + DEFAULT_wxUSE_SHARED=${DEFAULT_wxUSE_SHARED:-yes} DEFAULT_wxUSE_OPTIMISE=no DEFAULT_wxUSE_PROFILE=no DEFAULT_wxUSE_NO_DEPS=no @@ -471,7 +475,9 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_PROTOCOL_FTP=no DEFAULT_wxUSE_PROTOCOL_FILE=no DEFAULT_wxUSE_URL=no + DEFAULT_wxUSE_VARIANT=no + DEFAULT_wxUSE_ABOUTDLG=no DEFAULT_wxUSE_COMMONDLGS=no DEFAULT_wxUSE_CHOICEDLG=no DEFAULT_wxUSE_COLOURDLG=no @@ -500,11 +506,14 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_BUSYINFO=no DEFAULT_wxUSE_ARCHIVE_STREAMS=no DEFAULT_wxUSE_ZIPSTREAM=no + DEFAULT_wxUSE_BACKINGFILE=no DEFAULT_wxUSE_VALIDATORS=no DEFAULT_wxUSE_ACCEL=no + DEFAULT_wxUSE_ANIMATIONCTRL=no DEFAULT_wxUSE_BUTTON=no DEFAULT_wxUSE_BMPBUTTON=no + DEFAULT_wxUSE_BITMAPCOMBOBOX=no DEFAULT_wxUSE_CALCTRL=no DEFAULT_wxUSE_CARET=no DEFAULT_wxUSE_CHECKBOX=no @@ -516,10 +525,12 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_COMBOCTRL=no DEFAULT_wxUSE_DATEPICKCTRL=no DEFAULT_wxUSE_DISPLAY=no + DEFAULT_wxUSE_DETECT_SM=no DEFAULT_wxUSE_DIRPICKERCTRL=no DEFAULT_wxUSE_FILEPICKERCTRL=no DEFAULT_wxUSE_FONTPICKERCTRL=no DEFAULT_wxUSE_GAUGE=no + DEFAULT_wxUSE_GRAPHICS_CONTEXT=no DEFAULT_wxUSE_GRID=no DEFAULT_wxUSE_HYPERLINKCTRL=no DEFAULT_wxUSE_DATAVIEWCTRL=no @@ -547,7 +558,6 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_TOGGLEBTN=no DEFAULT_wxUSE_TOOLBAR=no DEFAULT_wxUSE_TOOLBAR_NATIVE=no - DEFAULT_wxUSE_TOOLBAR_SIMPLE=no DEFAULT_wxUSE_TREEBOOK=no DEFAULT_wxUSE_TOOLBOOK=no DEFAULT_wxUSE_TREECTRL=no @@ -579,7 +589,7 @@ else DEFAULT_wxUSE_THREADS=yes - DEFAULT_wxUSE_SHARED=yes + DEFAULT_wxUSE_SHARED=${DEFAULT_wxUSE_SHARED:-yes} DEFAULT_wxUSE_OPTIMISE=yes DEFAULT_wxUSE_PROFILE=no DEFAULT_wxUSE_NO_DEPS=no @@ -638,7 +648,7 @@ else DEFAULT_wxUSE_SOUND=yes DEFAULT_wxUSE_MEDIACTRL=no DEFAULT_wxUSE_GSTREAMER8=no - DEFAULT_wxUSE_PRINTF_POS_PARAMS=no + DEFAULT_wxUSE_PRINTF_POS_PARAMS=yes DEFAULT_wxUSE_INTL=yes DEFAULT_wxUSE_CONFIG=yes DEFAULT_wxUSE_FONTMAP=yes @@ -684,7 +694,9 @@ else DEFAULT_wxUSE_PROTOCOL_FTP=yes DEFAULT_wxUSE_PROTOCOL_FILE=yes DEFAULT_wxUSE_URL=yes + DEFAULT_wxUSE_VARIANT=yes + DEFAULT_wxUSE_ABOUTDLG=yes DEFAULT_wxUSE_COMMONDLGS=yes DEFAULT_wxUSE_CHOICEDLG=yes DEFAULT_wxUSE_COLOURDLG=yes @@ -713,11 +725,14 @@ else DEFAULT_wxUSE_BUSYINFO=yes DEFAULT_wxUSE_ARCHIVE_STREAMS=yes DEFAULT_wxUSE_ZIPSTREAM=yes + DEFAULT_wxUSE_BACKINGFILE=yes DEFAULT_wxUSE_VALIDATORS=yes DEFAULT_wxUSE_ACCEL=yes + DEFAULT_wxUSE_ANIMATIONCTRL=yes DEFAULT_wxUSE_BUTTON=yes DEFAULT_wxUSE_BMPBUTTON=yes + DEFAULT_wxUSE_BITMAPCOMBOBOX=yes DEFAULT_wxUSE_CALCTRL=yes DEFAULT_wxUSE_CARET=yes DEFAULT_wxUSE_CHECKBOX=yes @@ -729,11 +744,13 @@ else DEFAULT_wxUSE_COMBOCTRL=yes DEFAULT_wxUSE_DATEPICKCTRL=yes DEFAULT_wxUSE_DISPLAY=yes + DEFAULT_wxUSE_DETECT_SM=yes DEFAULT_wxUSE_DIRPICKERCTRL=yes DEFAULT_wxUSE_FILEPICKERCTRL=yes DEFAULT_wxUSE_FONTPICKERCTRL=yes DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes + DEFAULT_wxUSE_GRAPHICS_CONTEXT=no DEFAULT_wxUSE_HYPERLINKCTRL=yes DEFAULT_wxUSE_DATAVIEWCTRL=no DEFAULT_wxUSE_IMAGLIST=yes @@ -760,7 +777,6 @@ else DEFAULT_wxUSE_TOGGLEBTN=yes DEFAULT_wxUSE_TOOLBAR=yes DEFAULT_wxUSE_TOOLBAR_NATIVE=yes - DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes DEFAULT_wxUSE_TREEBOOK=yes DEFAULT_wxUSE_TOOLBOOK=yes DEFAULT_wxUSE_TREECTRL=yes @@ -838,6 +854,7 @@ AC_ARG_WITH(wine, [ --with-wine use Wine], [wxUSE_WINE="$w AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(pm, [ --with-pm use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(mgl, [ --with-mgl use SciTech MGL], [wxUSE_MGL="$withval" wxUSE_UNIVERSAL="yes" CACHE_MGL=1 TOOLKIT_GIVEN=1]) +AC_ARG_WITH(directfb, [ --with-directfb use DirectFB], [wxUSE_DFB="$withval" wxUSE_UNIVERSAL="yes" CACHE_DFB=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(microwin, [ --with-microwin use MicroWindows], [wxUSE_MICROWIN="$withval" CACHE_MICROWIN=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(x11, [ --with-x11 use X11], [wxUSE_X11="$withval" wxUSE_UNIVERSAL="yes" CACHE_X11=1 TOOLKIT_GIVEN=1]) WX_ARG_ENABLE(nanox, [ --enable-nanox use NanoX], wxUSE_NANOX) @@ -856,6 +873,10 @@ WX_ARG_WITH(gnomevfs, [ --with-gnomevfs use GNOME VFS for associat WX_ARG_WITH(hildon, [ --with-hildon use Hildon framework for Nokia 770], wxUSE_LIBHILDON) WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL) +if test "$wxUSE_UNIVERSAL" = "yes"; then + AC_ARG_WITH(themes, [ --with-themes=all|list use only the specified comma-separated list of wxUniversal themes], [wxUNIV_THEMES="$withval"]) +fi + fi dnl for GUI only @@ -926,6 +947,7 @@ WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communi dnl please keep the settings below in alphabetical order WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE) WX_ARG_ENABLE(arcstream, [ --enable-arcstream use wxArchive streams], wxUSE_ARCHIVE_STREAMS) +WX_ARG_ENABLE(backingfile, [ --enable-backingfile use wxBackingFile], wxUSE_BACKINGFILE) WX_ARG_ENABLE(backtrace, [ --enable-backtrace use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER) WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION) WX_ARG_ENABLE(cmdline, [ --enable-cmdline use wxCmdLineParser class], wxUSE_CMDLINE_PARSER) @@ -959,11 +981,12 @@ WX_ARG_ENABLE(timer, [ --enable-timer use wxTimer class], wxUS WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE) WX_ARG_ENABLE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND) WX_ARG_ENABLE(mediactrl, [ --enable-mediactrl use wxMediaCtrl class], wxUSE_MEDIACTRL) -WX_ARG_ENABLE(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8) +WX_ARG_ENABLE(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8) WX_ARG_ENABLE(printfposparam,[ --enable-printfposparam use wxVsnprintf() which supports positional parameters], wxUSE_PRINTF_POS_PARAMS) WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZip streams], wxUSE_ZIPSTREAM) WX_ARG_ENABLE(url, [ --enable-url use wxURL class], wxUSE_URL) +WX_ARG_ENABLE(variant, [ --enable-variant use wxVariant class], wxUSE_VARIANT) WX_ARG_ENABLE(protocol, [ --enable-protocol use wxProtocol class], wxUSE_PROTOCOL) WX_ARG_ENABLE(protocol_http, [ --enable-protocol-http HTTP support in wxProtocol], wxUSE_PROTOCOL_HTTP) WX_ARG_ENABLE(protocol_ftp, [ --enable-protocol-ftp FTP support in wxProtocol], wxUSE_PROTOCOL_FTP) @@ -998,6 +1021,7 @@ WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LO WX_ARG_ENABLE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG) WX_ARG_ENABLE(webkit, [ --enable-webkit use wxWebKitCtrl (Mac)], wxUSE_WEBKIT) WX_ARG_ENABLE(html, [ --enable-richtext use wxRichTextCtrl], wxUSE_RICHTEXT) +WX_ARG_ENABLE(graphics_ctx, [ --enable-graphics_ctx use graphics context 2D drawing API], wxUSE_GRAPHICS_CONTEXT) dnl --------------------------------------------------------------------------- dnl PostScript options @@ -1036,6 +1060,7 @@ dnl --disable- later on the command line - but by default all will be dnl used (and vice versa) if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_ACCEL=yes + DEFAULT_wxUSE_ANIMATIONCTRL=yes DEFAULT_wxUSE_BMPBUTTON=yes DEFAULT_wxUSE_BUTTON=yes DEFAULT_wxUSE_CALCTRL=yes @@ -1049,6 +1074,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_COMBOBOX=yes DEFAULT_wxUSE_DATEPICKCTRL=yes DEFAULT_wxUSE_DISPLAY=yes + DEFAULT_wxUSE_DETECT_SM=yes DEFAULT_wxUSE_DIRPICKERCTRL=yes DEFAULT_wxUSE_FILEPICKERCTRL=yes DEFAULT_wxUSE_FONTPICKERCTRL=yes @@ -1077,7 +1103,6 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_TOGGLEBTN=yes DEFAULT_wxUSE_TOOLBAR=yes DEFAULT_wxUSE_TOOLBAR_NATIVE=yes - DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes DEFAULT_wxUSE_TOOLTIPS=yes DEFAULT_wxUSE_TREEBOOK=yes DEFAULT_wxUSE_TOOLBOOK=yes @@ -1086,6 +1111,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_TIPWINDOW=yes elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_ACCEL=no + DEFAULT_wxUSE_ANIMATIONCTRL=no DEFAULT_wxUSE_BMPBUTTON=no DEFAULT_wxUSE_BUTTON=no DEFAULT_wxUSE_CALCTRL=no @@ -1099,6 +1125,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_COMBOBOX=no DEFAULT_wxUSE_DATEPICKCTRL=no DEFAULT_wxUSE_DISPLAY=no + DEFAULT_wxUSE_DETECT_SM=no DEFAULT_wxUSE_DIRPICKERCTRL=no DEFAULT_wxUSE_FILEPICKERCTRL=no DEFAULT_wxUSE_FONTPICKERCTRL=no @@ -1127,7 +1154,6 @@ elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_TOGGLEBTN=no DEFAULT_wxUSE_TOOLBAR=no DEFAULT_wxUSE_TOOLBAR_NATIVE=no - DEFAULT_wxUSE_TOOLBAR_SIMPLE=no DEFAULT_wxUSE_TOOLTIPS=no DEFAULT_wxUSE_TREEBOOK=no DEFAULT_wxUSE_TOOLBOOK=no @@ -1137,8 +1163,10 @@ elif test "$wxUSE_CONTROLS" = "no"; then fi WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL) +WX_ARG_ENABLE(animatectrl, [ --enable-animatectrl use wxAnimationCtrl class], wxUSE_ANIMATIONCTRL) WX_ARG_ENABLE(button, [ --enable-button use wxButton class], wxUSE_BUTTON) WX_ARG_ENABLE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class], wxUSE_BMPBUTTON) +WX_ARG_ENABLE(bmpcombobox, [ --enable-bmpcombobox use wxBitmapComboBox class], wxUSE_BITMAPCOMBOBOX) WX_ARG_ENABLE(calendar, [ --enable-calendar use wxCalendarCtrl class], wxUSE_CALCTRL) WX_ARG_ENABLE(caret, [ --enable-caret use wxCaret class], wxUSE_CARET) WX_ARG_ENABLE(checkbox, [ --enable-checkbox use wxCheckBox class], wxUSE_CHECKBOX) @@ -1151,6 +1179,7 @@ WX_ARG_ENABLE(comboctrl, [ --enable-comboctrl use wxComboCtrl class], wx WX_ARG_ENABLE(datepick, [ --enable-datepick use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL) WX_ARG_ENABLE(dirpicker, [ --enable-dirpicker use wxDirPickerCtrl class], wxUSE_DIRPICKERCTRL) WX_ARG_ENABLE(display, [ --enable-display use wxDisplay class], wxUSE_DISPLAY) +WX_ARG_ENABLE(detect_sm, [ --enable-detect_sm use code to detect X11 session manager], wxUSE_DETECT_SM) WX_ARG_ENABLE(filepicker, [ --enable-filepicker use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL) WX_ARG_ENABLE(fontpicker, [ --enable-fontpicker use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL) WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE) @@ -1181,7 +1210,6 @@ WX_ARG_ENABLE(textctrl, [ --enable-textctrl use wxTextCtrl class], wxU WX_ARG_ENABLE(togglebtn, [ --enable-togglebtn use wxToggleButton class], wxUSE_TOGGLEBTN) WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUSE_TOOLBAR) WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE) -WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE) WX_ARG_ENABLE(treebook, [ --enable-treebook use wxTreebook class], wxUSE_TREEBOOK) WX_ARG_ENABLE(toolbook, [ --enable-toolbook use wxToolbook class], wxUSE_TOOLBOOK) WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL) @@ -1193,6 +1221,7 @@ dnl common dialogs dnl --------------------------------------------------------------------------- WX_ARG_ENABLE(commondlg, [ --enable-commondlg use all common dialogs], wxUSE_COMMONDLGS) +WX_ARG_ENABLE(aboutdlg, [ --enable-aboutdlg use wxAboutBox], wxUSE_ABOUTDLG) WX_ARG_ENABLE(choicedlg, [ --enable-choicedlg use wxChoiceDialog], wxUSE_CHOICEDLG) WX_ARG_ENABLE(coldlg, [ --enable-coldlg use wxColourDialog], wxUSE_COLOURDLG) WX_ARG_ENABLE(filedlg, [ --enable-filedlg use wxFileDialog], wxUSE_FILEDLG) @@ -1322,7 +1351,7 @@ if test "$wxUSE_GUI" = "yes"; then dnl we suppose that expr is available (maybe there is a better way to do dnl this? what about using ALL_TOOLKITS? TODO) NUM_TOOLKITS=`expr ${wxUSE_COCOA:-0} + ${wxUSE_GTK:-0} + ${wxUSE_MAC:-0} \ - + ${wxUSE_MGL:-0} + ${wxUSE_MICROWIN:-0} \ + + ${wxUSE_MGL:-0} + ${wxUSE_DFB:-0} + ${wxUSE_MICROWIN:-0} \ + ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} + ${wxUSE_X11:-0}` dnl Allow wxUSE_PM only for OS/2 with EMX. @@ -1688,11 +1717,11 @@ case "${host}" in #else "Innotek6" #endif - ); + ); exit(0); } ], - wx_cv_gccversion=`cat conftestval`, + wx_cv_gccversion=`cat conftestval`, wx_cv_gccversion="EMX2", dnl Compilation error: Assuming standard EMX environment wx_cv_gccversion="EMX2" @@ -1930,6 +1959,31 @@ else fi fi +dnl Check if variadic macros (C99 feature) are supported: +AC_CACHE_CHECK( + [whether the compiler supports variadic macros], + [wx_cv_have_variadic_macros], + [ + AC_COMPILE_IFELSE( + AC_LANG_PROGRAM( + [ + #include + #define test(fmt, ...) printf(fmt, __VA_ARGS__) + ], + [ + test("%s %d %p", "test", 1, 0); + ] + ), + [wx_cv_have_variadic_macros=yes], + [wx_cv_have_variadic_macros=no] + ) + ] +) + +if test $wx_cv_have_variadic_macros = "yes"; then + AC_DEFINE(HAVE_VARIADIC_MACROS) +fi + dnl check for large file support AC_SYS_LARGEFILE @@ -2829,6 +2883,15 @@ if test "$USE_WIN32" = 1 ; then dnl install Win32-specific files in "make install" WIN32INSTALL=win32install + + dnl the jpeg header jmorecfg.h delcares the type boolean, which conflicts + dnl on systems which declare it in the system headers. If HAVE_BOOLEAN is + dnl defined then jmorecfg.h doesn't declare it, so checking for it here + dnl solves the problem. + AC_CHECK_TYPES(boolean, [], [], [#include ]) + + dnl pbt.h is missing on Wine at least + AC_CHECK_HEADERS(pbt.h, [], [AC_DEFINE(NEED_PBT_H)]) fi if test "$wxUSE_GUI" = "yes"; then @@ -2977,20 +3040,9 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config dnl that have shipped with some versions of Sun's JDS. Not using dnl AC_CHECK_FUNCS here since it only checks the function exists dnl in the lib (not the header). - AC_MSG_CHECKING([if gtk_icon_size_lookup is missing]) - AC_TRY_COMPILE([ - #include - ], - [ - void *f = gtk_icon_size_lookup; - ], - [ - AC_MSG_RESULT([no]) - ], - [ - AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP) - AC_MSG_RESULT([yes]) - ]) + AC_CHECK_DECLS([gtk_icon_size_lookup], [], + [AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP)], + [#include ]) dnl test if we have at least GTK+ 2.6: AC_MSG_CHECKING([if GTK+ is version >= 2.6]) @@ -3040,6 +3092,9 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config AC_MSG_WARN([Unicode configuration not supported with GTK+ 1.x]) wxUSE_UNICODE=no fi + + dnl test for XIM support in libgdk + AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM)) fi AC_LANG_POP @@ -3057,10 +3112,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config TOOLKIT=GTK GUIDIST=GTK_DIST - dnl test for XIM support in libgdk - AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM)) - - dnl test for external libxpm if we're configured to use it if test "$wxUSE_GPE" = "yes"; then AC_MSG_CHECKING(for gpewidget library) @@ -3156,6 +3207,24 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config GUIDIST=MGL_DIST fi + if test "$wxUSE_DFB" = 1; then + PKG_PROG_PKG_CONFIG() + + PKG_CHECK_MODULES(DIRECTFB, + [directfb >= 0.9.22], + [ + wxUSE_UNIVERSAL="yes" + TOOLKIT_INCLUDE="$DIRECTFB_CFLAGS" + GUI_TK_LIBRARY="$DIRECTFB_LIBS" + TOOLKIT=DFB + GUIDIST=DFB_DIST + ], + [ + AC_MSG_ERROR([DirectFB not found.]) + ] + ) + fi + if test "$wxUSE_MICROWIN" = 1; then AC_MSG_CHECKING(for MicroWindows) if test "x$MICROWINDOWS" = x ; then @@ -3217,42 +3286,44 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config fi if test "$wxUSE_UNICODE" = "yes"; then - PKG_CHECK_MODULES(PANGOX, pangox, - [ - CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS" - GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS" - ], - [ - AC_MSG_ERROR([pangox library not found, library cannot be compiled in Unicode mode]) - ] - ) - PKG_CHECK_MODULES(PANGOFT2, pangoft2, - [ - CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS" - GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS" - ], - [ - AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support]) - wxUSE_PRINTING_ARCHITECTURE="no" - ] - ) - PKG_CHECK_MODULES(PANGOXFT, pangoxft, - [ - AC_DEFINE(HAVE_PANGO_XFT) - CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS" - GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS" - ], - [ - AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support]) - ] - ) - save_CXXFLAGS="$CXXFLAGS" - save_LIBS="$LIBS" - CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS" - LIBS="$LIBS $PANGOX_LIBS" - AC_CHECK_FUNCS([pango_font_family_is_monospace]) - CXXFLAGS="$save_CXXFLAGS" - LIBS="$save_LIBS" + PKG_PROG_PKG_CONFIG() + + PKG_CHECK_MODULES(PANGOX, pangox, + [ + CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS" + GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS" + ], + [ + AC_MSG_ERROR([pangox library not found, library cannot be compiled in Unicode mode]) + ] + ) + PKG_CHECK_MODULES(PANGOFT2, pangoft2, + [ + CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS" + GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS" + ], + [ + AC_MSG_WARN([pangoft2 library not found, library will be compiled without printing support]) + wxUSE_PRINTING_ARCHITECTURE="no" + ] + ) + PKG_CHECK_MODULES(PANGOXFT, pangoxft, + [ + AC_DEFINE(HAVE_PANGO_XFT) + CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS" + GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS" + ], + [ + AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support]) + ] + ) + save_CXXFLAGS="$CXXFLAGS" + save_LIBS="$LIBS" + CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS" + LIBS="$LIBS $PANGOX_LIBS" + AC_CHECK_FUNCS([pango_font_family_is_monospace]) + CXXFLAGS="$save_CXXFLAGS" + LIBS="$save_LIBS" fi wxUSE_UNIVERSAL="yes" @@ -3728,6 +3799,31 @@ dnl --------------------------------------------------------------------------- fi fi +dnl --------------------------------------------------------------------------- +dnl X11 session management +dnl --------------------------------------------------------------------------- +if test "$wxUSE_DETECT_SM" = "yes"; then + if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1; then + AC_MSG_CHECKING([for -lSM - X11 session management]) + WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],SM) + if test "$ac_find_libraries" != "" ; then + WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS]) + if test "$ac_path_to_link" != " -L/usr/lib" ; then + LDFLAGS="$LDFLAGS $ac_path_to_link" + fi + GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lSM" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + AC_MSG_WARN([libSM not found; disabling session management detection]) + wxUSE_DETECT_SM="no" + fi + else + wxUSE_DETECT_SM="no" + fi +fi + + dnl --------------------------------------------------------------------------- dnl OpenGL libraries dnl --------------------------------------------------------------------------- @@ -4351,7 +4447,13 @@ if test "$ac_cv_func_snprintf" = "yes"; then } ], wx_cv_func_snprintf_pos_params=no, - wx_cv_func_snprintf_pos_params=yes + wx_cv_func_snprintf_pos_params=yes, + dnl be pessimistic when cross-compiling + [ + AC_MSG_WARN([Assuming Unix98 printf() is not available, +define HAVE_UNIX98_PRINTF as 1 in setup.h if it is available.]) + wx_cv_func_snprintf_pos_params=no + ] ) ] ) @@ -4362,8 +4464,40 @@ if test "$ac_cv_func_snprintf" = "yes"; then fi fi - if test "$wxUSE_UNICODE" = yes; then + + dnl our wxVsnprintf() implementation needs to use the system swprintf() in Unicode + dnl builds so let's check if swprintf() is declared as C99 imposes: + dnl int swprintf(wchar_t *s, size_t n, const wchar_t *format, ...); + dnl or rather as: + dnl int swprintf(wchar_t *s, const wchar_t *format, ...); + AC_CHECK_FUNCS(swprintf) + + if test "$ac_cv_func_swprintf" = "yes"; then + AC_CACHE_CHECK([if swprintf declaration is broken], wx_cv_func_broken_swprintf_decl, + [ + AC_TRY_COMPILE( + [ + #include + #include + #include + ], + [ + wchar_t *buf; + const wchar_t *fmt = L"test"; + swprintf(buf, 10u, fmt); + ], + wx_cv_func_broken_swprintf_decl=no, + wx_cv_func_broken_swprintf_decl=yes + ) + ] + ) + + if test "$wx_cv_func_broken_swprintf_decl" = "yes"; then + AC_DEFINE(HAVE_BROKEN_SWPRINTF_DECL) + fi + fi + dnl also look if we have wide char IO functions AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf) @@ -4661,7 +4795,7 @@ fi dnl check for uname (POSIX) and gethostname (BSD) AC_CHECK_FUNCS(uname gethostname, break) -AC_CHECK_FUNCS(strtok_r) +WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT]) dnl check for inet_addr and inet_aton (these may live either in libc, or in dnl libnsl or libresolv or libsocket) @@ -4697,7 +4831,10 @@ if test "x$INET_LINK" != "x"; then INET_LINK=" -l$INET_LINK" fi +WX_CHECK_FUNCS(fdopen) + fi + dnl if !MSW @@ -5136,7 +5273,7 @@ if test "$wxUSE_THREADS" = "yes"; then else dnl on some systems, _REENTRANT should be defined if we want to use any _r() dnl functions - add tests for other functions here as well - if test "$ac_cv_func_strtok_r" = "yes"; then + if test "$wx_cv_func_strtok_r" = "yes"; then AC_MSG_CHECKING(if -D_REENTRANT is needed) if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_REENTRANT" @@ -5588,6 +5725,14 @@ if test "$wxUSE_ZIPSTREAM" = "yes"; then fi fi +if test "$wxUSE_BACKINGFILE" = "yes"; then + if test "$wxUSE_STREAMS" != yes -o \( "$wxUSE_FILE" != yes -a "$wxUSE_FFILE" != yes \); then + AC_MSG_WARN(wxBackingFile requires wxStreams and wxFile or wxFFile... disabled) + else + AC_DEFINE(wxUSE_BACKINGFILE) + fi +fi + if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then if test "$USE_UNIX" != 1; then AC_MSG_WARN([Catching fatal exceptions not currently supported on this system, wxApp::OnFatalException will not be called]) @@ -6065,6 +6210,10 @@ if test "$wxUSE_URL" = "yes"; then fi fi +if test "$wxUSE_VARIANT" = "yes"; then + AC_DEFINE(wxUSE_VARIANT) +fi + if test "$wxUSE_FS_INET" = "yes"; then AC_DEFINE(wxUSE_FS_INET) fi @@ -6246,6 +6395,8 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \ LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS" if test "$wxUSE_OLE" = "yes" ; then AC_DEFINE(wxUSE_OLE) + AC_DEFINE(wxUSE_OLE_AUTOMATION) + AC_DEFINE(wxUSE_OLE_ACTIVEX) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS oleauto" fi fi @@ -6362,6 +6513,12 @@ if test "$wxUSE_ACCEL" = "yes"; then USES_CONTROLS=1 fi +if test "$wxUSE_ANIMATIONCTRL" = "yes"; then + AC_DEFINE(wxUSE_ANIMATIONCTRL) + USES_CONTROLS=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS animate" +fi + if test "$wxUSE_BUTTON" = "yes"; then AC_DEFINE(wxUSE_BUTTON) USES_CONTROLS=1 @@ -6445,6 +6602,10 @@ if test "$wxUSE_DISPLAY" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon" fi +if test "$wxUSE_DETECT_SM" = "yes"; then + AC_DEFINE(wxUSE_DETECT_SM) +fi + if test "$wxUSE_GAUGE" = "yes"; then AC_DEFINE(wxUSE_GAUGE) USES_CONTROLS=1 @@ -6461,6 +6622,11 @@ if test "$wxUSE_HYPERLINKCTRL" = "yes"; then USES_CONTROLS=1 fi +if test "$wxUSE_BITMAPCOMBOBOX" = "yes"; then + AC_DEFINE(wxUSE_BITMAPCOMBOBOX) + USES_CONTROLS=1 +fi + if test "$wxUSE_DATAVIEWCTRL" = "yes"; then AC_DEFINE(wxUSE_DATAVIEWCTRL) USES_CONTROLS=1 @@ -6602,24 +6768,15 @@ if test "$wxUSE_TOGGLEBTN" = "yes"; then fi fi -if test "$wxUSE_TOOLBAR_SIMPLE" = "yes"; then - AC_DEFINE(wxUSE_TOOLBAR_SIMPLE) - wxUSE_TOOLBAR="yes" - USES_CONTROLS=1 -fi - if test "$wxUSE_TOOLBAR" = "yes"; then AC_DEFINE(wxUSE_TOOLBAR) USES_CONTROLS=1 - dnl if wxUSE_TOOLBAR and !wxUSE_TOOLBAR_SIMPLE => wxUSE_TOOLBAR_NATIVE - if test "$wxUSE_TOOLBAR_SIMPLE" != "yes"; then + if test "$wxUSE_UNIVERSAL" = "yes"; then + wxUSE_TOOLBAR_NATIVE="no" + else wxUSE_TOOLBAR_NATIVE="yes" - fi - - if test "$wxUSE_TOOLBAR_NATIVE" = "yes"; then AC_DEFINE(wxUSE_TOOLBAR_NATIVE) - USES_CONTROLS=1 fi SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar" @@ -6855,6 +7012,10 @@ dnl --------------------------------------------------------------------------- dnl common dialogs dnl --------------------------------------------------------------------------- +if test "$wxUSE_ABOUTDLG" = "yes"; then + AC_DEFINE(wxUSE_ABOUTDLG) +fi + if test "$wxUSE_CHOICEDLG" = "yes"; then AC_DEFINE(wxUSE_CHOICEDLG) fi @@ -6921,6 +7082,29 @@ if test "$wxUSE_WIZARDDLG" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wizard" fi +dnl --------------------------------------------------------------------------- +dnl wxGraphicsContext +dnl --------------------------------------------------------------------------- + +if test "$wxUSE_GRAPHICS_CONTEXT" = "yes"; then + if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then + AC_DEFINE(wxUSE_GRAPHICS_CONTEXT) + elif test "$wxUSE_GTK" != 1; then + dnl for other builds we'll just wing it for now... + AC_DEFINE(wxUSE_GRAPHICS_CONTEXT) + else + dnl ...but let's check for cairo availability for wxGTK builds + PKG_CHECK_MODULES(CAIRO, cairo, + [ + AC_DEFINE(wxUSE_GRAPHICS_CONTEXT) + ], + [ + AC_MSG_WARN([Cairo library not found, unable to set wxUSE_GRAPHICS_CONTEXT]) + ] + ) + fi +fi + dnl --------------------------------------------------------------------------- dnl wxMediaCtrl dnl --------------------------------------------------------------------------- @@ -7253,6 +7437,17 @@ done if test "x$wxUSE_UNIVERSAL" = "xyes" ; then WXUNIV=1 + + case "$wxUNIV_THEMES" in + ''|all) + AC_DEFINE(wxUSE_ALL_THEMES) + ;; + + *) + for t in `echo $wxUNIV_THEMES | tr , ' ' | tr a-z A-Z`; do + AC_DEFINE_UNQUOTED(wxUSE_THEME_$t) + done + esac else WXUNIV=0 fi @@ -7388,8 +7583,59 @@ if test "$wxUSE_MAC" = 1 ; then # The makefile currently uses AR and RANLIB, which libtool apparently supercedes. fi +dnl gcc 3.4 has a pch bug which truncates wide character constants in headers. +dnl Hopefully for a non-unicode build there aren't any wide constants in +dnl headers, but for a unicode build it's best to disable pch. +if test "$wxUSE_UNICODE" = yes -a "$GCC" = yes -a "$bk_use_pch" != no +then + AC_CACHE_CHECK( + [for gcc precompiled header bug], + [wx_cv_gcc_pch_bug], + [[ + wx_cv_gcc_pch_bug=no + echo 'const wchar_t test_var[] = L"wide string";' > conftest.h + + if $CXX conftest.h >& /dev/null + then + { + echo '#include "conftest.h"' + echo 'const wchar_t *test() { return test_var; }' + } > conftest.cpp + + if $CXX -c -o conftest.o conftest.cpp >& /dev/null + then + tr -dc 'a-z' < conftest.o | + grep 'widestring' >& /dev/null || + wx_cv_gcc_pch_bug=yes + fi + fi + + rm -f conftest.h conftest.gch conftest.cpp conftest.o + ]]) + + if test "$wx_cv_gcc_pch_bug" = yes; then + dnl make the default for pch 'no' + dnl further below check whether the user overrode and warn them + bk_use_pch=no + fi +fi + AC_BAKEFILE([m4_include(autoconf_inc.m4)]) +dnl find out if the compiler supports PCH +dnl +dnl TODO: this should be in bakefile +if test $GCC_PCH = 1 +then + if test "$wx_cv_gcc_pch_bug" = yes; then + AC_MSG_WARN([*** Precompiled header support is broken on this compiler]) + AC_MSG_WARN([*** --enable-precomp-headers is not recommended]) + AC_MSG_WARN([*** see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13361]) + fi + + CPPFLAGS="-DWX_PRECOMP $CPPFLAGS" +fi + dnl HACK ALERT!! dnl For now, we need to alter bk-deps not to generate deps dnl when we've configured a Universal binary build. @@ -7442,13 +7688,6 @@ if test "$wxUSE_OMF" = "yes"; then esac fi -dnl find out if the compiler supports PCH -dnl -dnl TODO: this should be in bakefile -if test $GCC_PCH = 1 ; then - CPPFLAGS="-DWX_PRECOMP $CPPFLAGS" -fi - dnl TOOLCHAIN_DEFS should be used for both wx and client code WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS $TOOLCHAIN_DEFS"