]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
don't crash in wxFAIL and wxCHECK if assertion handler is NULL
[wxWidgets.git] / configure.in
index 8e47679a4b65ebfa339a75f61ca3fec032d2c2e1..ec8304c746e00b33f0568306016d7ff953ceb92a 100644 (file)
@@ -22,11 +22,17 @@ AC_INIT([wxWidgets], [2.9.0], [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])
 
-dnl sets build, host, target variables and the same with _alias
+dnl sets build, host variables and the same with _alias
 AC_CANONICAL_BUILD
 AC_CANONICAL_HOST
-AC_CANONICAL_TARGET
 
+if test "$cross_compiling" = "yes"; then
+    HOST_PREFIX="${host_alias}-"
+    HOST_SUFFIX="-$host_alias"
+else
+    HOST_PREFIX=
+    HOST_SUFFIX=
+fi
 
 dnl When making releases do:
 dnl
@@ -127,7 +133,8 @@ DEFAULT_DEFAULT_wxUSE_DFB=0
 
 PROGRAM_EXT=
 SAMPLES_RPATH_FLAG=
-SAMPLES_RPATH_POSTLINK=
+DYLIB_RPATH_INSTALL=
+DYLIB_RPATH_POSTLINK=
 
 DEFAULT_STD_FLAG=yes
 
@@ -372,10 +379,13 @@ dnl features disabled by default
 DEFAULT_wxUSE_ACCESSIBILITY=no
 DEFAULT_wxUSE_GRAPHICS_CONTEXT=no
 DEFAULT_wxUSE_IPV6=no
-DEFAULT_wxUSE_TAB_DIALOG=no
 DEFAULT_wxUSE_GSTREAMER8=no
 
+dnl automatic features
 DEFAULT_wxUSE_UNICODE_UTF8=auto
+DEFAULT_wxUSE_OPENGL=auto
+DEFAULT_wxUSE_MEDIACTRL=auto
+
 DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no
 
 dnl Mac/Cocoa users need to enable building universal binaries explicitly
@@ -428,6 +438,14 @@ fi
 
 WX_ARG_DISABLE(all-features,[  --disable-all-features  disable all optional features to build minimal library], wxUSE_ALL_FEATURES)
 
+if test "$wxUSE_ALL_FEATURES" = "no"; then
+    dnl this is a bit ugly but currently we have no choice but to manually
+    dnl reset all the options with default value of auto if all features are to
+    dnl be disabled because we can't have an option with default value of
+    dnl "auto-or-no-if-wxUSE_ALL_FEATURES-is-disabled"
+    DEFAULT_wxUSE_MEDIACTRL=no
+fi
+
 dnl ---------------------------------------------------------------------------
 dnl port selection
 dnl ---------------------------------------------------------------------------
@@ -614,7 +632,7 @@ if test "$USE_OS2" = 1; then
     WX_ARG_ENABLE(omf,     [  --enable-omf            use OMF object format], wxUSE_OMF)
 fi
 
-dnl --enablle-debug is equivalent to both --enable-debug_flag and
+dnl --enable-debug is equivalent to both --enable-debug_flag and
 dnl --enable-debug_info
 if test "$wxUSE_DEBUG" = "yes"; then
     DEFAULT_wxUSE_DEBUG_FLAG=yes
