X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/38c6938f8dd61e03045c6b2b6a16efd9b7f3b3fa..ef37a43194e06496cba74b1f0d0ab9eeefde4af7:/configure.in diff --git a/configure.in b/configure.in index cea9dafdb0..9311729f0a 100644 --- a/configure.in +++ b/configure.in @@ -17,7 +17,7 @@ dnl --------------------------------------------------------------------------- dnl initialization dnl --------------------------------------------------------------------------- -AC_INIT([wxWidgets], [2.8.0], [wx-dev@lists.wxwidgets.org]) +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]) @@ -33,7 +33,7 @@ dnl dnl wx_release_number += 1 wx_major_version_number=2 -wx_minor_version_number=8 +wx_minor_version_number=9 wx_release_number=0 wx_subrelease_number=0 @@ -363,470 +363,46 @@ dnl NB: see also DEFAULT_wxUSE variables defined above WX_ARG_CACHE_INIT -dnl useful to test the compilation with minimum options, define as 0 for normal -dnl usage -DEBUG_CONFIGURE=0 -if test $DEBUG_CONFIGURE = 1; then - DEFAULT_wxUSE_UNIVERSAL=no - DEFAULT_wxUSE_STL=no - - DEFAULT_wxUSE_NANOX=no - - DEFAULT_wxUSE_THREADS=yes - - DEFAULT_wxUSE_SHARED=${DEFAULT_wxUSE_SHARED:-yes} - DEFAULT_wxUSE_OPTIMISE=no - DEFAULT_wxUSE_PROFILE=no - DEFAULT_wxUSE_NO_DEPS=no - DEFAULT_wxUSE_NO_RTTI=no - DEFAULT_wxUSE_NO_EXCEPTIONS=no - DEFAULT_wxUSE_UNIVERSAL_BINARY=no - DEFAULT_wxUSE_RPATH=yes - DEFAULT_wxUSE_PERMISSIVE=no - DEFAULT_wxUSE_DEBUG_FLAG=yes - DEFAULT_wxUSE_DEBUG_INFO=yes - DEFAULT_wxUSE_DEBUG_GDB=yes - DEFAULT_wxUSE_MEM_TRACING=no - DEFAULT_wxUSE_DEBUG_CONTEXT=no - DEFAULT_wxUSE_DMALLOC=no - DEFAULT_wxUSE_APPLE_IEEE=no - - DEFAULT_wxUSE_EXCEPTIONS=no - DEFAULT_wxUSE_LOG=yes - DEFAULT_wxUSE_LOGWINDOW=no - DEFAULT_wxUSE_LOGGUI=no - DEFAULT_wxUSE_LOGDIALOG=no - - DEFAULT_wxUSE_GUI=yes - DEFAULT_wxUSE_CONTROLS=no - - DEFAULT_wxUSE_REGEX=no - DEFAULT_wxUSE_XML=no - DEFAULT_wxUSE_EXPAT=no - DEFAULT_wxUSE_ZLIB=no - DEFAULT_wxUSE_LIBPNG=no - DEFAULT_wxUSE_LIBJPEG=no - DEFAULT_wxUSE_LIBTIFF=no - DEFAULT_wxUSE_LIBXPM=no - DEFAULT_wxUSE_LIBMSPACK=no - DEFAULT_wxUSE_LIBSDL=no - DEFAULT_wxUSE_LIBGNOMEPRINT=no - DEFAULT_wxUSE_LIBGNOMEVFS=no - DEFAULT_wxUSE_LIBHILDON=no - DEFAULT_wxUSE_ODBC=no - DEFAULT_wxUSE_OPENGL=no - - DEFAULT_wxUSE_ON_FATAL_EXCEPTION=no - DEFAULT_wxUSE_STACKWALKER=no - DEFAULT_wxUSE_DEBUGREPORT=no - DEFAULT_wxUSE_SNGLINST_CHECKER=no - DEFAULT_wxUSE_STD_IOSTREAM=no - DEFAULT_wxUSE_STD_STRING=no - DEFAULT_wxUSE_CMDLINE_PARSER=no - DEFAULT_wxUSE_DATETIME=no - DEFAULT_wxUSE_TIMER=no - DEFAULT_wxUSE_STOPWATCH=no - DEFAULT_wxUSE_FILE=no - DEFAULT_wxUSE_FFILE=no - DEFAULT_wxUSE_STDPATHS=no - DEFAULT_wxUSE_TEXTBUFFER=no - DEFAULT_wxUSE_TEXTFILE=no - 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 - DEFAULT_wxUSE_STREAMS=no - DEFAULT_wxUSE_SOCKETS=no - DEFAULT_wxUSE_OLE=no - DEFAULT_wxUSE_DATAOBJ=no - DEFAULT_wxUSE_DIALUP_MANAGER=no - DEFAULT_wxUSE_JOYSTICK=no - DEFAULT_wxUSE_DYNLIB_CLASS=no - DEFAULT_wxUSE_DYNAMIC_LOADER=no - DEFAULT_wxUSE_LONGLONG=no - DEFAULT_wxUSE_GEOMETRY=no - - DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=no - DEFAULT_wxUSE_NORMALIZED_PS_FONTS=no - DEFAULT_wxUSE_POSTSCRIPT=no - - DEFAULT_wxUSE_CLIPBOARD=no - DEFAULT_wxUSE_TOOLTIPS=no - DEFAULT_wxUSE_DRAG_AND_DROP=no - DEFAULT_wxUSE_DRAGIMAGE=no - DEFAULT_wxUSE_SPLINES=no - DEFAULT_wxUSE_MOUSEWHEEL=no - - DEFAULT_wxUSE_MDI=no - DEFAULT_wxUSE_MDI_ARCHITECTURE=no - DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=no - DEFAULT_wxUSE_PRINTING_ARCHITECTURE=no - - DEFAULT_wxUSE_RESOURCES=no - DEFAULT_wxUSE_CONSTRAINTS=no - DEFAULT_wxUSE_IPC=no - DEFAULT_wxUSE_HELP=no - DEFAULT_wxUSE_MS_HTML_HELP=no - DEFAULT_wxUSE_WXHTML_HELP=no - DEFAULT_wxUSE_TREELAYOUT=no - DEFAULT_wxUSE_METAFILE=no - DEFAULT_wxUSE_MIMETYPE=no - DEFAULT_wxUSE_SYSTEM_OPTIONS=no - DEFAULT_wxUSE_PROTOCOL=no - DEFAULT_wxUSE_PROTOCOL_HTTP=no - 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 - DEFAULT_wxUSE_DIRDLG=no - DEFAULT_wxUSE_FILEDLG=no - DEFAULT_wxUSE_FINDREPLDLG=no - DEFAULT_wxUSE_FONTDLG=no - DEFAULT_wxUSE_MSGDLG=no - DEFAULT_wxUSE_NUMBERDLG=no - DEFAULT_wxUSE_TEXTDLG=no - DEFAULT_wxUSE_SPLASH=no - DEFAULT_wxUSE_STARTUP_TIPS=no - DEFAULT_wxUSE_PROGRESSDLG=no - DEFAULT_wxUSE_WIZARDDLG=no - - DEFAULT_wxUSE_MENUS=no - DEFAULT_wxUSE_MINIFRAME=no - 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 - DEFAULT_wxUSE_IMAGLIST=no - DEFAULT_wxUSE_LISTBOOK=no - DEFAULT_wxUSE_LISTBOX=no - DEFAULT_wxUSE_LISTCTRL=no - DEFAULT_wxUSE_NOTEBOOK=no - DEFAULT_wxUSE_ODCOMBOBOX=no - DEFAULT_wxUSE_RADIOBOX=no - DEFAULT_wxUSE_RADIOBTN=no - DEFAULT_wxUSE_SASH=no - DEFAULT_wxUSE_SCROLLBAR=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_STATTEXT=no - DEFAULT_wxUSE_STATUSBAR=yes - DEFAULT_wxUSE_TAB_DIALOG=no - DEFAULT_wxUSE_TEXTCTRL=no - DEFAULT_wxUSE_TOGGLEBTN=no - DEFAULT_wxUSE_TOOLBAR=no - DEFAULT_wxUSE_TOOLBAR_NATIVE=no - DEFAULT_wxUSE_TREEBOOK=no - DEFAULT_wxUSE_TOOLBOOK=no - DEFAULT_wxUSE_TREECTRL=no - DEFAULT_wxUSE_POPUPWIN=no - DEFAULT_wxUSE_TIPWINDOW=no +dnl it's only necessary to list the options which should be disabled by +dnl default, all the rest have default value of "yes" (or, rather, of +dnl wxUSE_ALL_FEATURES which is the only which has to be set to "yes" by +dnl default) +DEFAULT_wxUSE_ALL_FEATURES=yes - DEFAULT_wxUSE_UNICODE=no - DEFAULT_wxUSE_UNICODE_MSLU=no - DEFAULT_wxUSE_WCSRTOMBS=no - - DEFAULT_wxUSE_PALETTE=no - 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 - DEFAULT_wxUSE_ICO_CUR=no - DEFAULT_wxUSE_ACCESSIBILITY=no - - DEFAULT_wxUSE_MONOLITHIC=no - DEFAULT_wxUSE_PLUGINS=no - DEFAULT_wxUSE_OFFICIAL_BUILD=no -else - DEFAULT_wxUSE_UNIVERSAL=no - DEFAULT_wxUSE_STL=no - - DEFAULT_wxUSE_NANOX=no - - DEFAULT_wxUSE_THREADS=yes - - DEFAULT_wxUSE_SHARED=${DEFAULT_wxUSE_SHARED:-yes} - DEFAULT_wxUSE_OPTIMISE=yes - DEFAULT_wxUSE_PROFILE=no - DEFAULT_wxUSE_NO_DEPS=no - DEFAULT_wxUSE_NO_RTTI=no - DEFAULT_wxUSE_NO_EXCEPTIONS=no - DEFAULT_wxUSE_UNIVERSAL_BINARY=no - DEFAULT_wxUSE_RPATH=yes - DEFAULT_wxUSE_PERMISSIVE=no - DEFAULT_wxUSE_DEBUG_FLAG=no - DEFAULT_wxUSE_DEBUG_INFO=no - DEFAULT_wxUSE_DEBUG_GDB=no - DEFAULT_wxUSE_MEM_TRACING=no - DEFAULT_wxUSE_DEBUG_CONTEXT=no - DEFAULT_wxUSE_DMALLOC=no - DEFAULT_wxUSE_APPLE_IEEE=yes - - DEFAULT_wxUSE_EXCEPTIONS=yes - DEFAULT_wxUSE_LOG=yes - DEFAULT_wxUSE_LOGWINDOW=yes - DEFAULT_wxUSE_LOGGUI=yes - DEFAULT_wxUSE_LOGDIALOG=yes - - DEFAULT_wxUSE_GUI=yes - - DEFAULT_wxUSE_REGEX=yes - DEFAULT_wxUSE_XML=yes - DEFAULT_wxUSE_EXPAT=yes - DEFAULT_wxUSE_ZLIB=yes - DEFAULT_wxUSE_LIBPNG=yes - DEFAULT_wxUSE_LIBJPEG=yes - DEFAULT_wxUSE_LIBTIFF=yes - DEFAULT_wxUSE_LIBXPM=yes - DEFAULT_wxUSE_LIBMSPACK=yes - DEFAULT_wxUSE_LIBSDL=no - DEFAULT_wxUSE_LIBGNOMEPRINT=no - DEFAULT_wxUSE_LIBGNOMEVFS=no - DEFAULT_wxUSE_LIBHILDON=no - DEFAULT_wxUSE_ODBC=no - DEFAULT_wxUSE_OPENGL=no - - DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes - DEFAULT_wxUSE_STACKWALKER=yes - DEFAULT_wxUSE_DEBUGREPORT=yes - DEFAULT_wxUSE_SNGLINST_CHECKER=yes - DEFAULT_wxUSE_STD_IOSTREAM=$DEFAULT_STD_FLAG - DEFAULT_wxUSE_STD_STRING=$DEFAULT_STD_FLAG - DEFAULT_wxUSE_CMDLINE_PARSER=yes - DEFAULT_wxUSE_DATETIME=yes - DEFAULT_wxUSE_TIMER=yes - DEFAULT_wxUSE_STOPWATCH=yes - DEFAULT_wxUSE_FILE=yes - DEFAULT_wxUSE_FFILE=yes - DEFAULT_wxUSE_STDPATHS=yes - DEFAULT_wxUSE_TEXTBUFFER=yes - DEFAULT_wxUSE_TEXTFILE=yes - 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 - DEFAULT_wxUSE_STREAMS=yes - DEFAULT_wxUSE_SOCKETS=yes - DEFAULT_wxUSE_OLE=yes - DEFAULT_wxUSE_DATAOBJ=yes - DEFAULT_wxUSE_DIALUP_MANAGER=yes - DEFAULT_wxUSE_JOYSTICK=yes - DEFAULT_wxUSE_DYNLIB_CLASS=yes - DEFAULT_wxUSE_DYNAMIC_LOADER=yes - DEFAULT_wxUSE_LONGLONG=yes - DEFAULT_wxUSE_GEOMETRY=yes - - DEFAULT_wxUSE_AFM_FOR_POSTSCRIPT=yes - DEFAULT_wxUSE_NORMALIZED_PS_FONTS=yes - DEFAULT_wxUSE_POSTSCRIPT=yes - - DEFAULT_wxUSE_CLIPBOARD=yes - DEFAULT_wxUSE_TOOLTIPS=yes - DEFAULT_wxUSE_DRAG_AND_DROP=yes - DEFAULT_wxUSE_DRAGIMAGE=yes - DEFAULT_wxUSE_SPLINES=yes - DEFAULT_wxUSE_MOUSEWHEEL=yes - - DEFAULT_wxUSE_MDI=yes - DEFAULT_wxUSE_MDI_ARCHITECTURE=yes - DEFAULT_wxUSE_DOC_VIEW_ARCHITECTURE=yes - DEFAULT_wxUSE_PRINTING_ARCHITECTURE=yes - - DEFAULT_wxUSE_RESOURCES=no - DEFAULT_wxUSE_CONSTRAINTS=yes - DEFAULT_wxUSE_IPC=yes - DEFAULT_wxUSE_HELP=yes - DEFAULT_wxUSE_MS_HTML_HELP=yes - DEFAULT_wxUSE_WXHTML_HELP=yes - DEFAULT_wxUSE_TREELAYOUT=yes - DEFAULT_wxUSE_METAFILE=yes - DEFAULT_wxUSE_MIMETYPE=yes - DEFAULT_wxUSE_SYSTEM_OPTIONS=yes - DEFAULT_wxUSE_PROTOCOL=yes - DEFAULT_wxUSE_PROTOCOL_HTTP=yes - 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 - DEFAULT_wxUSE_DIRDLG=yes - DEFAULT_wxUSE_FILEDLG=yes - DEFAULT_wxUSE_FINDREPLDLG=yes - DEFAULT_wxUSE_FONTDLG=yes - DEFAULT_wxUSE_MSGDLG=yes - DEFAULT_wxUSE_NUMBERDLG=yes - DEFAULT_wxUSE_TEXTDLG=yes - DEFAULT_wxUSE_SPLASH=yes - DEFAULT_wxUSE_STARTUP_TIPS=yes - DEFAULT_wxUSE_PROGRESSDLG=yes - DEFAULT_wxUSE_WIZARDDLG=yes - - DEFAULT_wxUSE_MENUS=yes - DEFAULT_wxUSE_MINIFRAME=yes - 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_STD_IOSTREAM=$DEFAULT_STD_FLAG +DEFAULT_wxUSE_STD_STRING=$DEFAULT_STD_FLAG - 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 - DEFAULT_wxUSE_LISTBOOK=yes - DEFAULT_wxUSE_LISTBOX=yes - DEFAULT_wxUSE_LISTCTRL=yes - DEFAULT_wxUSE_NOTEBOOK=yes - DEFAULT_wxUSE_ODCOMBOBOX=yes - DEFAULT_wxUSE_RADIOBOX=yes - DEFAULT_wxUSE_RADIOBTN=yes - DEFAULT_wxUSE_SASH=yes - DEFAULT_wxUSE_SCROLLBAR=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_STATTEXT=yes - DEFAULT_wxUSE_STATUSBAR=yes - DEFAULT_wxUSE_TAB_DIALOG=no - DEFAULT_wxUSE_TEXTCTRL=yes - DEFAULT_wxUSE_TOGGLEBTN=yes - DEFAULT_wxUSE_TOOLBAR=yes - DEFAULT_wxUSE_TOOLBAR_NATIVE=yes - DEFAULT_wxUSE_TREEBOOK=yes - DEFAULT_wxUSE_TOOLBOOK=yes - DEFAULT_wxUSE_TREECTRL=yes - DEFAULT_wxUSE_POPUPWIN=yes - DEFAULT_wxUSE_TIPWINDOW=yes +dnl libraries disabled by default +DEFAULT_wxUSE_DMALLOC=no +DEFAULT_wxUSE_LIBGNOMEVFS=no +DEFAULT_wxUSE_LIBHILDON=no +DEFAULT_wxUSE_LIBMSPACK=no +DEFAULT_wxUSE_LIBSDL=no +DEFAULT_wxUSE_ODBC=no +DEFAULT_wxUSE_OPENGL=no - DEFAULT_wxUSE_UNICODE=no - DEFAULT_wxUSE_UNICODE_MSLU=yes - DEFAULT_wxUSE_WCSRTOMBS=no +dnl features disabled by default +DEFAULT_wxUSE_ACCESSIBILITY=no +DEFAULT_wxUSE_DATAVIEWCTRL=no +DEFAULT_wxUSE_GRAPHICS_CONTEXT=no +DEFAULT_wxUSE_MEDIACTRL=no +DEFAULT_wxUSE_TAB_DIALOG=no - DEFAULT_wxUSE_PALETTE=yes - DEFAULT_wxUSE_IMAGE=yes - DEFAULT_wxUSE_GIF=yes - DEFAULT_wxUSE_PCX=yes - 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 - DEFAULT_wxUSE_ACCESSIBILITY=no +DEFAULT_wxUSE_UNICODE_UTF8=auto +DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no - DEFAULT_wxUSE_MONOLITHIC=no - DEFAULT_wxUSE_PLUGINS=no - DEFAULT_wxUSE_OFFICIAL_BUILD=no +dnl Mac/Cocoa users need to enable building universal binaries explicitly +DEFAULT_wxUSE_UNIVERSAL_BINARY=no - dnl Applicable only when --with-gtk was used: - DEFAULT_wxUSE_GTK2=yes -fi +DEFAULT_wxUSE_OFFICIAL_BUILD=no +dnl Applicable only when --with-gtk was used: +DEFAULT_wxUSE_GTK2=yes -dnl WX_ARG_WITH should be used to select whether an external package will be -dnl used or not, to configure compile-time features of this package itself, -dnl use WX_ARG_ENABLE instead +dnl Always default to no. Only special cases require this. +DEFAULT_wxUSE_OBJC_UNIQUIFYING=no -dnl ============================ -dnl external package dependecies -dnl ============================ -dnl these options use AC_ARG_WITH and not WX_ARG_WITH on purpose - we cache -dnl these values manually for toolkit in `echo $ALL_TOOLKITS`; do LINE=`grep "wxUSE_$toolkit=" ${wx_arg_cache_file}` if test "x$LINE" != "x" ; then @@ -841,22 +417,59 @@ for toolkit in `echo $ALL_TOOLKITS`; do fi done +dnl =========================== +dnl deal with configure options +dnl =========================== + +dnl we use several macros here: +dnl - AC_ARG_WITH/AC_ARG_ENABLE are the standard autoconf macros, see +dnl autoconf manual for details about them +dnl - WX_ARG_WITH/WX_ARG_ENABLE are their wx counterparts which perform +dnl the caching of the command line options and also use DEFAULT_foo +dnl variable as the default value for "foo" if neither --enable-foo nor +dnl --disable-foo is specified +dnl - WX_ARG_SYS_WITH is a special version of WX_ARG_WITH which allows +dnl to choose not only whether an external library is used but also if we +dnl use the copy of it included with wxWidgets or an already installed +dnl system version +dnl - WX_ARG_WITHOUT/WX_ARG_DISABLE mirror WX_ARG_WITH/WX_ARG_ENABLE but +dnl should be used for the options which are enabled by default +dnl - WX_ARG_FEATURE is a version of WX_ARG_ENABLE which should be used for +dnl optional features, i.e. options which should be disabled if +dnl --disable-all-features is specified (WX_ARG_WITH/WX_ARG_SYS_WITH are +dnl also affected by this) + dnl --------------------------------------------------------------------------- -dnl --disable-gui will build only non-GUI part of wxWidgets: check for this -dnl first to disable many other switches if it's given -dnl -dnl NB: this is still in testing stage, don't use if you don't know what you're -dnl doing +dnl global build options dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(gui, [ --enable-gui use GUI classes], wxUSE_GUI) +WX_ARG_DISABLE(gui, [ --disable-gui don't build GUI parts of the library], wxUSE_GUI) WX_ARG_ENABLE(monolithic, [ --enable-monolithic build wxWidgets as single library], wxUSE_MONOLITHIC) WX_ARG_ENABLE(plugins, [ --enable-plugins build parts of wxWidgets as loadable components], wxUSE_PLUGINS) -WX_ARG_WITH(subdirs, [ --without-subdirs don't generate makefiles for samples/demos/...], wxWITH_SUBDIRS, without) +WX_ARG_WITHOUT(subdirs, [ --without-subdirs don't generate makefiles for samples/demos/...], wxWITH_SUBDIRS) +AC_ARG_WITH(flavour, [ --with-flavour=NAME specify a name to identify this build], [WX_FLAVOUR="$withval"]) +WX_ARG_ENABLE(official_build, [ --enable-official_build official build of wxWidgets (win32 DLL only)], wxUSE_OFFICIAL_BUILD) +AC_ARG_ENABLE(vendor, [ --enable-vendor=VENDOR vendor name (win32 DLL only)], [VENDOR="$enableval"]) +if test "x$VENDOR" = "x"; then + VENDOR="custom" +fi + +WX_ARG_DISABLE(all-features,[ --disable-all-features disable all optional features to build minimal library], wxUSE_ALL_FEATURES) + +dnl --------------------------------------------------------------------------- +dnl port selection +dnl --------------------------------------------------------------------------- if test "$wxUSE_GUI" = "yes"; then WX_ARG_ENABLE(universal, [ --enable-universal use wxWidgets GUI controls instead of native ones], wxUSE_UNIVERSAL) +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 + +dnl we use AC_ARG_WITH and not WX_ARG_WITH for the toolkit options as they +dnl shouldn't default to wxUSE_ALL_FEATURES, and we don't need to cache them +dnl automatically AC_ARG_WITH(gtk, [[ --with-gtk[=VERSION] use GTK+, VERSION can be 2 (default), 1 or "any"]], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1]) AC_ARG_WITH(mac, [ --with-mac use Mac OS X], [wxUSE_MAC="$withval" CACHE_MAC=1 TOOLKIT_GIVEN=1]) @@ -873,38 +486,80 @@ WX_ARG_ENABLE(nanox, [ --enable-nanox use NanoX], wxUSE_NANOX) AC_ARG_ENABLE(gtk2, [ --disable-gtk2 use GTK+ 1.2 instead of 2.0], [wxUSE_GTK2="$enableval"]) WX_ARG_ENABLE(gpe, [ --enable-gpe use GNOME PDA Environment features if possible], wxUSE_GPE) +dnl --------------------------------------------------------------------------- +dnl external libraries +dnl --------------------------------------------------------------------------- + WX_ARG_SYS_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG) WX_ARG_SYS_WITH(libjpeg, [ --with-libjpeg use libjpeg (JPEG file format)], wxUSE_LIBJPEG) WX_ARG_SYS_WITH(libtiff, [ --with-libtiff use libtiff (TIFF file format)], wxUSE_LIBTIFF) WX_ARG_SYS_WITH(libxpm, [ --with-libxpm use libxpm (XPM file format)], wxUSE_LIBXPM) WX_ARG_WITH(libmspack, [ --with-libmspack use libmspack (CHM help files loading)], wxUSE_LIBMSPACK) -WX_ARG_WITH(sdl, [ --with-sdl use SDL for audio on Unix], wxUSE_LIBSDL) -WX_ARG_WITH(gnomeprint, [ --with-gnomeprint use GNOME print for printing under GNOME], wxUSE_LIBGNOMEPRINT) +WX_ARG_WITHOUT(gnomeprint, [ --without-gnomeprint don't use GNOME printing libraries], wxUSE_LIBGNOMEPRINT) WX_ARG_WITH(gnomevfs, [ --with-gnomevfs use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS) 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 WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (http://dmalloc.com/)], wxUSE_DMALLOC) +WX_ARG_WITH(sdl, [ --with-sdl use SDL for audio on Unix], wxUSE_LIBSDL) WX_ARG_SYS_WITH(regex, [ --with-regex enable support for wxRegEx class], wxUSE_REGEX) WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB) WX_ARG_SYS_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC) WX_ARG_SYS_WITH(expat, [ --with-expat enable XML support using expat parser], wxUSE_EXPAT) +AC_MSG_CHECKING([for --with-macosx-sdk]) +AC_ARG_WITH(macosx-sdk, [ --with-macosx-sdk=PATH use an OS X SDK at PATH], [ + wxUSE_MACOSX_SDK=$withval + wx_cv_use_macosx_sdk="wxUSE_MACOSX_SDK=$withval" + echo "wxUSE_MACOSX_SDK=$wxUSE_MACOSX_SDK" >> ${wx_arg_cache_file}.tmp + ], [ + # NOTE: Empty string on purpose so that --without-macosx-sdk (thus no) + # will override --enable-universal_binary's automatic SDK usage. + wxUSE_MACOSX_SDK= + LINE=`grep "^wxUSE_MACOSX_SDK=" ${wx_arg_cache_file}` + if test "x$LINE" != x ; then + eval "$LINE" + echo "$LINE" >> ${wx_arg_cache_file}.tmp + fi + ]) +AC_MSG_RESULT([$wxUSE_MACOSX_SDK]) + +AC_MSG_CHECKING([for --with-macosx-version-min]) +AC_ARG_WITH(macosx-version-min, [ --with-macosx-version-min=VER build binaries which require at least this OS X version], [ + wxUSE_MACOSX_VERSION_MIN=$withval + wx_cv_use_macosx_version_min="wxUSE_MACOSX_VERSION_MIN=$withval" + echo "wxUSE_MACOSX_VERSION_MIN=$wxUSE_MACOSX_VERSION_MIN" >> ${wx_arg_cache_file}.tmp + ], [ + # default "yes" because when not using an SDK it means the same as no + # but when using an SDK it means to use the SDK version + wxUSE_MACOSX_VERSION_MIN=yes + # See if there is a value in the cache + LINE=`grep "^wxUSE_MACOSX_VERSION_MIN=" ${wx_arg_cache_file}` + if test "x$LINE" != x ; then + eval "$LINE" + echo "$LINE" >> ${wx_arg_cache_file}.tmp + fi + ]) +AC_MSG_RESULT([$wxUSE_MACOSX_VERSION_MIN]) + dnl --------------------------------------------------------------------------- -dnl compile options +dnl global compile options dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(shared, [ --enable-shared create shared library code], wxUSE_SHARED) -WX_ARG_ENABLE(optimise, [ --enable-optimise create optimised code], wxUSE_OPTIMISE) +WX_ARG_DISABLE(shared, [ --disable-shared create static library instead of shared], wxUSE_SHARED) +WX_ARG_DISABLE(optimise, [ --disable-optimise create optimised code], wxUSE_OPTIMISE) WX_ARG_ENABLE(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG) WX_ARG_ENABLE(stl, [ --enable-stl use STL for containers], wxUSE_STL) +WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM) +WX_ARG_ENABLE(std_string, [ --enable-std_string use standard C++ string classes], wxUSE_STD_STRING) +WX_ARG_DISABLE(unicode, [ --disable-unicode compile without Unicode support], wxUSE_UNICODE) +WX_ARG_ENABLE(mslu, [ --enable-mslu use MS Layer for Unicode on Windows 9x (Win32 only)], wxUSE_UNICODE_MSLU) +WX_ARG_ENABLE_PARAM(utf8, [ --enable-utf8 use UTF-8 representation for strings (Unix only)], wxUSE_UNICODE_UTF8) +WX_ARG_ENABLE(utf8only, [ --enable-utf8only only support UTF-8 locales in UTF-8 build (Unix only)], wxUSE_UNICODE_UTF8_LOCALE) +WX_ARG_ENABLE(extended_rtti, [ --enable-extended_rtti use extended RTTI (XTI)], wxUSE_EXTENDED_RTTI) if test "$USE_OS2" = "1"; then DEFAULT_wxUSE_OMF=no WX_ARG_ENABLE(omf, [ --enable-omf use OMF object format], wxUSE_OMF) @@ -930,142 +585,130 @@ 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_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) - -WX_ARG_ENABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH) - +WX_ARG_DISABLE(vararg_macros,[ --disable-vararg_macros don't use vararg macros, even if they are supported], wxUSE_VARARG_MACROS) +WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working)]], wxUSE_UNIVERSAL_BINARY) -dnl --------------------------------------------------------------------------- -dnl (small) optional non GUI classes -dnl --------------------------------------------------------------------------- +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) -WX_ARG_ENABLE(intl, [ --enable-intl use internationalization system], wxUSE_INTL) -WX_ARG_ENABLE(config, [ --enable-config use wxConfig (and derived) classes], wxUSE_CONFIG) +WX_ARG_DISABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH) -WX_ARG_ENABLE(protocols, [ --enable-protocols use wxProtocol and derived classes], wxUSE_PROTOCOL) -WX_ARG_ENABLE(ftp, [ --enable-ftp use wxFTP (requires wxProtocol], wxUSE_PROTOCOL_FTP) -WX_ARG_ENABLE(http, [ --enable-http use wxHTTP (requires wxProtocol], wxUSE_PROTOCOL_HTTP) -WX_ARG_ENABLE(fileproto, [ --enable-fileproto use wxFileProto class (requires wxProtocol], wxUSE_PROTOCOL_FILE) -WX_ARG_ENABLE(sockets, [ --enable-sockets use socket/network classes], wxUSE_SOCKETS) -WX_ARG_ENABLE(ole, [ --enable-ole use OLE classes (Win32 only)], wxUSE_OLE) -WX_ARG_ENABLE(dataobj, [ --enable-dataobj use data object classes], wxUSE_DATAOBJ) - -WX_ARG_ENABLE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC) - -dnl please keep the settings below in alphabetical order -WX_ARG_ENABLE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE) -WX_ARG_ENABLE(arcstream, [ --enable-arcstream use wxArchive streams], wxUSE_ARCHIVE_STREAMS) -WX_ARG_ENABLE(backtrace, [ --enable-backtrace use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER) -WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION) -WX_ARG_ENABLE(cmdline, [ --enable-cmdline use wxCmdLineParser class], wxUSE_CMDLINE_PARSER) -WX_ARG_ENABLE(datetime, [ --enable-datetime use wxDateTime class], wxUSE_DATETIME) -WX_ARG_ENABLE(debugreport, [ --enable-debugreport use wxDebugReport class], wxUSE_DEBUGREPORT) -WX_ARG_ENABLE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER) -WX_ARG_ENABLE(dynlib, [ --enable-dynlib use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS) -WX_ARG_ENABLE(dynamicloader, [ --enable-dynamicloader use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER) -WX_ARG_ENABLE(exceptions, [ --enable-exceptions build exception-safe library], wxUSE_EXCEPTIONS) -WX_ARG_ENABLE(ffile, [ --enable-ffile use wxFFile class], wxUSE_FFILE) -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 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) -WX_ARG_ENABLE(mimetype, [ --enable-mimetype use wxMimeTypesManager], wxUSE_MIMETYPE) -WX_ARG_ENABLE(mslu, [ --enable-mslu use MS Layer for Unicode on Windows 9x (Win32 only)], wxUSE_UNICODE_MSLU) -WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER) -WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM) -WX_ARG_ENABLE(std_string, [ --enable-std_string use standard C++ string classes], wxUSE_STD_STRING) -WX_ARG_ENABLE(stdpaths, [ --enable-stdpaths use wxStandardPaths class], wxUSE_STDPATHS) -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(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) -WX_ARG_ENABLE(protocol_file, [ --enable-protocol-file FILE support in wxProtocol], wxUSE_PROTOCOL_FILE) +WX_ARG_ENABLE(objc_uniquifying,[ --enable-objc_uniquifying enable Objective-C class name uniquifying], wxUSE_OBJC_UNIQUIFYING) +WX_ARG_DISABLE(visibility, [ --disable-visibility disable use of ELF symbols visibility even if supported], wxUSE_VISIBILITY) dnl --------------------------------------------------------------------------- -dnl "big" options (i.e. those which change a lot of things throughout the library) +dnl optional non GUI features dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(threads, [ --enable-threads use threads], wxUSE_THREADS) +WX_ARG_FEATURE(intl, [ --enable-intl use internationalization system], wxUSE_INTL) +WX_ARG_FEATURE(config, [ --enable-config use wxConfig (and derived) classes], wxUSE_CONFIG) -if test "$wxUSE_GUI" = "yes"; then +WX_ARG_FEATURE(protocols, [ --enable-protocols use wxProtocol and derived classes], wxUSE_PROTOCOL) +WX_ARG_FEATURE(ftp, [ --enable-ftp use wxFTP (requires wxProtocol], wxUSE_PROTOCOL_FTP) +WX_ARG_FEATURE(http, [ --enable-http use wxHTTP (requires wxProtocol], wxUSE_PROTOCOL_HTTP) +WX_ARG_FEATURE(fileproto, [ --enable-fileproto use wxFileProto class (requires wxProtocol], wxUSE_PROTOCOL_FILE) +WX_ARG_FEATURE(sockets, [ --enable-sockets use socket/network classes], wxUSE_SOCKETS) +WX_ARG_FEATURE(ole, [ --enable-ole use OLE classes (Win32 only)], wxUSE_OLE) +WX_ARG_FEATURE(dataobj, [ --enable-dataobj use data object classes], wxUSE_DATAOBJ) -dnl --------------------------------------------------------------------------- -dnl "big" GUI options -dnl --------------------------------------------------------------------------- +WX_ARG_FEATURE(ipc, [ --enable-ipc use interprocess communication (wxSocket etc.)], wxUSE_IPC) -WX_ARG_ENABLE(docview, [ --enable-docview use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE) -WX_ARG_ENABLE(help, [ --enable-help use help subsystem], wxUSE_HELP) -WX_ARG_ENABLE(mshtmlhelp, [ --enable-mshtmlhelp use MS HTML Help (win32)], wxUSE_MS_HTML_HELP) -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) -WX_ARG_ENABLE(mdidoc, [ --enable-mdidoc use docview architecture with MDI], wxUSE_MDI_ARCHITECTURE) -WX_ARG_ENABLE(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI) -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(richtext, [ --enable-richtext use wxRichTextCtrl], wxUSE_RICHTEXT) -WX_ARG_ENABLE(graphics_ctx, [ --enable-graphics_ctx use graphics context 2D drawing API], wxUSE_GRAPHICS_CONTEXT) +WX_ARG_FEATURE(baseevtloop, [ --enable-baseevtloop use event loop in console programs too], wxUSE_CONSOLE_EVENTLOOP) +WX_ARG_FEATURE(epoolloop, [ --enable-epoolloop use wxEpollDispatcher class (Linux only)], wxUSE_EPOLL_DISPATCHER) +WX_ARG_FEATURE(selectloop, [ --enable-selectloop use wxSelectDispatcher class], wxUSE_SELECT_DISPATCHER) -dnl --------------------------------------------------------------------------- -dnl PostScript options -dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(postscript, [ --enable-postscript use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT) +dnl please keep the settings below in alphabetical order +WX_ARG_FEATURE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE) +WX_ARG_FEATURE(arcstream, [ --enable-arcstream use wxArchive streams], wxUSE_ARCHIVE_STREAMS) +WX_ARG_FEATURE(base64, [ --enable-base64 use base64 encoding/decoding functions], wxUSE_BASE64) +WX_ARG_FEATURE(backtrace, [ --enable-backtrace use wxStackWalker class for getting backtraces], wxUSE_STACKWALKER) +WX_ARG_FEATURE(catch_segvs, [ --enable-catch_segvs catch signals in wxApp::OnFatalException (Unix only)], wxUSE_ON_FATAL_EXCEPTION) +WX_ARG_FEATURE(cmdline, [ --enable-cmdline use wxCmdLineParser class], wxUSE_CMDLINE_PARSER) +WX_ARG_FEATURE(datetime, [ --enable-datetime use wxDateTime class], wxUSE_DATETIME) +WX_ARG_FEATURE(debugreport, [ --enable-debugreport use wxDebugReport class], wxUSE_DEBUGREPORT) +WX_ARG_FEATURE(dialupman, [ --enable-dialupman use dialup network classes], wxUSE_DIALUP_MANAGER) +WX_ARG_FEATURE(dynlib, [ --enable-dynlib use wxLibrary class for DLL loading], wxUSE_DYNLIB_CLASS) +WX_ARG_FEATURE(dynamicloader, [ --enable-dynamicloader use (new) wxDynamicLibrary class], wxUSE_DYNAMIC_LOADER) +WX_ARG_FEATURE(exceptions, [ --enable-exceptions build exception-safe library], wxUSE_EXCEPTIONS) +WX_ARG_FEATURE(ffile, [ --enable-ffile use wxFFile class], wxUSE_FFILE) +WX_ARG_FEATURE(file, [ --enable-file use wxFile class], wxUSE_FILE) +WX_ARG_FEATURE(filesystem, [ --enable-filesystem use virtual file systems classes], wxUSE_FILESYSTEM) +WX_ARG_FEATURE(fontenum, [ --enable-fontenum use wxFontEnumerator class], wxUSE_FONTENUM) +WX_ARG_FEATURE(fontmap, [ --enable-fontmap use font encodings conversion classes], wxUSE_FONTMAP) +WX_ARG_FEATURE(fs_archive, [ --enable-fs_archive use virtual archive filesystems], wxUSE_FS_ARCHIVE) +WX_ARG_FEATURE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET) +WX_ARG_FEATURE(fs_zip, [ --enable-fs_zip now replaced by fs_archive], wxUSE_FS_ZIP) +WX_ARG_FEATURE(geometry, [ --enable-geometry use geometry class], wxUSE_GEOMETRY) +WX_ARG_FEATURE(log, [ --enable-log use logging system], wxUSE_LOG) +WX_ARG_FEATURE(longlong, [ --enable-longlong use wxLongLong class], wxUSE_LONGLONG) +WX_ARG_FEATURE(mimetype, [ --enable-mimetype use wxMimeTypesManager], wxUSE_MIMETYPE) +WX_ARG_FEATURE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER) +WX_ARG_FEATURE(stdpaths, [ --enable-stdpaths use wxStandardPaths class], wxUSE_STDPATHS) +WX_ARG_FEATURE(stopwatch, [ --enable-stopwatch use wxStopWatch class], wxUSE_STOPWATCH) +WX_ARG_FEATURE(streams, [ --enable-streams use wxStream etc classes], wxUSE_STREAMS) +WX_ARG_FEATURE(system_options,[ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS) +WX_ARG_FEATURE(tarstream, [ --enable-tarstream use wxTar streams], wxUSE_TARSTREAM) +WX_ARG_FEATURE(textbuf, [ --enable-textbuf use wxTextBuffer class], wxUSE_TEXTBUFFER) +WX_ARG_FEATURE(textfile, [ --enable-textfile use wxTextFile class], wxUSE_TEXTFILE) +WX_ARG_FEATURE(timer, [ --enable-timer use wxTimer class], wxUSE_TIMER) +WX_ARG_FEATURE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND) +WX_ARG_FEATURE(mediactrl, [ --enable-mediactrl use wxMediaCtrl class], wxUSE_MEDIACTRL) +WX_ARG_FEATURE(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8) +WX_ARG_FEATURE(printfposparam,[ --enable-printfposparam use wxVsnprintf() which supports positional parameters], wxUSE_PRINTF_POS_PARAMS) +WX_ARG_FEATURE(zipstream, [ --enable-zipstream use wxZip streams], wxUSE_ZIPSTREAM) + +WX_ARG_FEATURE(url, [ --enable-url use wxURL class], wxUSE_URL) +WX_ARG_FEATURE(variant, [ --enable-variant use wxVariant class], wxUSE_VARIANT) +WX_ARG_FEATURE(protocol, [ --enable-protocol use wxProtocol class], wxUSE_PROTOCOL) +WX_ARG_FEATURE(protocol_http, [ --enable-protocol-http HTTP support in wxProtocol], wxUSE_PROTOCOL_HTTP) +WX_ARG_FEATURE(protocol_ftp, [ --enable-protocol-ftp FTP support in wxProtocol], wxUSE_PROTOCOL_FTP) +WX_ARG_FEATURE(protocol_file, [ --enable-protocol-file FILE support in wxProtocol], wxUSE_PROTOCOL_FILE) + +WX_ARG_FEATURE(threads, [ --enable-threads use threads], wxUSE_THREADS) -dnl VZ: these options seem to be always on, if someone wants to change it please do -dnl WX_ARG_ENABLE(PS-normalized, [ --enable-PS-normalized use normalized PS fonts], dnl wxUSE_NORMALIZED_PS_FONTS) -dnl WX_ARG_ENABLE(afmfonts, [ --enable-afmfonts use Adobe Font Metric Font table], dnl wxUSE_AFM_FOR_POSTSCRIPT) +if test "$wxUSE_GUI" = "yes"; then dnl --------------------------------------------------------------------------- -dnl resources +dnl optional "big" GUI features dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(prologio, [ --enable-prologio not available; see contrib], wxUSE_PROLOGIO) -WX_ARG_ENABLE(resources, [ --enable-resources not available; see contrib], wxUSE_RESOURCES) +WX_ARG_FEATURE(docview, [ --enable-docview use document view architecture], wxUSE_DOC_VIEW_ARCHITECTURE) +WX_ARG_FEATURE(help, [ --enable-help use help subsystem], wxUSE_HELP) +WX_ARG_FEATURE(mshtmlhelp, [ --enable-mshtmlhelp use MS HTML Help (win32)], wxUSE_MS_HTML_HELP) +WX_ARG_FEATURE(html, [ --enable-html use wxHTML sub-library], wxUSE_HTML) +WX_ARG_FEATURE(htmlhelp, [ --enable-htmlhelp use wxHTML-based help], wxUSE_WXHTML_HELP) +WX_ARG_FEATURE(xrc, [ --enable-xrc use XRC resources sub-library], wxUSE_XRC) +WX_ARG_FEATURE(aui, [ --enable-aui use AUI docking library], wxUSE_AUI) +WX_ARG_FEATURE(stc, [ --enable-stc use wxStyledTextCtrl library], wxUSE_STC) +WX_ARG_FEATURE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS) +WX_ARG_FEATURE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE) +WX_ARG_FEATURE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI) +WX_ARG_FEATURE(mdidoc, [ --enable-mdidoc use docview architecture with MDI], wxUSE_MDI_ARCHITECTURE) +WX_ARG_FEATURE(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI) +WX_ARG_FEATURE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW) +WX_ARG_FEATURE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG) +WX_ARG_FEATURE(webkit, [ --enable-webkit use wxWebKitCtrl (Mac)], wxUSE_WEBKIT) +WX_ARG_FEATURE(richtext, [ --enable-richtext use wxRichTextCtrl], wxUSE_RICHTEXT) +WX_ARG_FEATURE(graphics_ctx,[ --enable-graphics_ctx use graphics context 2D drawing API], wxUSE_GRAPHICS_CONTEXT) +WX_ARG_FEATURE(postscript, [ --enable-postscript use wxPostscriptDC device context (default for gtk+)], wxUSE_POSTSCRIPT) +WX_ARG_FEATURE(svg, [ --enable-svg use wxSVGFileDC device context], wxUSE_SVG) dnl --------------------------------------------------------------------------- dnl IPC &c dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(clipboard, [ --enable-clipboard use wxClipboard class], wxUSE_CLIPBOARD) -WX_ARG_ENABLE(dnd, [ --enable-dnd use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP) -WX_ARG_ENABLE(metafile, [ --enable-metafile use win32 metafiles], wxUSE_METAFILE) - -dnl WX_ARG_ENABLE(treelayout, [ --enable-treelayout use wxTreeLayout class], wxUSE_TREELAYOUT) +WX_ARG_FEATURE(clipboard, [ --enable-clipboard use wxClipboard class], wxUSE_CLIPBOARD) +WX_ARG_FEATURE(dnd, [ --enable-dnd use Drag'n'Drop classes], wxUSE_DRAG_AND_DROP) +WX_ARG_FEATURE(metafile, [ --enable-metafile use win32 metafiles], wxUSE_METAFILE) dnl --------------------------------------------------------------------------- dnl optional GUI controls (in alphabetical order except the first one) dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(controls, [ --enable-controls use all usual controls], wxUSE_CONTROLS) +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 @@ -1104,6 +747,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then 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 @@ -1156,6 +800,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then 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 @@ -1176,137 +821,127 @@ elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_TIPWINDOW=no 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) -WX_ARG_ENABLE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID) -WX_ARG_ENABLE(dataviewctrl,[ --enable-dataviewctrl, use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL) -WX_ARG_ENABLE(hyperlink, [ --enable-hyperlink use wxHyperlinkCtrl class], wxUSE_HYPERLINKCTRL) -WX_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST) -WX_ARG_ENABLE(listbook, [ --enable-listbook use wxListbook class], wxUSE_LISTBOOK) -WX_ARG_ENABLE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX) -WX_ARG_ENABLE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL) -WX_ARG_ENABLE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK) -WX_ARG_ENABLE(odcombobox, [ --enable-odcombobox use wxOwnerDrawnComboBox class], wxUSE_ODCOMBOBOX) -WX_ARG_ENABLE(radiobox, [ --enable-radiobox use wxRadioBox class], wxUSE_RADIOBOX) -WX_ARG_ENABLE(radiobtn, [ --enable-radiobtn use wxRadioButton class], wxUSE_RADIOBTN) -WX_ARG_ENABLE(sash, [ --enable-sash use wxSashWindow class], wxUSE_SASH) -WX_ARG_ENABLE(scrollbar, [ --enable-scrollbar use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR) -WX_ARG_ENABLE(slider, [ --enable-slider use wxSlider class], wxUSE_SLIDER) -WX_ARG_ENABLE(spinbtn, [ --enable-spinbtn use wxSpinButton class], wxUSE_SPINBTN) -WX_ARG_ENABLE(spinctrl, [ --enable-spinctrl use wxSpinCtrl class], wxUSE_SPINCTRL) -WX_ARG_ENABLE(splitter, [ --enable-splitter use wxSplitterWindow class], wxUSE_SPLITTER) -WX_ARG_ENABLE(statbmp, [ --enable-statbmp use wxStaticBitmap class], wxUSE_STATBMP) -WX_ARG_ENABLE(statbox, [ --enable-statbox use wxStaticBox class], wxUSE_STATBOX) -WX_ARG_ENABLE(statline, [ --enable-statline use wxStaticLine class], wxUSE_STATLINE) -WX_ARG_ENABLE(stattext, [ --enable-stattext use wxStaticText class], wxUSE_STATTEXT) -WX_ARG_ENABLE(statusbar, [ --enable-statusbar use wxStatusBar class], wxUSE_STATUSBAR) -WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TAB_DIALOG) -WX_ARG_ENABLE(textctrl, [ --enable-textctrl use wxTextCtrl class], wxUSE_TEXTCTRL) -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(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) -WX_ARG_ENABLE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW) -WX_ARG_ENABLE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN) +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(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) +WX_ARG_FEATURE(checklst, [ --enable-checklst use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST) +WX_ARG_FEATURE(choice, [ --enable-choice use wxChoice class], wxUSE_CHOICE) +WX_ARG_FEATURE(choicebook, [ --enable-choicebook use wxChoicebook class], wxUSE_CHOICEBOOK) +WX_ARG_FEATURE(collpane, [ --enable-collpane use wxCollapsiblePane class], wxUSE_COLLPANE) +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(datepick, [ --enable-datepick use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL) +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(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(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) +WX_ARG_FEATURE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX) +WX_ARG_FEATURE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL) +WX_ARG_FEATURE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK) +WX_ARG_FEATURE(odcombobox, [ --enable-odcombobox use wxOwnerDrawnComboBox class], wxUSE_ODCOMBOBOX) +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(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) +WX_ARG_FEATURE(slider, [ --enable-slider use wxSlider class], wxUSE_SLIDER) +WX_ARG_FEATURE(spinbtn, [ --enable-spinbtn use wxSpinButton class], wxUSE_SPINBTN) +WX_ARG_FEATURE(spinctrl, [ --enable-spinctrl use wxSpinCtrl class], wxUSE_SPINCTRL) +WX_ARG_FEATURE(splitter, [ --enable-splitter use wxSplitterWindow class], wxUSE_SPLITTER) +WX_ARG_FEATURE(statbmp, [ --enable-statbmp use wxStaticBitmap class], wxUSE_STATBMP) +WX_ARG_FEATURE(statbox, [ --enable-statbox use wxStaticBox class], wxUSE_STATBOX) +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(textctrl, [ --enable-textctrl use wxTextCtrl class], wxUSE_TEXTCTRL) +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(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 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) -WX_ARG_ENABLE(finddlg, [ --enable-finddlg use wxFindReplaceDialog], wxUSE_FINDREPLDLG) -WX_ARG_ENABLE(fontdlg, [ --enable-fontdlg use wxFontDialog], wxUSE_FONTDLG) -WX_ARG_ENABLE(dirdlg, [ --enable-dirdlg use wxDirDialog], wxUSE_DIRDLG) -WX_ARG_ENABLE(msgdlg, [ --enable-msgdlg use wxMessageDialog], wxUSE_MSGDLG) -WX_ARG_ENABLE(numberdlg, [ --enable-numberdlg use wxNumberEntryDialog], wxUSE_NUMBERDLG) -WX_ARG_ENABLE(splash, [ --enable-splash use wxSplashScreen], wxUSE_SPLASH) -WX_ARG_ENABLE(textdlg, [ --enable-textdlg use wxTextDialog], wxUSE_TEXTDLG) -WX_ARG_ENABLE(tipdlg, [ --enable-tipdlg use startup tips], wxUSE_STARTUP_TIPS) -WX_ARG_ENABLE(progressdlg, [ --enable-progressdlg use wxProgressDialog], wxUSE_PROGRESSDLG) -WX_ARG_ENABLE(wizarddlg, [ --enable-wizarddlg use wxWizard], wxUSE_WIZARDDLG) +WX_ARG_FEATURE(commondlg, [ --enable-commondlg use all common dialogs], wxUSE_COMMONDLGS) +WX_ARG_FEATURE(aboutdlg, [ --enable-aboutdlg use wxAboutBox], wxUSE_ABOUTDLG) +WX_ARG_FEATURE(choicedlg, [ --enable-choicedlg use wxChoiceDialog], wxUSE_CHOICEDLG) +WX_ARG_FEATURE(coldlg, [ --enable-coldlg use wxColourDialog], wxUSE_COLOURDLG) +WX_ARG_FEATURE(filedlg, [ --enable-filedlg use wxFileDialog], wxUSE_FILEDLG) +WX_ARG_FEATURE(finddlg, [ --enable-finddlg use wxFindReplaceDialog], wxUSE_FINDREPLDLG) +WX_ARG_FEATURE(fontdlg, [ --enable-fontdlg use wxFontDialog], wxUSE_FONTDLG) +WX_ARG_FEATURE(dirdlg, [ --enable-dirdlg use wxDirDialog], wxUSE_DIRDLG) +WX_ARG_FEATURE(msgdlg, [ --enable-msgdlg use wxMessageDialog], wxUSE_MSGDLG) +WX_ARG_FEATURE(numberdlg, [ --enable-numberdlg use wxNumberEntryDialog], wxUSE_NUMBERDLG) +WX_ARG_FEATURE(splash, [ --enable-splash use wxSplashScreen], wxUSE_SPLASH) +WX_ARG_FEATURE(textdlg, [ --enable-textdlg use wxTextDialog], wxUSE_TEXTDLG) +WX_ARG_FEATURE(tipdlg, [ --enable-tipdlg use startup tips], wxUSE_STARTUP_TIPS) +WX_ARG_FEATURE(progressdlg, [ --enable-progressdlg use wxProgressDialog], wxUSE_PROGRESSDLG) +WX_ARG_FEATURE(wizarddlg, [ --enable-wizarddlg use wxWizard], wxUSE_WIZARDDLG) dnl --------------------------------------------------------------------------- dnl misc GUI options dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(menus, [ --enable-menus use wxMenu/wxMenuBar/wxMenuItem classes], wxUSE_MENUS) -WX_ARG_ENABLE(miniframe, [ --enable-miniframe use wxMiniFrame class], wxUSE_MINIFRAME) -WX_ARG_ENABLE(tooltips, [ --enable-tooltips use wxToolTip class], wxUSE_TOOLTIPS) -WX_ARG_ENABLE(splines, [ --enable-splines use spline drawing code], wxUSE_SPLINES) -WX_ARG_ENABLE(mousewheel, [ --enable-mousewheel use mousewheel], wxUSE_MOUSEWHEEL) -WX_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS) -WX_ARG_ENABLE(busyinfo, [ --enable-busyinfo use wxBusyInfo], wxUSE_BUSYINFO) -WX_ARG_ENABLE(joystick, [ --enable-joystick use wxJoystick], wxUSE_JOYSTICK) -WX_ARG_ENABLE(metafile, [ --enable-metafiles use wxMetaFile (Win32 only)], wxUSE_METAFILE) -WX_ARG_ENABLE(dragimage, [ --enable-dragimage use wxDragImage], wxUSE_DRAGIMAGE) -WX_ARG_ENABLE(accessibility,[ --enable-accessibility enable accessibility support], wxUSE_ACCESSIBILITY) - -if test "$wxUSE_MSW" = "1"; then - WX_ARG_ENABLE(dccache, [ --enable-dccache cache temporary wxDC objects (Win32 only)], wxUSE_DC_CACHEING) -fi +WX_ARG_FEATURE(menus, [ --enable-menus use wxMenu/wxMenuBar/wxMenuItem classes], wxUSE_MENUS) +WX_ARG_FEATURE(miniframe, [ --enable-miniframe use wxMiniFrame class], wxUSE_MINIFRAME) +WX_ARG_FEATURE(tooltips, [ --enable-tooltips use wxToolTip class], wxUSE_TOOLTIPS) +WX_ARG_FEATURE(splines, [ --enable-splines use spline drawing code], wxUSE_SPLINES) +WX_ARG_FEATURE(mousewheel, [ --enable-mousewheel use mousewheel], wxUSE_MOUSEWHEEL) +WX_ARG_FEATURE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS) +WX_ARG_FEATURE(busyinfo, [ --enable-busyinfo use wxBusyInfo], wxUSE_BUSYINFO) +WX_ARG_FEATURE(joystick, [ --enable-joystick use wxJoystick], wxUSE_JOYSTICK) +WX_ARG_FEATURE(metafile, [ --enable-metafiles use wxMetaFile (Win32 only)], wxUSE_METAFILE) +WX_ARG_FEATURE(dragimage, [ --enable-dragimage use wxDragImage], wxUSE_DRAGIMAGE) +WX_ARG_FEATURE(accessibility,[ --enable-accessibility enable accessibility support], wxUSE_ACCESSIBILITY) dnl --------------------------------------------------------------------------- dnl support for image formats that do not rely on external library dnl --------------------------------------------------------------------------- -WX_ARG_ENABLE(palette, [ --enable-palette use wxPalette class], wxUSE_PALETTE) -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) -WX_ARG_ENABLE(ico_cur, [ --enable-icocur use Windows ICO and CUR formats], wxUSE_ICO_CUR) - -fi +WX_ARG_FEATURE(palette, [ --enable-palette use wxPalette class], wxUSE_PALETTE) +WX_ARG_FEATURE(image, [ --enable-image use wxImage class], wxUSE_IMAGE) +WX_ARG_FEATURE(gif, [ --enable-gif use gif images (GIF file format)], wxUSE_GIF) +WX_ARG_FEATURE(pcx, [ --enable-pcx use pcx images (PCX file format)], wxUSE_PCX) +WX_ARG_FEATURE(tga, [ --enable-tga use tga images (TGA file format)], wxUSE_TGA) +WX_ARG_FEATURE(iff, [ --enable-iff use iff images (IFF file format)], wxUSE_IFF) +WX_ARG_FEATURE(pnm, [ --enable-pnm use pnm images (PNM file format)], wxUSE_PNM) +WX_ARG_FEATURE(xpm, [ --enable-xpm use xpm images (XPM file format)], wxUSE_XPM) +WX_ARG_FEATURE(ico_cur, [ --enable-icocur use Windows ICO and CUR formats], wxUSE_ICO_CUR) dnl --------------------------------------------------------------------------- -dnl flavour support +dnl wxMSW-only options dnl --------------------------------------------------------------------------- -dnl Should this be --enable? I flip-flopped a couple of times and this seems -dnl in the spirit if not the letter, we have gtk-prefix and the like in this group. -dnl It doesn't actually change anything but the output file names. -AC_ARG_WITH(flavour, [ --with-flavour=NAME specify a name to identify this build], [WX_FLAVOUR="$withval"]) +WX_ARG_FEATURE(dccache, [ --enable-dccache cache temporary wxDC objects (Win32 only)], wxUSE_DC_CACHEING) +WX_ARG_ENABLE(iniconf, [ --enable-iniconf use wxIniConfig (Win32 only)], wxUSE_INICONF) +WX_ARG_FEATURE(ps-in-msw, [ --enable-ps-in-msw use PS printing in wxMSW (Win32 only)], wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW) +WX_ARG_FEATURE(ownerdrawn, [ --enable-ownerdrawn use owner drawn controls (Win32 only)], wxUSE_OWNER_DRAWN) +WX_ARG_FEATURE(regkey, [ --enable-regkey use wxRegKey class (Win32 only)], wxUSE_REGKEY) +WX_ARG_FEATURE(uxtheme, [ --enable-uxtheme enable support for Windows XP themed look (Win32 only)], wxUSE_UXTHEME) +WX_ARG_FEATURE(wxdib, [ --enable-wxdib use wxDIB class (Win32 only)], wxUSE_DIB) -dnl --------------------------------------------------------------------------- -dnl some win32 settings -dnl --------------------------------------------------------------------------- - -WX_ARG_ENABLE(official_build, [ --enable-official_build official build of wxWidgets (win32 DLL only)], wxUSE_OFFICIAL_BUILD) -AC_ARG_ENABLE(vendor, [ --enable-vendor=VENDOR vendor name (win32 DLL only)], [VENDOR="$enableval"]) -if test "x$VENDOR" = "x"; then - VENDOR="custom" fi - - dnl for GUI only dnl cache the options values before (may be) aborting below @@ -1323,6 +958,8 @@ if test "$wxUSE_WINE" = "yes"; then DEFAULT_DEFAULT_wxUSE_MOTIF=0 DEFAULT_DEFAULT_wxUSE_MSW=1 wxUSE_SHARED=no + CC=${CC:-winegcc} + CXX=${CXX:-wineg++} fi @@ -1454,15 +1091,26 @@ dnl see CFLAGS line above CXXFLAGS=${CXXFLAGS:=} AC_BAKEFILE_PROG_CXX +dnl configure always sets CXX to something as it falls back to g++ even if no +dnl C++ compiler was found, but we prefer to abort now with a clear error +dnl message rather than give errors about all tests failures below +if test "$CXX" = "g++" -a "$GXX" != "yes"; then + AC_MSG_ERROR([C++ compiler is needed to build wxWidgets]) +fi + dnl ranlib command dnl defines RANLIB with the appropriate command AC_PROG_RANLIB dnl ar command dnl defines AR with the appropriate command -AC_CHECK_TOOL(AR, ar) -if test "x$AR" = "x" ; then - AC_MSG_ERROR([ar is needed to build wxWidgets]) +dnl +dnl For Sun CC AC_BAKEFILE below sets AR to the compiler itself. +if test "x$SUNCXX" != xyes; then + AC_CHECK_TOOL(AR, ar) + if test "x$AR" = "x" ; then + AC_MSG_ERROR([ar is needed to build wxWidgets]) + fi fi dnl install checks @@ -1480,6 +1128,142 @@ case ${INSTALL} in INSTALL=`pwd`/${INSTALL} ;; esac +retest_macosx_linking=no + +dnl Support the old --enable-universal_binary in case anyone was using it. +#if test "$wxUSE_MAC" = 1; then + 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 + # Implicitly turn on the new --with-macosx-sdk using the default + # SDK which provides the behavior this option has always had. + if test "x$wxUSE_MACOSX_SDK" = "x"; then + AC_MSG_WARN([Enabling default SDK due to --enable-universal_binary.]) + AC_MSG_WARN([If you don't want this, specify --without-macosx-sdk]) + wxUSE_MACOSX_SDK=yes + fi + else + # Complain to user if he specified an argument to --enable-universal_binary + # and also 1) specified --with-macosx-sdk using the default (yes) or + # 2) specified --with-macosx-sdk using a path or 3) specified + # --without-macosx-sdk (no). + if test "x$wxUSE_MACOSX_SDK" != "x" ; then + AC_MSG_FAILURE([Please specify the new --with-macosx-sdk=PATH and do not specify an arg to --enable-universal_binary]) + else + # Put the SDK path into the wxUSE_MACOSX_SDK. We don't have to + # special-case the empty string because the below test simply + # converts "no" to the empty string anyway. + wxUSE_MACOSX_SDK="$wxUSE_UNIVERSAL_BINARY" + dnl Warn about deprecated usage. + AC_MSG_WARN([Please use --with-macosx-sdk=PATH and --enable-universal_binary without an argument]) + fi + fi + dnl FIXME: I think it would be better to put this into CC, CXX, and LD rather than the flags. + OSX_UNIV_OPTS="-arch ppc -arch i386" + CXXFLAGS="$OSX_UNIV_OPTS $CXXFLAGS" + CFLAGS="$OSX_UNIV_OPTS $CFLAGS" + LDFLAGS="$OSX_UNIV_OPTS $LDFLAGS" + dnl NOTE: Only the compiler driver needs arch flags. The link editor + dnl is incapable of using them but the compiler driver (which we use + dnl as LD when building dynamic libraries) uses them to invoke the + dnl real ld multiple times. If we moved to libtool -dynamic we would + dnl need no arch flags because libtool automatically invokes ld for + dnl every architecture found in the fat input files. + dnl + dnl For static library builds, AR/RANLIB automatically create proper + dnl fat archives although AR is unable to update them once RANLIB has + dnl made them into proper fat archives. Fortunately, our link process + dnl simply removes the .a file before using ar to create a new one. + dnl If we did move to libtool -static we still wouldn't need arch flags + dnl because libtool automatically figures it out based on input. + retest_macosx_linking=yes + + dnl HACK: PCH could be made to work by precompiling for each architecture into separate directories + dnl and including all architecture directories with each compiler invocation. + dnl That would require a major rework of Bakefile and at the same time it would be nice to have + dnl Objective-C++ precompiled headers. + AC_MSG_WARN([Disabling precompiled headers due to universal binary build.]) + bk_use_pch=no + fi +#fi + +dnl Set up the Mac OS X SDK. We do this early so configure tests will occur +dnl with the SDK in place. +dnl NOTE: We clobber wxUSE_MACOSX_SDK with the SDK path +if test "x$wxUSE_MACOSX_SDK" = "xno"; then + wxUSE_MACOSX_SDK= +elif test "x$wxUSE_MACOSX_SDK" = "xyes"; then + # TODO: Search for most recent SDK and use it. + wxUSE_MACOSX_SDK="/Developer/SDKs/MacOSX10.4u.sdk" +fi + + +if test "x$wxUSE_MACOSX_SDK" != "x"; then + AC_MSG_CHECKING([for SDK directory $wxUSE_MACOSX_SDK]) + if ! test -d "$wxUSE_MACOSX_SDK"; then + AC_MSG_FAILURE([not found]) + else + AC_MSG_RESULT([exists]) + fi + MACOSX_SDK_OPTS="-isysroot $wxUSE_MACOSX_SDK" + eval "CC=\"$CC $MACOSX_SDK_OPTS\"" + eval "CXX=\"$CXX $MACOSX_SDK_OPTS\"" + eval "LD=\"$LD $MACOSX_SDK_OPTS\"" + retest_macosx_linking=yes + dnl NOTE: When libtool is used in lieu of AR/RANLIB (i.e. in static mode) + dnl the syslibroot makes no difference. We aren't using libtool now but + dnl if we ever did, be aware that you don't need to worry about it. +fi + +dnl Set up the deployment target +dnl No : Don't specify a min version even if using an SDK +dnl Yes : Use the version from the SDK if used, otherwise same as no +dnl Param: Use the specified version +if test "x$wxUSE_MACOSX_VERSION_MIN" = "xno"; then + wxUSE_MACOSX_VERSION_MIN= +elif test "x$wxUSE_MACOSX_VERSION_MIN" = "xyes"; then + if test "x$wxUSE_MACOSX_SDK" != "x"; then + AC_MSG_CHECKING([SDK deployment version]) +dnl We need to quote the next line where we don't need macros and do need [] in the regex +[ + MACOSX_SDK_PLIST_VERSION_MIN=`defaults read "$wxUSE_MACOSX_SDK/SDKSettings" buildSettings | grep '^ *"\{0,1\}MACOSX_DEPLOYMENT_TARGET"\{0,1\} *= *"\{0,1\}[^"]*"\{0,1\}; *$' | sed 's/^ *"\{0,1\}MACOSX_DEPLOYMENT_TARGET"\{0,1\} *= *"\{0,1\}\([^"]*\)"\{0,1\} *; *$/\1/'` +] + if test "x$MACOSX_SDK_PLIST_VERSION_MIN" != "x"; then + wxUSE_MACOSX_VERSION_MIN=$MACOSX_SDK_PLIST_VERSION_MIN + AC_MSG_RESULT([$wxUSE_MACOSX_VERSION_MIN]) + else + AC_MSG_WARN([Could not determine deployment target from SDKSettings.plist]) + wxUSE_MACOSX_VERSION_MIN= + fi + else + wxUSE_MACOSX_VERSION_MIN= + fi +fi + +if test "x$wxUSE_MACOSX_VERSION_MIN" != "x"; then + MACOSX_VERSION_MIN_OPTS="-mmacosx-version-min=$wxUSE_MACOSX_VERSION_MIN" + eval "CC=\"$CC $MACOSX_VERSION_MIN_OPTS\"" + eval "CXX=\"$CXX $MACOSX_VERSION_MIN_OPTS\"" + eval "LD=\"$LD $MACOSX_VERSION_MIN_OPTS\"" + retest_macosx_linking=yes +fi + +dnl If either an SDK or a version option was added, make sure that we can +dnl still compile and link both C and C++. If we didn't do this, then most +dnl of the remaining tests would fail. +if test "x$retest_macosx_linking" = "xyes"; then + AC_LANG_PUSH(C) + AC_MSG_CHECKING([if C compiler works with SDK/version options]) + AC_TRY_LINK([],[],[AC_MSG_RESULT([yes])],[AC_MSG_FAILURE([no. Try a different SDK]); exit 1]) + AC_LANG_POP() + + AC_LANG_PUSH(C++) + AC_MSG_CHECKING([if C++ compiler works with SDK/version options]) + AC_TRY_LINK([],[],[AC_MSG_RESULT([yes])],[AC_MSG_FAILURE([no. Try a different SDK]); exit 1]) + AC_LANG_POP() +fi + case "${host}" in @@ -1519,7 +1303,7 @@ dnl does make support "-include" (only GNU make does AFAIK)? AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu, [ if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null | - egrep -s GNU > /dev/null); then + $EGREP -s GNU > /dev/null); then wx_cv_prog_makeisgnu="yes" else wx_cv_prog_makeisgnu="no" @@ -1670,9 +1454,6 @@ 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 @@ -1820,11 +1601,13 @@ dnl ------------------------------------------------------------------------ dnl Check for headers dnl ------------------------------------------------------------------------ -AC_CHECK_HEADERS(stdlib.h fnmatch.h langinfo.h malloc.h unistd.h wchar.h) +dnl Note: non-empty last parameter makes check compile-only, +dnl skipping worthless preprocessing check +AC_CHECK_HEADERS(stdlib.h fnmatch.h langinfo.h malloc.h unistd.h wchar.h,,, [AC_INCLUDES_DEFAULT()]) dnl maybe wchar_t is in wcstr.h if we don't have wchar.h? if test "$ac_cv_header_wchar_h" != "yes"; then - AC_CHECK_HEADERS(wcstr.h) + AC_CHECK_HEADERS([wcstr.h],,, [AC_INCLUDES_DEFAULT()]) fi case "${host}" in @@ -1842,7 +1625,7 @@ 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]) + AC_CHECK_HEADERS([sys/select.h],,, [AC_INCLUDES_DEFAULT()]) fi dnl --------------------------------------------------------------------------- @@ -1857,7 +1640,6 @@ AC_C_INLINE dnl check the sizes of integral types (give some reasonable default values for dnl cross-compiling) dnl defines the size of certain types of variables in SIZEOF_ -AC_CHECK_SIZEOF(char, 1) AC_CHECK_SIZEOF(short, 2) AC_CHECK_SIZEOF(void *, 4) AC_CHECK_SIZEOF(int, 4) @@ -1909,6 +1691,7 @@ dnl checks needed to define wxVaCopy AC_CACHE_CHECK([for va_copy], wx_cv_func_va_copy, [ + AC_LANG_PUSH(C++) AC_LINK_IFELSE([ #include void foo(char *f, ...) @@ -1927,6 +1710,7 @@ AC_CACHE_CHECK([for va_copy], wx_cv_func_va_copy=yes, wx_cv_func_va_copy=no ) + AC_LANG_POP() ] ) @@ -1969,6 +1753,11 @@ else fi fi +dnl don't check for vararg macros if they're explicitly disabled: this is +dnl useful if the user code using the library wants to limit itself to standard +dnl C++ only (e.g. is compiled with g++ -std=c++98) +if test "$wxUSE_VARARG_MACROS" = "yes"; then + dnl Check if variadic macros (C99 feature) are supported: AC_CACHE_CHECK( [whether the compiler supports variadic macros], @@ -1998,6 +1787,8 @@ if test $wx_cv_have_variadic_macros = "yes"; then AC_DEFINE(HAVE_VARIADIC_MACROS) fi +fi dnl wxUSE_VARARG_MACROS == yes + dnl check for large file support AC_SYS_LARGEFILE @@ -2260,7 +2051,9 @@ if test "$wxUSE_STL" = "yes"; then wx_cv_class_stdhashmapset=yes, wx_cv_class_stdhashmapset=no) ] - )] + )], + [], + [ ] ) if test "$wx_cv_class_stdhashmapset" = yes; then @@ -2278,7 +2071,9 @@ if test "$wxUSE_STL" = "yes"; then wx_cv_class_gnuhashmapset=yes, wx_cv_class_gnuhashmapset=no) ] - )] + )], + [], + [ ] ) if test "$wx_cv_class_gnuhashmapset" = yes; then @@ -2527,11 +2322,16 @@ 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 +dnl +dnl at least under SGI these functions are only available in C99 code and not +dnl in C++ so do these tests using C++ compiler +AC_LANG_PUSH(C++) if test "wxUSE_UNICODE" = "yes"; then WX_CHECK_FUNCS(wcstoull) else WX_CHECK_FUNCS(strtoull) fi +AC_LANG_POP() dnl --------------------------------------------------------------------------- dnl Optional libraries @@ -2568,7 +2368,7 @@ if test "$wxUSE_REGEX" != "no"; then if test "$wxUSE_REGEX" = "sys" -o "$wxUSE_REGEX" = "yes" ; then dnl according to Unix 98 specs, regcomp() is in libc but I believe that dnl on some old systems it may be in libregex - check for it too? - AC_CHECK_HEADER(regex.h, [AC_CHECK_FUNCS(regcomp re_search)]) + AC_CHECK_HEADER(regex.h, [AC_CHECK_FUNCS(regcomp re_search)],, [ ]) if test "x$ac_cv_func_regcomp" != "xyes"; then if test "$wxUSE_REGEX" = "sys" ; then @@ -2636,7 +2436,7 @@ if test "$wxUSE_ZLIB" != "no" ; then ) dnl If the test above did not come up with a value (e.g. cross dnl compiling) then this should give a definitive answer - AC_CHECK_HEADER(zlib.h) + AC_CHECK_HEADER(zlib.h,,, [ ]) system_zlib_h_ok=$ac_cv_header_zlib_h fi @@ -2707,7 +2507,7 @@ if test "$wxUSE_LIBPNG" != "no" ; then unset ac_cv_header_png_h )] ) - AC_CHECK_HEADER(png.h) + AC_CHECK_HEADER(png.h,,, [ ]) if test "$ac_cv_header_png_h" = "yes"; then AC_CHECK_LIB(png, png_check_sig, PNG_LINK=" -lpng -lz", , [-lz -lm]) @@ -2779,6 +2579,30 @@ if test "$wxUSE_LIBJPEG" != "no" ; then else dnl we are using the system library wxUSE_LIBJPEG=sys + + if test "$wxUSE_MSW" = 1; then + dnl boolean is defined by the jpeg headers and also by the + dnl Windows headers of some compilers. This type has been + dnl renamed in the builtin, so it is only an issue when + dnl using an external jpeg lib on Windows. + AC_CHECK_TYPES( + [boolean], + [ + AC_CHECK_SIZEOF( + [boolean], + [], + [ + #undef HAVE_BOOLEAN + #include + #include + ]) + AC_DEFINE_UNQUOTED( + [wxHACK_BOOLEAN], + [wxInt`expr 8 \* $ac_cv_sizeof_boolean`]) + ], + [], + [#include ]) + fi fi fi fi @@ -2808,7 +2632,9 @@ if test "$wxUSE_LIBTIFF" != "no" ; then TIFF_LINK=" -ltiff", , $TIFF_PREREQ_LINKS) - ] + ], + [], + [ ] ) if test "x$TIFF_LINK" = "x" ; then @@ -2846,7 +2672,7 @@ if test "$wxUSE_EXPAT" != "no"; then AC_DEFINE(wxUSE_XML) if test "$wxUSE_EXPAT" = "sys" -o "$wxUSE_EXPAT" = "yes" ; then - AC_CHECK_HEADER([expat.h], [found_expat_h=1]) + AC_CHECK_HEADER([expat.h], [found_expat_h=1],, [ ]) if test "x$found_expat_h" = "x1"; then dnl Expat 1.95.6 comes with broken expat.h: AC_CACHE_CHECK([if expat.h is valid C++ header], @@ -2888,7 +2714,7 @@ dnl Check for libmspack dnl ------------------------------------------------------------------------ if test "$wxUSE_LIBMSPACK" != "no"; then - AC_CHECK_HEADER([mspack.h], [found_mspack_h=1]) + AC_CHECK_HEADER([mspack.h], [found_mspack_h=1],, [ ]) if test "x$found_mspack_h" = "x1"; then AC_CHECK_LIB(mspack, mspack_create_chm_decompressor, MSPACK_LINK=" -lmspack") @@ -2917,11 +2743,12 @@ WIDGET_SET= dnl are we building for a win32 target environment? dnl If so, setup common stuff needed for both GUI and Base libs. if test "$USE_WIN32" = 1 ; then - AC_CHECK_HEADERS(w32api.h) - AC_CHECK_HEADER(windows.h, [], + AC_CHECK_HEADERS(w32api.h,,, [ ]) + AC_CHECK_HEADER(windows.h,, [ AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h) - ]) + ], + [ ]) dnl --- FIXME: This is still a somewhat random list of libs, dnl --- some of them should probably be included conditionally. @@ -2959,14 +2786,8 @@ 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)]) + AC_CHECK_HEADER([pbt.h],, [AC_DEFINE(NEED_PBT_H)], [ ]) fi if test "$wxUSE_GUI" = "yes"; then @@ -2989,7 +2810,7 @@ if test "$wxUSE_GUI" = "yes"; then wxUSE_DRAG_AND_DROP=no fi if test "$wxUSE_DRAGIMAGE" = "yes"; then - AC_MSG_WARN([Drag Image and DandD not supported under wxCocoa yet, disabled]) + AC_MSG_WARN([wxDragImage not supported under wxCocoa yet, disabled]) wxUSE_DRAGIMAGE=no fi fi @@ -3028,26 +2849,21 @@ if test "$wxUSE_GUI" = "yes"; then wx_cv_lib_gtk= if test "x$wxGTK_VERSION" != "x1" then - dnl The gthread.pc that ships with solaris returns '-mt', + dnl The gthread.pc that ships with Solaris returns '-mt', dnl it's correct for Sun CC, but gcc requires '-pthreads'. dnl So disable the compile check and remove the -mt below. case "${host}" in *-*-solaris2* ) if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then - enable_gtktest=no + enable_gtktest=no fi esac AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES) - dnl Remove the '-mt' for gcc on solaris + dnl Solaris also requires -lX11 for static lib case "${host}" in *-*-solaris2* ) - if test "$wxUSE_THREADS" = "yes" -a "$GCC" = yes; then - GTK_CFLAGS=`echo $GTK_CFLAGS | sed 's/-mt//'` - GTK_LIBS=`echo $GTK_LIBS | sed 's/-mt//'` - fi - dnl solaris also requires -lX11 for static lib if test "$wxUSE_SHARED" != "yes"; then GTK_LIBS="$GTK_LIBS -lX11" fi @@ -3117,45 +2933,70 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config [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]) + + dnl test if we have at least GTK+ 2.10: + AC_MSG_CHECKING([if GTK+ is version >= 2.10]) AC_TRY_COMPILE([ #include ], [ - #if !GTK_CHECK_VERSION(2,6,0) - Not GTK+ 2.6 + #if !GTK_CHECK_VERSION(2,10,0) + Not GTK+ 2.10 #endif ], [ + AC_DEFINE(__WXGTK210__) AC_DEFINE(__WXGTK26__) AC_DEFINE(__WXGTK24__) AC_MSG_RESULT([yes]) - ac_wxgtk26=1 + ac_wxgtk210=1 ], [ AC_MSG_RESULT([no]) - ac_wxgtk26=0 + ac_wxgtk210=0 ]) + if test "$ac_wxgtk210" = 0; then + dnl test if we have at least GTK+ 2.6: + AC_MSG_CHECKING([if GTK+ is version >= 2.6]) + AC_TRY_COMPILE([ + #include + ], + [ + #if !GTK_CHECK_VERSION(2,6,0) + Not GTK+ 2.6 + #endif + ], + [ + AC_DEFINE(__WXGTK26__) + AC_DEFINE(__WXGTK24__) + AC_MSG_RESULT([yes]) + ac_wxgtk26=1 + ], + [ + AC_MSG_RESULT([no]) + ac_wxgtk26=0 + ]) + fi + if test "$ac_wxgtk26" = 0; then - dnl test if we have at least GTK+ 2.4: - AC_MSG_CHECKING([if GTK+ is version >= 2.4]) - AC_TRY_COMPILE([ - #include - ], - [ - #if !GTK_CHECK_VERSION(2,4,0) - Not GTK+ 2.4 - #endif - ], - [ - AC_DEFINE(__WXGTK24__) - AC_MSG_RESULT([yes]) - ], - [ - AC_MSG_RESULT([no]) - ]) + dnl test if we have at least GTK+ 2.4: + AC_MSG_CHECKING([if GTK+ is version >= 2.4]) + AC_TRY_COMPILE([ + #include + ], + [ + #if !GTK_CHECK_VERSION(2,4,0) + Not GTK+ 2.4 + #endif + ], + [ + AC_DEFINE(__WXGTK24__) + AC_MSG_RESULT([yes]) + ], + [ + AC_MSG_RESULT([no]) + ]) fi CFLAGS="$save_CFLAGS" @@ -3168,12 +3009,12 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config 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) - if test "$USE_DARWIN" != 1; then - AC_CHECK_FUNCS(poll) + dnl we need poll() in src/gtk1/app.cpp (we know that Darwin doesn't + dnl have it but we do the check for the others) + if test "$USE_DARWIN" != 1; then + AC_CHECK_FUNCS(poll) + fi fi TOOLKIT_INCLUDE="$wx_cv_cflags_gtk" @@ -3282,7 +3123,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config PKG_PROG_PKG_CONFIG() PKG_CHECK_MODULES(DIRECTFB, - [directfb >= 0.9.22], + [directfb >= 0.9.23], [ wxUSE_UNIVERSAL="yes" TOOLKIT_INCLUDE="$DIRECTFB_CFLAGS" @@ -3412,10 +3253,6 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config fi if test "$wxUSE_MOTIF" = 1; then - if test "$wxUSE_UNICODE" = "yes"; then - AC_MSG_ERROR([Unicode configuration not supported with Motif]) - fi - AC_MSG_CHECKING(for Motif/Lesstif headers) WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h) if test "$ac_find_includes" != "" ; then @@ -3751,6 +3588,28 @@ else DISTDIR="wxBase" fi + +dnl --------------------------------------------------------------------------- +dnl UTF-8 support +dnl --------------------------------------------------------------------------- + +dnl If UTF-8 support wasn't explicitly enabled or disabled, enable it only +dnl for ports where it makes sense by default (GTK+, DirectFB): +if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_UTF8" = "auto" ; then + if test "$TOOLKIT" = "DFB" ; then + wxUSE_UNICODE_UTF8=yes + elif test "$TOOLKIT" = "GTK" -a "$WXGTK20" = "1" ; then + wxUSE_UNICODE_UTF8=yes + elif test "$USE_OS2" = "1" ; then + dnl wide char support is quite incomplete in libc; + dnl UTF-8 might actually work when evaluating/setting + dnl code pages correctly, even for ports other than GTK20. + wxUSE_UNICODE_UTF8=yes + else + wxUSE_UNICODE_UTF8=no + fi +fi + dnl --------------------------------------------------------------------------- dnl Optional libraries included when system library is not used dnl --------------------------------------------------------------------------- @@ -3759,8 +3618,8 @@ dnl do this after test for X11 above so that we have a chance of finding Xlib.h if test "$wxUSE_GUI" = "yes"; then if test "$wxUSE_UNIX" = "yes" -a "$wxUSE_PM" != 1; then dnl defines HAVE_X11_XKBLIB_H - AC_CHECK_HEADERS(X11/Xlib.h) - AC_CHECK_HEADERS([X11/XKBlib.h], [], [], + AC_CHECK_HEADERS([X11/Xlib.h],,, [ ]) + AC_CHECK_HEADERS([X11/XKBlib.h],,, [ #if HAVE_X11_XLIB_H #include @@ -3784,7 +3643,7 @@ if test "$TOOLKIT" != "MSW" ; then dnl This is not ideal we really ough to use the unixodbc-config dnl or iodbc-config if they exist. - AC_CHECK_HEADER([sql.h], [found_sql_h=1]) + AC_CHECK_HEADER([sql.h], [found_sql_h=1],, [ ]) if test "x$found_sql_h" = "x1" ; then AC_CHECK_LIB(iodbc, SQLAllocEnv, ODBC_LINK=" -liodbc", [ @@ -3866,7 +3725,7 @@ dnl --------------------------------------------------------------------------- dnl --------------------------------------------------------------------------- dnl DirectDraw for MSW - optionally used by WxDisplay. dnl --------------------------------------------------------------------------- - AC_CHECK_HEADERS([ddraw.h], [], [], [#include ]) + AC_CHECK_HEADER([ddraw.h], [], [], [#include ]) fi fi @@ -3901,7 +3760,10 @@ dnl --------------------------------------------------------------------------- USE_OPENGL=0 if test "$wxUSE_OPENGL" = "yes"; then - if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; 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_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then OPENGL_LIBS="-framework OpenGL -framework AGL" elif test "$wxUSE_MSW" = 1; then OPENGL_LIBS="-lopengl32 -lglu32" @@ -3966,8 +3828,10 @@ if test "$wxUSE_OPENGL" = "yes"; then AC_MSG_RESULT([no]) fi fi - ]) - ]) + ],, [ ]) + ], + [], + [ ]) if test "x$OPENGL_LIBS" = "x"; then dnl it should be an error and not a warning because OpenGL is not on @@ -4009,6 +3873,17 @@ if test "$wxUSE_SHARED" = "yes"; then dnl use versioned symbols if available on the platform WX_VERSIONED_SYMBOLS([\$(wx_top_builddir)/version-script]) + dnl test for GCC's visibility support (sets CFLAGS_VISIBILITY, which is + dnl assigned to CFLAGS and CXXFLAGS below) + if test "$wxUSE_VISIBILITY" != "no"; then + WX_VISIBILITY + fi + + dnl test for Sun CC which can be used under both Solaris and Linux + if test "x$SUNCXX" = xyes; then + SAMPLES_RPATH_FLAG="-R\$(wx_top_builddir)/lib" + WXCONFIG_RPATH="-R\$libdir" + else case "${host}" in *-*-linux* | *-*-gnu* ) SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(wx_top_builddir)/lib" @@ -4016,41 +3891,39 @@ if test "$wxUSE_SHARED" = "yes"; then ;; *-*-solaris2* ) - if test "$GCC" = yes ; then - dnl newer versions of gcc need -isystem to compile X headers on - dnl Solaris (which use old style C syntax) - CPPFLAGS="-isystem /usr/openwin/include $CPPFLAGS" - - dnl gcc may use Sun's ld, in which case -rpath gives a confusing - dnl error message. We have to try both -Wl,-rpath and -Wl,-R: - saveLdflags="$LDFLAGS" - LDFLAGS="$saveLdflags -Wl,-rpath,/" - AC_MSG_CHECKING([if the linker accepts -rpath]) - AC_TRY_LINK( - [],[], - [ - AC_MSG_RESULT([yes]) - SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(wx_top_builddir)/lib" - WXCONFIG_RPATH="-Wl,-rpath,\$libdir" - ],[ - AC_MSG_RESULT([no]) - AC_MSG_CHECKING([if the linker accepts -R]) - LDFLAGS="$saveLdflags -Wl,-R,/" - AC_TRY_LINK( - [],[], - [ - AC_MSG_RESULT([yes]) - SAMPLES_RPATH_FLAG="-Wl,-R,\$(wx_top_builddir)/lib" - WXCONFIG_RPATH="-Wl,-R,\$libdir" - ],[ - AC_MSG_RESULT([no]) - ]) - ]) - LDFLAGS="$saveLdflags" - else - SAMPLES_RPATH_FLAG="-R\$(wx_top_builddir)/lib" - WXCONFIG_RPATH="-R\$libdir" - fi + dnl here we know that Sun CC is not used as we tested for it above, + dnl hence we must be using gcc + + dnl newer versions of gcc need -isystem to compile X headers on + dnl Solaris (which use old style C syntax) + CPPFLAGS="-isystem /usr/openwin/include $CPPFLAGS" + + dnl gcc may use Sun's ld, in which case -rpath gives a confusing + dnl error message. We have to try both -Wl,-rpath and -Wl,-R: + saveLdflags="$LDFLAGS" + LDFLAGS="$saveLdflags -Wl,-rpath,/" + AC_MSG_CHECKING([if the linker accepts -rpath]) + AC_TRY_LINK( + [],[], + [ + AC_MSG_RESULT([yes]) + SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(wx_top_builddir)/lib" + WXCONFIG_RPATH="-Wl,-rpath,\$libdir" + ],[ + AC_MSG_RESULT([no]) + AC_MSG_CHECKING([if the linker accepts -R]) + LDFLAGS="$saveLdflags -Wl,-R,/" + AC_TRY_LINK( + [],[], + [ + AC_MSG_RESULT([yes]) + SAMPLES_RPATH_FLAG="-Wl,-R,\$(wx_top_builddir)/lib" + WXCONFIG_RPATH="-Wl,-R,\$libdir" + ],[ + AC_MSG_RESULT([no]) + ]) + ]) + LDFLAGS="$saveLdflags" ;; *-*-darwin* ) @@ -4082,6 +3955,7 @@ EOF ;; esac + fi if test $wxUSE_RPATH = "no"; then SAMPLES_RPATH_FLAG='' @@ -4289,6 +4163,30 @@ else fi fi +AC_CACHE_CHECK([if wchar_t is separate type], + wx_cv_wchar_t_is_separate_type, + AC_TRY_COMPILE([#include ], + [ + return 0; } + + struct Foo { void foo(wchar_t); + void foo(unsigned short); + void foo(unsigned int); + void foo(unsigned long); }; + + int bar() { + ], + wx_cv_wchar_t_is_separate_type=yes, + wx_cv_wchar_t_is_separate_type=no + ) +) + +if test "$wx_cv_wchar_t_is_separate_type" = "yes"; then + AC_DEFINE(wxWCHAR_T_IS_REAL_TYPE, 1) +else + AC_DEFINE(wxWCHAR_T_IS_REAL_TYPE, 0) +fi + AC_LANG_POP() dnl C++ dnl --------------------------------------------------------------------------- @@ -4346,6 +4244,8 @@ if test "$wxUSE_WCHAR_T" = "yes"; then AC_DEFINE(HAVE_WCSLEN) fi + AC_CHECK_FUNCS([wcsdup]) + 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 dnl with g++'s in (unless -D_INCLUDE__STDC_A1_SOURCE is in the @@ -4518,7 +4418,7 @@ if test "$ac_cv_func_snprintf" = "yes"; then int main (void) { char buffer[128]; - snprintf (buffer, 128, "%2\$d %3\$d %1\$d", 1, 2, 3); + snprintf (buffer, 128, "%2$d %3$d %1$d", 1, 2, 3); if (strcmp ("2 3 1", buffer) == 0) exit (0); exit (1); @@ -4582,7 +4482,7 @@ if test "$wxUSE_UNICODE" = yes; then #include " case "${host}" in *-*-solaris2* ) - AC_CHECK_HEADERS(widec.h) + AC_CHECK_HEADERS(widec.h,,, [AC_INCLUDES_DEFAULT()]) if test "$ac_cv_header_widec_h" = "yes"; then wchar_headers="$wchar_headers #include " @@ -4611,7 +4511,11 @@ if test "$wxUSE_FILE" = "yes"; then WX_CHECK_FUNCS(fsync) fi +dnl at least under IRIX with mipsPro the C99 round() function is available when +dnl building using the C compiler but not when using C++ one +AC_LANG_PUSH(C++) WX_CHECK_FUNCS(round,,,[#include ]) +AC_LANG_POP() dnl the following tests are for Unix(like) systems only if test "$TOOLKIT" != "MSW"; then @@ -4851,7 +4755,7 @@ dnl check for timegm() used by datetime.cpp AC_CHECK_FUNCS(timegm) dnl look for a function to modify the environment -AC_CHECK_FUNCS(putenv setenv, break) +AC_CHECK_FUNCS(setenv putenv, break) HAVE_SOME_SLEEP_FUNC=0 if test "$USE_BEOS" = 1; then @@ -4892,7 +4796,7 @@ fi dnl check for uname (POSIX) and gethostname (BSD) WX_CHECK_FUNCS(uname,,,[#include ]) if test "$wx_cv_func_uname" != yes; then - WX_CHECK_FUNCS(gethostname) + WX_CHECK_FUNCS(gethostname) fi WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT]) @@ -4935,35 +4839,6 @@ WX_CHECK_FUNCS(fdopen) fi -dnl if !MSW - - -dnl ------------------------------------------ -dnl Checks specific to contrib libs (MMedia) -dnl ------------------------------------------ - -dnl Check for ESD: -EXTRALIBS_ESD= -AC_CHECK_LIB(esd, esd_close, [ - AC_CHECK_HEADERS([esd.h], [ - EXTRALIBS_ESD="-lesd" - ]) -]) -AC_SUBST(EXTRALIBS_ESD) - -dnl check for known CD-ROM interface -AC_MSG_CHECKING([for known CD-ROM interface]) -AC_TRY_COMPILE([#ifdef __linux__ - #include - #else - /* For Solaris */ - #include - #endif - ], - [struct cdrom_tocentry entry, old_entry;], - [AC_MSG_RESULT([yes]) - AC_DEFINE(HAVE_KNOWN_CDROM_INTERFACE)], - [AC_MSG_RESULT([no])]) dnl =========================================================================== dnl Now we have all the info we need - use it! @@ -5013,13 +4888,15 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then dnl with the convention that anything starting with '-' is a cpp flag dnl while anything else is a library (i.e. there is an implicit "-l") THREAD_OPTS="-pthread" + if test "x$SUNCXX" = xyes; then + THREAD_OPTS="-mt lthread $THREAD_OPTS" + fi + case "${host}" in *-*-solaris2* | *-*-sunos4* ) if test "x$GCC" = "xyes"; then dnl Solaris/gcc combination use this one for some reason THREAD_OPTS="-pthreads $THREAD_OPTS" - else - THREAD_OPTS="-mt $THREAD_OPTS" fi ;; *-*-freebsd*) @@ -5164,6 +5041,10 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then dnl wouldn't be found by it AC_CACHE_CHECK([for pthread_cleanup_push/pop], wx_cv_func_pthread_cleanup, [ + dnl C compiler may treat pthread_cleanup_push() as an undeclared + dnl function and not give a warning even if it's unavailable, so use + dnl the C++ one for this test + AC_LANG_PUSH(C++) AC_TRY_COMPILE([#include void ThreadCleanupFunc(void *p); ], @@ -5177,12 +5058,13 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then wx_cv_func_pthread_cleanup=no ] ) + AC_LANG_POP() ]) if test "x$wx_cv_func_pthread_cleanup" = "xyes"; then AC_DEFINE(wxHAVE_PTHREAD_CLEANUP) fi - AC_CHECK_HEADERS(sched.h) + AC_CHECK_HEADERS(sched.h,,, [AC_INCLUDES_DEFAULT()]) if test "$ac_cv_header_sched_h" = "yes"; then AC_CHECK_FUNC(sched_yield, AC_DEFINE(HAVE_SCHED_YIELD), @@ -5227,6 +5109,10 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then AC_DEFINE(HAVE_PTHREAD_CANCEL), AC_MSG_WARN([wxThread::Kill() will not work properly])) + AC_CHECK_FUNC(pthread_mutex_timedlock, + AC_DEFINE(HAVE_PTHREAD_MUTEX_TIMEDLOCK), + AC_MSG_WARN([wxMutex::LockTimeout() will not work])) + AC_CHECK_FUNC(pthread_attr_setstacksize, AC_DEFINE(HAVE_PTHREAD_ATTR_SETSTACKSIZE)) @@ -5507,14 +5393,14 @@ dnl --------------------------------------------------------------------------- dnl compatibility level dnl --------------------------------------------------------------------------- -if test "x$WXWIN_COMPATIBILITY_2_4" = "xyes"; then - AC_DEFINE(WXWIN_COMPATIBILITY_2_4) +if test "x$WXWIN_COMPATIBILITY_2_6" = "xyes"; then + AC_DEFINE(WXWIN_COMPATIBILITY_2_6) - WXWIN_COMPATIBILITY_2_6="yes" + WXWIN_COMPATIBILITY_2_8="yes" fi -if test "x$WXWIN_COMPATIBILITY_2_6" != "xno"; then - AC_DEFINE(WXWIN_COMPATIBILITY_2_6) +if test "x$WXWIN_COMPATIBILITY_2_8" != "xno"; then + AC_DEFINE(WXWIN_COMPATIBILITY_2_8) fi dnl --------------------------------------------------------------------------- @@ -5655,6 +5541,10 @@ if test "$wxUSE_STL" = "yes"; then AC_DEFINE(wxUSE_STL) fi +if test "$wxUSE_EXTENDED_RTTI" = "yes"; then + AC_DEFINE(wxUSE_EXTENDED_RTTI) +fi + if test "$wxUSE_APPLE_IEEE" = "yes"; then AC_DEFINE(wxUSE_APPLE_IEEE) fi @@ -5666,44 +5556,46 @@ fi dnl Unix implementation needs additional checks because audio support dnl comes in many favours: 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 SNDCTL_DSP_SPEED in sys/soundcard.h], ac_cv_header_sys_soundcard, [ - AC_TRY_LINK([ - #include - #include - ], - [ - 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_SPEED, 0); - ], - ac_cv_header_sys_soundcard=yes, - [ - LIBS="$saveLibs" - ac_cv_header_sys_soundcard=no - ] - ) - ] - ) - ]) + dnl mmedia doesn't compile with wxMGL, remove this if this is ever fixed + if test "$wxUSE_MGL" != 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 SNDCTL_DSP_SPEED in sys/soundcard.h], ac_cv_header_sys_soundcard, [ + AC_TRY_LINK([ + #include + #include + ], + [ + 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_SPEED, 0); + ], + ac_cv_header_sys_soundcard=yes, + [ + LIBS="$saveLibs" + ac_cv_header_sys_soundcard=no + ] + ) + ] + ) + ]) + fi if test "$ac_cv_header_sys_soundcard" = "yes"; then AC_DEFINE(HAVE_SYS_SOUNDCARD_H) - else - DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia" fi fi + WITH_PLUGIN_SDL=0 if test "$wxUSE_SOUND" = "yes"; then if test "$USE_UNIX" = "1" ; then @@ -5966,6 +5858,10 @@ if test "$wxUSE_GEOMETRY" = "yes"; then AC_DEFINE(wxUSE_GEOMETRY) fi +if test "$wxUSE_BASE64" = "yes"; then + AC_DEFINE(wxUSE_BASE64) +fi + if test "$wxUSE_STREAMS" = "yes" ; then AC_DEFINE(wxUSE_STREAMS) fi @@ -5974,15 +5870,82 @@ if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then AC_DEFINE(wxUSE_PRINTF_POS_PARAMS) fi +if test "$wxUSE_OBJC_UNIQUIFYING" = "yes"; then + AC_DEFINE(wxUSE_OBJC_UNIQUIFYING) +fi + +dnl --------------------------------------------------------------------------- +dnl console event loop stuff +dnl --------------------------------------------------------------------------- + +if test "$wxUSE_CONSOLE_EVENTLOOP" = "yes"; then + AC_DEFINE(wxUSE_CONSOLE_EVENTLOOP) + + if test "$wxUSE_UNIX" = "yes"; then + if test "$wxUSE_SELECT_DISPATCHER" = "yes"; then + AC_DEFINE(wxUSE_SELECT_DISPATCHER) + fi + + if test "$wxUSE_EPOLL_DISPATCHER" = "yes"; then + AC_CHECK_HEADERS(sys/epoll.h,,, [AC_INCLUDES_DEFAULT()]) + if test "$ac_cv_header_sys_epoll_h" = "yes"; then + AC_DEFINE(wxUSE_EPOLL_DISPATCHER) + else + AC_MSG_WARN([sys/epoll.h not available, wxEpollDispatcher disabled]) + fi + fi + fi +fi dnl --------------------------------------------------------------------------- dnl time/date functions dnl --------------------------------------------------------------------------- +dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the +dnl function to be used for high resolution timers +AC_CHECK_FUNCS(gettimeofday ftime, break) + +if test "$ac_cv_func_gettimeofday" = "yes"; then + AC_CACHE_CHECK([whether gettimeofday takes two arguments], + wx_cv_func_gettimeofday_has_2_args, + [ + dnl on some _really_ old systems it takes only 1 argument + AC_TRY_COMPILE( + [ + #include + #include + ], + [ + struct timeval tv; + gettimeofday(&tv, NULL); + ], + wx_cv_func_gettimeofday_has_2_args=yes, + AC_TRY_COMPILE( + [ + #include + #include + ], + [ + struct timeval tv; + gettimeofday(&tv); + ], + wx_cv_func_gettimeofday_has_2_args=no, + [ + AC_MSG_WARN([failed to determine number of gettimeofday() arguments]) + wx_cv_func_gettimeofday_has_2_args=unknown + ] + ) + ) + ]) + + if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then + AC_DEFINE(WX_GETTIMEOFDAY_NO_TZ) + fi +fi + if test "$wxUSE_DATETIME" = "yes"; then dnl check for strptime and for its declaration as some systems lack it - dnl FIXME: use WX_CHECK_FUNCS instead - AC_CHECK_FUNCS(strptime) + AC_CHECK_FUNC(strptime) if test "$ac_cv_func_strptime" = "yes"; then AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl, [ @@ -6004,6 +5967,40 @@ if test "$wxUSE_DATETIME" = "yes"; then 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 @@ -6093,48 +6090,6 @@ if test "$wxUSE_DATETIME" = "yes"; then AC_DEFINE(WX_GMTOFF_IN_TM) fi - dnl check for gettimeofday (SVr4, BSD 4.3) and ftime (V7, BSD 4.3) for the - dnl function to be used for high resolution timers - AC_CHECK_FUNCS(gettimeofday ftime, break) - - if test "$ac_cv_func_gettimeofday" = "yes"; then - AC_CACHE_CHECK([whether gettimeofday takes two arguments], - wx_cv_func_gettimeofday_has_2_args, - [ - dnl on some _really_ old systems it takes only 1 argument - AC_TRY_COMPILE( - [ - #include - #include - ], - [ - struct timeval tv; - gettimeofday(&tv, NULL); - ], - wx_cv_func_gettimeofday_has_2_args=yes, - AC_TRY_COMPILE( - [ - #include - #include - ], - [ - struct timeval tv; - gettimeofday(&tv); - ], - wx_cv_func_gettimeofday_has_2_args=no, - [ - AC_MSG_WARN([failed to determine number of gettimeofday() arguments]) - wx_cv_func_gettimeofday_has_2_args=unknown - ] - ) - ) - ]) - - if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then - AC_DEFINE(WX_GETTIMEOFDAY_NO_TZ) - fi - fi - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest" fi @@ -6245,6 +6200,12 @@ if test "$wxUSE_SOCKETS" = "yes" ; then AC_CACHE_CHECK([what is the type of the fifth argument of getsockopt], wx_cv_type_getsockopt5, [ + dnl Note that the rules for compatibility of pointers + dnl are somewhat different between C and C++, so code + dnl that fails in C++ may not even give a warning about + dnl converting between incompatible pointer types in C. + dnl So this test needs to be done in C++ mode. + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ #include @@ -6256,17 +6217,6 @@ if test "$wxUSE_SOCKETS" = "yes" ; then ], wx_cv_type_getsockopt5=socklen_t, [ - dnl the compiler will compile the version with size_t - dnl even if the real type of the last parameter is int - dnl but it should give at least a warning about - dnl converting between incompatible pointer types, so - dnl try to use it to get the correct behaviour at - dnl least with gcc (otherwise we'd always use size_t) - CFLAGS_OLD="$CFLAGS" - if test "$GCC" = yes ; then - CFLAGS="-Werror $CFLAGS" - fi - AC_TRY_COMPILE( [ #include @@ -6290,10 +6240,9 @@ if test "$wxUSE_SOCKETS" = "yes" ; then wx_cv_type_getsockopt5=unknown ) ) - - CFLAGS="$CFLAGS_OLD" ] ) + AC_LANG_POP() ]) if test "$wx_cv_type_getsockopt5" = "unknown"; then @@ -6385,7 +6334,13 @@ if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then else dnl wxJoystick not supported by wxMGL at all if test "$wxUSE_MGL" != "1"; then - AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes) + dnl notice the dummy includes argument: without it, AC_CHECK_HEADER + dnl checks only whether the header can be preprocessed, not that it + dnl can be compiled and in Linux 2.6.16 joystick.h is present but + dnl can't be compiled because of an error and with the default + dnl AC_CHECK_HEADER semantics we'd still detect it in this case and + dnl build would fail later + AC_CHECK_HEADERS([linux/joystick.h], [wxUSE_JOYSTICK=yes],, [AC_INCLUDES_DEFAULT()]) fi fi @@ -6402,6 +6357,10 @@ dnl --------------------------------------------------------------------------- dnl String stuff dnl --------------------------------------------------------------------------- +if test "$wxUSE_FONTENUM" = "yes" ; then + AC_DEFINE(wxUSE_FONTENUM) +fi + if test "$wxUSE_FONTMAP" = "yes" ; then AC_DEFINE(wxUSE_FONTMAP) fi @@ -6426,21 +6385,17 @@ if test "$wxUSE_UNICODE" = "yes" ; then fi fi -if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then - AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF) -fi - -dnl ---------------------------------------------------------------- -dnl Register PostScript options for makefiles and setup.h -dnl ---------------------------------------------------------------- +if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_UTF8" = "yes"; then + AC_DEFINE(wxUSE_UNICODE_UTF8) -if test "$wxUSE_POSTSCRIPT" = "yes" ; then - AC_DEFINE(wxUSE_POSTSCRIPT) + if test "$wxUSE_UNICODE_UTF8_LOCALE" = "yes"; then + AC_DEFINE(wxUSE_UTF8_LOCALE_ONLY) + fi fi -AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT) - -AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS) +if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then + AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF) +fi dnl --------------------------------------------------------------------------- dnl big GUI components: MDI, doc/view, printing, help, ... @@ -6497,8 +6452,16 @@ if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing" fi -if test "$wxUSE_PROLOGIO" = "yes" -o "$wxUSE_RESOURCES" = "yes"; then - AC_MSG_ERROR([wxExpr and old-style resources are now available in contrib only]) +if test "$wxUSE_POSTSCRIPT" = "yes" ; then + AC_DEFINE(wxUSE_POSTSCRIPT) +fi + +AC_DEFINE(wxUSE_AFM_FOR_POSTSCRIPT) + +AC_DEFINE(wxUSE_NORMALIZED_PS_FONTS) + +if test "$wxUSE_SVG" = "yes"; then + AC_DEFINE(wxUSE_SVG) fi dnl --------------------------------------------------------------------------- @@ -6522,7 +6485,7 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \ -o "$wxUSE_CLIPBOARD" = "yes" \ -o "$wxUSE_OLE" = "yes" \ -o "$wxUSE_DRAG_AND_DROP" = "yes" \) ; then - AC_CHECK_HEADERS(ole2.h) + AC_CHECK_HEADER(ole2.h,,, [ ]) if test "$ac_cv_header_ole2_h" = "yes" ; then if test "$GCC" = yes ; then @@ -6537,7 +6500,7 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \ if test "$wxUSE_OLE" = "yes" ; then AC_DEFINE(wxUSE_OLE) AC_DEFINE(wxUSE_OLE_AUTOMATION) - AC_DEFINE(wxUSE_OLE_ACTIVEX) + AC_DEFINE(wxUSE_ACTIVEX) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS oleauto" fi fi @@ -6576,8 +6539,8 @@ if test "$wxUSE_IPC" = "yes"; then fi if test "$wxUSE_DATAOBJ" = "yes"; then - if test "$wxUSE_MGL" = 1; then - AC_MSG_WARN([wxDataObject not yet supported under MGL... disabled]) + if test "$wxUSE_MGL" = 1 -o "$wxUSE_DFB" = 1; then + AC_MSG_WARN([wxDataObject not yet supported under $TOOLKIT... disabled]) wxUSE_DATAOBJ=no else AC_DEFINE(wxUSE_DATAOBJ) @@ -6589,8 +6552,8 @@ else fi if test "$wxUSE_CLIPBOARD" = "yes"; then - if test "$wxUSE_MGL" = 1; then - AC_MSG_WARN([Clipboard not yet supported under MGL... disabled]) + if test "$wxUSE_MGL" = 1 -o "$wxUSE_DFB" = 1; then + AC_MSG_WARN([Clipboard not yet supported under $TOOLKIT... disabled]) wxUSE_CLIPBOARD=no fi @@ -6607,18 +6570,9 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then fi fi - if test "$wxUSE_MOTIF" = 1; then - AC_MSG_WARN([Drag and drop not yet supported under Motif... disabled]) - wxUSE_DRAG_AND_DROP=no - fi - - if test "$wxUSE_X11" = 1; then - AC_MSG_WARN([Drag and drop not yet supported under X11... disabled]) - wxUSE_DRAG_AND_DROP=no - fi - - if test "$wxUSE_MGL" = 1; then - AC_MSG_WARN([Drag and drop not yet supported under MGL... disabled]) + if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_X11" = 1 -o "$wxUSE_MGL" = 1 -o \ + "$wxUSE_DFB" = 1; then + AC_MSG_WARN([Drag and drop not yet supported under $TOOLKIT... disabled]) wxUSE_DRAG_AND_DROP=no fi @@ -6745,8 +6699,13 @@ if test "$wxUSE_FONTPICKERCTRL" = "yes"; then fi if test "$wxUSE_DISPLAY" = "yes"; then - AC_DEFINE(wxUSE_DISPLAY) - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon" + if test "$wxUSE_DFB" = 1 -o "$wxUSE_MGL" = 1; then + AC_MSG_WARN([wxDisplay not yet supported under $TOOLKIT... disabled]) + wxUSE_DISPLAY=no + else + AC_DEFINE(wxUSE_DISPLAY) + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon" + fi fi if test "$wxUSE_DETECT_SM" = "yes"; then @@ -6805,6 +6764,12 @@ if test "$wxUSE_LISTCTRL" = "yes"; then fi 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 AC_DEFINE(wxUSE_NOTEBOOK) USES_CONTROLS=1 @@ -6844,6 +6809,11 @@ if test "$wxUSE_SCROLLBAR" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub" fi +if test "$wxUSE_SEARCHCTRL" = "yes"; then + AC_DEFINE(wxUSE_SEARCHCTRL) + USES_CONTROLS=1 +fi + if test "$wxUSE_SLIDER" = "yes"; then AC_DEFINE(wxUSE_SLIDER) USES_CONTROLS=1 @@ -7007,10 +6977,6 @@ if test "$wxUSE_ACCESSIBILITY" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS access" fi -if test "$wxUSE_DC_CACHEING" = "yes"; then - AC_DEFINE(wxUSE_DC_CACHEING) -fi - if test "$wxUSE_DRAGIMAGE" = "yes"; then AC_DEFINE(wxUSE_DRAGIMAGE) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dragimag" @@ -7047,7 +7013,10 @@ if test "$wxUSE_WEBKIT" = "yes"; then AC_MSG_WARN([WebKit headers not found; disabling wxWebKit]) wxUSE_WEBKIT=no ], - [#include ]) + [ + #include + #include + ]) CPPFLAGS="$old_CPPFLAGS" elif test "$wxUSE_COCOA" = 1; then AC_DEFINE(wxUSE_WEBKIT) @@ -7075,6 +7044,13 @@ if test "$wxUSE_AUI" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS aui" fi +USE_STC=0 +if test "$wxUSE_STC" = "yes"; then + AC_DEFINE(wxUSE_STC) + USE_STC=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS stc" +fi + if test "$wxUSE_MENUS" = "yes"; then AC_DEFINE(wxUSE_MENUS) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu" @@ -7095,10 +7071,11 @@ fi if test "$wxUSE_SYSTEM_OPTIONS" = "yes"; then AC_DEFINE(wxUSE_SYSTEM_OPTIONS) - if test "$TOOLKIT" = "MSW" -o "$TOOLKIT" = "GTK" -o "$TOOLKIT" = "X11" -o \ - "$TOOLKIT" = "MOTIF" -o "$TOOLKIT" = "COCOA"; then - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar" - fi +fi + +if test "$wxUSE_TASKBARICON" = "yes"; then + AC_DEFINE(wxUSE_TASKBARICON) + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS taskbar" fi @@ -7108,7 +7085,12 @@ if test "$wxUSE_VALIDATORS" = "yes"; then fi if test "$wxUSE_PALETTE" = "yes" ; then - AC_DEFINE(wxUSE_PALETTE) + if test "$wxUSE_DFB" = 1; then + AC_MSG_WARN([wxPalette not yet supported under DFB... disabled]) + wxUSE_PALETTE=no + else + AC_DEFINE(wxUSE_PALETTE) + fi fi if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_MSLU" = "yes" ; then @@ -7233,6 +7215,43 @@ if test "$wxUSE_WIZARDDLG" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS wizard" fi +dnl --------------------------------------------------------------------------- +dnl wxMSW-only options +dnl --------------------------------------------------------------------------- + +if test "$wxUSE_MSW" = 1 ; then + +if test "$wxUSE_DC_CACHEING" = "yes"; then + AC_DEFINE(wxUSE_DC_CACHEING) +fi + +if test "$wxUSE_INICONF" = "yes"; then + AC_DEFINE(wxUSE_INICONF) +fi + +if test "$wxUSE_DIB" = "yes"; then + AC_DEFINE(wxUSE_WXDIB) +fi + +if test "$wxUSE_OWNER_DRAWN" = "yes"; then + AC_DEFINE(wxUSE_OWNER_DRAWN) +fi + +if test "$wxUSE_REGKEY" = "yes"; then + AC_DEFINE(wxUSE_REGKEY) +fi + +if test "$wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW" = "yes"; then + AC_DEFINE(wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW) +fi + +if test "$wxUSE_UXTHEME" = "yes"; then + AC_DEFINE(wxUSE_UXTHEME) +fi + +fi +dnl wxUSE_MSW = 1 + dnl --------------------------------------------------------------------------- dnl wxGraphicsContext dnl --------------------------------------------------------------------------- @@ -7307,16 +7326,6 @@ if test "$wxUSE_MEDIACTRL" = "yes"; then 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" @@ -7364,35 +7373,60 @@ dnl --------------------------------------------------------------------------- dnl define variables with all built libraries for wx-config dnl --------------------------------------------------------------------------- -CORE_BASE_LIBS="net base" -CORE_GUI_LIBS="adv core" +STD_BASE_LIBS="base" +STD_GUI_LIBS="" +BUILT_WX_LIBS="base" +ALL_WX_LIBS="xrc stc gl media dbgrid qa html adv core odbc xml net base" -if test "$wxUSE_XML" = "yes" ; then - CORE_BASE_LIBS="xml $CORE_BASE_LIBS" +if test "$wxUSE_SOCKETS" = "yes" ; then + STD_BASE_LIBS="net $STD_BASE_LIBS" + BUILT_WX_LIBS="net $BUILT_WX_LIBS" fi if test "$wxUSE_ODBC" != "no" ; then - CORE_BASE_LIBS="odbc $CORE_BASE_LIBS" - CORE_GUI_LIBS="dbgrid $CORE_GUI_LIBS" -fi -if test "$wxUSE_HTML" = "yes" ; then - CORE_GUI_LIBS="html $CORE_GUI_LIBS" -fi -if test "$wxUSE_DEBUGREPORT" = "yes" ; then - CORE_GUI_LIBS="qa $CORE_GUI_LIBS" + BUILT_WX_LIBS="odbc $BUILT_WX_LIBS" 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" +if test "$wxUSE_XML" = "yes" ; then + STD_BASE_LIBS="xml $STD_BASE_LIBS" + BUILT_WX_LIBS="xml $BUILT_WX_LIBS" fi -if test "$wxUSE_GUI" != "yes"; then - CORE_GUI_LIBS="" +if test "$wxUSE_GUI" = "yes"; then + STD_GUI_LIBS="adv core" + BUILT_WX_LIBS="$STD_GUI_LIBS $BUILT_WX_LIBS" + + if test "$wxUSE_DEBUGREPORT" = "yes" ; then + STD_GUI_LIBS="qa $STD_GUI_LIBS" + BUILT_WX_LIBS="qa $BUILT_WX_LIBS" + fi + if test "$wxUSE_ODBC" != "no" ; then + BUILT_WX_LIBS="dbgrid $BUILT_WX_LIBS" + fi + if test "$wxUSE_HTML" = "yes" ; then + STD_GUI_LIBS="html $STD_GUI_LIBS" + BUILT_WX_LIBS="html $BUILT_WX_LIBS" + fi + if test "$wxUSE_MEDIACTRL" = "yes" ; then + BUILT_WX_LIBS="media $BUILT_WX_LIBS" + fi + if test "$wxUSE_OPENGL" = "yes" ; then + BUILT_WX_LIBS="gl $BUILT_WX_LIBS" + fi + if test "$wxUSE_AUI" = "yes" ; then + BUILT_WX_LIBS="aui $BUILT_WX_LIBS" + fi + if test "$wxUSE_STC" = "yes" ; then + BUILT_WX_LIBS="stc $BUILT_WX_LIBS" + fi + if test "$wxUSE_XRC" = "yes" ; then + STD_GUI_LIBS="xrc $STD_GUI_LIBS" + BUILT_WX_LIBS="xrc $BUILT_WX_LIBS" + fi fi -AC_SUBST(CORE_BASE_LIBS) -AC_SUBST(CORE_GUI_LIBS) +AC_SUBST(ALL_WX_LIBS) +AC_SUBST(BUILT_WX_LIBS) +AC_SUBST(STD_BASE_LIBS) +AC_SUBST(STD_GUI_LIBS) dnl --------------------------------------------------------------------------- dnl Output the makefiles and such from the results found above @@ -7435,7 +7469,7 @@ if test "$wxUSE_GUI" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \ dynamic erase event exec font image minimal mobile \ mobile/wxedit mobile/styles propsize render \ - rotate shaped vscroll widgets" + rotate shaped svg taborder vscroll widgets" if test "$wxUSE_MONOLITHIC" != "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console" @@ -7512,7 +7546,7 @@ CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \ C_AND_CXX_FLAGS="$DEBUG_CFLAGS $PROFILE_FLAGS $OPTIMISE_CFLAGS" CFLAGS=`echo $WXCONFIG_CFLAGS $CWARNINGS $C_AND_CXX_FLAGS $CFLAGS ` -CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $CXXWARNINGS $C_AND_CXX_FLAGS $CXXFLAGS ` +CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $C_AND_CXX_FLAGS $CXXFLAGS ` dnl now that we added WXCONFIG_CPPFLAGS to CPPFLAGS we can add the wx-config dnl only stuff to it @@ -7540,6 +7574,7 @@ EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS" EXTRALIBS_XML="$EXPAT_LINK" EXTRALIBS_HTML="$MSPACK_LINK" EXTRALIBS_ODBC="$ODBC_LINK" +EXTRALIBS_STC="-lwxscintilla${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}" if test "$wxUSE_GUI" = "yes"; then EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT` fi @@ -7643,6 +7678,7 @@ AC_SUBST(WXUNIV) AC_SUBST(MONOLITHIC) AC_SUBST(USE_PLUGINS) AC_SUBST(LIBS) +AC_SUBST(CXXWARNINGS) AC_SUBST(EXTRALIBS) AC_SUBST(EXTRALIBS_XML) AC_SUBST(EXTRALIBS_HTML) @@ -7701,32 +7737,6 @@ if test "$wxUSE_WINE" = "yes"; then BAKEFILE_FORCE_PLATFORM=win32 fi -dnl --------------------------------------------------------------------------- -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 "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. -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. @@ -7845,6 +7855,43 @@ fi dnl TOOLCHAIN_DEFS should be used for both wx and client code WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS $TOOLCHAIN_DEFS" + +dnl Sun cc is compatible with gcc and so either of them can use the C +dnl libraries built with the other, i.e. gcc can be used to build wxGTK under +dnl Solaris where GTK+ is compiled using cc and cc can be used under Linux +dnl where GTK+ is built with gcc +dnl +dnl However the compiler options are not compatible at all and in particular +dnl gcc doesn't like cc -mt option and cc doesn't like -pthread. We simply +dnl filter them out as we already have the correct options for multithreaded +dnl programs if we're using threads (and if we don't, it shouldn't matter) +case "${host}" in + *-*-solaris2* ) + dnl system packages are compiled with Sun CC and so pkg-config outputs + dnl CC-specific "-mt" flag, remove it when using gcc + if "$GCC" = yes; then + CPPFLAGS=`echo $CPPFLAGS | sed 's/-mt//'` + LIBS=`echo $LIBS | sed 's/-mt//'` + EXTRALIBS_GUI=`echo $EXTRALIBS_GUI | sed 's/-mt//'` + fi + ;; + + *-*-linux* ) + dnl OTOH when using Sun CC under Linux, the flags contain gcc-specific + dnl -pthreads which Sun CC doesn't know about + if test "x$SUNCXX" = xyes; then + CPPFLAGS=`echo $CPPFLAGS | sed 's/-pthread//'` + LIBS=`echo $LIBS | sed 's/-pthread//'` + EXTRALIBS_GUI=`echo $EXTRALIBS_GUI | sed 's/-pthread//'` + fi + ;; +esac + +dnl Add visibility support flags to CFLAGS/CXXFLAGS - do it this late so that +dnl it doesn't affect compilation checks above +CFLAGS="$CFLAGS $CFLAGS_VISIBILITY" +CXXFLAGS="$CXXFLAGS $CXXFLAGS_VISIBILITY" + dnl for convenience, sort the samples in alphabetical order dnl dnl FIXME For some mysterious reasons, sometimes the directories are duplicated @@ -7989,23 +8036,18 @@ dnl resembles an installed wx in prefix=$builddir. It is troublesome dnl though in this form because AC_CONFIG_LINKS will fail for directories dnl on platforms that do not have symlinks. dnl AC_CONFIG_LINKS([ include/wx-$WX_RELEASE$WX_FLAVOUR:include ]) -dnl AC_CONFIG_LINKS([ contrib/include ]) if test "$wxWITH_SUBDIRS" != "no"; then -dnl Configure samples, contrib etc. directories, but only if they are present: +dnl Configure samples, demos etc. directories, but only if they are present: if test "$wxUSE_GUI" = "yes"; then - SUBDIRS="samples demos utils contrib" + SUBDIRS="samples demos utils" else dnl we build wxBase only - dnl there are no wxBase programs in contrib nor demos + dnl there are no wxBase programs in demos SUBDIRS="samples utils" 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 @@ -8021,11 +8063,11 @@ for subdir in `echo $SUBDIRS`; do else dnl assume that everything compiles for utils &c dnl any that shouldn't be built can be added to - dnl DISABLED_UTILS, DISABLED_CONTRIB or DISABLED_DEMOS + dnl DISABLED_UTILS, DISABLED_DEMOS disabled_var=DISABLED_`echo $subdir | tr [[a-z]] [[A-Z]]`; eval "disabled=\$$disabled_var" disabled=/`echo X $disabled | sed 's@ @/|/@g'`/ - makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | egrep -v "$disabled"` + makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | $EGREP -v "$disabled"` fi else dnl we build wxBase only dnl don't take all samples/utils, just those which build with @@ -8065,11 +8107,20 @@ echo " Should wxWidgets be compiled into single library? ${wxUSE_MONOLITH echo " Should wxWidgets be compiled in debug mode? ${wxUSE_DEBUG:-no}" echo " Should wxWidgets be linked as a shared library? ${wxUSE_SHARED:-no}" -echo " Should wxWidgets be compiled in Unicode mode? ${wxUSE_UNICODE:-no}" +echo -n " Should wxWidgets support Unicode? ${wxUSE_UNICODE:-no}" +if test "$wxUSE_UNICODE" = "yes"; then + if test "$wxUSE_UNICODE_UTF8" = "yes"; then + echo " (using UTF-8)" + else + echo " (using wchar_t)" + fi +else + echo +fi echo " What level of wxWidgets compatibility should be enabled?" -echo " wxWidgets 2.4 ${WXWIN_COMPATIBILITY_2_4:-no}" -echo " wxWidgets 2.6 ${WXWIN_COMPATIBILITY_2_6:-yes}" +echo " wxWidgets 2.6 ${WXWIN_COMPATIBILITY_2_6:-no}" +echo " wxWidgets 2.8 ${WXWIN_COMPATIBILITY_2_8:-yes}" echo " Which libraries should wxWidgets use?" echo " jpeg ${wxUSE_LIBJPEG-none}"