X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/916af76f40555e9d2548a1538e2a5563222ea373..e2badebb8fad5ee453fada24f336c275df9f216b:/configure.in diff --git a/configure.in b/configure.in index 9b7290d1d6..8f44affcb8 100644 --- a/configure.in +++ b/configure.in @@ -17,7 +17,7 @@ dnl --------------------------------------------------------------------------- dnl initialization dnl --------------------------------------------------------------------------- -AC_INIT([wxWidgets], [2.7.1], [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,8 +33,8 @@ dnl dnl wx_release_number += 1 wx_major_version_number=2 -wx_minor_version_number=7 -wx_release_number=2 +wx_minor_version_number=9 +wx_release_number=0 wx_subrelease_number=0 WX_RELEASE=$wx_major_version_number.$wx_minor_version_number @@ -44,6 +44,11 @@ WX_SUBVERSION=$WX_VERSION.$wx_subrelease_number WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number +dnl Autoconf-2.60 changed the meaning of top_builddir variable, so we have +dnl to use our own replacement that will work with both 2.5x and 2.60+: +wx_top_builddir="`pwd`" +AC_SUBST(wx_top_builddir) + dnl ------------------------------------------------------------------------ dnl Check platform (host system) @@ -364,6 +369,7 @@ DEBUG_CONFIGURE=0 if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_UNIVERSAL=no DEFAULT_wxUSE_STL=no + DEFAULT_wxUSE_EXTENDED_RTTI=no DEFAULT_wxUSE_NANOX=no @@ -373,6 +379,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_OPTIMISE=no DEFAULT_wxUSE_PROFILE=no DEFAULT_wxUSE_NO_DEPS=no + DEFAULT_wxUSE_VARARG_MACROS=no DEFAULT_wxUSE_NO_RTTI=no DEFAULT_wxUSE_NO_EXCEPTIONS=no DEFAULT_wxUSE_UNIVERSAL_BINARY=no @@ -460,7 +467,6 @@ if test $DEBUG_CONFIGURE = 1; then 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 @@ -499,6 +505,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_RICHTEXT=no DEFAULT_wxUSE_XRC=no DEFAULT_wxUSE_AUI=no + DEFAULT_wxUSE_STC=no DEFAULT_wxUSE_WEBKIT=no DEFAULT_wxUSE_FILESYSTEM=no DEFAULT_wxUSE_FS_INET=no @@ -521,6 +528,7 @@ if test $DEBUG_CONFIGURE = 1; then 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 @@ -528,6 +536,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_DISPLAY=no DEFAULT_wxUSE_DETECT_SM=no DEFAULT_wxUSE_DIRPICKERCTRL=no + DEFAULT_wxUSE_EDITABLELISTBOX=no DEFAULT_wxUSE_FILEPICKERCTRL=no DEFAULT_wxUSE_FONTPICKERCTRL=no DEFAULT_wxUSE_GAUGE=no @@ -545,6 +554,7 @@ if test $DEBUG_CONFIGURE = 1; 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 @@ -565,14 +575,17 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_POPUPWIN=no DEFAULT_wxUSE_TIPWINDOW=no - DEFAULT_wxUSE_UNICODE=no + DEFAULT_wxUSE_UNICODE=yes DEFAULT_wxUSE_UNICODE_MSLU=no + DEFAULT_wxUSE_UNICODE_UTF8=auto + DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=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 @@ -585,6 +598,7 @@ if test $DEBUG_CONFIGURE = 1; then else DEFAULT_wxUSE_UNIVERSAL=no DEFAULT_wxUSE_STL=no + DEFAULT_wxUSE_EXTENDED_RTTI=no DEFAULT_wxUSE_NANOX=no @@ -594,6 +608,7 @@ else DEFAULT_wxUSE_OPTIMISE=yes DEFAULT_wxUSE_PROFILE=no DEFAULT_wxUSE_NO_DEPS=no + DEFAULT_wxUSE_VARARG_MACROS=yes DEFAULT_wxUSE_NO_RTTI=no DEFAULT_wxUSE_NO_EXCEPTIONS=no DEFAULT_wxUSE_UNIVERSAL_BINARY=no @@ -625,7 +640,7 @@ else DEFAULT_wxUSE_LIBXPM=yes DEFAULT_wxUSE_LIBMSPACK=yes DEFAULT_wxUSE_LIBSDL=no - DEFAULT_wxUSE_LIBGNOMEPRINT=no + DEFAULT_wxUSE_LIBGNOMEPRINT=yes DEFAULT_wxUSE_LIBGNOMEVFS=no DEFAULT_wxUSE_LIBHILDON=no DEFAULT_wxUSE_ODBC=no @@ -680,7 +695,6 @@ else 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 @@ -719,6 +733,7 @@ else DEFAULT_wxUSE_RICHTEXT=yes DEFAULT_wxUSE_XRC=yes DEFAULT_wxUSE_AUI=yes + DEFAULT_wxUSE_STC=yes DEFAULT_wxUSE_WEBKIT=yes DEFAULT_wxUSE_FILESYSTEM=yes DEFAULT_wxUSE_FS_INET=yes @@ -741,6 +756,7 @@ else 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 @@ -748,6 +764,7 @@ else DEFAULT_wxUSE_DISPLAY=yes DEFAULT_wxUSE_DETECT_SM=yes DEFAULT_wxUSE_DIRPICKERCTRL=yes + DEFAULT_wxUSE_EDITABLELISTBOX=yes DEFAULT_wxUSE_FILEPICKERCTRL=yes DEFAULT_wxUSE_FONTPICKERCTRL=yes DEFAULT_wxUSE_GAUGE=yes @@ -765,6 +782,7 @@ else 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 @@ -785,15 +803,18 @@ else DEFAULT_wxUSE_POPUPWIN=yes DEFAULT_wxUSE_TIPWINDOW=yes - DEFAULT_wxUSE_UNICODE=no + DEFAULT_wxUSE_UNICODE=yes DEFAULT_wxUSE_UNICODE_MSLU=yes + DEFAULT_wxUSE_UNICODE_UTF8=auto + DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no DEFAULT_wxUSE_WCSRTOMBS=no DEFAULT_wxUSE_PALETTE=yes DEFAULT_wxUSE_IMAGE=yes DEFAULT_wxUSE_GIF=yes DEFAULT_wxUSE_PCX=yes - DEFAULT_wxUSE_IFF=no + DEFAULT_wxUSE_TGA=yes + DEFAULT_wxUSE_IFF=no dnl why is this set to "no"? DEFAULT_wxUSE_PNM=yes DEFAULT_wxUSE_XPM=yes DEFAULT_wxUSE_ICO_CUR=yes @@ -807,6 +828,9 @@ else DEFAULT_wxUSE_GTK2=yes fi +dnl Always default to no. Only special cases require this. +DEFAULT_wxUSE_OBJC_UNIQUIFYING=no + 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, @@ -896,6 +920,7 @@ WX_ARG_ENABLE(shared, [ --enable-shared create shared library code WX_ARG_ENABLE(optimise, [ --enable-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(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) @@ -921,13 +946,15 @@ 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(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[=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(compat26, [ --enable-compat26 enable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, enable) +WX_ARG_ENABLE(compat28, [ --disable-compat28 disable wxWidgets 2.8 compatibility], WXWIN_COMPATIBILITY_2_8, disable) WX_ARG_ENABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH) +WX_ARG_ENABLE(objc_uniquifying,[ --enable-objc_uniquifying enable Objective-C class name uniquifying], wxUSE_OBJC_UNIQUIFYING) dnl --------------------------------------------------------------------------- dnl (small) optional non GUI classes @@ -970,6 +997,8 @@ WX_ARG_ENABLE(log, [ --enable-log use logging system], wxU 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_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(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) @@ -981,7 +1010,7 @@ WX_ARG_ENABLE(tarstream, [ --enable-tarstream use wxTar streams], wxUS 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(unicode, [ --enable-unicode compile without 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) @@ -1015,6 +1044,7 @@ WX_ARG_ENABLE(html, [ --enable-html use wxHTML sub-library], w 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(stc, [ --enable-stc use wxStyledTextCtrl library], wxUSE_STC) 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) @@ -1023,7 +1053,7 @@ WX_ARG_ENABLE(loggui, [ --enable-loggui use standard GUI logger], WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW) WX_ARG_ENABLE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG) WX_ARG_ENABLE(webkit, [ --enable-webkit use wxWebKitCtrl (Mac)], wxUSE_WEBKIT) -WX_ARG_ENABLE(html, [ --enable-richtext use wxRichTextCtrl], wxUSE_RICHTEXT) +WX_ARG_ENABLE(richtext, [ --enable-richtext use wxRichTextCtrl], wxUSE_RICHTEXT) WX_ARG_ENABLE(graphics_ctx, [ --enable-graphics_ctx use graphics context 2D drawing API], wxUSE_GRAPHICS_CONTEXT) dnl --------------------------------------------------------------------------- @@ -1035,13 +1065,6 @@ dnl VZ: these options seem to be always on, if someone wants to change it please 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) -dnl --------------------------------------------------------------------------- -dnl resources -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) - dnl --------------------------------------------------------------------------- dnl IPC &c dnl --------------------------------------------------------------------------- @@ -1073,6 +1096,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_CHECKLISTBOX=yes DEFAULT_wxUSE_CHOICE=yes DEFAULT_wxUSE_CHOICEBOOK=yes + DEFAULT_wxUSE_COLLPANE=yes DEFAULT_wxUSE_COLOURPICKERCTRL=yes DEFAULT_wxUSE_COMBOBOX=yes DEFAULT_wxUSE_DATEPICKCTRL=yes @@ -1094,6 +1118,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 @@ -1119,6 +1144,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_BUTTON=no DEFAULT_wxUSE_CALCTRL=no DEFAULT_wxUSE_CARET=no + DEFAULT_wxUSE_COLLPANE=no DEFAULT_wxUSE_COMBOBOX=no DEFAULT_wxUSE_CHECKBOX=no DEFAULT_wxUSE_CHECKLISTBOX=no @@ -1145,6 +1171,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,6 +1203,7 @@ WX_ARG_ENABLE(checkbox, [ --enable-checkbox use wxCheckBox class], wxU 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) @@ -1183,11 +1211,12 @@ WX_ARG_ENABLE(datepick, [ --enable-datepick use wxDatePickerCtrl class 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(editablebox, [ --enable-editablebox use wxEditableListBox class], wxUSE_EDITABLELISTBOX) 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(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) @@ -1199,6 +1228,7 @@ WX_ARG_ENABLE(radiobox, [ --enable-radiobox use wxRadioBox class], wxU 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(searchctrl, [ --enable-searchctrl use wxSearchCtrl class], wxUSE_SEARCHCTRL) 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) @@ -1267,6 +1297,7 @@ WX_ARG_ENABLE(palette, [ --enable-palette use wxPalette class], wxUS WX_ARG_ENABLE(image, [ --enable-image use wxImage class], wxUSE_IMAGE) WX_ARG_ENABLE(gif, [ --enable-gif use gif images (GIF file format)], wxUSE_GIF) WX_ARG_ENABLE(pcx, [ --enable-pcx use pcx images (PCX file format)], wxUSE_PCX) +WX_ARG_ENABLE(tga, [ --enable-tga use tga images (TGA file format)], wxUSE_TGA) WX_ARG_ENABLE(iff, [ --enable-iff use iff images (IFF file format)], wxUSE_IFF) WX_ARG_ENABLE(pnm, [ --enable-pnm use pnm images (PNM file format)], wxUSE_PNM) WX_ARG_ENABLE(xpm, [ --enable-xpm use xpm images (XPM file format)], wxUSE_XPM) @@ -1310,6 +1341,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 @@ -1408,61 +1441,6 @@ else fi fi -dnl --------------------------------------------------------------------------- -dnl When we are using Cygwin with Motif/GTK+, we want it to appear like -dnl 'just' a POSIX platform, so the Win32 API must not be available -dnl --------------------------------------------------------------------------- -dnl (Windows-only piece) -wants_win32=0 -doesnt_want_win32=0 -case "${host}" in - *-*-cygwin*) - if test "$wxUSE_MSW" = 1 ; then - wants_win32=1 - BAKEFILE_FORCE_PLATFORM=win32 - else - doesnt_want_win32=1 - fi - ;; - *-*-mingw*) - wants_win32=1 - ;; -esac - -dnl --------------------------------------------------------------------------- -dnl Wine is a virtual platform, we need to patch things up a bit -dnl --------------------------------------------------------------------------- -if test "$wxUSE_WINE" = "yes"; then - wants_win32=1 - dnl FIXME: we should do a better job of testing for these - CC=winegcc - CXX=wineg++ - LDFLAGS_GUI="-mwindows" -fi - -dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only -dnl take effect on Cygwin/Mingw and not other platforms. -if test "$wants_win32" = 1 ; then - USE_UNIX=0 - USE_WIN32=1 - AC_DEFINE(__WIN32__) - AC_DEFINE(__WIN95__) - AC_DEFINE(__WINDOWS__) - AC_DEFINE(__GNUWIN32__) - AC_DEFINE(STRICT) - AC_DEFINE(WINVER, 0x0400) -fi -if test "$doesnt_want_win32" = 1 ; then - USE_UNIX=1 - USE_WIN32=0 -fi -dnl (end of Windows-only piece) - -if test "$USE_UNIX" = 1 ; then - wxUSE_UNIX=yes - AC_DEFINE(__UNIX__) -fi - dnl --------------------------------------------------------------------------- dnl Checks for programs dnl --------------------------------------------------------------------------- @@ -1486,12 +1464,6 @@ dnl is -traditional needed for correct compilations dnl adds -traditional for gcc if needed AC_PROG_GCC_TRADITIONAL -dnl do all checks from now on using the C++ compiler: this saves us a lot of -dnl problems with various functions which may be available in libc but not -dnl declared in the header and various pointer conversions which compile with -dnl the C compiler but not in C++ -AC_LANG_PUSH(C++) - dnl C++-compiler checks dnl defines CXX with the compiler to use dnl defines GXX with yes if using gxx @@ -1502,15 +1474,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 @@ -1567,7 +1550,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" @@ -1675,6 +1658,74 @@ case "${host}" in ;; esac +dnl Determine whether we want to use Cygwin as Windows or POSIX platform: the +dnl latter makes more sense for wxGTK/Motif/X11 ports +wants_win32=0 +doesnt_want_win32=0 +case "${host}" in + *-*-cygwin*) + if test "$wxUSE_MSW" = 1 ; then + wants_win32=1 + else + dnl when we use cygwin compiler with -mno-cygwin option it uses mingw32 + dnl headers and libraries, so it's Windows-like in this case + AC_CACHE_CHECK([if -mno-cygwin is in effect], wx_cv_nocygwin, + [ + AC_TRY_COMPILE( + [], + [ + #ifdef __MINGW32__ + choke me + #endif + ], + wx_cv_nocygwin=no, + wx_cv_nocygwin=yes + ) + ] + ) + + if test "$wx_cv_nocygwin" = "yes"; then + wants_win32=1 + else + doesnt_want_win32=1 + fi + fi + if test "$wants_win32" = 1 ; then + BAKEFILE_FORCE_PLATFORM=win32 + fi + ;; + *-*-mingw*) + wants_win32=1 + ;; +esac + +if test "$wxUSE_WINE" = "yes"; then + wants_win32=1 + LDFLAGS_GUI="-mwindows" +fi + +dnl NB: The two tests bellow are *NOT* mutually exclusive! They should only +dnl take effect on Cygwin/Mingw and not other platforms. +if test "$wants_win32" = 1 ; then + USE_UNIX=0 + USE_WIN32=1 + AC_DEFINE(__WIN32__) + AC_DEFINE(__WIN95__) + AC_DEFINE(__WINDOWS__) + AC_DEFINE(__GNUWIN32__) + AC_DEFINE(STRICT) +fi +if test "$doesnt_want_win32" = 1 ; then + USE_UNIX=1 + USE_WIN32=0 +fi +dnl (end of Windows-only piece) + +if test "$USE_UNIX" = 1 ; then + wxUSE_UNIX=yes + AC_DEFINE(__UNIX__) +fi + dnl This case is for OS/2 vs. everything else case "${host}" in *-pc-os2_emx | *-pc-os2-emx ) @@ -1686,7 +1737,6 @@ case "${host}" in dnl not "g++/c++". dnl --------------------------------------------------------------------- dnl (OS/2-only piece) - AC_LANG_PUSH(C) if test "$wxUSE_MOTIF" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_X11" = 1; then dnl More complete Unix emulation for unix-like ports dnl by linking in POSIX/2's cExt (if available). @@ -1730,7 +1780,6 @@ case "${host}" in wx_cv_gccversion="EMX2" ) ]) - AC_LANG_POP if test "$wx_cv_gccversion" = "EMX2"; then LIBS="$LIBS -lstdcpp" LDFLAGS="$LDFLAGS -Zsysv-signals" @@ -1799,27 +1848,15 @@ dnl ------------------------------------------------------------------------ dnl Check for headers dnl ------------------------------------------------------------------------ -dnl defines HAVE_STDLIB_H -AC_CHECK_HEADERS(stdlib.h) -dnl defines HAVE_MALLOC_H -AC_CHECK_HEADERS(malloc.h) -dnl defines HAVE_UNISTD_H -AC_CHECK_HEADERS(unistd.h) -dnl defines HAVE_WCHAR_H -AC_CHECK_HEADERS(wchar.h) +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 - dnl defines HAVE_WCSTR_H - AC_CHECK_HEADERS(wcstr.h) + AC_CHECK_HEADER(wcstr.h,,, [AC_INCLUDES_DEFAULT()]) fi -dnl defines HAVE_FNMATCH_H -AC_CHECK_HEADERS(fnmatch.h) - -dnl defines HAVE_LANGINFO_H (GNU libc locale parameters) -AC_CHECK_HEADERS(langinfo.h) - case "${host}" in *-pc-os2_emx | *-pc-os2-emx ) dnl Explicitly link -lintl if langinfo.h is available @@ -1835,9 +1872,12 @@ 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_HEADER([sys/select.h],,, [AC_INCLUDES_DEFAULT()]) fi +dnl defines HAVE_SYS_EPOLL_H - for epoll mainloop implementation in wxbase +AC_CHECK_HEADERS(sys/epoll.h) + dnl --------------------------------------------------------------------------- dnl Checks for compiler characteristics dnl --------------------------------------------------------------------------- @@ -1850,7 +1890,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) @@ -1902,6 +1941,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, ...) @@ -1920,6 +1960,7 @@ AC_CACHE_CHECK([for va_copy], wx_cv_func_va_copy=yes, wx_cv_func_va_copy=no ) + AC_LANG_POP() ] ) @@ -1962,11 +2003,19 @@ 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], [wx_cv_have_variadic_macros], [ + dnl C compiler might support variadic macros when C++ one doesn't + dnl (happens with gcc/g++ 2.95.4), so must use C++ one explicitly + AC_LANG_PUSH(C++) AC_COMPILE_IFELSE( AC_LANG_PROGRAM( [ @@ -1980,6 +2029,7 @@ AC_CACHE_CHECK( [wx_cv_have_variadic_macros=yes], [wx_cv_have_variadic_macros=no] ) + AC_LANG_POP() ] ) @@ -1987,6 +2037,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 @@ -2010,6 +2062,7 @@ if test "x$wx_largefile" = "xyes"; then [if -D__STDC_EXT__ is required], wx_cv_STDC_EXT_required, [ + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [], [ @@ -2020,6 +2073,7 @@ if test "x$wx_largefile" = "xyes"; then wx_cv_STDC_EXT_required=no, wx_cv_STDC_EXT_required=yes ) + AC_LANG_POP() ] ) if test "x$wx_cv_STDC_EXT_required" = "xyes"; then @@ -2109,6 +2163,10 @@ if test "x$COMPAQCXX" = "xyes"; then CXXFLAGS="-w0 -msg_disable basclsnondto,unrimpret,intconlosbit" fi +dnl the next few tests are all for C++ features and so need to be done using +dnl C++ compiler +AC_LANG_PUSH(C++) + dnl check for std::string or std::wstring if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then if test "$wxUSE_UNICODE" = "yes"; then @@ -2119,42 +2177,60 @@ if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then char_type="char" fi - dnl check if declares std::wstring - AC_MSG_CHECKING([for $std_string in ]) - AC_TRY_COMPILE([#include ], - [$std_string foo;], - [AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_STD_WSTRING)], - [AC_MSG_RESULT(no) - AC_MSG_CHECKING([if std::basic_string<$char_type> works]) - AC_TRY_COMPILE([ - #ifdef HAVE_WCHAR_H - # ifdef __CYGWIN__ - # include - # endif - # include - #endif - #ifdef HAVE_STDLIB_H - # include - #endif - #include - #include - ], - [std::basic_string<$char_type> foo; - const $char_type* dummy = foo.c_str();], - [AC_MSG_RESULT(yes)], - [AC_MSG_RESULT([no]) - if test "$wxUSE_STL" = "yes"; then - AC_MSG_ERROR([Can't use --enable-stl without $std_string or std::basic_string<$char_type>]) - elif grep wxUSE_STD_STRING $wx_arg_cache_file >/dev/null; then - AC_MSG_ERROR([Can't use --enable-std_string without $std_string or std::basic_string<$char_type>]) - else - AC_MSG_WARN([No $std_string or std::basic_string<$char_type>, switching to --disable-std_string]) - wxUSE_STD_STRING=no - fi - ] - ) - ]) + dnl check if declares std::[w]string + AC_CACHE_CHECK([for $std_string in ], + wx_cv_class_stdstring, + [ + AC_TRY_COMPILE([#include ], + [$std_string foo;], + wx_cv_class_stdstring=yes, + wx_cv_class_stdstring=no + ) + ] + ) + + if test "$wx_cv_class_stdstring" = yes; then + if test "$wxUSE_UNICODE" = "yes"; then + AC_DEFINE(HAVE_STD_WSTRING) + fi + dnl we don't need HAVE_STD_STRING, we just suppose it's available if + dnl wxUSE_STD_STRING==yes + else + AC_CACHE_CHECK([if std::basic_string<$char_type> works], + wx_cv_class_stdbasicstring, + [ + AC_TRY_COMPILE([ + #ifdef HAVE_WCHAR_H + # ifdef __CYGWIN__ + # include + # endif + # include + #endif + #ifdef HAVE_STDLIB_H + # include + #endif + #include + #include + ], + [std::basic_string<$char_type> foo; + const $char_type* dummy = foo.c_str();], + wx_cv_class_stdbasicstring=yes, + wx_cv_class_stdbasicstring=no + ) + ] + ) + + if test "$wx_cv_class_stdbasicstring" != yes; then + if test "$wxUSE_STL" = "yes"; then + AC_MSG_ERROR([Can't use --enable-stl without $std_string or std::basic_string<$char_type>]) + elif grep wxUSE_STD_STRING $wx_arg_cache_file >/dev/null; then + AC_MSG_ERROR([Can't use --enable-std_string without $std_string or std::basic_string<$char_type>]) + else + AC_MSG_WARN([No $std_string or std::basic_string<$char_type>, switching to --disable-std_string]) + wxUSE_STD_STRING=no + fi + fi + fi fi if test "$wxUSE_STD_IOSTREAM" = "yes"; then @@ -2173,61 +2249,92 @@ fi if test "$wxUSE_STL" = "yes"; then dnl check for basic STL functionality - AC_MSG_CHECKING([for basic STL functionality]) - AC_TRY_COMPILE([#include - #include - #include - #include - #include ], - [std::vector moo; - std::list foo; - std::vector::iterator it = - std::find_if(moo.begin(), moo.end(), - std::bind2nd(std::less(), 3));], - [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no]) - AC_MSG_ERROR([Basic STL functionality missing])]) + AC_CACHE_CHECK([for basic STL functionality], + wx_cv_lib_stl, + [AC_TRY_COMPILE([#include + #include + #include + #include + #include ], + [std::vector moo; + std::list foo; + std::vector::iterator it = + std::find_if(moo.begin(), moo.end(), + std::bind2nd(std::less(), 3));], + wx_cv_lib_stl=yes, + wx_cv_lib_stl=no + )] + ) + + if test "$wx_cv_lib_stl" != yes; then + AC_MSG_ERROR([Can't use --enable-stl as basic STL functionality is missing]) + fi dnl check for compliant std::string::compare - AC_MSG_CHECKING([for compliant std::string::compare]) - AC_TRY_COMPILE([#include ], - [std::string foo, bar; - foo.compare(bar); - foo.compare(1, 1, bar); - foo.compare(1, 1, bar, 1, 1); - foo.compare(""); - foo.compare(1, 1, ""); - foo.compare(1, 1, "", 2);], - [AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_STD_STRING_COMPARE)], - [AC_MSG_RESULT(no)]) + AC_CACHE_CHECK([for compliant std::string::compare], + wx_cv_func_stdstring_compare, + [AC_TRY_COMPILE([#include ], + [std::string foo, bar; + foo.compare(bar); + foo.compare(1, 1, bar); + foo.compare(1, 1, bar, 1, 1); + foo.compare(""); + foo.compare(1, 1, ""); + foo.compare(1, 1, "", 2);], + wx_cv_func_stdstring_compare=yes, + wx_cv_func_stdstring_compare=no + )] + ) + + if test "$wx_cv_func_stdstring_compare" = yes; then + AC_DEFINE(HAVE_STD_STRING_COMPARE) + fi dnl check for hash_map and hash_set headers AC_CHECK_HEADER([hash_map], - [AC_MSG_CHECKING([for hash_map and hash_set]) - AC_TRY_COMPILE([#include - #include ], - [std::hash_map, std::equal_to > test1; - std::hash_set, std::equal_to > test2;], - [AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_HASH_MAP) - AC_DEFINE(HAVE_STD_HASH_MAP)], - [AC_MSG_RESULT(no)]) - ]) + [AC_CACHE_CHECK([for standard hash_map and hash_set], + wx_cv_class_stdhashmapset, + [AC_TRY_COMPILE([#include + #include ], + [std::hash_map, std::equal_to > test1; + std::hash_set, std::equal_to > test2;], + wx_cv_class_stdhashmapset=yes, + wx_cv_class_stdhashmapset=no) + ] + )], + [], + [ ] + ) + + if test "$wx_cv_class_stdhashmapset" = yes; then + AC_DEFINE(HAVE_HASH_MAP) + AC_DEFINE(HAVE_STD_HASH_MAP) + fi AC_CHECK_HEADER([ext/hash_map], - [AC_MSG_CHECKING([for hash_map and hash_set]) - AC_TRY_COMPILE([#include - #include ], - [__gnu_cxx::hash_map, std::equal_to > test1; - __gnu_cxx::hash_set, std::equal_to > test2;], - [AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_EXT_HASH_MAP) - AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)], - [AC_MSG_RESULT(no)]) - ]) + [AC_CACHE_CHECK([for GNU hash_map and hash_set], + wx_cv_class_gnuhashmapset, + [AC_TRY_COMPILE([#include + #include ], + [__gnu_cxx::hash_map, std::equal_to > test1; + __gnu_cxx::hash_set, std::equal_to > test2;], + wx_cv_class_gnuhashmapset=yes, + wx_cv_class_gnuhashmapset=no) + ] + )], + [], + [ ] + ) + + if test "$wx_cv_class_gnuhashmapset" = yes; then + AC_DEFINE(HAVE_EXT_HASH_MAP) + AC_DEFINE(HAVE_GNU_CXX_HASH_MAP) + fi fi +dnl pop C++ +AC_LANG_POP() + dnl --------------------------------------------------------------------------- dnl Define search path for includes and libraries: all headers and libs will be dnl looked for in all directories of this path @@ -2465,11 +2572,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 - AC_CHECK_FUNCS(wcstoull) + WX_CHECK_FUNCS(wcstoull) else - AC_CHECK_FUNCS(strtoull) + WX_CHECK_FUNCS(strtoull) fi +AC_LANG_POP() dnl --------------------------------------------------------------------------- dnl Optional libraries @@ -2506,7 +2618,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 @@ -2574,7 +2686,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 @@ -2645,7 +2757,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]) @@ -2717,6 +2829,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 @@ -2746,7 +2882,9 @@ if test "$wxUSE_LIBTIFF" != "no" ; then TIFF_LINK=" -ltiff", , $TIFF_PREREQ_LINKS) - ] + ], + [], + [ ] ) if test "x$TIFF_LINK" = "x" ; then @@ -2784,16 +2922,18 @@ 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], wx_cv_expat_is_not_broken, [ + AC_LANG_PUSH(C++) AC_TRY_COMPILE([#include ],[], wx_cv_expat_is_not_broken=yes, wx_cv_expat_is_not_broken=no ) + AC_LANG_POP() ] ) if test "$wx_cv_expat_is_not_broken" = "yes" ; then @@ -2824,7 +2964,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") @@ -2853,11 +2993,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_HEADER(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. @@ -2895,14 +3036,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 @@ -2925,7 +3060,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 @@ -2943,8 +3078,6 @@ if test "$wxUSE_GUI" = "yes"; then if test "$wxUSE_GTK" = 1; then dnl GTK+ test program must be compiled with C compiler - AC_LANG_PUSH(C) - AC_MSG_CHECKING([for GTK+ version]) gtk_version_cached=1 @@ -2966,26 +3099,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 @@ -3055,45 +3183,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" @@ -3106,14 +3259,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 - - AC_LANG_POP - 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" @@ -3222,7 +3373,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" @@ -3301,6 +3452,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config PKG_CHECK_MODULES(PANGOX, pangox, [ + CFLAGS="$PANGOX_CFLAGS $CFLAGS" CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS" GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS" ], @@ -3310,6 +3462,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config ) PKG_CHECK_MODULES(PANGOFT2, pangoft2, [ + CFLAGS="$PANGOFT2_CFLAGS $CFLAGS" CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS" GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS" ], @@ -3321,6 +3474,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config PKG_CHECK_MODULES(PANGOXFT, pangoxft, [ AC_DEFINE(HAVE_PANGO_XFT) + CFLAGS="$PANGOXFT_CFLAGS $CFLAGS" CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS" GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS" ], @@ -3328,12 +3482,9 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support]) ] ) - save_CXXFLAGS="$CXXFLAGS" save_LIBS="$LIBS" - CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS" LIBS="$LIBS $PANGOX_LIBS" AC_CHECK_FUNCS([pango_font_family_is_monospace]) - CXXFLAGS="$save_CXXFLAGS" LIBS="$save_LIBS" fi @@ -3363,8 +3514,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE) TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include" else - save_CXXFLAGS=$CXXFLAGS - CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" + save_CFLAGS=$CFLAGS + CFLAGS="$TOOLKIT_INCLUDE $CFLAGS" AC_TRY_COMPILE( [ @@ -3384,7 +3535,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config ] ) - CXXFLAGS=$save_CXXFLAGS + CFLAGS=$save_CFLAGS fi @@ -3400,8 +3551,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config dnl it might happen that we found headers in one of the standard dnl paths but the libs are elsewhere but still in default (linker) dnl path -- try to compile a test program to check for this - save_CXXFLAGS=$CXXFLAGS - CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" + save_CFLAGS=$CFLAGS + CFLAGS="$TOOLKIT_INCLUDE $CFLAGS" save_LIBS="$LIBS" LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11" @@ -3423,7 +3574,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config ] ) - CXXFLAGS=$save_CXXFLAGS + CFLAGS=$save_CFLAGS LIBS="$save_LIBS" fi @@ -3437,8 +3588,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config if test "$libs_found" = "0"; then save_LIBS="$LIBS" LIBS="$GUI_TK_LIBRARY -lXm ${libp} -lXmu -lXext -lXt${libsm_ice} -lX11" - save_CXXFLAGS=$CXXFLAGS - CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" + save_CFLAGS=$CFLAGS + CFLAGS="$TOOLKIT_INCLUDE $CFLAGS" AC_TRY_LINK( [ @@ -3461,7 +3612,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config ) LIBS="$save_LIBS" - CXXFLAGS=$save_CXXFLAGS + CFLAGS=$save_CFLAGS fi done fi @@ -3476,8 +3627,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config dnl elsewhere AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"]) - save_CXXFLAGS=$CXXFLAGS - CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" + save_CFLAGS=$CFLAGS + CFLAGS="$TOOLKIT_INCLUDE $CFLAGS" AC_CACHE_CHECK([for Motif 2], wx_cv_lib_motif2, @@ -3516,7 +3667,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config AC_DEFINE(__WXLESSTIF__,0) fi - CXXFLAGS=$save_CXXFLAGS + CFLAGS=$save_CFLAGS GUI_TK_LIBRARY="$GUI_TK_LIBRARY${libsgm_link} -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11" TOOLKIT=MOTIF @@ -3537,8 +3688,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config AC_CACHE_CHECK([for X11/xpm.h], wx_cv_x11_xpm_h, [ - save_CXXFLAGS=$CXXFLAGS - CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" + save_CFLAGS=$CFLAGS + CFLAGS="$TOOLKIT_INCLUDE $CFLAGS" AC_TRY_COMPILE( [ @@ -3552,7 +3703,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config wx_cv_x11_xpm_h=no ) - CXXFLAGS=$save_CXXFLAGS + CFLAGS=$save_CFLAGS ] ) @@ -3575,8 +3726,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config [], [$GUI_TK_LIBRARY -lX11]) if test "$wxHAVE_XEXT_LIB" = 1; then - save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" + save_CFLAGS="$CFLAGS" + CFLAGS="$TOOLKIT_INCLUDE $CFLAGS" AC_MSG_CHECKING([for X11/extensions/shape.h]) AC_TRY_COMPILE([ @@ -3595,7 +3746,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config [ AC_MSG_RESULT([not found]) ]) - CXXFLAGS="$save_CXXFLAGS" + CFLAGS="$save_CFLAGS" fi fi @@ -3691,6 +3842,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 --------------------------------------------------------------------------- @@ -3699,8 +3872,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_HEADER(X11/Xlib.h,,, [ ]) + AC_CHECK_HEADER([X11/XKBlib.h],,, [ #if HAVE_X11_XLIB_H #include @@ -3724,7 +3897,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", [ @@ -3783,7 +3956,7 @@ dnl --------------------------------------------------------------------------- WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],Xxf86vm) if test "$ac_find_libraries" != "" ; then AC_MSG_RESULT([yes]) - AC_CHECK_HEADERS([X11/extensions/xf86vmode.h], + AC_CHECK_HEADER([X11/extensions/xf86vmode.h], [ GUI_TK_LIBRARY="$GUI_TK_LIBRARY -lXxf86vm" ], @@ -3806,7 +3979,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 @@ -3841,30 +4014,34 @@ 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" else - dnl David Elliott: Without this snippet AC_CHECK_HEADER fails to find - dnl GL/gl.h on Mac OS X where it is located in - dnl /usr/X11R6/include/GL/gl.h: - - WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, GL/gl.h) + dnl adjust CPPFLAGS to include GL/gl.h location if necessary + dnl (/opt/graphics/OpenGL is for HP-UX systems, bug 925307) + AC_MSG_CHECKING([for OpenGL headers]) + WX_PATH_FIND_INCLUDES([$SEARCH_INCLUDE /opt/graphics/OpenGL/include], GL/gl.h) if test "$ac_find_includes" != "" ; then AC_MSG_RESULT(found in $ac_find_includes) WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS) CPPFLAGS="$ac_path_to_include $CPPFLAGS" + else + AC_MSG_RESULT([not found]) fi - AC_CHECK_HEADER(GL/gl.h, - [ + AC_CHECK_HEADER(GL/gl.h, [ + AC_CHECK_HEADER(GL/glu.h, [ found_gl=0 AC_MSG_CHECKING([for -lGL]) - WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL) + WX_PATH_FIND_LIBRARIES([$SEARCH_LIB /opt/graphics/OpenGL/lib],GL) if test "$ac_find_libraries" != "" ; then - AC_MSG_RESULT([yes]) + AC_MSG_RESULT([found in $ac_find_libraries]) WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS]) if test "$ac_path_to_link" != " -L/usr/lib" ; then @@ -3906,6 +4083,9 @@ if test "$wxUSE_OPENGL" = "yes"; then fi fi ]) + ], + [], + [ ]) if test "x$OPENGL_LIBS" = "x"; then dnl it should be an error and not a warning because OpenGL is not on @@ -3945,56 +4125,59 @@ fi if test "$wxUSE_SHARED" = "yes"; then dnl use versioned symbols if available on the platform - WX_VERSIONED_SYMBOLS([\$(top_builddir)version-script]) + WX_VERSIONED_SYMBOLS([\$(wx_top_builddir)/version-script]) + 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,\$(top_builddir)lib" + SAMPLES_RPATH_FLAG="-Wl,-rpath,\$(wx_top_builddir)/lib" WXCONFIG_RPATH="-Wl,-rpath,\$libdir" ;; *-*-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,\$(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,\$(top_builddir)lib" - WXCONFIG_RPATH="-Wl,-R,\$libdir" - ],[ - AC_MSG_RESULT([no]) - ]) - ]) - LDFLAGS="$saveLdflags" - else - SAMPLES_RPATH_FLAG="-R\$(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* ) install_name_tool=`which install_name_tool` if test "$install_name_tool" -a -x "$install_name_tool"; then - SAMPLES_RPATH_POSTLINK="\$(top_builddir)change-install-names \$(LIBDIRNAME) \$(prefix) \$@" + SAMPLES_RPATH_POSTLINK="\$(wx_top_builddir)/change-install-names \$(LIBDIRNAME) \$(prefix) \$@" cat <change-install-names #!/bin/sh libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\` @@ -4015,11 +4198,12 @@ EOF ;; *-*-hpux* ) - SAMPLES_RPATH_FLAG="-Wl,+b,\$(top_builddir)lib" + SAMPLES_RPATH_FLAG="-Wl,+b,\$(wx_top_builddir)/lib" WXCONFIG_RPATH="-Wl,+b,\$libdir" ;; esac + fi if test $wxUSE_RPATH = "no"; then SAMPLES_RPATH_FLAG='' @@ -4123,7 +4307,7 @@ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then WX_RESOURCES_MACOSX_DATA="libwx_${TOOLCHAIN_NAME}.${wx_release_number}.rsrc" dnl add the resources target for wxMac - LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}" + LIBWXMACRES="\$(wx_top_builddir)/lib/${WX_RESOURCES_MACOSX_ASCII}" AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez) AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez) @@ -4180,6 +4364,7 @@ AC_CHECK_TYPES(ssize_t) dnl check what exactly size_t is on this machine - this is necessary to avoid dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h +AC_LANG_PUSH(C++) dnl tests below use overloaded functions and so need C++ AC_CACHE_CHECK([if size_t is unsigned int], wx_cv_size_t_is_uint, [ @@ -4226,6 +4411,32 @@ 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_SEPARATE_TYPE, 1) +else + AC_DEFINE(wxWCHAR_T_IS_SEPARATE_TYPE, 0) +fi + +AC_LANG_POP() dnl C++ + dnl --------------------------------------------------------------------------- dnl Checks for structures dnl --------------------------------------------------------------------------- @@ -4281,6 +4492,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 @@ -4308,6 +4521,8 @@ dnl stupidly, provides a dummy function declaration inside its extension) dnl succeeds, even with C++ compiler, but the compilation of wxWidgets fails dnl dnl so we first check if the function is in the library +dnl +dnl FIXME: replace this mess with WX_CHECK_FUNCS() AC_CHECK_FUNCS(snprintf vsnprintf) if test "$ac_cv_func_vsnprintf" = "yes"; then @@ -4451,7 +4666,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); @@ -4509,8 +4724,21 @@ if test "$wxUSE_UNICODE" = yes; then fi fi - dnl also look if we have wide char IO functions - AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf) + dnl also look if we have wide char IO functions, notice that [f]putws are + dnl declared in special widec.h under Solaris + wchar_headers="#include +#include " + case "${host}" in + *-*-solaris2* ) + AC_CHECK_HEADER(widec.h,,, [AC_INCLUDES_DEFAULT()]) + if test "$ac_cv_header_widec_h" = "yes"; then + wchar_headers="$wchar_headers +#include " + fi + esac + + WX_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf,,, + [$wchar_headers]) dnl MinGW has a vswprintf with a different prototype, and dnl a _vsnwprintf with the correct prototype, but AC_CHECK_FUNCS @@ -4524,18 +4752,18 @@ if test "$wxUSE_UNICODE" = yes; then fi if test "x$ac_cv_header_fnmatch_h" = "xyes"; then - AC_CHECK_FUNCS(fnmatch) + WX_CHECK_FUNCS(fnmatch,,,[#include ]) fi if test "$wxUSE_FILE" = "yes"; then - AC_CHECK_FUNCS(fsync) -fi - -AC_CHECK_FUNCS(round) -if test "$ac_cv_func_round" = yes; then - AC_CHECK_DECLS(round,,,[#include ]) + 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 @@ -4557,6 +4785,8 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler, [ + dnl C compiler happily compiles the code even if there is type mismatch + AC_LANG_PUSH(C++) AC_TRY_COMPILE([#include ], [ extern void testSigHandler(int); @@ -4568,6 +4798,7 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then ], [ wx_cv_type_sa_handler=void ]) + AC_LANG_POP() ]) AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler) @@ -4578,6 +4809,7 @@ dnl backtrace() and backtrace_symbols() for wxStackWalker if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then AC_CACHE_CHECK([for backtrace() in ], wx_cv_func_backtrace, [ + AC_LANG_PUSH(C++) AC_TRY_COMPILE([#include ], [ void *trace[1]; @@ -4589,6 +4821,7 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then wx_cv_func_backtrace=yes, wx_cv_func_backtrace=no ) + AC_LANG_POP() ] ) @@ -4599,6 +4832,7 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then else AC_CACHE_CHECK([for __cxa_demangle() in ], wx_cv_func_cxa_demangle, [ + AC_LANG_PUSH(C++) AC_TRY_LINK([#include ], [ int rc; @@ -4607,6 +4841,7 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then wx_cv_func_cxa_demangle=yes, wx_cv_func_cxa_demangle=no ) + AC_LANG_POP() ] ) @@ -4653,6 +4888,7 @@ AC_CACHE_CHECK(for statfs, wx_cv_func_statfs, if test "$wx_cv_func_statfs" = "yes"; then dnl check whether we have its dcelaration too: some systems (AIX 4) lack it AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl, + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ #if defined(__BSD__) @@ -4669,6 +4905,7 @@ if test "$wx_cv_func_statfs" = "yes"; then wx_cv_func_statfs_decl=yes, wx_cv_func_statfs_decl=no ) + AC_LANG_POP() ) if test "$wx_cv_func_statfs_decl" = "yes"; then @@ -4701,6 +4938,7 @@ else dnl for this check C++ compiler has to be used as passing incompatible dnl pointers is just a warning and not an error in C AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t, + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ #include @@ -4732,6 +4970,7 @@ else ) ] ) + AC_LANG_POP() ) if test "$wx_cv_type_statvfs_t" != "unknown"; then @@ -4793,9 +5032,8 @@ if test "$HAVE_SOME_SLEEP_FUNC" != 1; then POSIX4_LINK=" -lposix4" ], [ - AC_CHECK_FUNCS(usleep, - AC_DEFINE(HAVE_USLEEP), - AC_MSG_WARN([wxSleep() function will not work]) + WX_CHECK_FUNCS(usleep,, + AC_MSG_WARN([wxSleep() function will not work]) ) ] ) @@ -4804,7 +5042,10 @@ if test "$HAVE_SOME_SLEEP_FUNC" != 1; then fi dnl check for uname (POSIX) and gethostname (BSD) -AC_CHECK_FUNCS(uname gethostname, break) +WX_CHECK_FUNCS(uname,,,[#include ]) +if test "$wx_cv_func_uname" != yes; then + WX_CHECK_FUNCS(gethostname) +fi WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT]) @@ -4846,35 +5087,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! @@ -4893,14 +5105,14 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then dnl the code below: dnl - dnl defines THREADS_LINK and THREADS_CXXFLAGS which are the options + dnl defines THREADS_LINK and THREADS_CFLAGS which are the options dnl necessary to build the MT programs for the linker and compiler dnl respectively dnl dnl sets wxUSE_THREADS=1 if thread support is activated THREADS_LINK= - THREADS_CXXFLAGS= + THREADS_CFLAGS= if test "$wxUSE_THREADS" = "yes" ; then if test "$USE_BEOS" = 1; then @@ -4924,13 +5136,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*) @@ -4991,7 +5205,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then -*) AC_MSG_CHECKING([whether pthreads work with $flag]) - THREADS_CXXFLAGS="$flag" + THREADS_CFLAGS="$flag" ;; *) @@ -5001,16 +5215,16 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then esac save_LIBS="$LIBS" - save_CXXFLAGS="$CXXFLAGS" + save_CFLAGS="$CFLAGS" LIBS="$THREADS_LINK $LIBS" - CXXFLAGS="$THREADS_CXXFLAGS $CXXFLAGS" + CFLAGS="$THREADS_CFLAGS $CFLAGS" AC_TRY_LINK([#include ], [pthread_create(0,0,0,0);], THREADS_OK=yes) LIBS="$save_LIBS" - CXXFLAGS="$save_CXXFLAGS" + CFLAGS="$save_CFLAGS" AC_MSG_RESULT($THREADS_OK) if test "x$THREADS_OK" = "xyes"; then @@ -5018,7 +5232,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then fi THREADS_LINK="" - THREADS_CXXFLAGS="" + THREADS_CFLAGS="" done if test "x$THREADS_OK" != "xyes"; then @@ -5027,7 +5241,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then else dnl yes, these special compiler flags should be used with the dnl linker as well - LDFLAGS="$THREADS_CXXFLAGS $LDFLAGS" + LDFLAGS="$THREADS_CFLAGS $LDFLAGS" LIBS="$THREADS_LINK $LIBS" AC_MSG_CHECKING([if more special flags are required for pthreads]) @@ -5059,11 +5273,11 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then esac AC_MSG_RESULT(${flag}) if test "x$flag" != xno; then - THREADS_CXXFLAGS="$THREADS_CXXFLAGS $flag" + THREADS_CFLAGS="$THREADS_CFLAGS $flag" fi dnl don't add these options to CPPFLAGS as cpp might not know them - WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS $THREADS_CXXFLAGS" + WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS $THREADS_CFLAGS" fi fi @@ -5075,6 +5289,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); ], @@ -5088,12 +5306,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_HEADER(sched.h,,, [AC_INCLUDES_DEFAULT()]) if test "$ac_cv_header_sched_h" = "yes"; then AC_CHECK_FUNC(sched_yield, AC_DEFINE(HAVE_SCHED_YIELD), @@ -5138,6 +5357,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)) @@ -5214,8 +5437,8 @@ else AC_CACHE_CHECK([if compiler supports -mthreads], wx_cv_cflags_mthread, [ - CXXFLAGS_OLD="$CXXFLAGS" - CXXFLAGS="-mthreads $CXXFLAGS" + CFLAGS_OLD="$CFLAGS" + CFLAGS="-mthreads $CFLAGS" AC_TRY_COMPILE([], [], wx_cv_cflags_mthread=yes, wx_cv_cflags_mthread=no @@ -5225,16 +5448,15 @@ else if test "$wx_cv_cflags_mthread" = "yes"; then dnl it does, use it - WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -mthreads" + WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -mthreads" LDFLAGS="$LDFLAGS -mthreads" else dnl it doesn't - CXXFLAGS="$CXXFLAGS_OLD" + CFLAGS="$CFLAGS_OLD" fi ;; *-pc-os2*emx ) WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -Zmt -D__ST_MT_ERRNO__" - WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -Zmt -D__ST_MT_ERRNO__" LDFLAGS="$LDFLAGS -Zmt" ;; esac @@ -5419,14 +5641,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 --------------------------------------------------------------------------- @@ -5567,6 +5789,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 @@ -5578,44 +5804,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 @@ -5623,6 +5851,7 @@ if test "$wxUSE_SOUND" = "yes"; then AM_PATH_SDL([1.2.0], [ EXTRALIBS_SDL="$SDL_LIBS" + CFLAGS="$SDL_CFLAGS $CFLAGS" CXXFLAGS="$SDL_CFLAGS $CXXFLAGS" AC_DEFINE(wxUSE_LIBSDL) ], @@ -5631,20 +5860,30 @@ if test "$wxUSE_SOUND" = "yes"; then WITH_PLUGIN_SDL=1 fi fi + else + dnl wxMGL doesn't support sound under DOS, only under Unix + if test "$wxUSE_MGL" = 1; then + AC_MSG_WARN([wxSound not supported in MGL under DOS... disabled]) + wxUSE_SOUND="no" + fi fi +fi +if test "$wxUSE_SOUND" = "yes"; then AC_DEFINE(wxUSE_SOUND) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sound" fi if test "$WXGTK20" = 1; then + PKG_PROG_PKG_CONFIG() + if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then PKG_CHECK_MODULES(LIBGNOMEPRINTUI, [libgnomeprintui-2.2 >= 2.8], [ -dnl EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS" + CFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CFLAGS" CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS" AC_DEFINE(wxUSE_LIBGNOMEPRINT) ], @@ -5655,16 +5894,14 @@ dnl EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS" ) fi fi -fi -if test "$WXGTK20" = 1; then if test "$wxUSE_MIMETYPE" = "yes" ; then if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then PKG_CHECK_MODULES(GNOMEVFS, [gnome-vfs-2.0 >= 2.0], [ -dnl EXTRALIBS_GNOMEVFS="$LIBGNOMEVFS_LIBS" + CFLAGS="$GNOMEVFS_CFLAGS $CFLAGS" CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS" AC_DEFINE(wxUSE_LIBGNOMEVFS) ], @@ -5675,14 +5912,13 @@ dnl EXTRALIBS_GNOMEVFS="$LIBGNOMEVFS_LIBS" ) fi fi -fi -if test "$WXGTK20" = 1; then if test "$wxUSE_LIBHILDON" = "yes" ; then - PKG_CHECK_MODULES(HILDON, + PKG_CHECK_MODULES(HILDON, [hildon-lgpl >= 0.9], [ EXTRALIBS_HILDON="$HILDON_LIBS" + CFLAGS="$CFLAGS $HILDON_CFLAGS" CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS" AC_DEFINE(wxUSE_LIBHILDON) ], @@ -5878,6 +6114,9 @@ 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 time/date functions @@ -5885,10 +6124,11 @@ dnl --------------------------------------------------------------------------- if test "$wxUSE_DATETIME" = "yes"; then dnl check for strptime and for its declaration as some systems lack it - 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, [ + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ #include @@ -5900,11 +6140,46 @@ if test "$wxUSE_DATETIME" = "yes"; then wx_cv_func_strptime_decl=yes, wx_cv_func_strptime_decl=no ) + AC_LANG_POP() ] ) fi if test "$wx_cv_func_strptime_decl" = "yes"; then AC_DEFINE(HAVE_STRPTIME_DECL) + else + wx_strptime_decl="extern char *strptime(const char *, const char *, struct tm *);" + fi + if test "$ac_cv_func_strptime" = "yes"; then + dnl strptime() behaviour doesn't conform to POSIX under Mac OS X < + dnl 10.5 and possibly other BSD variants, check that strptime() we + dnl have fails to parse format when the string doesn't match it instea + dnl of just stopping immediately and returning non-NULL + AC_CACHE_CHECK([whether strptime() fails on invalid strings], + wx_cv_func_strptime_ok, + [AC_RUN_IFELSE( + [ + #include + #include + #include "confdefs.h" + + $wx_strptime_decl + + int main() + { + struct tm t; + return !!strptime("", "%x", &t); + } + ], + wx_cv_func_strptime_ok=yes, + wx_cv_func_strptime_ok=no, + dnl be pessimistic when cross-compiling + wx_cv_func_strptime_ok=no + )] + ) + + if test "$wx_cv_func_strptime_ok" = "yes"; then + AC_DEFINE(HAVE_STRPTIME) + fi fi dnl check for timezone variable @@ -5912,6 +6187,7 @@ if test "$wxUSE_DATETIME" = "yes"; then AC_CACHE_CHECK(for timezone variable in , wx_cv_var_timezone, [ + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ #include @@ -5957,6 +6233,7 @@ if test "$wxUSE_DATETIME" = "yes"; then ) ] ) + AC_LANG_POP() ] ) @@ -6081,6 +6358,7 @@ if test "$wxUSE_SOCKETS" = "yes" ; then AC_CACHE_CHECK([what is the type of the third argument of getsockname], wx_cv_type_getsockname3, [ + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ #include @@ -6098,9 +6376,9 @@ if test "$wxUSE_SOCKETS" = "yes" ; then 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) - CXXFLAGS_OLD="$CXXFLAGS" + CFLAGS_OLD="$CFLAGS" if test "$GCC" = yes ; then - CXXFLAGS="-Werror $CXXFLAGS" + CFLAGS="-Werror $CFLAGS" fi AC_TRY_COMPILE( @@ -6127,9 +6405,10 @@ if test "$wxUSE_SOCKETS" = "yes" ; then ) ) - CXXFLAGS="$CXXFLAGS_OLD" + CFLAGS="$CFLAGS_OLD" ] ) + AC_LANG_POP() ]) if test "$wx_cv_type_getsockname3" = "unknown"; then @@ -6142,6 +6421,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 @@ -6153,17 +6438,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) - CXXFLAGS_OLD="$CXXFLAGS" - if test "$GCC" = yes ; then - CXXFLAGS="-Werror $CXXFLAGS" - fi - AC_TRY_COMPILE( [ #include @@ -6187,10 +6461,9 @@ if test "$wxUSE_SOCKETS" = "yes" ; then wx_cv_type_getsockopt5=unknown ) ) - - CXXFLAGS="$CXXFLAGS_OLD" ] ) + AC_LANG_POP() ]) if test "$wx_cv_type_getsockopt5" = "unknown"; then @@ -6267,18 +6540,29 @@ if test "$wxUSE_GUI" = "yes" -a "$wxUSE_JOYSTICK" = "yes"; then if test "$USE_DARWIN" = 1; then dnl check for a bug in the headers, some have bad setEventCallout AC_MSG_CHECKING([headers have declarations needed for joystick support]) + AC_LANG_PUSH(C++) AC_TRY_COMPILE( [ #include ], [ IOHIDQueueInterface *qi = NULL; IOHIDCallbackFunction cb = NULL; qi->setEventCallout(NULL, cb, NULL, NULL); ], [ wxUSE_JOYSTICK=yes ] ) + AC_LANG_POP() AC_MSG_RESULT($wxUSE_JOYSTICK) fi dnl joystick support is only for Linux 2.1.x or greater else - AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes) + dnl wxJoystick not supported by wxMGL at all + if test "$wxUSE_MGL" != "1"; then + 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_HEADER(linux/joystick.h, [wxUSE_JOYSTICK=yes],, [AC_INCLUDES_DEFAULT()]) + fi fi if test "$wxUSE_JOYSTICK" = "yes"; then @@ -6318,6 +6602,14 @@ if test "$wxUSE_UNICODE" = "yes" ; then fi fi +if test "$wxUSE_UNICODE" = "yes" -a "$wxUSE_UNICODE_UTF8" = "yes"; then + AC_DEFINE(wxUSE_UNICODE_UTF8) + + if test "$wxUSE_UNICODE_UTF8_LOCALE" = "yes"; then + AC_DEFINE(wxUSE_UTF8_LOCALE_ONLY) + fi +fi + if test "$wxUSE_wxUSE_EXPERIMENTAL_PRINTF" = "yes"; then AC_DEFINE(wxUSE_EXPERIMENTAL_PRINTF) fi @@ -6389,9 +6681,6 @@ 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]) -fi dnl --------------------------------------------------------------------------- dnl wxMetafile availability @@ -6414,7 +6703,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 @@ -6429,7 +6718,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 @@ -6468,8 +6757,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) @@ -6481,8 +6770,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 @@ -6499,18 +6788,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 @@ -6574,6 +6854,12 @@ if test "$wxUSE_CARET" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS caret" fi +if test "$wxUSE_COLLPANE" = "yes"; then + AC_DEFINE(wxUSE_COLLPANE) + USES_CONTROLS=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS collpane" +fi + if test "$wxUSE_COMBOBOX" = "yes"; then AC_DEFINE(wxUSE_COMBOBOX) USES_CONTROLS=1 @@ -6631,8 +6917,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 @@ -6691,6 +6982,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 @@ -6730,6 +7027,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 @@ -6863,8 +7165,8 @@ if test "$wxUSE_POPUPWIN" = "yes"; then fi if test "$wxUSE_DIALUP_MANAGER" = "yes"; then - if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 ; then - AC_MSG_WARN([Dialup manager not yet supported under Mac OS X... disabled]) + if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1 -o "$wxUSE_MGL" = 1; then + AC_MSG_WARN([Dialup manager not supported on this platform... disabled]) else AC_DEFINE(wxUSE_DIALUP_MANAGER) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dialup" @@ -6933,7 +7235,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) @@ -6961,6 +7266,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" @@ -6994,7 +7306,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 @@ -7024,6 +7341,10 @@ if test "$wxUSE_IMAGE" = "yes" ; then AC_DEFINE(wxUSE_PCX) fi + if test "$wxUSE_TGA" = "yes" ; then + AC_DEFINE(wxUSE_TGA) + fi + if test "$wxUSE_IFF" = "yes" ; then AC_DEFINE(wxUSE_IFF) fi @@ -7189,16 +7510,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" @@ -7268,6 +7579,9 @@ fi if test "$wxUSE_AUI" = "yes" ; then CORE_GUI_LIBS="aui $CORE_GUI_LIBS" fi +if test "$wxUSE_STC" = "yes" ; then + CORE_GUI_LIBS="stc $CORE_GUI_LIBS" +fi if test "$wxUSE_GUI" != "yes"; then CORE_GUI_LIBS="" @@ -7280,9 +7594,6 @@ dnl --------------------------------------------------------------------------- dnl Output the makefiles and such from the results found above dnl --------------------------------------------------------------------------- -dnl no more tests from here -AC_LANG_POP - dnl all additional libraries (except wxWidgets itself) we link with if test "$wxUSE_MAC" = 1 ; then @@ -7320,7 +7631,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" @@ -7391,13 +7702,13 @@ dnl come first and the one with setup.h should be before $(top_srcdir)/include dnl in case the latter contains setup.h used by non-autoconf makefiles (e.g. dnl CodeWarrior): CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \ - -I\\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \ + -I\\${wx_top_builddir}/lib/wx/include/${TOOLCHAIN_FULLNAME} \ -I\\${top_srcdir}/include $TOOLKIT_INCLUDE \ $CPPFLAGS ` 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 @@ -7425,6 +7736,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 @@ -7528,6 +7840,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) @@ -7587,7 +7900,7 @@ if test "$wxUSE_WINE" = "yes"; then fi dnl --------------------------------------------------------------------------- -dnl Add Universal binary support +dnl Add Universal binary support dnl Note we don't do this earlier because adding these cpp/ld flags could dnl cause configure tests to fail. dnl --------------------------------------------------------------------------- @@ -7597,7 +7910,7 @@ if test "$wxUSE_MAC" = 1 ; then 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 + 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'"} @@ -7675,7 +7988,7 @@ then CPPFLAGS="-DWX_PRECOMP $CPPFLAGS" fi -dnl HACK ALERT!! +dnl HACK ALERT!! dnl For now, we need to alter bk-deps not to generate deps dnl when we've configured a Universal binary build. dnl The next version of Bakefile will have the correct fix for this @@ -7730,6 +8043,38 @@ 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 for convenience, sort the samples in alphabetical order dnl dnl FIXME For some mysterious reasons, sometimes the directories are duplicated @@ -7856,7 +8201,10 @@ AC_CONFIG_FILES([ lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}:wx-config-inplace. [ chmod +x lib/wx/config/inplace-${TOOLCHAIN_FULLNAME} ], [ TOOLCHAIN_FULLNAME="${TOOLCHAIN_FULLNAME}" ]) -AC_CONFIG_FILES([ version-script Makefile ]) +if test "$wx_cv_version_script" = "yes"; then + AC_CONFIG_FILES(version-script) +fi +AC_CONFIG_FILES(Makefile) AC_CONFIG_COMMANDS([wx-config], [ rm -f wx-config @@ -7871,14 +8219,13 @@ 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 @@ -7899,11 +8246,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 @@ -7943,11 +8290,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}"