@@ -661,6 +679,13 @@ WX_ARG_ENABLE_PARAM(universal_binary, [[  --enable-universal_binary  create Mac
 WX_ARG_ENABLE(compat26,      [  --enable-compat26       enable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6)
 WX_ARG_DISABLE(compat28,     [  --disable-compat28      disable wxWidgets 2.8 compatibility], WXWIN_COMPATIBILITY_2_8)
 
+dnl currently we don't provide a switch for disabling it as it shouldn't be
+dnl necessary to do it unless the compiler doesn't support the new events and
+dnl this should be tested for by configure itself (but also isn't done yet
+dnl because there are no known examples of such compilers among the currently
+dnl supported ones)
+AC_DEFINE(wxEVENTS_COMPATIBILITY_2_8, 0)
+
 WX_ARG_DISABLE(rpath,        [  --disable-rpath         disable use of rpath for uninstalled builds], wxUSE_RPATH)
 
 WX_ARG_ENABLE(objc_uniquifying,[  --enable-objc_uniquifying enable Objective-C class name uniquifying], wxUSE_OBJC_UNIQUIFYING)
@@ -787,124 +812,72 @@ dnl don't set DEFAULT_wxUSE_XXX below if the option is not specified
 DEFAULT_wxUSE_CONTROLS=none
 WX_ARG_DISABLE(controls,    [  --disable-controls      disable compilation of all standard controls], wxUSE_CONTROLS)
 
-dnl even with --enable-controls, some may be disabled by giving
-dnl --disable-<control> 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
-  DEFAULT_wxUSE_CARET=yes
-  DEFAULT_wxUSE_COMBOBOX=yes
-  DEFAULT_wxUSE_CHECKBOX=yes
-  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_FILECTRL=yes
-  DEFAULT_wxUSE_FILEPICKERCTRL=yes
-  DEFAULT_wxUSE_FONTPICKERCTRL=yes
-  DEFAULT_wxUSE_GAUGE=yes
-  DEFAULT_wxUSE_GRID=yes
-  DEFAULT_wxUSE_HYPERLINKCTRL=yes
-  DEFAULT_wxUSE_DATAVIEWCTRL=yes
-  DEFAULT_wxUSE_IMAGLIST=yes
-  DEFAULT_wxUSE_LISTBOOK=yes
-  DEFAULT_wxUSE_LISTBOX=yes
-  DEFAULT_wxUSE_LISTCTRL=yes
-  DEFAULT_wxUSE_NOTEBOOK=yes
-  DEFAULT_wxUSE_RADIOBOX=yes
-  DEFAULT_wxUSE_RADIOBTN=yes
-  DEFAULT_wxUSE_SASH=yes
-  DEFAULT_wxUSE_SCROLLBAR=yes
-  DEFAULT_wxUSE_SEARCHCTRL=yes
-  DEFAULT_wxUSE_SLIDER=yes
-  DEFAULT_wxUSE_SPINBTN=yes
-  DEFAULT_wxUSE_SPINCTRL=yes
-  DEFAULT_wxUSE_SPLITTER=yes
-  DEFAULT_wxUSE_STATBMP=yes
-  DEFAULT_wxUSE_STATBOX=yes
-  DEFAULT_wxUSE_STATLINE=yes
-  DEFAULT_wxUSE_STATUSBAR=yes
-  DEFAULT_wxUSE_TAB_DIALOG=yes
-  DEFAULT_wxUSE_TOGGLEBTN=yes
-  DEFAULT_wxUSE_TOOLBAR=yes
-  DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
-  DEFAULT_wxUSE_TOOLTIPS=yes
-  DEFAULT_wxUSE_TREEBOOK=yes
-  DEFAULT_wxUSE_TOOLBOOK=yes
-  DEFAULT_wxUSE_TREECTRL=yes
-  DEFAULT_wxUSE_POPUPWIN=yes
-  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
-  DEFAULT_wxUSE_CHOICE=no
-  DEFAULT_wxUSE_CHOICEBOOK=no
-  DEFAULT_wxUSE_COLOURPICKERCTRL=no
-  DEFAULT_wxUSE_COMBOBOX=no
-  DEFAULT_wxUSE_DATEPICKCTRL=no
-  DEFAULT_wxUSE_DISPLAY=no
-  DEFAULT_wxUSE_DETECT_SM=no
-  DEFAULT_wxUSE_DIRPICKERCTRL=no
-  DEFAULT_wxUSE_FILECTRL=no
-  DEFAULT_wxUSE_FILEPICKERCTRL=no
-  DEFAULT_wxUSE_FONTPICKERCTRL=no
-  DEFAULT_wxUSE_GAUGE=no
-  DEFAULT_wxUSE_GRID=no
-  DEFAULT_wxUSE_HYPERLINKCTRL=no
-  DEFAULT_wxUSE_DATAVIEWCTRL=no
-  DEFAULT_wxUSE_IMAGLIST=no
-  DEFAULT_wxUSE_LISTBOOK=no
-  DEFAULT_wxUSE_LISTBOX=no
-  DEFAULT_wxUSE_LISTCTRL=no
-  DEFAULT_wxUSE_NOTEBOOK=no
-  DEFAULT_wxUSE_RADIOBOX=no
-  DEFAULT_wxUSE_RADIOBTN=no
-  DEFAULT_wxUSE_SASH=no
-  DEFAULT_wxUSE_SCROLLBAR=no
-  DEFAULT_wxUSE_SEARCHCTRL=no
-  DEFAULT_wxUSE_SLIDER=no
-  DEFAULT_wxUSE_SPINBTN=no
-  DEFAULT_wxUSE_SPINCTRL=no
-  DEFAULT_wxUSE_SPLITTER=no
-  DEFAULT_wxUSE_STATBMP=no
-  DEFAULT_wxUSE_STATBOX=no
-  DEFAULT_wxUSE_STATLINE=no
-  DEFAULT_wxUSE_STATUSBAR=no
-  DEFAULT_wxUSE_TAB_DIALOG=no
-  DEFAULT_wxUSE_TOGGLEBTN=no
-  DEFAULT_wxUSE_TOOLBAR=no
-  DEFAULT_wxUSE_TOOLBAR_NATIVE=no
-  DEFAULT_wxUSE_TOOLTIPS=no
-  DEFAULT_wxUSE_TREEBOOK=no
-  DEFAULT_wxUSE_TOOLBOOK=no
-  DEFAULT_wxUSE_TREECTRL=no
-  DEFAULT_wxUSE_POPUPWIN=no
-  DEFAULT_wxUSE_TIPWINDOW=no
+dnl even with --disable-controls, some may be enabled by an explicit
+dnl --enable-<control> later on the command line -- but by default all will be
+dnl disabled
+if 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_CHECKBOX=no
+    DEFAULT_wxUSE_CHECKLISTBOX=no
+    DEFAULT_wxUSE_CHOICE=no
+    DEFAULT_wxUSE_CHOICEBOOK=no
+    DEFAULT_wxUSE_COLLPANE=no
+    DEFAULT_wxUSE_COLOURPICKERCTRL=no
+    DEFAULT_wxUSE_COMBOBOX=no
+    DEFAULT_wxUSE_COMBOBOX=no
+    DEFAULT_wxUSE_DATAVIEWCTRL=no
+    DEFAULT_wxUSE_DATEPICKCTRL=no
+    DEFAULT_wxUSE_DETECT_SM=no
+    DEFAULT_wxUSE_DIRPICKERCTRL=no
+    DEFAULT_wxUSE_DISPLAY=no
+    DEFAULT_wxUSE_FILECTRL=no
+    DEFAULT_wxUSE_FILEPICKERCTRL=no
+    DEFAULT_wxUSE_FONTPICKERCTRL=no
+    DEFAULT_wxUSE_GAUGE=no
+    DEFAULT_wxUSE_GRID=no
+    DEFAULT_wxUSE_HEADERCTRL=no
+    DEFAULT_wxUSE_HYPERLINKCTRL=no
+    DEFAULT_wxUSE_IMAGLIST=no
+    DEFAULT_wxUSE_LISTBOOK=no
+    DEFAULT_wxUSE_LISTBOX=no
+    DEFAULT_wxUSE_LISTCTRL=no
+    DEFAULT_wxUSE_NOTEBOOK=no
+    DEFAULT_wxUSE_POPUPWIN=no
+    DEFAULT_wxUSE_RADIOBOX=no
+    DEFAULT_wxUSE_RADIOBTN=no
+    DEFAULT_wxUSE_REARRANGECTRL=no
+    DEFAULT_wxUSE_SASH=no
+    DEFAULT_wxUSE_SCROLLBAR=no
+    DEFAULT_wxUSE_SEARCHCTRL=no
+    DEFAULT_wxUSE_SLIDER=no
+    DEFAULT_wxUSE_SPINBTN=no
+    DEFAULT_wxUSE_SPINCTRL=no
+    DEFAULT_wxUSE_SPLITTER=no
+    DEFAULT_wxUSE_STATBMP=no
+    DEFAULT_wxUSE_STATBOX=no
+    DEFAULT_wxUSE_STATLINE=no
+    DEFAULT_wxUSE_STATUSBAR=no
+    DEFAULT_wxUSE_TIPWINDOW=no
+    DEFAULT_wxUSE_TOGGLEBTN=no
+    DEFAULT_wxUSE_TOOLBAR=no
+    DEFAULT_wxUSE_TOOLBAR_NATIVE=no
+    DEFAULT_wxUSE_TOOLBOOK=no
+    DEFAULT_wxUSE_TOOLTIPS=no
+    DEFAULT_wxUSE_TREEBOOK=no
+    DEFAULT_wxUSE_TREECTRL=no
 fi
 
+dnl please keep the settings below in alphabetical order
 WX_ARG_FEATURE(accel,       [  --enable-accel          use accelerators], wxUSE_ACCEL)
 WX_ARG_FEATURE(animatectrl, [  --enable-animatectrl    use wxAnimationCtrl class], wxUSE_ANIMATIONCTRL)
-WX_ARG_FEATURE(button,      [  --enable-button         use wxButton class], wxUSE_BUTTON)
 WX_ARG_FEATURE(bmpbutton,   [  --enable-bmpbutton      use wxBitmapButton class], wxUSE_BMPBUTTON)
 WX_ARG_FEATURE(bmpcombobox, [  --enable-bmpcombobox    use wxBitmapComboBox class], wxUSE_BITMAPCOMBOBOX)
+WX_ARG_FEATURE(button,      [  --enable-button         use wxButton class], wxUSE_BUTTON)
 WX_ARG_FEATURE(calendar,    [  --enable-calendar       use wxCalendarCtrl class], wxUSE_CALCTRL)
 WX_ARG_FEATURE(caret,       [  --enable-caret          use wxCaret class], wxUSE_CARET)
 WX_ARG_FEATURE(checkbox,    [  --enable-checkbox       use wxCheckBox class], wxUSE_CHECKBOX)
@@ -915,17 +888,18 @@ WX_ARG_FEATURE(collpane,    [  --enable-collpane       use wxCollapsiblePane cla
 WX_ARG_FEATURE(colourpicker,[  --enable-colourpicker   use wxColourPickerCtrl class], wxUSE_COLOURPICKERCTRL)
 WX_ARG_FEATURE(combobox,    [  --enable-combobox       use wxComboBox class], wxUSE_COMBOBOX)
 WX_ARG_FEATURE(comboctrl,   [  --enable-comboctrl      use wxComboCtrl class], wxUSE_COMBOCTRL)
+WX_ARG_FEATURE(dataviewctrl,[  --enable-dataviewctrl   use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL)
 WX_ARG_FEATURE(datepick,    [  --enable-datepick       use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL)
+WX_ARG_FEATURE(detect_sm,   [  --enable-detect_sm      use code to detect X11 session manager], wxUSE_DETECT_SM)
 WX_ARG_FEATURE(dirpicker,   [  --enable-dirpicker      use wxDirPickerCtrl class], wxUSE_DIRPICKERCTRL)
 WX_ARG_FEATURE(display,     [  --enable-display        use wxDisplay class], wxUSE_DISPLAY)
-WX_ARG_FEATURE(detect_sm,   [  --enable-detect_sm      use code to detect X11 session manager], wxUSE_DETECT_SM)
 WX_ARG_FEATURE(editablebox, [  --enable-editablebox    use wxEditableListBox class], wxUSE_EDITABLELISTBOX)
-WX_ARG_FEATURE(filepicker,  [  --enable-filepicker     use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL)
 WX_ARG_FEATURE(filectrl,    [  --enable-filectrl       use wxFileCtrl class], wxUSE_FILECTRL)
+WX_ARG_FEATURE(filepicker,  [  --enable-filepicker     use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL)
 WX_ARG_FEATURE(fontpicker,  [  --enable-fontpicker     use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL)
 WX_ARG_FEATURE(gauge,       [  --enable-gauge          use wxGauge class], wxUSE_GAUGE)
 WX_ARG_FEATURE(grid,        [  --enable-grid           use wxGrid class], wxUSE_GRID)
-WX_ARG_FEATURE(dataviewctrl,[  --enable-dataviewctrl   use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL)
+WX_ARG_FEATURE(headerctrl,  [  --enable-headerctrl     use wxHeaderCtrl class], wxUSE_HEADERCTRL)
 WX_ARG_FEATURE(hyperlink,   [  --enable-hyperlink      use wxHyperlinkCtrl class], wxUSE_HYPERLINKCTRL)
 WX_ARG_FEATURE(imaglist,    [  --enable-imaglist       use wxImageList class], wxUSE_IMAGLIST)
 WX_ARG_FEATURE(listbook,    [  --enable-listbook       use wxListbook class], wxUSE_LISTBOOK)
@@ -934,8 +908,10 @@ WX_ARG_FEATURE(listctrl,    [  --enable-listctrl       use wxListCtrl class], wx
 WX_ARG_FEATURE(notebook,    [  --enable-notebook       use wxNotebook class], wxUSE_NOTEBOOK)
 WX_ARG_FEATURE(notifmsg,    [  --enable-notifmsg       use wxNotificationMessage class], wxUSE_NOTIFICATION_MESSAGE)
 WX_ARG_FEATURE(odcombobox,  [  --enable-odcombobox     use wxOwnerDrawnComboBox class], wxUSE_ODCOMBOBOX)
+WX_ARG_FEATURE(popupwin,    [  --enable-popupwin       use wxPopUpWindow class], wxUSE_POPUPWIN)
 WX_ARG_FEATURE(radiobox,    [  --enable-radiobox       use wxRadioBox class], wxUSE_RADIOBOX)
 WX_ARG_FEATURE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
+WX_ARG_FEATURE(rearrangectrl,[  --enable-rearrangectrl  use wxRearrangeList/Ctrl/Dialog], wxUSE_REARRANGECTRL)
 WX_ARG_FEATURE(sash,        [  --enable-sash           use wxSashWindow class], wxUSE_SASH)
 WX_ARG_FEATURE(scrollbar,   [  --enable-scrollbar      use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR)
 WX_ARG_FEATURE(searchctrl,  [  --enable-searchctrl     use wxSearchCtrl class], wxUSE_SEARCHCTRL)
@@ -948,17 +924,15 @@ WX_ARG_FEATURE(statbox,     [  --enable-statbox        use wxStaticBox class], w
 WX_ARG_FEATURE(statline,    [  --enable-statline       use wxStaticLine class], wxUSE_STATLINE)
 WX_ARG_FEATURE(stattext,    [  --enable-stattext       use wxStaticText class], wxUSE_STATTEXT)
 WX_ARG_FEATURE(statusbar,   [  --enable-statusbar      use wxStatusBar class], wxUSE_STATUSBAR)
-WX_ARG_FEATURE(tabdialog,   [  --enable-tabdialog      use wxTabControl class], wxUSE_TAB_DIALOG)
 WX_ARG_FEATURE(taskbaricon, [  --enable-taskbaricon    use wxTaskBarIcon class], wxUSE_TASKBARICON)
+WX_ARG_FEATURE(tbarnative,  [  --enable-tbarnative     use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
 WX_ARG_FEATURE(textctrl,    [  --enable-textctrl       use wxTextCtrl class], wxUSE_TEXTCTRL)
+WX_ARG_FEATURE(tipwindow,   [  --enable-tipwindow      use wxTipWindow class], wxUSE_TIPWINDOW)
 WX_ARG_FEATURE(togglebtn,   [  --enable-togglebtn      use wxToggleButton class], wxUSE_TOGGLEBTN)
 WX_ARG_FEATURE(toolbar,     [  --enable-toolbar        use wxToolBar class], wxUSE_TOOLBAR)
-WX_ARG_FEATURE(tbarnative,  [  --enable-tbarnative     use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
-WX_ARG_FEATURE(treebook,    [  --enable-treebook       use wxTreebook class], wxUSE_TREEBOOK)
 WX_ARG_FEATURE(toolbook,    [  --enable-toolbook       use wxToolbook class], wxUSE_TOOLBOOK)
+WX_ARG_FEATURE(treebook,    [  --enable-treebook       use wxTreebook class], wxUSE_TREEBOOK)
 WX_ARG_FEATURE(treectrl,    [  --enable-treectrl       use wxTreeCtrl class], wxUSE_TREECTRL)
-WX_ARG_FEATURE(tipwindow,   [  --enable-tipwindow      use wxTipWindow class], wxUSE_TIPWINDOW)
-WX_ARG_FEATURE(popupwin,    [  --enable-popupwin       use wxPopUpWindow class], wxUSE_POPUPWIN)
 
 dnl ---------------------------------------------------------------------------
 dnl common dialogs
@@ -1046,7 +1020,7 @@ dnl   defines CFLAGS
 dnl
 dnl this magic incantation is needed to prevent AC_PROG_CC from setting the
 dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add
-dnl -g and -O flags ourselves below
+dnl (if not already present in C*FLAGS) the -g and -O flags ourselves below
 CFLAGS=${CFLAGS:=}
 AC_BAKEFILE_PROG_CC
 
@@ -3627,15 +3601,16 @@ dnl OpenGL libraries
 dnl ---------------------------------------------------------------------------
 
 USE_OPENGL=0
-if test "$wxUSE_OPENGL" = "yes"; then
-    if test "$wxUSE_MGL" = 1 -o "$wxUSE_DFB" = 1; then
-        AC_MSG_WARN([wxGLCanvas not implemented for this port, library will be compiled without it.])
-        wxUSE_OPENGL="no"
-    elif test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1 -o "$wxUSE_COCOA" = 1; then
+if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then
+
+    dnl look in glcanvas.h for the list of platforms supported by wxGlCanvas:
+
+    if test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1 -o "$wxUSE_COCOA" = 1; then
         OPENGL_LIBS="-framework OpenGL -framework AGL"
     elif test "$wxUSE_MSW" = 1; then
         OPENGL_LIBS="-lopengl32 -lglu32"
-    else
+    elif test "$wxUSE_MOTIF" = 1 -o "$wxUSE_X11" = 1 -o "$wxUSE_GTK2" = 1 -o "$wxUSE_GTK" = 1; then
+
         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])
@@ -3702,11 +3677,21 @@ if test "$wxUSE_OPENGL" = "yes"; then
         [ ])
 
         if test "x$OPENGL_LIBS" = "x"; then
-            dnl it should be an error and not a warning because OpenGL is not on
-            dnl by default and so if it had been explicitly requested, we
-            dnl shouldn't just fall back to compiling the library without it
-            AC_MSG_ERROR(OpenGL libraries not available)
+            if test "$wxUSE_OPENGL" = "yes"; then
+                AC_MSG_ERROR([OpenGL libraries not available])
+            else
+                dnl case wxUSE_OPENGL=auto
+                AC_MSG_WARN([OpenGL libraries not available, disabling support for OpenGL])
+                wxUSE_OPENGL=no
+                USE_OPENGL=0
+            fi
+        else
+            dnl libraries are available... change 'auto' in 'yes'
+            wxUSE_OPENGL=yes
         fi
+    else
+        AC_MSG_WARN([wxGLCanvas not implemented for this port, library will be compiled without it.])
+        wxUSE_OPENGL="no"
     fi
 
     if test "$wxUSE_OPENGL" = "yes"; then
@@ -3795,20 +3780,28 @@ if test "$wxUSE_SHARED" = "yes"; then
       ;;
 
       *-*-darwin* )
-        install_name_tool=`which install_name_tool`
+        install_name_tool=`which ${HOST_PREFIX}install_name_tool`
         if test "$install_name_tool" -a -x "$install_name_tool"; then
-            SAMPLES_RPATH_POSTLINK="\$(wx_top_builddir)/change-install-names \$(LIBDIRNAME) \$(prefix) \$@"
+            DYLIB_RPATH_POSTLINK="${HOST_PREFIX}install_name_tool -id \$@ \$@"
             cat <<EOF >change-install-names
 #!/bin/sh
 libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\`
-inst_cmd="install_name_tool "
 for i in \${libnames} ; do
-    inst_cmd="\${inst_cmd} -change \${2}/lib/\${i} \${1}/\${i}"
+    ${HOST_PREFIX}install_name_tool -id \${1}/\${i} \${1}/\${i}
+    for dep in \${libnames} ; do
+        ${HOST_PREFIX}install_name_tool -change \${2}/\${dep} \${1}/\${dep} \${1}/\${i}
+    done
 done
-\${inst_cmd} \${3}
 EOF
             chmod +x change-install-names
+            DYLIB_RPATH_INSTALL="\$(wx_top_builddir)/change-install-names \${libdir} \$(wx_top_builddir)/lib"
         fi
+
+        dnl the HEADER_PAD_OPTION is required by some wx samples to avoid the error:
+        dnl "install_name_tool: changing install names can't be redone for: the_exe_name
+        dnl (for architecture ppc) because larger updated load commands do not fit
+        dnl (the program must be relinked)"
+        HEADER_PAD_OPTION="-headerpad_max_install_names"
       ;;
 
       *-*-cygwin* | *-*-mingw32* )
@@ -3828,7 +3821,7 @@ EOF
 
     if test $wxUSE_RPATH = "no"; then
         SAMPLES_RPATH_FLAG=''
-        SAMPLES_RPATH_POSTLINK=''
+        DYLIB_PATH_POSTLINK=''
         WXCONFIG_RPATH=''
     fi
 
@@ -3870,20 +3863,19 @@ fi
 
 WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr '[[a-z]]' '[[A-Z]]'`
 
-TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}"
-
-TOOLCHAIN_FULLNAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}-${WX_DEBUGTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}"
+TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
 
-if test "$cross_compiling" = "yes"; then
-    HOST_SUFFIX="-$host_alias"
-    TOOLCHAIN_NAME="$TOOLCHAIN_NAME$HOST_SUFFIX"
-    TOOLCHAIN_FULLNAME="${host_alias}-$TOOLCHAIN_FULLNAME"
-fi
+TOOLCHAIN_FULLNAME="${HOST_PREFIX}${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}-${WX_DEBUGTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}"
 
 dnl library link name
 dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix.
 dnl If we ever need to do that, we won't need to keep these.
-WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+
+if test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1 -o "$wxUSE_COCOA" = 1; then
+    WX_LIBRARY_BASENAME_NOGUI="wx_base${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+else
+    WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+fi
 if test "${TOOLKIT_DIR}" = "os2"; then
     WX_LIBRARY_BASENAME_GUI="wx_pm${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
 else
@@ -4067,7 +4059,7 @@ if test "$wxUSE_WCHAR_T" = "yes"; then
         AC_DEFINE(HAVE_WCSLEN)
     fi
 
-    AC_CHECK_FUNCS([wcsdup])
+    AC_CHECK_FUNCS([wcsdup strnlen wcsnlen wcscasecmp wcsncasecmp])
 
     dnl On HP-UX aCC need this define to find mbstrtowcs() &c
     dnl Can't be used for g++ since the mbstate_t in wchar.h can conflict
@@ -5151,7 +5143,13 @@ fi
 dnl DEBUG_CFLAGS contains debugging options (supposed to be the same for C and C++
 dnl compilers: we'd need a separate DEBUG_CXXFLAGS if this is ever not the case)
 DEBUG_CFLAGS=
-if test "$wxUSE_DEBUG_INFO" = "yes" ; then
+if `echo $CXXFLAGS $CFLAGS | grep " -g" >/dev/null`; then
+    dnl the CXXFLAGS or the CFLAGS variable already contains the -g flag
+    dnl (e.g. it was specified by the user before running configure); since
+    dnl later they will be merged with DEBUG_CFLAGS, don't set the -g option
+    dnl in DEBUG_CFLAGS to avoid (possibly different) flag duplicates
+    AC_MSG_WARN([CXXFLAGS/CFLAGS already contains -g flag; ignoring the --enable-debug_info option])
+elif test "$wxUSE_DEBUG_INFO" = "yes" ; then
     DEBUG_CFLAGS="-g"
 fi
 
@@ -5224,29 +5222,37 @@ fi
 
 dnl C/C++ compiler option for optimization (supposed to be the same for both)
 OPTIMISE_CFLAGS=
-if test "$wxUSE_OPTIMISE" = "no" ; then
-    if test "$GCC" = yes ; then
-        dnl use -O0 because compiling with it is faster than compiling with no
-        dnl optimization options at all (at least with g++ 3.2)
-        OPTIMISE_CFLAGS="-O0"
-    fi
+if `echo $CXXFLAGS $CFLAGS | grep " -O" >/dev/null`; then
+    dnl the CXXFLAGS or the CFLAGS variable already contains -O optimization flag
+    dnl (e.g. it was specified by the user before running configure); since
+    dnl later they will be merged with OPTIMISE_CFLAGS, don't set the -O option
+    dnl in OPTIMISE_CFLAGS to avoid (possibly different) flag duplicates
+    AC_MSG_WARN([CXXFLAGS/CFLAGS already contains -O flag; ignoring the --disable-optimise option])
 else
-    if test "$GCC" = yes ; then
-        case "${host}" in
-            *-pc-os2_emx | *-pc-os2-emx )
-                dnl Not all of the supported gcc versions understand
-                dnl -fstrict-aliasing and none actually needs it (yet).
-                OPTIMISE_CFLAGS="-O2"
-            ;;
-            *)
-                dnl Switch on optimisation but keep strict-aliasing off for
-                dnl now (see -fstrict-aliasing in the gcc manual). When it is
-                dnl switched back on consider using -Wstrict-aliasing=2.
-                OPTIMISE_CFLAGS="-O2 -fno-strict-aliasing"
-            ;;
-        esac
+    if test "$wxUSE_OPTIMISE" = "no" ; then
+        if test "$GCC" = yes ; then
+            dnl use -O0 because compiling with it is faster than compiling with no
+            dnl optimization options at all (at least with g++ 3.2)
+            OPTIMISE_CFLAGS="-O0"
+        fi
     else
-        OPTIMISE_CFLAGS="-O"
+        if test "$GCC" = yes ; then
+            case "${host}" in
+                *-pc-os2_emx | *-pc-os2-emx )
+                    dnl Not all of the supported gcc versions understand
+                    dnl -fstrict-aliasing and none actually needs it (yet).
+                    OPTIMISE_CFLAGS="-O2"
+                ;;
+                *)
+                    dnl Switch on optimisation but keep strict-aliasing off for
+                    dnl now (see -fstrict-aliasing in the gcc manual). When it is
+                    dnl switched back on consider using -Wstrict-aliasing=2.
+                    OPTIMISE_CFLAGS="-O2 -fno-strict-aliasing"
+                ;;
+            esac
+        else
+            OPTIMISE_CFLAGS="-O"
+        fi
     fi
 fi
 
@@ -6488,6 +6494,10 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" -o "$wxUSE_CLIPBOARD" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd"
 fi
 
+if test "$wxUSE_CLIPBOARD" = "yes"; then
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS clipboard"
+fi
+
 if test "$wxUSE_SPLINES" = "yes" ; then
   AC_DEFINE(wxUSE_SPLINES)
 fi
@@ -6629,6 +6639,11 @@ if test "$wxUSE_GRID" = "yes"; then
   SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
 fi
 
+if test "$wxUSE_HEADERCTRL" = "yes"; then
+  AC_DEFINE(wxUSE_HEADERCTRL)
+  USES_CONTROLS=1
+fi
+
 if test "$wxUSE_HYPERLINKCTRL" = "yes"; then
   AC_DEFINE(wxUSE_HYPERLINKCTRL)
   USES_CONTROLS=1
@@ -6672,7 +6687,6 @@ fi
 if test "$wxUSE_EDITABLELISTBOX" = "yes"; then
     AC_DEFINE(wxUSE_EDITABLELISTBOX)
     USES_CONTROLS=1
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS editlbox"
 fi
 
 if test "$wxUSE_NOTEBOOK" = "yes"; then
@@ -6701,6 +6715,10 @@ if test "$wxUSE_RADIOBTN" = "yes"; then
     USES_CONTROLS=1
 fi
 
+if test "$wxUSE_REARRANGECTRL" = "yes"; then
+    AC_DEFINE(wxUSE_REARRANGECTRL)
+fi
+
 if test "$wxUSE_SASH" = "yes"; then
     AC_DEFINE(wxUSE_SASH)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest"
@@ -6709,7 +6727,7 @@ fi
 if test "$wxUSE_SCROLLBAR" = "yes"; then
     AC_DEFINE(wxUSE_SCROLLBAR)
     USES_CONTROLS=1
-    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub"
+    SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll"
 fi
 
 if test "$wxUSE_SEARCHCTRL" = "yes"; then
@@ -6766,10 +6784,6 @@ if test "$wxUSE_STATUSBAR" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar"
 fi
 
-if test "$wxUSE_TAB_DIALOG" = "yes"; then
-    AC_DEFINE(wxUSE_TAB_DIALOG)
-fi
-
 if test "$wxUSE_TEXTCTRL" = "yes"; then
     AC_DEFINE(wxUSE_TEXTCTRL)
     USES_CONTROLS=1
@@ -7201,7 +7215,7 @@ dnl ---------------------------------------------------------------------------
 
 USE_MEDIA=0
 
-if test "$wxUSE_MEDIACTRL" = "yes"; then
+if test "$wxUSE_MEDIACTRL" = "yes" -o "$wxUSE_MEDIACTRL" = "auto"; then
     USE_MEDIA=1
 
     dnl -----------------------------------------------------------------------
@@ -7262,6 +7276,13 @@ if test "$wxUSE_MEDIACTRL" = "yes"; then
     if test $USE_MEDIA = 1; then
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
         AC_DEFINE(wxUSE_MEDIACTRL)
+    else
+        if test "$wxUSE_MEDIACTRL" = "yes"; then
+            AC_MSG_ERROR([GStreamer not available])
+        else
+            dnl was set to 'auto'
+            AC_MSG_WARN([GStreamer not available... disabling wxMediaCtrl])
+        fi
     fi
 fi
 
@@ -7387,9 +7408,8 @@ if test "$wxUSE_GUI" = "yes"; then
 
     dnl TODO some samples are never built so far: mfc (requires VC++)
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \
-                     erase event exec font image minimal mobile \
-                     mobile/wxedit mobile/styles render \
-                     shaped svg taborder vscroll widgets"
+                     erase event exec font image minimal render \
+                     shaped svg taborder vscroll widgets wrapsizer"
 
     if test "$wxUSE_MONOLITHIC" != "yes"; then
         SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console"
@@ -7630,8 +7650,10 @@ if test "$TOOLKIT_LOWERCASE" = "xxx"; then
 fi
 AC_SUBST(TOOLKIT_LOWERCASE)
 AC_SUBST(TOOLKIT_VERSION)
+AC_SUBST(DYLIB_RPATH_INSTALL)
+AC_SUBST(DYLIB_RPATH_POSTLINK)
 AC_SUBST(SAMPLES_RPATH_FLAG)
-AC_SUBST(SAMPLES_RPATH_POSTLINK)
+AC_SUBST(HEADER_PAD_OPTION)
 AC_SUBST(HOST_SUFFIX)
 AC_SUBST(CPPUNIT_CFLAGS)
 AC_SUBST(CPPUNIT_LIBS)