X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec376c8fd9ff813392030426acd2317c6fa6527e..1cb311851d96ed4fb5290c65455075c6989f7142:/configure.in diff --git a/configure.in b/configure.in index bff76dc4e9..18d624fbd9 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,7 +34,7 @@ dnl wx_release_number += 1 wx_major_version_number=2 wx_minor_version_number=7 -wx_release_number=0 +wx_release_number=2 wx_subrelease_number=0 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number @@ -44,6 +44,11 @@ WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number +dnl Autoconf-2.60 changed the meaning of top_builddir variable, so we have +dnl to use our own replacement that will work with both 2.5x and 2.60+: +wx_top_builddir="`pwd`" +AC_SUBST(wx_top_builddir) + dnl ------------------------------------------------------------------------ dnl Check platform (host system) @@ -89,7 +94,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 +107,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 +121,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 @@ -191,7 +198,7 @@ case "${host}" in AC_DEFINE(__BSD__) DEFAULT_DEFAULT_wxUSE_GTK=1 ;; - *-*-openbsd*) + *-*-openbsd*|*-*-mirbsd*) USE_BSD=1 USE_OPENBSD=1 AC_DEFINE(__OPENBSD__) @@ -262,7 +269,6 @@ case "${host}" in SO_SUFFIX=dll PROGRAM_EXT=".exe" DEFAULT_DEFAULT_wxUSE_MSW=1 - DEFAULT_STD_FLAG=no ;; *-pc-msdosdjgpp ) @@ -338,7 +344,11 @@ case "${host}" in ;; *) - AC_MSG_ERROR(unknown system type ${host}.) + 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 --------------------------------------------------------------------------- @@ -364,7 +374,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 @@ -424,6 +434,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_SOUND=no DEFAULT_wxUSE_MEDIACTRL=no DEFAULT_wxUSE_GSTREAMER8=no + DEFAULT_wxUSE_PRINTF_POS_PARAMS=no DEFAULT_wxUSE_INTL=no DEFAULT_wxUSE_CONFIG=no DEFAULT_wxUSE_FONTMAP=no @@ -469,7 +480,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 @@ -490,33 +503,41 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_HTML=no DEFAULT_wxUSE_RICHTEXT=no DEFAULT_wxUSE_XRC=no + DEFAULT_wxUSE_AUI=no DEFAULT_wxUSE_WEBKIT=no DEFAULT_wxUSE_FILESYSTEM=no DEFAULT_wxUSE_FS_INET=no DEFAULT_wxUSE_FS_ZIP=no + DEFAULT_wxUSE_FS_ARCHIVE=no DEFAULT_wxUSE_BUSYINFO=no DEFAULT_wxUSE_ARCHIVE_STREAMS=no DEFAULT_wxUSE_ZIPSTREAM=no + DEFAULT_wxUSE_TARSTREAM=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 DEFAULT_wxUSE_CHECKLST=no DEFAULT_wxUSE_CHOICE=no DEFAULT_wxUSE_CHOICEBOOK=no + DEFAULT_wxUSE_COLLPANE=no DEFAULT_wxUSE_COLOURPICKERCTRL=no DEFAULT_wxUSE_COMBOBOX=no 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 @@ -544,7 +565,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 @@ -559,6 +579,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_IMAGE=no DEFAULT_wxUSE_GIF=no DEFAULT_wxUSE_PCX=no + DEFAULT_wxUSE_TGA=no DEFAULT_wxUSE_PNM=no DEFAULT_wxUSE_IFF=no DEFAULT_wxUSE_XPM=no @@ -576,7 +597,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 @@ -635,6 +656,7 @@ else DEFAULT_wxUSE_SOUND=yes DEFAULT_wxUSE_MEDIACTRL=no DEFAULT_wxUSE_GSTREAMER8=no + DEFAULT_wxUSE_PRINTF_POS_PARAMS=yes DEFAULT_wxUSE_INTL=yes DEFAULT_wxUSE_CONFIG=yes DEFAULT_wxUSE_FONTMAP=yes @@ -680,7 +702,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 @@ -701,34 +725,42 @@ else DEFAULT_wxUSE_HTML=yes DEFAULT_wxUSE_RICHTEXT=yes DEFAULT_wxUSE_XRC=yes + DEFAULT_wxUSE_AUI=yes DEFAULT_wxUSE_WEBKIT=yes DEFAULT_wxUSE_FILESYSTEM=yes DEFAULT_wxUSE_FS_INET=yes DEFAULT_wxUSE_FS_ZIP=yes + DEFAULT_wxUSE_FS_ARCHIVE=yes DEFAULT_wxUSE_BUSYINFO=yes DEFAULT_wxUSE_ARCHIVE_STREAMS=yes DEFAULT_wxUSE_ZIPSTREAM=yes + DEFAULT_wxUSE_TARSTREAM=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 DEFAULT_wxUSE_CHECKLST=yes DEFAULT_wxUSE_CHOICE=yes DEFAULT_wxUSE_CHOICEBOOK=yes + DEFAULT_wxUSE_COLLPANE=yes DEFAULT_wxUSE_COLOURPICKERCTRL=yes DEFAULT_wxUSE_COMBOBOX=yes 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 @@ -755,7 +787,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 @@ -770,7 +801,8 @@ else DEFAULT_wxUSE_IMAGE=yes DEFAULT_wxUSE_GIF=yes DEFAULT_wxUSE_PCX=yes - DEFAULT_wxUSE_IFF=no + DEFAULT_wxUSE_TGA=yes + DEFAULT_wxUSE_IFF=no dnl why is this set to "no"? DEFAULT_wxUSE_PNM=yes DEFAULT_wxUSE_XPM=yes DEFAULT_wxUSE_ICO_CUR=yes @@ -780,7 +812,7 @@ else DEFAULT_wxUSE_PLUGINS=no DEFAULT_wxUSE_OFFICIAL_BUILD=no - dnl Appliable only when --with-gtk was used: + dnl Applicable only when --with-gtk was used: DEFAULT_wxUSE_GTK2=yes fi @@ -833,6 +865,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) @@ -851,6 +884,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 @@ -893,7 +930,7 @@ WX_ARG_ENABLE(no_rtti, [ --enable-no_rtti create code without RTTI WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS) WX_ARG_ENABLE(permissive, [ --enable-permissive compile code disregarding strict ANSI], wxUSE_PERMISSIVE) WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS) -WX_ARG_ENABLE(universal_binary, [ --enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working)], wxUSE_UNIVERSAL_BINARY) +WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary[=SDK] create Mac PowerPC and Intel Universal binary (not yet working)]], wxUSE_UNIVERSAL_BINARY) WX_ARG_ENABLE(compat24, [ --enable-compat24 enable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, enable) WX_ARG_ENABLE(compat26, [ --disable-compat26 disable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, disable) @@ -934,8 +971,9 @@ WX_ARG_ENABLE(ffile, [ --enable-ffile use wxFFile class], wxUS WX_ARG_ENABLE(file, [ --enable-file use wxFile class], wxUSE_FILE) WX_ARG_ENABLE(filesystem, [ --enable-filesystem use virtual file systems classes], wxUSE_FILESYSTEM) WX_ARG_ENABLE(fontmap, [ --enable-fontmap use font encodings conversion classes], wxUSE_FONTMAP) +WX_ARG_ENABLE(fs_archive, [ --enable-fs_archive use virtual archive filesystems], wxUSE_FS_ARCHIVE) WX_ARG_ENABLE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET) -WX_ARG_ENABLE(fs_zip, [ --enable-fs_zip use virtual ZIP filesystems], wxUSE_FS_ZIP) +WX_ARG_ENABLE(fs_zip, [ --enable-fs_zip now replaced by fs_archive], wxUSE_FS_ZIP) WX_ARG_ENABLE(geometry, [ --enable-geometry use geometry class], wxUSE_GEOMETRY) WX_ARG_ENABLE(log, [ --enable-log use logging system], wxUSE_LOG) WX_ARG_ENABLE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG) @@ -948,17 +986,19 @@ WX_ARG_ENABLE(stdpaths, [ --enable-stdpaths use wxStandardPaths clas WX_ARG_ENABLE(stopwatch, [ --enable-stopwatch use wxStopWatch class], wxUSE_STOPWATCH) WX_ARG_ENABLE(streams, [ --enable-streams use wxStream etc classes], wxUSE_STREAMS) WX_ARG_ENABLE(system_options,[ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS) +WX_ARG_ENABLE(tarstream, [ --enable-tarstream use wxTar streams], wxUSE_TARSTREAM) WX_ARG_ENABLE(textbuf, [ --enable-textbuf use wxTextBuffer class], wxUSE_TEXTBUFFER) WX_ARG_ENABLE(textfile, [ --enable-textfile use wxTextFile class], wxUSE_TEXTFILE) WX_ARG_ENABLE(timer, [ --enable-timer use wxTimer class], wxUSE_TIMER) 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(wxprintfv, [ --enable-wxprintfv use wxWidgets implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF) +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) @@ -983,6 +1023,7 @@ WX_ARG_ENABLE(mshtmlhelp, [ --enable-mshtmlhelp use MS HTML Help (win32)], WX_ARG_ENABLE(html, [ --enable-html use wxHTML sub-library], wxUSE_HTML) WX_ARG_ENABLE(htmlhelp, [ --enable-htmlhelp use wxHTML-based help], wxUSE_WXHTML_HELP) WX_ARG_ENABLE(xrc, [ --enable-xrc use XRC resources sub-library], wxUSE_XRC) +WX_ARG_ENABLE(aui, [ --enable-aui use AUI docking library], wxUSE_AUI) WX_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS) WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE) WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI) @@ -991,7 +1032,8 @@ WX_ARG_ENABLE(loggui, [ --enable-loggui use standard GUI logger], WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW) 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(richtext, [ --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 @@ -1030,6 +1072,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 @@ -1039,10 +1082,12 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_CHECKLISTBOX=yes DEFAULT_wxUSE_CHOICE=yes DEFAULT_wxUSE_CHOICEBOOK=yes + DEFAULT_wxUSE_COLLPANE=yes DEFAULT_wxUSE_COLOURPICKERCTRL=yes 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 @@ -1071,7 +1116,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 @@ -1080,10 +1124,12 @@ 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 DEFAULT_wxUSE_CARET=no + DEFAULT_wxUSE_COLLPANE=no DEFAULT_wxUSE_COMBOBOX=no DEFAULT_wxUSE_CHECKBOX=no DEFAULT_wxUSE_CHECKLISTBOX=no @@ -1093,6 +1139,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 @@ -1121,7 +1168,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 @@ -1131,20 +1177,24 @@ 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) WX_ARG_ENABLE(checklst, [ --enable-checklst use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST) WX_ARG_ENABLE(choice, [ --enable-choice use wxChoice class], wxUSE_CHOICE) WX_ARG_ENABLE(choicebook, [ --enable-choicebook use wxChoicebook class], wxUSE_CHOICEBOOK) +WX_ARG_ENABLE(collpane, [ --enable-collpane use wxCollapsiblePane class], wxUSE_COLLPANE) WX_ARG_ENABLE(colourpicker,[ --enable-colourpicker use wxColourPickerCtrl class], wxUSE_COLOURPICKERCTRL) WX_ARG_ENABLE(combobox, [ --enable-combobox use wxComboBox class], wxUSE_COMBOBOX) WX_ARG_ENABLE(comboctrl, [ --enable-comboctrl use wxComboCtrl class], wxUSE_COMBOCTRL) 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) @@ -1175,7 +1225,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) @@ -1187,6 +1236,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) @@ -1229,6 +1279,7 @@ WX_ARG_ENABLE(palette, [ --enable-palette use wxPalette class], wxUS WX_ARG_ENABLE(image, [ --enable-image use wxImage class], wxUSE_IMAGE) WX_ARG_ENABLE(gif, [ --enable-gif use gif images (GIF file format)], wxUSE_GIF) WX_ARG_ENABLE(pcx, [ --enable-pcx use pcx images (PCX file format)], wxUSE_PCX) +WX_ARG_ENABLE(tga, [ --enable-tga use tga images (TGA file format)], wxUSE_TGA) WX_ARG_ENABLE(iff, [ --enable-iff use iff images (IFF file format)], wxUSE_IFF) WX_ARG_ENABLE(pnm, [ --enable-pnm use pnm images (PNM file format)], wxUSE_PNM) WX_ARG_ENABLE(xpm, [ --enable-xpm use xpm images (XPM file format)], wxUSE_XPM) @@ -1316,7 +1367,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. @@ -1370,61 +1421,6 @@ else fi fi -dnl --------------------------------------------------------------------------- -dnl When we are using Cygwin with Motif/GTK+, we want it to appear like -dnl 'just' a POSIX platform, so the Win32 API must not be available -dnl --------------------------------------------------------------------------- -dnl (Windows-only piece) -wants_win32=0 -doesnt_want_win32=0 -case "${host}" in - *-*-cygwin*) - if test "$wxUSE_MSW" = 1 ; then - wants_win32=1 - BAKEFILE_FORCE_PLATFORM=win32 - else - doesnt_want_win32=1 - fi - ;; - *-*-mingw*) - wants_win32=1 - ;; -esac - -dnl --------------------------------------------------------------------------- -dnl Wine is a virtual platform, we need to patch things up a bit -dnl --------------------------------------------------------------------------- -if test "$wxUSE_WINE" = "yes"; then - wants_win32=1 - dnl FIXME: we should do a better job of testing for these - CC=winegcc - CXX=wineg++ - LDFLAGS_GUI="-mwindows" -fi - -dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only -dnl take effect on Cygwin/Mingw and not other platforms. -if test "$wants_win32" = 1 ; then - USE_UNIX=0 - USE_WIN32=1 - AC_DEFINE(__WIN32__) - AC_DEFINE(__WIN95__) - AC_DEFINE(__WINDOWS__) - AC_DEFINE(__GNUWIN32__) - AC_DEFINE(STRICT) - AC_DEFINE(WINVER, 0x0400) -fi -if test "$doesnt_want_win32" = 1 ; then - USE_UNIX=1 - USE_WIN32=0 -fi -dnl (end of Windows-only piece) - -if test "$USE_UNIX" = 1 ; then - wxUSE_UNIX=yes - AC_DEFINE(__UNIX__) -fi - dnl --------------------------------------------------------------------------- dnl Checks for programs dnl --------------------------------------------------------------------------- @@ -1448,12 +1444,6 @@ dnl is -traditional needed for correct compilations dnl adds -traditional for gcc if needed AC_PROG_GCC_TRADITIONAL -dnl do all checks from now on using the C++ compiler: this saves us a lot of -dnl problems with various functions which may be available in libc but not -dnl declared in the header and various pointer conversions which compile with -dnl the C compiler but not in C++ -AC_LANG_PUSH(C++) - dnl C++-compiler checks dnl defines CXX with the compiler to use dnl defines GXX with yes if using gxx @@ -1637,6 +1627,77 @@ case "${host}" in ;; esac +dnl Determine whether we want to use Cygwin as Windows or POSIX platform: the +dnl latter makes more sense for wxGTK/Motif/X11 ports +wants_win32=0 +doesnt_want_win32=0 +case "${host}" in + *-*-cygwin*) + if test "$wxUSE_MSW" = 1 ; then + wants_win32=1 + else + dnl when we use cygwin compiler with -mno-cygwin option it uses mingw32 + dnl headers and libraries, so it's Windows-like in this case + AC_CACHE_CHECK([if -mno-cygwin is in effect], wx_cv_nocygwin, + [ + AC_TRY_COMPILE( + [], + [ + #ifdef __MINGW32__ + choke me + #endif + ], + wx_cv_nocygwin=no, + wx_cv_nocygwin=yes + ) + ] + ) + + if test "$wx_cv_nocygwin" = "yes"; then + wants_win32=1 + else + doesnt_want_win32=1 + fi + fi + if test "$wants_win32" = 1 ; then + BAKEFILE_FORCE_PLATFORM=win32 + fi + ;; + *-*-mingw*) + wants_win32=1 + ;; +esac + +if test "$wxUSE_WINE" = "yes"; then + wants_win32=1 + dnl FIXME: we should do a better job of testing for these + CC=winegcc + CXX=wineg++ + LDFLAGS_GUI="-mwindows" +fi + +dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only +dnl take effect on Cygwin/Mingw and not other platforms. +if test "$wants_win32" = 1 ; then + USE_UNIX=0 + USE_WIN32=1 + AC_DEFINE(__WIN32__) + AC_DEFINE(__WIN95__) + AC_DEFINE(__WINDOWS__) + AC_DEFINE(__GNUWIN32__) + AC_DEFINE(STRICT) +fi +if test "$doesnt_want_win32" = 1 ; then + USE_UNIX=1 + USE_WIN32=0 +fi +dnl (end of Windows-only piece) + +if test "$USE_UNIX" = 1 ; then + wxUSE_UNIX=yes + AC_DEFINE(__UNIX__) +fi + dnl This case is for OS/2 vs. everything else case "${host}" in *-pc-os2_emx | *-pc-os2-emx ) @@ -1648,7 +1709,6 @@ case "${host}" in dnl not "g++/c++". dnl --------------------------------------------------------------------- dnl (OS/2-only piece) - AC_LANG_PUSH(C) if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then dnl More complete Unix emulation for unix-like ports dnl by linking in POSIX/2's cExt (if available). @@ -1682,17 +1742,16 @@ 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" ) ]) - AC_LANG_POP if test "$wx_cv_gccversion" = "EMX2"; then LIBS="$LIBS -lstdcpp" LDFLAGS="$LDFLAGS -Zsysv-signals" @@ -1707,7 +1766,7 @@ case "${host}" in if test "$wxUSE_SHARED" = "yes" -a "$wxUSE_OMF" = "no"; then AC_MSG_WARN([Building DLLs requires OMF mode, enabled]) wxUSE_OMF=yes - enable_omf=yes + enable_omf=yes fi dnl (end of OS/2-only piece) ;; @@ -1761,27 +1820,13 @@ dnl ------------------------------------------------------------------------ dnl Check for headers dnl ------------------------------------------------------------------------ -dnl defines HAVE_STDLIB_H -AC_CHECK_HEADERS(stdlib.h) -dnl defines HAVE_MALLOC_H -AC_CHECK_HEADERS(malloc.h) -dnl defines HAVE_UNISTD_H -AC_CHECK_HEADERS(unistd.h) -dnl defines HAVE_WCHAR_H -AC_CHECK_HEADERS(wchar.h) +AC_CHECK_HEADERS(stdlib.h fnmatch.h langinfo.h malloc.h unistd.h wchar.h) dnl maybe wchar_t is in wcstr.h if we don't have wchar.h? if test "$ac_cv_header_wchar_h" != "yes"; then - dnl defines HAVE_WCSTR_H AC_CHECK_HEADERS(wcstr.h) fi -dnl defines HAVE_FNMATCH_H -AC_CHECK_HEADERS(fnmatch.h) - -dnl defines HAVE_LANGINFO_H (GNU libc locale parameters) -AC_CHECK_HEADERS(langinfo.h) - case "${host}" in *-pc-os2_emx | *-pc-os2-emx ) dnl Explicitly link -lintl if langinfo.h is available @@ -1795,6 +1840,11 @@ case "${host}" in ;; esac +dnl POSIX needs this for select(), but old systems don't have it +if test "$USE_UNIX" = 1 ; then + AC_CHECK_HEADERS([sys/select.h]) +fi + dnl --------------------------------------------------------------------------- dnl Checks for compiler characteristics dnl --------------------------------------------------------------------------- @@ -1919,6 +1969,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 @@ -2395,6 +2470,14 @@ else fi fi +dnl check for C99 string to long long conversion functions, assume that if we +dnl have the unsigned variants, then we have the signed ones as well +if test "wxUSE_UNICODE" = "yes"; then + WX_CHECK_FUNCS(wcstoull) +else + WX_CHECK_FUNCS(strtoull) +fi + dnl --------------------------------------------------------------------------- dnl Optional libraries dnl @@ -2818,6 +2901,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 @@ -2858,8 +2950,6 @@ if test "$wxUSE_GUI" = "yes"; then if test "$wxUSE_GTK" = 1; then dnl GTK+ test program must be compiled with C compiler - AC_LANG_PUSH(C) - AC_MSG_CHECKING([for GTK+ version]) gtk_version_cached=1 @@ -2966,20 +3056,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]) @@ -3029,9 +3108,10 @@ 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 - fi - AC_LANG_POP + dnl test for XIM support in libgdk + AC_CHECK_LIB(gdk, gdk_im_open, AC_DEFINE(HAVE_XIM)) + fi dnl we need poll() in src/gtk/app.cpp (we know that Darwin doesn't dnl have it but we do the check for the others) @@ -3046,10 +3126,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) @@ -3145,6 +3221,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 @@ -3206,42 +3300,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" @@ -3717,6 +3813,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 --------------------------------------------------------------------------- @@ -3728,25 +3849,26 @@ if test "$wxUSE_OPENGL" = "yes"; then elif test "$wxUSE_MSW" = 1; then OPENGL_LIBS="-lopengl32 -lglu32" else - dnl David Elliott: Without this snippet AC_CHECK_HEADER fails to find - dnl GL/gl.h on Mac OS X where it is located in - dnl /usr/X11R6/include/GL/gl.h: - - WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, GL/gl.h) + dnl adjust CPPFLAGS to include GL/gl.h location if necessary + dnl (/opt/graphics/OpenGL is for HP-UX systems, bug 925307) + AC_MSG_CHECKING([for OpenGL headers]) + WX_PATH_FIND_INCLUDES([$SEARCH_INCLUDE /opt/graphics/OpenGL/include], GL/gl.h) if test "$ac_find_includes" != "" ; then AC_MSG_RESULT(found in $ac_find_includes) WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS) CPPFLAGS="$ac_path_to_include $CPPFLAGS" + else + AC_MSG_RESULT([not found]) fi - AC_CHECK_HEADER(GL/gl.h, - [ + AC_CHECK_HEADER(GL/gl.h, [ + AC_CHECK_HEADER(GL/glu.h, [ found_gl=0 AC_MSG_CHECKING([for -lGL]) - WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL) + WX_PATH_FIND_LIBRARIES([$SEARCH_LIB /opt/graphics/OpenGL/lib],GL) if test "$ac_find_libraries" != "" ; then - AC_MSG_RESULT([yes]) + AC_MSG_RESULT([found in $ac_find_libraries]) WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS]) if test "$ac_path_to_link" != " -L/usr/lib" ; then @@ -3788,6 +3910,7 @@ if test "$wxUSE_OPENGL" = "yes"; then fi fi ]) + ]) if test "x$OPENGL_LIBS" = "x"; then dnl it should be an error and not a warning because OpenGL is not on @@ -3827,11 +3950,11 @@ fi if test "$wxUSE_SHARED" = "yes"; then dnl use versioned symbols if available on the platform - WX_VERSIONED_SYMBOLS([\$(top_builddir)version-script]) + WX_VERSIONED_SYMBOLS([\$(wx_top_builddir)/version-script]) case "${host}" in *-*-linux* | *-*-gnu* ) - SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib" + SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(wx_top_builddir)/lib" WXCONFIG_RPATH="-Wl,-rpath,\$libdir" ;; @@ -3850,7 +3973,7 @@ if test "$wxUSE_SHARED" = "yes"; then [],[], [ AC_MSG_RESULT([yes]) - SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(top_builddir)lib" + SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(wx_top_builddir)/lib" WXCONFIG_RPATH="-Wl,-rpath,\$libdir" ],[ AC_MSG_RESULT([no]) @@ -3860,7 +3983,7 @@ if test "$wxUSE_SHARED" = "yes"; then [],[], [ AC_MSG_RESULT([yes]) - SAMPLES_RPATH_FLAG="-Wl,-R,\$(top_builddir)lib" + SAMPLES_RPATH_FLAG="-Wl,-R,\$(wx_top_builddir)/lib" WXCONFIG_RPATH="-Wl,-R,\$libdir" ],[ AC_MSG_RESULT([no]) @@ -3868,7 +3991,7 @@ if test "$wxUSE_SHARED" = "yes"; then ]) LDFLAGS="$saveLdflags" else - SAMPLES_RPATH_FLAG="-R\$(top_builddir)lib" + SAMPLES_RPATH_FLAG="-R\$(wx_top_builddir)/lib" WXCONFIG_RPATH="-R\$libdir" fi ;; @@ -3876,7 +3999,7 @@ if test "$wxUSE_SHARED" = "yes"; then *-*-darwin* ) install_name_tool=`which install_name_tool` if test "$install_name_tool" -a -x "$install_name_tool"; then - SAMPLES_RPATH_POSTLINK="\$(top_builddir)change-install-names \$(LIBDIRNAME) \$(prefix) \$@" + SAMPLES_RPATH_POSTLINK="\$(wx_top_builddir)/change-install-names \$(LIBDIRNAME) \$(prefix) \$@" cat <change-install-names #!/bin/sh libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\` @@ -3897,7 +4020,7 @@ EOF ;; *-*-hpux* ) - SAMPLES_RPATH_FLAG="-Wl,+b,\$(top_builddir)lib" + SAMPLES_RPATH_FLAG="-Wl,+b,\$(wx_top_builddir)/lib" WXCONFIG_RPATH="-Wl,+b,\$libdir" ;; @@ -4005,7 +4128,7 @@ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc" dnl add the resources target for wxMac - LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}" + LIBWXMACRES="\$(wx_top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}" AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez) AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez) @@ -4190,6 +4313,8 @@ dnl stupidly, provides a dummy function declaration inside its extension) dnl succeeds, even with C++ compiler, but the compilation of wxWidgets fails dnl dnl so we first check if the function is in the library +dnl +dnl FIXME: replace this mess with WX_CHECK_FUNCS() AC_CHECK_FUNCS(snprintf vsnprintf) if test "$ac_cv_func_vsnprintf" = "yes"; then @@ -4317,11 +4442,95 @@ if test "$ac_cv_func_snprintf" = "yes"; then AC_DEFINE(HAVE_BROKEN_SNPRINTF_DECL) fi fi + + if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then + + dnl check if snprintf() has support for positional arguments + dnl NB: if snprintf() has positional support we can safely suppose that also + dnl other *printf() functions support them as they all belong to the same + dnl family and they all fallback to the same implementation + AC_CACHE_CHECK([if snprintf supports positional arguments], wx_cv_func_snprintf_pos_params, + [ + AC_TRY_RUN( + [ + #include + + int main (void) + { + char buffer[128]; + snprintf (buffer, 128, "%2\$d %3\$d %1\$d", 1, 2, 3); + if (strcmp ("2 3 1", buffer) == 0) + exit (0); + exit (1); + } + ], + wx_cv_func_snprintf_pos_params=no, + 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 + ] + ) + ] + ) + + if test "$wx_cv_func_snprintf_pos_params" = "yes"; then + AC_DEFINE(HAVE_UNIX98_PRINTF) + fi + fi fi if test "$wxUSE_UNICODE" = yes; then - dnl also look if we have wide char IO functions - AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf) + + 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, notice that [f]putws are + dnl declared in special widec.h under Solaris + wchar_headers="#include +#include " + case "${host}" in + *-*-solaris2* ) + AC_CHECK_HEADERS(widec.h) + if test "$ac_cv_header_widec_h" = "yes"; then + wchar_headers="$wchar_headers +#include " + fi + esac + + WX_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf,,, + [$wchar_headers]) dnl MinGW has a vswprintf with a different prototype, and dnl a _vsnwprintf with the correct prototype, but AC_CHECK_FUNCS @@ -4335,13 +4544,14 @@ if test "$wxUSE_UNICODE" = yes; then fi if test "x$ac_cv_header_fnmatch_h" = "xyes"; then - AC_CHECK_FUNCS(fnmatch) + WX_CHECK_FUNCS(fnmatch) fi if test "$wxUSE_FILE" = "yes"; then - AC_CHECK_FUNCS(fsync) + WX_CHECK_FUNCS(fsync) fi +WX_CHECK_FUNCS(round,,,[#include ]) dnl the following tests are for Unix(like) systems only if test "$TOOLKIT" != "MSW"; then @@ -4599,9 +4809,8 @@ if test "$HAVE_SOME_SLEEP_FUNC" != 1; then POSIX4_LINK=" -lposix4" ], [ - AC_CHECK_FUNCS(usleep, - AC_DEFINE(HAVE_USLEEP), - AC_MSG_WARN([wxSleep() function will not work]) + WX_CHECK_FUNCS(usleep,, + AC_MSG_WARN([wxSleep() function will not work]) ) ] ) @@ -4610,9 +4819,9 @@ if test "$HAVE_SOME_SLEEP_FUNC" != 1; then fi dnl check for uname (POSIX) and gethostname (BSD) -AC_CHECK_FUNCS(uname gethostname, break) +WX_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) @@ -4648,7 +4857,10 @@ if test "x$INET_LINK" != "x"; then INET_LINK=" -l$INET_LINK" fi +WX_CHECK_FUNCS(fdopen) + fi + dnl if !MSW @@ -5058,7 +5270,7 @@ dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [ dnl sigh -- gethostbyname_r is a mess; it can have 3, 5 or 6 arguments AX_FUNC_WHICH_GETHOSTBYNAME_R if test "x$ac_cv_func_which_gethostbyname_r" = "xno" -o \ - "x$ac_cv_func_which_gethostbyname_r" = "xunknown" ; then + "x$ac_cv_func_which_gethostbyname_r" = "xunknown" ; then AC_CHECK_FUNC(gethostbyname, [ AC_DEFINE(HAVE_GETHOSTBYNAME) ]) fi dnl A similar test for getservbyname_r @@ -5067,7 +5279,7 @@ dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [ dnl doing the test already exists, so using it is easy enough. - SN AC_raf_FUNC_WHICH_GETSERVBYNAME_R if test "x$ac_cv_func_which_getservbyname_r" = "xno" -o \ - "x$ac_cv_func_which_getservbyname_r" = "xunknown" ; then + "x$ac_cv_func_which_getservbyname_r" = "xunknown" ; then AC_CHECK_FUNCS(getservbyname,[ AC_DEFINE(HAVE_GETSERVBYNAME) ]) fi dnl For gethostbyaddr_r, we currently do no separate test, instead, we @@ -5087,7 +5299,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" @@ -5384,22 +5596,24 @@ if test "$USE_UNIX" = "1" ; then dnl it's not enough to check for just the header because OSS under NetBSD dnl redefines ioctl as oss_ioctrl inside it and so we also need to test dnl whether we need -lossaudio at link-time - AC_CACHE_CHECK([for ioctl() in sys/soundcard.h], ac_cv_header_sys_soundcard, [ + AC_CACHE_CHECK([for SNDCTL_DSP_SPEED in sys/soundcard.h], ac_cv_header_sys_soundcard, [ AC_TRY_LINK([ + #include #include ], [ - ioctl(0, SNDCTL_DSP_SYNC, 0); + ioctl(0, SNDCTL_DSP_SPEED, 0); ], ac_cv_header_sys_soundcard=yes, [ saveLibs="$LIBS" LIBS="$saveLibs -lossaudio" AC_TRY_LINK([ + #include #include ], [ - ioctl(0, SNDCTL_DSP_SYNC, 0); + ioctl(0, SNDCTL_DSP_SPEED, 0); ], ac_cv_header_sys_soundcard=yes, [ @@ -5432,20 +5646,29 @@ if test "$wxUSE_SOUND" = "yes"; then WITH_PLUGIN_SDL=1 fi fi + else + dnl wxMGL doesn't support sound under DOS, only under Unix + if test "$wxUSE_MGL" = 1; then + AC_MSG_WARN([wxSound not supported in MGL under DOS... disabled]) + wxUSE_SOUND="no" + fi fi +fi +if test "$wxUSE_SOUND" = "yes"; then AC_DEFINE(wxUSE_SOUND) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound" fi if test "$WXGTK20" = 1; then + PKG_PROG_PKG_CONFIG() + if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then PKG_CHECK_MODULES(LIBGNOMEPRINTUI, [libgnomeprintui-2.2 >= 2.8], [ -dnl EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS" CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS" AC_DEFINE(wxUSE_LIBGNOMEPRINT) ], @@ -5456,16 +5679,13 @@ dnl EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS" ) fi fi -fi -if test "$WXGTK20" = 1; then if test "$wxUSE_MIMETYPE" = "yes" ; then if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then PKG_CHECK_MODULES(GNOMEVFS, [gnome-vfs-2.0 >= 2.0], [ -dnl EXTRALIBS_GNOMEVFS="$LIBGNOMEVFS_LIBS" CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS" AC_DEFINE(wxUSE_LIBGNOMEVFS) ], @@ -5476,11 +5696,9 @@ dnl EXTRALIBS_GNOMEVFS="$LIBGNOMEVFS_LIBS" ) fi fi -fi -if test "$WXGTK20" = 1; then if test "$wxUSE_LIBHILDON" = "yes" ; then - PKG_CHECK_MODULES(HILDON, + PKG_CHECK_MODULES(HILDON, [hildon-lgpl >= 0.9], [ EXTRALIBS_HILDON="$HILDON_LIBS" @@ -5515,16 +5733,13 @@ if test "$wxUSE_FFILE" = "yes"; then AC_DEFINE(wxUSE_FFILE) fi -if test "$wxUSE_FILESYSTEM" = "yes"; then - AC_DEFINE(wxUSE_FILESYSTEM) -fi - -if test "$wxUSE_FS_ZIP" = "yes"; then - AC_DEFINE(wxUSE_FS_ZIP) -fi - if test "$wxUSE_ARCHIVE_STREAMS" = "yes"; then - AC_DEFINE(wxUSE_ARCHIVE_STREAMS) + if test "$wxUSE_STREAMS" != yes; then + AC_MSG_WARN(wxArchive requires wxStreams... disabled) + wxUSE_ARCHIVE_STREAMS=no + else + AC_DEFINE(wxUSE_ARCHIVE_STREAMS) + fi fi if test "$wxUSE_ZIPSTREAM" = "yes"; then @@ -5537,6 +5752,39 @@ if test "$wxUSE_ZIPSTREAM" = "yes"; then fi fi +if test "$wxUSE_TARSTREAM" = "yes"; then + if test "$wxUSE_ARCHIVE_STREAMS" != "yes"; then + AC_MSG_WARN(wxTar requires wxArchive... disabled) + else + AC_DEFINE(wxUSE_TARSTREAM) + fi +fi + +if test "$wxUSE_FILESYSTEM" = "yes"; then + if test "$wxUSE_STREAMS" != yes -o \( "$wxUSE_FILE" != yes -a "$wxUSE_FFILE" != yes \); then + AC_MSG_WARN(wxFileSystem requires wxStreams and wxFile or wxFFile... disabled) + wxUSE_FILESYSTEM=no + else + AC_DEFINE(wxUSE_FILESYSTEM) + fi +fi + +if test "$wxUSE_FS_ARCHIVE" = "yes"; then + if test "$wxUSE_FILESYSTEM" != yes -o "$wxUSE_ARCHIVE_STREAMS" != yes; then + AC_MSG_WARN(wxArchiveFSHandler requires wxArchive and wxFileSystem... disabled) + else + AC_DEFINE(wxUSE_FS_ARCHIVE) + fi +fi + +if test "$wxUSE_FS_ZIP" = "yes"; then + if test "$wxUSE_FS_ARCHIVE" != yes; then + AC_MSG_WARN(wxZipFSHandler requires wxArchiveFSHandler... disabled) + else + AC_DEFINE(wxUSE_FS_ZIP) + 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]) @@ -5645,6 +5893,11 @@ if test "$wxUSE_STREAMS" = "yes" ; then AC_DEFINE(wxUSE_STREAMS) fi +if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then + AC_DEFINE(wxUSE_PRINTF_POS_PARAMS) +fi + + dnl --------------------------------------------------------------------------- dnl time/date functions dnl --------------------------------------------------------------------------- @@ -6009,6 +6262,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 @@ -6040,7 +6297,10 @@ if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then dnl joystick support is only for Linux 2.1.x or greater else - AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes) + dnl wxJoystick not supported by wxMGL at all + if test "$wxUSE_MGL" != "1"; then + AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes) + fi fi if test "$wxUSE_JOYSTICK" = "yes"; then @@ -6190,6 +6450,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 @@ -6306,6 +6568,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 @@ -6328,6 +6596,12 @@ if test "$wxUSE_CARET" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret" fi +if test "$wxUSE_COLLPANE" = "yes"; then + AC_DEFINE(wxUSE_COLLPANE) + USES_CONTROLS=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS collpane" +fi + if test "$wxUSE_COMBOBOX" = "yes"; then AC_DEFINE(wxUSE_COMBOBOX) USES_CONTROLS=1 @@ -6389,6 +6663,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 @@ -6405,6 +6683,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 @@ -6546,24 +6829,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" @@ -6617,8 +6891,8 @@ if test "$wxUSE_POPUPWIN" = "yes"; then fi if test "$wxUSE_DIALUP_MANAGER" = "yes"; then - if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then - AC_MSG_WARN([Dialup manager not yet supported under Mac OS X... disabled]) + if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 -o "$wxUSE_MGL" = 1; then + AC_MSG_WARN([Dialup manager not supported on this platform... disabled]) else AC_DEFINE(wxUSE_DIALUP_MANAGER) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup" @@ -6708,6 +6982,13 @@ if test "$wxUSE_XRC" = "yes"; then fi fi +USE_AUI=0 +if test "$wxUSE_AUI" = "yes"; then + AC_DEFINE(wxUSE_AUI) + USE_AUI=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS aui" +fi + if test "$wxUSE_MENUS" = "yes"; then AC_DEFINE(wxUSE_MENUS) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu" @@ -6771,6 +7052,10 @@ if test "$wxUSE_IMAGE" = "yes" ; then AC_DEFINE(wxUSE_PCX) fi + if test "$wxUSE_TGA" = "yes" ; then + AC_DEFINE(wxUSE_TGA) + fi + if test "$wxUSE_IFF" = "yes" ; then AC_DEFINE(wxUSE_IFF) fi @@ -6792,6 +7077,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 @@ -6858,6 +7147,25 @@ 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 --------------------------------------------------------------------------- @@ -6865,11 +7173,13 @@ dnl --------------------------------------------------------------------------- USE_MEDIA=0 if test "$wxUSE_MEDIACTRL" = "yes"; then + USE_MEDIA=1 + dnl ----------------------------------------------------------------------- dnl GStreamer dnl ----------------------------------------------------------------------- if test "$wxUSE_GTK" = 1; then - wxUSE_GSTREAMER="yes" + wxUSE_GSTREAMER="no" dnl ------------------------------------------------------------------- dnl Test for at least 0.8 gstreamer module from pkg-config @@ -6880,51 +7190,60 @@ if test "$wxUSE_MEDIACTRL" = "yes"; then dnl ------------------------------------------------------------------- GST_VERSION_MAJOR=0 GST_VERSION_MINOR=10 - GST_VERSION_RELEASE=0 - GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE - GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR + GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR if test "$wxUSE_GSTREAMER8" = "no"; then - PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR - gstreamer-plugins-base-$GST_MAJORMINOR - gconf-2.0, - [ - CPPFLAGS="$GST_CFLAGS $CPPFLAGS" - LIBS="$LIBS $GST_LIBS -lgstinterfaces-$GST_MAJORMINOR" - ], - [ + PKG_CHECK_MODULES(GST, + [gstreamer-$GST_VERSION gstreamer-plugins-base-$GST_VERSION gconf-2.0], + [ + wxUSE_GSTREAMER="yes" + GST_LIBS="$GST_LIBS -lgstinterfaces-$GST_VERSION" + ], + [ + AC_MSG_WARN([GStreamer 0.10 not available, falling back to 0.8]) GST_VERSION_MINOR=8 - ]) - else + ] + ) + else + dnl check only for 0.8 GST_VERSION_MINOR=8 fi - GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE - GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR - - if test x$GST_VERSION_MINOR = x8; then - PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR - gstreamer-interfaces-$GST_MAJORMINOR - gstreamer-gconf-$GST_MAJORMINOR, - [ - CPPFLAGS="$GST_CFLAGS $CPPFLAGS" - LIBS="$LIBS $GST_LIBS" - ], + if test $GST_VERSION_MINOR = "8"; then + GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR + PKG_CHECK_MODULES(GST, + [gstreamer-$GST_VERSION gstreamer-interfaces-$GST_VERSION gstreamer-gconf-$GST_VERSION], + wxUSE_GSTREAMER="yes", [ - AC_MSG_WARN([Proper GStreamer .8/.10 installation not found]) - wxUSE_GSTREAMER="no" + AC_MSG_WARN([GStreamer 0.8/0.10 not available.]) ]) fi if test "$wxUSE_GSTREAMER" = "yes"; then + dnl system gstreamer package is compiled with Sun CC and outputs + dnl CC-specific "-mt" in its flags, remove it for gcc compilation + case "${host}" in + *-*-solaris2* ) + if "$GCC" = yes; then + GST_CFLAGS=`echo $GST_CFLAGS | sed 's/-mt//'` + GST_LIBS=`echo $GST_LIBS | sed 's/-mt//'` + fi + esac + + CPPFLAGS="$GST_CFLAGS $CPPFLAGS" + LIBS="$GST_LIBS $LIBS" + AC_DEFINE(wxUSE_GSTREAMER) - AC_MSG_RESULT([GStreamer detection successful]) + else + USE_MEDIA=0 fi fi - USE_MEDIA=1 - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer" - AC_DEFINE(wxUSE_MEDIACTRL) + + if test $USE_MEDIA = 1; then + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer" + AC_DEFINE(wxUSE_MEDIACTRL) + fi fi dnl --------------------------------------------------------------------------- @@ -6978,6 +7297,9 @@ fi if test "$wxUSE_XRC" = "yes" ; then CORE_GUI_LIBS="xrc $CORE_GUI_LIBS" fi +if test "$wxUSE_AUI" = "yes" ; then + CORE_GUI_LIBS="aui $CORE_GUI_LIBS" +fi if test "$wxUSE_GUI" != "yes"; then CORE_GUI_LIBS="" @@ -6990,9 +7312,6 @@ dnl --------------------------------------------------------------------------- dnl Output the makefiles and such from the results found above dnl --------------------------------------------------------------------------- -dnl no more tests from here -AC_LANG_POP - dnl all additional libraries (except wxWidgets itself) we link with if test "$wxUSE_MAC" = 1 ; then @@ -7101,7 +7420,7 @@ dnl come first and the one with setup.h should be before $(top_srcdir)/include dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g. dnl CodeWarrior): CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \ - -I\\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \ + -I\\${wx_top_builddir}/lib/wx/include/${TOOLCHAIN_FULLNAME} \ -I\\${top_srcdir}/include $TOOLKIT_INCLUDE \ $CPPFLAGS ` @@ -7176,6 +7495,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 @@ -7253,14 +7583,31 @@ AC_SUBST(CPPUNIT_LIBS) case "$TOOLKIT" in GTK) - TOOLKIT_USER="GTK+" + TOOLKIT_DESC="GTK+" if test "$WXGTK20" = 1; then - TOOLKIT_USER="$TOOLKIT_USER 2" + TOOLKIT_DESC="$TOOLKIT_DESC 2" + if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then + TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomeprint"; + fi + if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then + TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomevfs" + fi + if test "$wxUSE_LIBHILDON" = "yes"; then + TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon" + fi + + if test "$TOOLKIT_EXTRA" != ""; then + TOOLKIT_DESC="$TOOLKIT_DESC with support for `echo $TOOLKIT_EXTRA | tr -s ' '`" + fi fi ;; + ?*) + TOOLKIT_DESC=$TOOLKIT_LOWERCASE + ;; + *) - TOOLKIT_USER=$TOOLKIT_LOWERCASE + TOOLKIT_DESC="base only" ;; esac @@ -7269,32 +7616,102 @@ if test "$wxUSE_WINE" = "yes"; then fi dnl --------------------------------------------------------------------------- -dnl Add Universal binary support +dnl Add Universal binary support dnl Note we don't do this earlier because adding these cpp/ld flags could dnl cause configure tests to fail. dnl --------------------------------------------------------------------------- if test "$wxUSE_MAC" = 1 ; then - if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then - CXXFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CXXFLAGS" - CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CFLAGS" - LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $LDFLAGS" + if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then + dnl --enable-universal_binary uses a default SDK (currently 10.4u) + dnl --enable-universal_binary=SDK names a path to an SDK + if test "x$wxUSE_UNIVERSAL_BINARY" == xyes; then + OSX_UNIV_OPTS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk" + else + dnl '' would mean universal with no SDK, which may be the case if + dnl the compiler uses a sysroot by default + OSX_UNIV_OPTS=${wxUSE_UNIVERSAL_BINARY:+"-isysroot '$wxUSE_UNIVERSAL_BINARY'"} + fi + OSX_UNIV_OPTS="$OSX_UNIV_OPTS -arch ppc -arch i386" + CXXFLAGS="$OSX_UNIV_OPTS $CXXFLAGS" + CFLAGS="$OSX_UNIV_OPTS $CFLAGS" + LDFLAGS="$OSX_UNIV_OPTS $LDFLAGS" bk_use_pch=no fi # TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)? # The makefile currently uses AR and RANLIB, which libtool apparently supercedes. - # TODO: how can we avoid a hardwired reference to the SDK, above? (Someone used -lSystemStubs to avoid it) +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], + [[ + echo '#include + const wchar_t test_var[] = L"awidetest";' > conftest.h + + echo '#include "conftest.h" + int main() + { + printf("%ls", test_var); + return 0; + }' > conftest.cpp + + wx_cv_gcc_pch_bug="pch not supported" + + if $CXX conftest.h >/dev/null 2>&1 + then + wx_cv_gcc_pch_bug= + + if $CXX -o conftest$PROGRAM_EXT conftest.cpp >/dev/null 2>&1 + then + if tr -dc '[a-z]' < conftest$PROGRAM_EXT | + grep awidetest >/dev/null + then + wx_cv_gcc_pch_bug=no + else + wx_cv_gcc_pch_bug=yes + fi + fi + fi + + rm -f conftest.h conftest.gch conftest.cpp conftest$PROGRAM_EXT + ]]) + + 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 HACK ALERT!! +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. dnl The next version of Bakefile will have the correct fix for this dnl at which time, this hack can be removed. if test "$wxUSE_MAC" = 1 ; then - if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then + if test "x$wxUSE_UNIVERSAL_BINARY" != "xno" ; then sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp mv temp bk-deps chmod +x bk-deps @@ -7319,8 +7736,8 @@ if test "$wxUSE_SHARED" = "yes"; then *-pc-os2_emx | *-pc-os2-emx ) SHARED_LD_CC="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o" SHARED_LD_CXX="`pwd`/dllar.sh -name-mangler-script ./dllnames.sh -libf INITINSTANCE -libf TERMINSTANCE -o" - cp -p ${srcdir}/src/os2/dllnames.sh . - cp -p ${srcdir}/src/os2/dllar.sh . + cp -p ${srcdir}/src/os2/dllnames.sh . + cp -p ${srcdir}/src/os2/dllar.sh . ;; esac else @@ -7339,13 +7756,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" @@ -7475,7 +7885,10 @@ AC_CONFIG_FILES([ lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}:wx-config-inplace. [ chmod +x lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} ], [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ]) -AC_CONFIG_FILES([ version-script Makefile ]) +if test "$wx_cv_version_script" = "yes"; then + AC_CONFIG_FILES(version-script) +fi +AC_CONFIG_FILES(Makefile) AC_CONFIG_COMMANDS([wx-config], [ rm -f wx-config @@ -7503,6 +7916,10 @@ fi dnl Add tests to the list of subdirs if cppunit 1.8.0+ is detected AM_PATH_CPPUNIT(1.8.0, [SUBDIRS="$SUBDIRS tests"]) +if test "$USE_UNIX" != "1" -a "$USE_WIN32" != "1"; then + DISABLED_CONTRIB="$DISABLED_CONTRIB net" +fi + for subdir in `echo $SUBDIRS`; do if test -d ${srcdir}/${subdir} ; then if test "$wxUSE_GUI" = "yes"; then @@ -7557,7 +7974,7 @@ dnl report how we have been configured echo echo "Configured wxWidgets ${WX_VERSION} for \`${host}'" echo "" -echo " Which GUI toolkit should wxWidgets use? ${TOOLKIT_USER:-base only}" +echo " Which GUI toolkit should wxWidgets use? ${TOOLKIT_DESC}" echo " Should wxWidgets be compiled into single library? ${wxUSE_MONOLITHIC:-yes}" echo " Should wxWidgets be compiled in debug mode? ${wxUSE_DEBUG:-no}" @@ -7581,9 +7998,6 @@ echo " odbc ${wxUSE_ODBC}" echo " expat ${wxUSE_EXPAT}" echo " libmspack ${wxUSE_LIBMSPACK}" echo " sdl ${wxUSE_LIBSDL}" -echo " gnomeprint ${wxUSE_LIBGNOMEPRINT-none}" -echo " gnomevfs ${wxUSE_LIBGNOMEVFS-none}" -echo " hildon ${wxUSE_LIBHILDON-none}" echo ""