X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d3dcef0170f330d675b172fa36b28fd88eb3edcd..574be073c070a9bbe81ad68e98187b0b9e82c2df:/configure.in diff --git a/configure.in b/configure.in index 9c13d6a5d0..61cf02e185 100644 --- a/configure.in +++ b/configure.in @@ -22,11 +22,20 @@ 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 +dnl notice that if --host was given but --build was not, cross_compiling is +dnl only set to "maybe" and not "yes" and will be either set to "yes" later or +dnl configure will exit with error in AC_PROG_CC so don't test for = "yes" here +if test "$cross_compiling" != "no"; then + HOST_PREFIX="${host_alias}-" + HOST_SUFFIX="-$host_alias" +else + HOST_PREFIX= + HOST_SUFFIX= +fi dnl When making releases do: dnl @@ -127,7 +136,8 @@ DEFAULT_DEFAULT_wxUSE_DFB=0 PROGRAM_EXT= SAMPLES_RPATH_FLAG= -SAMPLES_RPATH_POSTLINK= +DYLIB_RPATH_INSTALL= +DYLIB_RPATH_POSTLINK= DEFAULT_STD_FLAG=yes @@ -367,17 +377,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 +441,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 +635,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 @@ -789,124 +808,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 +884,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 +904,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 +920,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 +1016,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 +3597,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 +3673,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,20 +3776,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 <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* ) @@ -3830,7 +3817,7 @@ EOF if test $wxUSE_RPATH = "no"; then SAMPLES_RPATH_FLAG='' - SAMPLES_RPATH_POSTLINK='' + DYLIB_PATH_POSTLINK='' WXCONFIG_RPATH='' fi @@ -3872,20 +3859,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_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}" -TOOLCHAIN_FULLNAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}-${WX_DEBUGTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}" - -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 +4055,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 @@ -4998,7 +4984,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then AC_MSG_WARN([wxMutex won't be recursive on this platform]) fi fi - + dnl test for compiler thread-specific variables support AC_CACHE_CHECK([for __thread keyword], wx_cv_cc___thread, @@ -5153,7 +5139,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 @@ -5226,29 +5218,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 @@ -5834,65 +5834,6 @@ if test "$ac_cv_func_gettimeofday" = "yes"; then fi if test "$wxUSE_DATETIME" = "yes"; then - dnl check for strptime and for its declaration as some systems lack it - AC_CHECK_FUNC(strptime) - if test "$ac_cv_func_strptime" = "yes"; then - AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl, - [ - AC_LANG_PUSH(C++) - AC_TRY_COMPILE( - [ - #include - ], - [ - struct tm t; - strptime("foo", "bar", &t); - ], - wx_cv_func_strptime_decl=yes, - wx_cv_func_strptime_decl=no - ) - AC_LANG_POP() - ] - ) - fi - if test "$wx_cv_func_strptime_decl" = "yes"; then - AC_DEFINE(HAVE_STRPTIME_DECL) - else - wx_strptime_decl="extern char *strptime(const char *, const char *, struct tm *);" - fi - if test "$ac_cv_func_strptime" = "yes"; then - dnl strptime() behaviour doesn't conform to POSIX under Mac OS X < - dnl 10.5 and possibly other BSD variants, check that strptime() we - dnl have fails to parse format when the string doesn't match it instea - dnl of just stopping immediately and returning non-NULL - AC_CACHE_CHECK([whether strptime() fails on invalid strings], - wx_cv_func_strptime_ok, - [AC_RUN_IFELSE( - [ - #include - #include - #include "confdefs.h" - - $wx_strptime_decl - - int main() - { - struct tm t; - return !!strptime("", "%x", &t); - } - ], - wx_cv_func_strptime_ok=yes, - wx_cv_func_strptime_ok=no, - dnl be pessimistic when cross-compiling - wx_cv_func_strptime_ok=no - )] - ) - - if test "$wx_cv_func_strptime_ok" = "yes"; then - AC_DEFINE(HAVE_STRPTIME) - fi - fi - dnl check for timezone variable dnl doesn't exist under Darwin / Mac OS X which uses tm_gmtoff instead AC_CACHE_CHECK(for timezone variable in , @@ -6354,11 +6295,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 @@ -6494,6 +6431,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 @@ -6635,6 +6576,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 @@ -6678,7 +6624,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 @@ -6707,6 +6652,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" @@ -6715,7 +6664,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 @@ -6772,10 +6721,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 @@ -7106,11 +7051,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 @@ -7119,11 +7060,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 @@ -7215,7 +7152,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 ----------------------------------------------------------------------- @@ -7276,6 +7213,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 @@ -7283,7 +7227,7 @@ dnl --------------------------------------------------------------------------- dnl get the string with OS info - used by wxGetOsDescription() on MacOS X dnl --------------------------------------------------------------------------- -if test "$cross_compiling" = "yes"; then +if test "$cross_compiling" != "no"; then dnl Use best guess from host as we can't use uname when cross compiling OSINFO="\"$host\"" else @@ -7401,9 +7345,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" @@ -7644,8 +7587,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) @@ -7999,10 +7944,7 @@ AC_PROG_MAKE_SET AC_CONFIG_HEADERS([lib/wx/include/${TOOLCHAIN_FULLNAME}/wx/setup.h:setup.h.in]) if test "$USE_WIN32" = 1; then - AC_CONFIG_COMMANDS( - [ - rcdefs.h - ], + AC_CONFIG_COMMANDS([rcdefs.h], [ mkdir -p $outdir && $CPP $infile | sed 's/^# *[1-9].*//;s/^ *//;/./,/^$/!d' > $outdir/rcdefs.h