X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ea057f984a5580bfbb4807161b9c02cb668409c..17ad109b8b14bc11b347530836d83c4e3df44050:/configure.in diff --git a/configure.in b/configure.in index 44a3806f12..208271592d 100644 --- a/configure.in +++ b/configure.in @@ -22,10 +22,9 @@ AC_INIT([wxWidgets], [2.9.0], [wx-dev@lists.wxwidgets.org]) dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package AC_CONFIG_SRCDIR([wx-config.in]) -dnl sets build, host, target variables and the same with _alias +dnl sets build, host variables and the same with _alias AC_CANONICAL_BUILD AC_CANONICAL_HOST -AC_CANONICAL_TARGET dnl When making releases do: @@ -126,7 +125,6 @@ DEFAULT_DEFAULT_wxUSE_X11=0 DEFAULT_DEFAULT_wxUSE_DFB=0 PROGRAM_EXT= -SO_SUFFIX=so SAMPLES_RPATH_FLAG= SAMPLES_RPATH_POSTLINK= @@ -141,7 +139,6 @@ case "${host}" in USE_HPUX=1 DEFAULT_DEFAULT_wxUSE_MOTIF=1 NEEDS_D_REENTRANT_FOR_R_FUNCS=1 - SO_SUFFIX=sl AC_DEFINE(__HPUX__) dnl many standard declarations in HP-UX headers are only included if either @@ -245,12 +242,6 @@ case "${host}" in USE_AIX=1 USE_SYSV=1 USE_SVR4=1 - dnl quoting from http://www-1.ibm.com/servers/esdd/articles/gnu.html: - dnl - dnl Both archive libraries and shared libraries on AIX have an .a - dnl extension. This will explain why you can't link with an .so and - dnl why it works with the name changed to .a. - SO_SUFFIX=a AC_DEFINE(__AIX__) AC_DEFINE(__SYSV__) AC_DEFINE(__SVR4__) @@ -268,7 +259,6 @@ case "${host}" in dnl MBN: some of the defines have been moved after toolkit detection dnl because for wxMotif/wxGTK/wxX11 to build on Cygwin dnl USE_UNIX must be set and not USE_WIN32 - SO_SUFFIX=dll PROGRAM_EXT=".exe" DEFAULT_DEFAULT_wxUSE_MSW=1 ;; @@ -319,7 +309,6 @@ case "${host}" in dnl Darwin based distributions (including Mac OS X) USE_BSD=1 USE_DARWIN=1 - SO_SUFFIX=dylib AC_DEFINE(__BSD__) AC_DEFINE(__DARWIN__) AC_DEFINE(TARGET_CARBON) @@ -332,7 +321,6 @@ case "${host}" in dnl For some reason the test that should be cross-compiler capable fails dnl However, there is no doubt that MacOS PowerPC is big endian. ac_cv_c_bigendian=yes - SO_SUFFIX=shlib dnl AC_DEFINE(TARGET_CARBON) dnl platform.h needs TARGET_CARBON before setup.h, we'll add it to CPPFLAGS DEFAULT_DEFAULT_wxUSE_OSX_CARBON=1 @@ -378,16 +366,18 @@ DEFAULT_wxUSE_LIBGNOMEVFS=no DEFAULT_wxUSE_LIBHILDON=no DEFAULT_wxUSE_LIBMSPACK=no DEFAULT_wxUSE_LIBSDL=no -DEFAULT_wxUSE_OPENGL=no dnl features disabled by default DEFAULT_wxUSE_ACCESSIBILITY=no +DEFAULT_wxUSE_GRAPHICS_CONTEXT=no DEFAULT_wxUSE_IPV6=no -DEFAULT_wxUSE_MEDIACTRL=no -DEFAULT_wxUSE_TAB_DIALOG=no DEFAULT_wxUSE_GSTREAMER8=no +dnl automatic features DEFAULT_wxUSE_UNICODE_UTF8=auto +DEFAULT_wxUSE_OPENGL=auto +DEFAULT_wxUSE_MEDIACTRL=auto + DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no dnl Mac/Cocoa users need to enable building universal binaries explicitly @@ -673,6 +663,13 @@ WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary create Mac WX_ARG_ENABLE(compat26, [ --enable-compat26 enable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6) WX_ARG_DISABLE(compat28, [ --disable-compat28 disable wxWidgets 2.8 compatibility], WXWIN_COMPATIBILITY_2_8) +dnl currently we don't provide a switch for disabling it as it shouldn't be +dnl necessary to do it unless the compiler doesn't support the new events and +dnl this should be tested for by configure itself (but also isn't done yet +dnl because there are no known examples of such compilers among the currently +dnl supported ones) +AC_DEFINE(wxEVENTS_COMPATIBILITY_2_8, 0) + WX_ARG_DISABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH) WX_ARG_ENABLE(objc_uniquifying,[ --enable-objc_uniquifying enable Objective-C class name uniquifying], wxUSE_OBJC_UNIQUIFYING) @@ -766,6 +763,7 @@ WX_ARG_FEATURE(html, [ --enable-html use wxHTML sub-library], 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(propgrid, [ --enable-propgrid use wxPropertyGrid library], wxUSE_PROPGRID) 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(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI) @@ -798,124 +796,72 @@ dnl don't set DEFAULT_wxUSE_XXX below if the option is not specified DEFAULT_wxUSE_CONTROLS=none WX_ARG_DISABLE(controls, [ --disable-controls disable compilation of all standard controls], wxUSE_CONTROLS) -dnl even with --enable-controls, some may be disabled by giving -dnl --disable- later on the command line - but by default all will be -dnl used (and vice versa) -if test "$wxUSE_CONTROLS" = "yes"; then - DEFAULT_wxUSE_ACCEL=yes - DEFAULT_wxUSE_ANIMATIONCTRL=yes - DEFAULT_wxUSE_BMPBUTTON=yes - DEFAULT_wxUSE_BUTTON=yes - DEFAULT_wxUSE_CALCTRL=yes - DEFAULT_wxUSE_CARET=yes - DEFAULT_wxUSE_COMBOBOX=yes - DEFAULT_wxUSE_CHECKBOX=yes - DEFAULT_wxUSE_CHECKLISTBOX=yes - DEFAULT_wxUSE_CHOICE=yes - DEFAULT_wxUSE_CHOICEBOOK=yes - DEFAULT_wxUSE_COLLPANE=yes - DEFAULT_wxUSE_COLOURPICKERCTRL=yes - DEFAULT_wxUSE_COMBOBOX=yes - DEFAULT_wxUSE_DATEPICKCTRL=yes - DEFAULT_wxUSE_DISPLAY=yes - DEFAULT_wxUSE_DETECT_SM=yes - DEFAULT_wxUSE_DIRPICKERCTRL=yes - DEFAULT_wxUSE_FILECTRL=yes - DEFAULT_wxUSE_FILEPICKERCTRL=yes - DEFAULT_wxUSE_FONTPICKERCTRL=yes - DEFAULT_wxUSE_GAUGE=yes - DEFAULT_wxUSE_GRID=yes - DEFAULT_wxUSE_HYPERLINKCTRL=yes - DEFAULT_wxUSE_DATAVIEWCTRL=yes - DEFAULT_wxUSE_IMAGLIST=yes - DEFAULT_wxUSE_LISTBOOK=yes - DEFAULT_wxUSE_LISTBOX=yes - DEFAULT_wxUSE_LISTCTRL=yes - DEFAULT_wxUSE_NOTEBOOK=yes - DEFAULT_wxUSE_RADIOBOX=yes - DEFAULT_wxUSE_RADIOBTN=yes - DEFAULT_wxUSE_SASH=yes - DEFAULT_wxUSE_SCROLLBAR=yes - DEFAULT_wxUSE_SEARCHCTRL=yes - DEFAULT_wxUSE_SLIDER=yes - DEFAULT_wxUSE_SPINBTN=yes - DEFAULT_wxUSE_SPINCTRL=yes - DEFAULT_wxUSE_SPLITTER=yes - DEFAULT_wxUSE_STATBMP=yes - DEFAULT_wxUSE_STATBOX=yes - DEFAULT_wxUSE_STATLINE=yes - DEFAULT_wxUSE_STATUSBAR=yes - DEFAULT_wxUSE_TAB_DIALOG=yes - DEFAULT_wxUSE_TOGGLEBTN=yes - DEFAULT_wxUSE_TOOLBAR=yes - DEFAULT_wxUSE_TOOLBAR_NATIVE=yes - DEFAULT_wxUSE_TOOLTIPS=yes - DEFAULT_wxUSE_TREEBOOK=yes - DEFAULT_wxUSE_TOOLBOOK=yes - DEFAULT_wxUSE_TREECTRL=yes - DEFAULT_wxUSE_POPUPWIN=yes - DEFAULT_wxUSE_TIPWINDOW=yes -elif test "$wxUSE_CONTROLS" = "no"; then - DEFAULT_wxUSE_ACCEL=no - DEFAULT_wxUSE_ANIMATIONCTRL=no - DEFAULT_wxUSE_BMPBUTTON=no - DEFAULT_wxUSE_BUTTON=no - DEFAULT_wxUSE_CALCTRL=no - DEFAULT_wxUSE_CARET=no - DEFAULT_wxUSE_COLLPANE=no - DEFAULT_wxUSE_COMBOBOX=no - DEFAULT_wxUSE_CHECKBOX=no - DEFAULT_wxUSE_CHECKLISTBOX=no - DEFAULT_wxUSE_CHOICE=no - DEFAULT_wxUSE_CHOICEBOOK=no - DEFAULT_wxUSE_COLOURPICKERCTRL=no - DEFAULT_wxUSE_COMBOBOX=no - DEFAULT_wxUSE_DATEPICKCTRL=no - DEFAULT_wxUSE_DISPLAY=no - DEFAULT_wxUSE_DETECT_SM=no - DEFAULT_wxUSE_DIRPICKERCTRL=no - DEFAULT_wxUSE_FILECTRL=no - DEFAULT_wxUSE_FILEPICKERCTRL=no - DEFAULT_wxUSE_FONTPICKERCTRL=no - DEFAULT_wxUSE_GAUGE=no - DEFAULT_wxUSE_GRID=no - DEFAULT_wxUSE_HYPERLINKCTRL=no - DEFAULT_wxUSE_DATAVIEWCTRL=no - DEFAULT_wxUSE_IMAGLIST=no - DEFAULT_wxUSE_LISTBOOK=no - DEFAULT_wxUSE_LISTBOX=no - DEFAULT_wxUSE_LISTCTRL=no - DEFAULT_wxUSE_NOTEBOOK=no - DEFAULT_wxUSE_RADIOBOX=no - DEFAULT_wxUSE_RADIOBTN=no - DEFAULT_wxUSE_SASH=no - DEFAULT_wxUSE_SCROLLBAR=no - DEFAULT_wxUSE_SEARCHCTRL=no - DEFAULT_wxUSE_SLIDER=no - DEFAULT_wxUSE_SPINBTN=no - DEFAULT_wxUSE_SPINCTRL=no - DEFAULT_wxUSE_SPLITTER=no - DEFAULT_wxUSE_STATBMP=no - DEFAULT_wxUSE_STATBOX=no - DEFAULT_wxUSE_STATLINE=no - DEFAULT_wxUSE_STATUSBAR=no - DEFAULT_wxUSE_TAB_DIALOG=no - DEFAULT_wxUSE_TOGGLEBTN=no - DEFAULT_wxUSE_TOOLBAR=no - DEFAULT_wxUSE_TOOLBAR_NATIVE=no - DEFAULT_wxUSE_TOOLTIPS=no - DEFAULT_wxUSE_TREEBOOK=no - DEFAULT_wxUSE_TOOLBOOK=no - DEFAULT_wxUSE_TREECTRL=no - DEFAULT_wxUSE_POPUPWIN=no - DEFAULT_wxUSE_TIPWINDOW=no +dnl even with --disable-controls, some may be enabled by an explicit +dnl --enable- later on the command line -- but by default all will be +dnl disabled +if test "$wxUSE_CONTROLS" = "no"; then + DEFAULT_wxUSE_ACCEL=no + DEFAULT_wxUSE_ANIMATIONCTRL=no + DEFAULT_wxUSE_BMPBUTTON=no + DEFAULT_wxUSE_BUTTON=no + DEFAULT_wxUSE_CALCTRL=no + DEFAULT_wxUSE_CARET=no + DEFAULT_wxUSE_CHECKBOX=no + DEFAULT_wxUSE_CHECKLISTBOX=no + DEFAULT_wxUSE_CHOICE=no + DEFAULT_wxUSE_CHOICEBOOK=no + DEFAULT_wxUSE_COLLPANE=no + DEFAULT_wxUSE_COLOURPICKERCTRL=no + DEFAULT_wxUSE_COMBOBOX=no + DEFAULT_wxUSE_COMBOBOX=no + DEFAULT_wxUSE_DATAVIEWCTRL=no + DEFAULT_wxUSE_DATEPICKCTRL=no + DEFAULT_wxUSE_DETECT_SM=no + DEFAULT_wxUSE_DIRPICKERCTRL=no + DEFAULT_wxUSE_DISPLAY=no + DEFAULT_wxUSE_FILECTRL=no + DEFAULT_wxUSE_FILEPICKERCTRL=no + DEFAULT_wxUSE_FONTPICKERCTRL=no + DEFAULT_wxUSE_GAUGE=no + DEFAULT_wxUSE_GRID=no + DEFAULT_wxUSE_HEADERCTRL=no + DEFAULT_wxUSE_HYPERLINKCTRL=no + DEFAULT_wxUSE_IMAGLIST=no + DEFAULT_wxUSE_LISTBOOK=no + DEFAULT_wxUSE_LISTBOX=no + DEFAULT_wxUSE_LISTCTRL=no + DEFAULT_wxUSE_NOTEBOOK=no + DEFAULT_wxUSE_POPUPWIN=no + DEFAULT_wxUSE_RADIOBOX=no + DEFAULT_wxUSE_RADIOBTN=no + DEFAULT_wxUSE_REARRANGECTRL=no + DEFAULT_wxUSE_SASH=no + DEFAULT_wxUSE_SCROLLBAR=no + DEFAULT_wxUSE_SEARCHCTRL=no + DEFAULT_wxUSE_SLIDER=no + DEFAULT_wxUSE_SPINBTN=no + DEFAULT_wxUSE_SPINCTRL=no + DEFAULT_wxUSE_SPLITTER=no + DEFAULT_wxUSE_STATBMP=no + DEFAULT_wxUSE_STATBOX=no + DEFAULT_wxUSE_STATLINE=no + DEFAULT_wxUSE_STATUSBAR=no + DEFAULT_wxUSE_TIPWINDOW=no + DEFAULT_wxUSE_TOGGLEBTN=no + DEFAULT_wxUSE_TOOLBAR=no + DEFAULT_wxUSE_TOOLBAR_NATIVE=no + DEFAULT_wxUSE_TOOLBOOK=no + DEFAULT_wxUSE_TOOLTIPS=no + DEFAULT_wxUSE_TREEBOOK=no + DEFAULT_wxUSE_TREECTRL=no fi +dnl please keep the settings below in alphabetical order WX_ARG_FEATURE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL) WX_ARG_FEATURE(animatectrl, [ --enable-animatectrl use wxAnimationCtrl class], wxUSE_ANIMATIONCTRL) -WX_ARG_FEATURE(button, [ --enable-button use wxButton class], wxUSE_BUTTON) WX_ARG_FEATURE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class], wxUSE_BMPBUTTON) WX_ARG_FEATURE(bmpcombobox, [ --enable-bmpcombobox use wxBitmapComboBox class], wxUSE_BITMAPCOMBOBOX) +WX_ARG_FEATURE(button, [ --enable-button use wxButton class], wxUSE_BUTTON) WX_ARG_FEATURE(calendar, [ --enable-calendar use wxCalendarCtrl class], wxUSE_CALCTRL) WX_ARG_FEATURE(caret, [ --enable-caret use wxCaret class], wxUSE_CARET) WX_ARG_FEATURE(checkbox, [ --enable-checkbox use wxCheckBox class], wxUSE_CHECKBOX) @@ -926,17 +872,18 @@ WX_ARG_FEATURE(collpane, [ --enable-collpane use wxCollapsiblePane cla WX_ARG_FEATURE(colourpicker,[ --enable-colourpicker use wxColourPickerCtrl class], wxUSE_COLOURPICKERCTRL) WX_ARG_FEATURE(combobox, [ --enable-combobox use wxComboBox class], wxUSE_COMBOBOX) WX_ARG_FEATURE(comboctrl, [ --enable-comboctrl use wxComboCtrl class], wxUSE_COMBOCTRL) +WX_ARG_FEATURE(dataviewctrl,[ --enable-dataviewctrl use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL) WX_ARG_FEATURE(datepick, [ --enable-datepick use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL) +WX_ARG_FEATURE(detect_sm, [ --enable-detect_sm use code to detect X11 session manager], wxUSE_DETECT_SM) WX_ARG_FEATURE(dirpicker, [ --enable-dirpicker use wxDirPickerCtrl class], wxUSE_DIRPICKERCTRL) WX_ARG_FEATURE(display, [ --enable-display use wxDisplay class], wxUSE_DISPLAY) -WX_ARG_FEATURE(detect_sm, [ --enable-detect_sm use code to detect X11 session manager], wxUSE_DETECT_SM) WX_ARG_FEATURE(editablebox, [ --enable-editablebox use wxEditableListBox class], wxUSE_EDITABLELISTBOX) -WX_ARG_FEATURE(filepicker, [ --enable-filepicker use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL) WX_ARG_FEATURE(filectrl, [ --enable-filectrl use wxFileCtrl class], wxUSE_FILECTRL) +WX_ARG_FEATURE(filepicker, [ --enable-filepicker use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL) WX_ARG_FEATURE(fontpicker, [ --enable-fontpicker use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL) WX_ARG_FEATURE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE) WX_ARG_FEATURE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID) -WX_ARG_FEATURE(dataviewctrl,[ --enable-dataviewctrl use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL) +WX_ARG_FEATURE(headerctrl, [ --enable-headerctrl use wxHeaderCtrl class], wxUSE_HEADERCTRL) WX_ARG_FEATURE(hyperlink, [ --enable-hyperlink use wxHyperlinkCtrl class], wxUSE_HYPERLINKCTRL) WX_ARG_FEATURE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST) WX_ARG_FEATURE(listbook, [ --enable-listbook use wxListbook class], wxUSE_LISTBOOK) @@ -945,8 +892,10 @@ WX_ARG_FEATURE(listctrl, [ --enable-listctrl use wxListCtrl class], wx WX_ARG_FEATURE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK) WX_ARG_FEATURE(notifmsg, [ --enable-notifmsg use wxNotificationMessage class], wxUSE_NOTIFICATION_MESSAGE) WX_ARG_FEATURE(odcombobox, [ --enable-odcombobox use wxOwnerDrawnComboBox class], wxUSE_ODCOMBOBOX) +WX_ARG_FEATURE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN) WX_ARG_FEATURE(radiobox, [ --enable-radiobox use wxRadioBox class], wxUSE_RADIOBOX) WX_ARG_FEATURE(radiobtn, [ --enable-radiobtn use wxRadioButton class], wxUSE_RADIOBTN) +WX_ARG_FEATURE(rearrangectrl,[ --enable-rearrangectrl use wxRearrangeList/Ctrl/Dialog], wxUSE_REARRANGECTRL) WX_ARG_FEATURE(sash, [ --enable-sash use wxSashWindow class], wxUSE_SASH) WX_ARG_FEATURE(scrollbar, [ --enable-scrollbar use wxScrollBar class and scrollable windows], wxUSE_SCROLLBAR) WX_ARG_FEATURE(searchctrl, [ --enable-searchctrl use wxSearchCtrl class], wxUSE_SEARCHCTRL) @@ -959,17 +908,15 @@ WX_ARG_FEATURE(statbox, [ --enable-statbox use wxStaticBox class], w WX_ARG_FEATURE(statline, [ --enable-statline use wxStaticLine class], wxUSE_STATLINE) WX_ARG_FEATURE(stattext, [ --enable-stattext use wxStaticText class], wxUSE_STATTEXT) WX_ARG_FEATURE(statusbar, [ --enable-statusbar use wxStatusBar class], wxUSE_STATUSBAR) -WX_ARG_FEATURE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TAB_DIALOG) WX_ARG_FEATURE(taskbaricon, [ --enable-taskbaricon use wxTaskBarIcon class], wxUSE_TASKBARICON) +WX_ARG_FEATURE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE) WX_ARG_FEATURE(textctrl, [ --enable-textctrl use wxTextCtrl class], wxUSE_TEXTCTRL) +WX_ARG_FEATURE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW) WX_ARG_FEATURE(togglebtn, [ --enable-togglebtn use wxToggleButton class], wxUSE_TOGGLEBTN) WX_ARG_FEATURE(toolbar, [ --enable-toolbar use wxToolBar class], wxUSE_TOOLBAR) -WX_ARG_FEATURE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE) -WX_ARG_FEATURE(treebook, [ --enable-treebook use wxTreebook class], wxUSE_TREEBOOK) WX_ARG_FEATURE(toolbook, [ --enable-toolbook use wxToolbook class], wxUSE_TOOLBOOK) +WX_ARG_FEATURE(treebook, [ --enable-treebook use wxTreebook class], wxUSE_TREEBOOK) WX_ARG_FEATURE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL) -WX_ARG_FEATURE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW) -WX_ARG_FEATURE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN) dnl --------------------------------------------------------------------------- dnl common dialogs @@ -1683,76 +1630,79 @@ fi fi dnl wxUSE_VARARG_MACROS == yes + dnl check for large file support +LARGEFILE_CPPFLAGS= AC_SYS_LARGEFILE +if test "$ac_cv_sys_file_offset_bits" = "64"; then + LARGEFILE_CPPFLAGS="-D_FILE_OFFSET_BITS=64" +elif test "$ac_cv_sys_large_files" = 1; then + LARGEFILE_CPPFLAGS="-D_LARGE_FILES" +fi dnl we need to define _FILE_OFFSET_BITS or _LARGE_FILES on the compiler command dnl line because otherwise the system headers risk being included before dnl wx/defs.h which defines these constants leading to inconsistent dnl sizeof(off_t) in different source files of the same program and linking dnl problems -if test "x$wx_largefile" = "xyes"; then - if test "x$ac_cv_sys_file_offset_bits" = "x64"; then - WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES" - - dnl We get "Large Files (ILP32) not supported in strict ANSI mode." - dnl #error from HP standard headers unless __STDC_EXT__ is defined. - dnl The compiler should define it automatically, but some old g++ - dnl versions don't define it, so test and add it if necessary. AFAIK - dnl the problem only affects the C++ compiler so it is added to - dnl CXXFLAGS only. - if test "$USE_HPUX" = 1 -a "$GXX" = "yes"; then - AC_CACHE_CHECK( - [if -D__STDC_EXT__ is required], - wx_cv_STDC_EXT_required, - [ - AC_LANG_PUSH(C++) - AC_TRY_COMPILE( - [], - [ - #ifndef __STDC_EXT__ - choke me - #endif - ], - 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 - WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -D__STDC_EXT__" - fi +if test -n "$LARGEFILE_CPPFLAGS"; then + WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS $LARGEFILE_CPPFLAGS" + + dnl We get "Large Files (ILP32) not supported in strict ANSI mode." + dnl #error from HP standard headers unless __STDC_EXT__ is defined. + dnl The compiler should define it automatically, but some old g++ + dnl versions don't define it, so test and add it if necessary. AFAIK + dnl the problem only affects the C++ compiler so it is added to + dnl CXXFLAGS only. + if test "$USE_HPUX" = 1 -a "$GXX" = "yes"; then + AC_CACHE_CHECK( + [if -D__STDC_EXT__ is required], + wx_cv_STDC_EXT_required, + [ + AC_LANG_PUSH(C++) + AC_TRY_COMPILE( + [], + [ + #ifndef __STDC_EXT__ + choke me + #endif + ], + 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 + WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -D__STDC_EXT__" fi - else - WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGE_FILES" - fi - dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source - AC_FUNC_FSEEKO - if test "$ac_cv_sys_largefile_source" != no; then - WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source" fi fi +dnl AC_FUNC_FSEEKO sets HAVE_FSEEKO and $ac_cv_sys_largefile_source +dnl +dnl it may be affected by large file flags (this happens under HP-UX 11 for +dnl example) so set them before using it and also use C++ to ensure that we get +dnl errors, not warnings, about the missing functions +AC_LANG_PUSH(C++) +old_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $LARGEFILE_CPPFLAGS" +AC_FUNC_FSEEKO +CPPFLAGS="$old_CPPFLAGS" +AC_LANG_POP() +if test "$ac_cv_sys_largefile_source" != no; then + WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_LARGEFILE_SOURCE=$ac_cv_sys_largefile_source" +fi + dnl check for bytesex stuff (don't use AC_C_BIGENDIAN to allow cross-compiling) WX_C_BIGENDIAN dnl check for iostream (as opposed to iostream.h) standard header WX_CPP_NEW_HEADERS(, AC_DEFINE(wxUSE_IOSTREAMH)) -dnl check whether C++ compiler supports bool built-in type -WX_CPP_BOOL - dnl check whether C++ compiler supports explicit keyword WX_CPP_EXPLICIT -dnl check whether C++ compiler supports C++ casts -AC_CXX_CONST_CAST -AC_CXX_REINTERPRET_CAST -AC_CXX_STATIC_CAST -dnl we don't use HAVE_DYNAMIC_CAST anywhere right now... -dnl AC_CXX_DYNAMIC_CAST - dnl With Sun CC, temporaries have block scope by default. This flag is needed dnl to get the expression scope behaviour that conforms to the standard. if test "x$SUNCXX" = xyes; then @@ -1792,7 +1742,11 @@ fi if test "x$HPCXX" = "xyes"; then dnl 2340: "value copied to temporary, reference to temporary used": very dnl painful as triggered by any occurrence of user-defined conversion - CXXFLAGS="+W 2340 $CXXFLAGS" + dnl 4232: "conversion from 'Foo *' to a more strictly aligned type 'Bar *' + dnl may cause misaligned access": this might indicate a real problem + dnl but any use of GTK+ cast macros results in it so it's unusable + dnl for wxGTK code + CXXFLAGS="+W 2340,4232 $CXXFLAGS" fi dnl DEC/Compaq/HP cxx warnings @@ -3631,15 +3585,16 @@ dnl OpenGL libraries dnl --------------------------------------------------------------------------- USE_OPENGL=0 -if test "$wxUSE_OPENGL" = "yes"; then - if test "$wxUSE_MGL" = 1 -o "$wxUSE_DFB" = 1; then - AC_MSG_WARN([wxGLCanvas not implemented for this port, library will be compiled without it.]) - wxUSE_OPENGL="no" - elif test "$wxUSE_OSX_CARBON" = 1 -o test "$wxUSE_OSX_COCOA" = 1 -o "$wxUSE_COCOA" = 1; then +if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then + + dnl look in glcanvas.h for the list of platforms supported by wxGlCanvas: + + if test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1 -o "$wxUSE_COCOA" = 1; then OPENGL_LIBS="-framework OpenGL -framework AGL" elif test "$wxUSE_MSW" = 1; then OPENGL_LIBS="-lopengl32 -lglu32" - else + elif test "$wxUSE_MOTIF" = 1 -o "$wxUSE_X11" = 1 -o "$wxUSE_GTK2" = 1 -o "$wxUSE_GTK" = 1; then + dnl adjust CPPFLAGS to include GL/gl.h location if necessary dnl (/opt/graphics/OpenGL is for HP-UX systems, bug 925307) AC_MSG_CHECKING([for OpenGL headers]) @@ -3706,11 +3661,21 @@ if test "$wxUSE_OPENGL" = "yes"; then [ ]) if test "x$OPENGL_LIBS" = "x"; then - dnl it should be an error and not a warning because OpenGL is not on - dnl by default and so if it had been explicitly requested, we - dnl shouldn't just fall back to compiling the library without it - AC_MSG_ERROR(OpenGL libraries not available) + if test "$wxUSE_OPENGL" = "yes"; then + AC_MSG_ERROR([OpenGL libraries not available]) + else + dnl case wxUSE_OPENGL=auto + AC_MSG_WARN([OpenGL libraries not available, disabling support for OpenGL]) + wxUSE_OPENGL=no + USE_OPENGL=0 + fi + else + dnl libraries are available... change 'auto' in 'yes' + wxUSE_OPENGL=yes fi + else + AC_MSG_WARN([wxGLCanvas not implemented for this port, library will be compiled without it.]) + wxUSE_OPENGL="no" fi if test "$wxUSE_OPENGL" = "yes"; then @@ -3813,6 +3778,12 @@ done EOF chmod +x change-install-names fi + + dnl the HEADER_PAD_OPTION is required by some wx samples to avoid the error: + dnl "install_name_tool: changing install names can't be redone for: the_exe_name + dnl (for architecture ppc) because larger updated load commands do not fit + dnl (the program must be relinked)" + HEADER_PAD_OPTION="-headerpad_max_install_names" ;; *-*-cygwin* | *-*-mingw32* ) @@ -3887,7 +3858,12 @@ fi dnl library link name dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix. dnl If we ever need to do that, we won't need to keep these. -WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}" + +if test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1 -o "$wxUSE_COCOA" = 1; then + WX_LIBRARY_BASENAME_NOGUI="wx_base${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}" +else + WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}" +fi if test "${TOOLKIT_DIR}" = "os2"; then WX_LIBRARY_BASENAME_GUI="wx_pm${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}" else @@ -4071,7 +4047,7 @@ if test "$wxUSE_WCHAR_T" = "yes"; then AC_DEFINE(HAVE_WCSLEN) fi - AC_CHECK_FUNCS([wcsdup]) + AC_CHECK_FUNCS([wcsdup strnlen wcsnlen]) 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 @@ -5004,16 +4980,41 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then dnl test for compiler thread-specific variables support AC_CACHE_CHECK([for __thread keyword], wx_cv_cc___thread, - [ - AC_TRY_COMPILE([#include ], - [ - static __thread int n = 0; - static __thread int *p = 0; - ], - wx_cv_cc___thread=yes, - wx_cv_cc___thread=no - ) - ]) + [ + AC_TRY_COMPILE([#include ], + [ + static __thread int n = 0; + static __thread int *p = 0; + ], + wx_cv_cc___thread=yes, + wx_cv_cc___thread=no + ) + ] + ) + + if test "$wx_cv_cc___thread" = "yes"; then + AX_GXX_VERSION + if test -n "$ax_cv_gxx_version"; then + dnl g++ supports __thread since at least version 3.3 but its support + dnl seems to be broken until 4.1, see + dnl http://thread.gmane.org/gmane.comp.lib.wxwidgets.devel/108388 + dnl + dnl NB: we still need to test __thread support with + dnl AC_TRY_COMPILE above even for g++ 4 as it doesn't + dnl support it for all architectures (e.g. it doesn't + dnl work under OS X) + AC_MSG_CHECKING([whether __thread support in g++ is usable]) + case "$ax_cv_gxx_version" in + 1.* | 2.* | 3.* ) + AC_MSG_RESULT([no, it's broken]) + wx_cv_cc___thread=no + ;; + *) + AC_MSG_RESULT([yes, it works]) + ;; + esac + fi + fi if test "$wx_cv_cc___thread" = "yes"; then AC_DEFINE(HAVE___THREAD_KEYWORD) @@ -5691,7 +5692,7 @@ if test "$wxUSE_INTL" = "yes" ; then fi fi -if test "$wxUSE_XLOCALE" == "yes" ; then +if test "$wxUSE_XLOCALE" = "yes" ; then AC_DEFINE(wxUSE_XLOCALE) AC_CHECK_TYPES(locale_t,,, [#include @@ -6308,9 +6309,6 @@ fi if test "$wxUSE_DOC_VIEW_ARCHITECTURE" = "yes" ; then AC_DEFINE(wxUSE_DOC_VIEW_ARCHITECTURE) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docview" - if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS docvwmdi" - fi fi if test "$wxUSE_HELP" = "yes"; then @@ -6334,11 +6332,7 @@ if test "$wxUSE_HELP" = "yes"; then fi if test "$wxUSE_PRINTING_ARCHITECTURE" = "yes" ; then - if test "$wxUSE_CONSTRAINTS" != "yes"; then - AC_MSG_WARN(Printing support cannot be used without constraints so it won't be compiled without it) - else - AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE) - fi + AC_DEFINE(wxUSE_PRINTING_ARCHITECTURE) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS printing" fi @@ -6474,6 +6468,10 @@ if test "$wxUSE_DRAG_AND_DROP" = "yes" -o "$wxUSE_CLIPBOARD" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dnd" fi +if test "$wxUSE_CLIPBOARD" = "yes"; then + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS clipboard" +fi + if test "$wxUSE_SPLINES" = "yes" ; then AC_DEFINE(wxUSE_SPLINES) fi @@ -6615,6 +6613,11 @@ if test "$wxUSE_GRID" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid" fi +if test "$wxUSE_HEADERCTRL" = "yes"; then + AC_DEFINE(wxUSE_HEADERCTRL) + USES_CONTROLS=1 +fi + if test "$wxUSE_HYPERLINKCTRL" = "yes"; then AC_DEFINE(wxUSE_HYPERLINKCTRL) USES_CONTROLS=1 @@ -6687,6 +6690,10 @@ if test "$wxUSE_RADIOBTN" = "yes"; then USES_CONTROLS=1 fi +if test "$wxUSE_REARRANGECTRL" = "yes"; then + AC_DEFINE(wxUSE_REARRANGECTRL) +fi + if test "$wxUSE_SASH" = "yes"; then AC_DEFINE(wxUSE_SASH) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS sashtest" @@ -6695,7 +6702,7 @@ fi if test "$wxUSE_SCROLLBAR" = "yes"; then AC_DEFINE(wxUSE_SCROLLBAR) USES_CONTROLS=1 - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll scrollsub" + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS scroll" fi if test "$wxUSE_SEARCHCTRL" = "yes"; then @@ -6752,10 +6759,6 @@ if test "$wxUSE_STATUSBAR" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar" fi -if test "$wxUSE_TAB_DIALOG" = "yes"; then - AC_DEFINE(wxUSE_TAB_DIALOG) -fi - if test "$wxUSE_TEXTCTRL" = "yes"; then AC_DEFINE(wxUSE_TEXTCTRL) USES_CONTROLS=1 @@ -6938,6 +6941,13 @@ if test "$wxUSE_AUI" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS aui" fi +USE_PROPGRID=0 +if test "$wxUSE_PROPGRID" = "yes"; then + AC_DEFINE(wxUSE_PROPGRID) + USE_PROPGRID=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS propgrid" +fi + USE_STC=0 if test "$wxUSE_STC" = "yes"; then AC_DEFINE(wxUSE_STC) @@ -7079,11 +7089,7 @@ if test "$wxUSE_NUMBERDLG" = "yes"; then fi if test "$wxUSE_PROGRESSDLG" = "yes"; then - if test "$wxUSE_CONSTRAINTS" != "yes"; then - AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them) - else - AC_DEFINE(wxUSE_PROGRESSDLG) - fi + AC_DEFINE(wxUSE_PROGRESSDLG) fi if test "$wxUSE_SPLASH" = "yes"; then @@ -7092,11 +7098,7 @@ if test "$wxUSE_SPLASH" = "yes"; then fi if test "$wxUSE_STARTUP_TIPS" = "yes"; then - if test "$wxUSE_CONSTRAINTS" != "yes"; then - AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them) - else - AC_DEFINE(wxUSE_STARTUP_TIPS) - fi + AC_DEFINE(wxUSE_STARTUP_TIPS) fi if test "$wxUSE_TEXTDLG" = "yes"; then @@ -7188,7 +7190,7 @@ dnl --------------------------------------------------------------------------- USE_MEDIA=0 -if test "$wxUSE_MEDIACTRL" = "yes"; then +if test "$wxUSE_MEDIACTRL" = "yes" -o "$wxUSE_MEDIACTRL" = "auto"; then USE_MEDIA=1 dnl ----------------------------------------------------------------------- @@ -7249,6 +7251,13 @@ if test "$wxUSE_MEDIACTRL" = "yes"; then if test $USE_MEDIA = 1; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer" AC_DEFINE(wxUSE_MEDIACTRL) + else + if test "$wxUSE_MEDIACTRL" = "yes"; then + AC_MSG_ERROR([GStreamer not available]) + else + dnl was set to 'auto' + AC_MSG_WARN([GStreamer not available... disabling wxMediaCtrl]) + fi fi fi @@ -7319,6 +7328,12 @@ if test "$wxUSE_GUI" = "yes"; then if test "$wxUSE_AUI" = "yes" ; then BUILT_WX_LIBS="aui $BUILT_WX_LIBS" fi + if test "$wxUSE_PROPGRID" = "yes" ; then + BUILT_WX_LIBS="propgrid $BUILT_WX_LIBS" + fi + if test "$wxUSE_RICHTEXT" = "yes" ; then + BUILT_WX_LIBS="richtext $BUILT_WX_LIBS" + fi if test "$wxUSE_STC" = "yes" ; then BUILT_WX_LIBS="stc $BUILT_WX_LIBS" fi @@ -7346,7 +7361,7 @@ if test "$wxUSE_MAC" = 1 ; then fi fi if test "$USE_DARWIN" = 1; then - LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System" + LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL" fi fi if test "$wxUSE_COCOA" = 1 ; then @@ -7401,14 +7416,14 @@ dnl check for icc before gcc as icc is also recognized as gcc if test "x$INTELCC" = "xyes" ; then dnl Warnings which can't be easily suppressed in C code are disabled: dnl - dnl remark #810: conversion from "x" to "y" may lose significant bits - dnl remark #869: parameter "foo" was never referenced - dnl remark #1572: floating-point equality and inequality comparisons - dnl are unreliable - dnl remark #1684: conversion from pointer to same-sized integral type - dnl - dnl (for others see below) - CWARNINGS="-Wall -wd810,869,981,1418,1572,1684" + dnl #810: conversion from "x" to "y" may lose significant bits + dnl #869: parameter "foo" was never referenced + dnl #1572: floating-point equality and inequality comparisons + dnl are unreliable + dnl #1684: conversion from pointer to same-sized integral type + dnl #2259: non-pointer conversion from "x" to "y" may lose significant + dnl bits + CWARNINGS="-Wall -wd810,869,981,1418,1572,1684,2259" elif test "$GCC" = yes ; then CWARNINGS="-Wall -Wundef" fi @@ -7420,18 +7435,19 @@ if test "x$INTELCXX" = "xyes" ; then dnl (279) are generated for standard macros and so there is nothing we can dnl do about them dnl - dnl remark #279: controlling expression is constant - dnl remark #383: value copied to temporary, reference to temporary used - dnl remark #444: destructor for base class "xxx" is not virtual - dnl remark #810: conversion from "x" to "y" may lose significant bits - dnl remark #869: parameter "foo" was never referenced - dnl remark #981: operands are evaluated in unspecified order - dnl remark #1418: external definition with no prior declaration - dnl remark #1419: external declaration in primary source file - CXXWARNINGS="-Wall -wd279,383,444,810,869,981,1418,1419" + dnl #279: controlling expression is constant + dnl #383: value copied to temporary, reference to temporary used + dnl #444: destructor for base class "xxx" is not virtual + dnl #981: operands are evaluated in unspecified order + dnl #1418: external definition with no prior declaration + dnl #1419: external declaration in primary source file + dnl #1881: argument must be a constant null pointer value + dnl + dnl (for others see CWARNINGS above) + CXXWARNINGS="-Wall -wd279,383,444,810,869,981,1418,1419,1881,2259" elif test "$GXX" = yes ; then - dnl CXXWARNINGS="-Wall -W -Wcast-qual -Werror" CXXWARNINGS="-Wall -Wundef -Wunused-parameter -Wno-ctor-dtor-privacy" + AX_CXXFLAGS_GCC_OPTION(-Woverloaded-virtual, CXXWARNINGS) fi @@ -7595,15 +7611,24 @@ AC_SUBST(UNICODE) AC_SUBST(BUILD) AC_SUBST(DEBUG_INFO) AC_SUBST(DEBUG_FLAG) +TOOLKIT_LOWERCASE=xxx if test "$TOOLKIT" = "MAC"; then - TOOLKIT_LOWERCASE=osx -else + TOOLKIT_LOWERCASE=osx_carbon +fi +if test "$TOOLKIT" = "OSX_CARBON"; then + TOOLKIT_LOWERCASE=osx_carbon +fi +if test "$TOOLKIT" = "OSX_COCOA"; then + TOOLKIT_LOWERCASE=osx_cocoa +fi +if test "$TOOLKIT_LOWERCASE" = "xxx"; then TOOLKIT_LOWERCASE=`echo $TOOLKIT | tr '[[A-Z]]' '[[a-z]]'` fi AC_SUBST(TOOLKIT_LOWERCASE) AC_SUBST(TOOLKIT_VERSION) AC_SUBST(SAMPLES_RPATH_FLAG) AC_SUBST(SAMPLES_RPATH_POSTLINK) +AC_SUBST(HEADER_PAD_OPTION) AC_SUBST(HOST_SUFFIX) AC_SUBST(CPPUNIT_CFLAGS) AC_SUBST(CPPUNIT_LIBS) @@ -7853,6 +7878,8 @@ 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" +OBJCFLAGS="$OBJCFLAGS $CFLAGS_VISIBILITY" +OBJCXXFLAGS="$OBJCXXFLAGS $CXXFLAGS_VISIBILITY" dnl for convenience, sort the samples in alphabetical order dnl