X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5c69ef61f3ad09c0aef39915d4361a534f598520..92f9888cec8f31e88d39483cd817627efa285b0e:/configure.in diff --git a/configure.in b/configure.in index ff46cc9b4d..9b4bb50d72 100644 --- a/configure.in +++ b/configure.in @@ -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 @@ -367,17 +373,18 @@ DEFAULT_wxUSE_LIBGNOMEVFS=no DEFAULT_wxUSE_LIBHILDON=no DEFAULT_wxUSE_LIBMSPACK=no DEFAULT_wxUSE_LIBSDL=no -DEFAULT_wxUSE_OPENGL=no dnl features disabled by default DEFAULT_wxUSE_ACCESSIBILITY=no DEFAULT_wxUSE_GRAPHICS_CONTEXT=no DEFAULT_wxUSE_IPV6=no -DEFAULT_wxUSE_MEDIACTRL=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 @@ -430,6 +437,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 --------------------------------------------------------------------------- @@ -616,7 +631,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 @@ -663,6 +678,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) @@ -789,124 +811,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- 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- 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) @@ -917,17 +887,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) @@ -936,8 +907,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) @@ -950,17 +923,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 @@ -1048,7 +1019,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 @@ -3629,15 +3600,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]) @@ -3704,11 +3676,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 @@ -3797,13 +3779,13 @@ 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) \$@" cat <change-install-names #!/bin/sh libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\` -inst_cmd="install_name_tool " +inst_cmd="${HOST_PREFIX}install_name_tool " for i in \${libnames} ; do inst_cmd="\${inst_cmd} -change \${2}/lib/\${i} \${1}/\${i}" done @@ -3811,6 +3793,12 @@ done EOF chmod +x change-install-names 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* ) @@ -3872,20 +3860,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 @@ -4069,7 +4056,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 @@ -5002,16 +4989,41 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then dnl test for compiler thread-specific variables support AC_CACHE_CHECK([for __thread keyword], wx_cv_cc___thread, - [ - AC_TRY_COMPILE([#include ], - [ - static __thread int n = 0; - static __thread int *p = 0; - ], - wx_cv_cc___thread=yes, - wx_cv_cc___thread=no - ) - ]) + [ + AC_TRY_COMPILE([#include ], + [ + static __thread int n = 0; + static __thread int *p = 0; + ], + wx_cv_cc___thread=yes, + wx_cv_cc___thread=no + ) + ] + ) + + if test "$wx_cv_cc___thread" = "yes"; then + AX_GXX_VERSION + if test -n "$ax_cv_gxx_version"; then + dnl g++ supports __thread since at least version 3.3 but its support + dnl seems to be broken until 4.1, see + dnl http://thread.gmane.org/gmane.comp.lib.wxwidgets.devel/108388 + dnl + dnl NB: we still need to test __thread support with + dnl AC_TRY_COMPILE above even for g++ 4 as it doesn't + dnl support it for all architectures (e.g. it doesn't + dnl work under OS X) + AC_MSG_CHECKING([whether __thread support in g++ is usable]) + case "$ax_cv_gxx_version" in + 1.* | 2.* | 3.* ) + AC_MSG_RESULT([no, it's broken]) + wx_cv_cc___thread=no + ;; + *) + AC_MSG_RESULT([yes, it works]) + ;; + esac + fi + fi if test "$wx_cv_cc___thread" = "yes"; then AC_DEFINE(HAVE___THREAD_KEYWORD) @@ -5128,7 +5140,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 @@ -5201,29 +5219,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 @@ -6329,11 +6355,7 @@ if test "$wxUSE_HELP" = "yes"; then fi if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then - if test "$wxUSE_CONSTRAINTS" != "yes"; then - AC_MSG_WARN(Printing support cannot be used without constraints so it won't be compiled without it) - else - AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE) - fi + AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing" fi @@ -6469,6 +6491,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 @@ -6610,6 +6636,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 @@ -6653,7 +6684,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 @@ -6682,6 +6712,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" @@ -6690,7 +6724,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 @@ -6747,10 +6781,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 @@ -7081,11 +7111,7 @@ if test "$wxUSE_NUMBERDLG" = "yes"; then fi if test "$wxUSE_PROGRESSDLG" = "yes"; then - if test "$wxUSE_CONSTRAINTS" != "yes"; then - AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them) - else - AC_DEFINE(wxUSE_PROGRESSDLG) - fi + AC_DEFINE(wxUSE_PROGRESSDLG) fi if test "$wxUSE_SPLASH" = "yes"; then @@ -7094,11 +7120,7 @@ if test "$wxUSE_SPLASH" = "yes"; then fi if test "$wxUSE_STARTUP_TIPS" = "yes"; then - if test "$wxUSE_CONSTRAINTS" != "yes"; then - AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them) - else - AC_DEFINE(wxUSE_STARTUP_TIPS) - fi + AC_DEFINE(wxUSE_STARTUP_TIPS) fi if test "$wxUSE_TEXTDLG" = "yes"; then @@ -7190,7 +7212,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 ----------------------------------------------------------------------- @@ -7251,6 +7273,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 @@ -7376,9 +7405,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" @@ -7621,6 +7649,7 @@ AC_SUBST(TOOLKIT_LOWERCASE) AC_SUBST(TOOLKIT_VERSION) 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)