X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bc6ee4ae7f9a62be588f28558aa9a07f2f64a25d..6b2c5736c992fcea0f1d8dad5a48f073a1aab075:/configure.in diff --git a/configure.in b/configure.in index e4fdbb32d7..e466a53ec1 100644 --- a/configure.in +++ b/configure.in @@ -137,7 +137,7 @@ case "${host}" in dnl many standard declarations in HP-UX headers are only included if either dnl _HPUX_SOURCE is defined, see stdsyms(5) - CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE" + CPPFLAGS="-D_HPUX_SOURCE $CPPFLAGS" ;; *-*-linux* ) USE_LINUX=1 @@ -191,7 +191,7 @@ case "${host}" in AC_DEFINE(__BSD__) DEFAULT_DEFAULT_wxUSE_GTK=1 ;; - *-*-openbsd*) + *-*-openbsd*|*-*-mirbsd*) USE_BSD=1 USE_OPENBSD=1 AC_DEFINE(__OPENBSD__) @@ -204,6 +204,11 @@ case "${host}" in AC_DEFINE(__NETBSD__) AC_DEFINE(__BSD__) DEFAULT_DEFAULT_wxUSE_GTK=1 + NEEDS_D_REENTRANT_FOR_R_FUNCS=1 + + dnl some standard declarations in NetBSD headers are only included if + dnl _NETBSD_SOURCE and _LIBC are defined, e.g. getservbyname_r in netdb.h + CPPFLAGS="-D_NETBSD_SOURCE -D_LIBC $CPPFLAGS" ;; *-*-osf* ) USE_ALPHA=1 @@ -333,7 +338,8 @@ case "${host}" in ;; *) - AC_MSG_ERROR(unknown system type ${host}.) + AC_MSG_WARN([*** System type ${host} is unknown, assuming generic Unix and continuing nevertheless.]) + AC_MSG_WARN([*** Please report the build results to wx-dev@lists.wxwidgets.org.]) esac dnl --------------------------------------------------------------------------- @@ -365,6 +371,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_NO_DEPS=no DEFAULT_wxUSE_NO_RTTI=no DEFAULT_wxUSE_NO_EXCEPTIONS=no + DEFAULT_wxUSE_UNIVERSAL_BINARY=no DEFAULT_wxUSE_RPATH=yes DEFAULT_wxUSE_PERMISSIVE=no DEFAULT_wxUSE_DEBUG_FLAG=yes @@ -395,6 +402,8 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_LIBMSPACK=no DEFAULT_wxUSE_LIBSDL=no DEFAULT_wxUSE_LIBGNOMEPRINT=no + DEFAULT_wxUSE_LIBGNOMEVFS=no + DEFAULT_wxUSE_LIBHILDON=no DEFAULT_wxUSE_ODBC=no DEFAULT_wxUSE_OPENGL=no @@ -415,6 +424,8 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_TEXTFILE=no DEFAULT_wxUSE_SOUND=no DEFAULT_wxUSE_MEDIACTRL=no + DEFAULT_wxUSE_GSTREAMER8=no + DEFAULT_wxUSE_PRINTF_POS_PARAM=no DEFAULT_wxUSE_INTL=no DEFAULT_wxUSE_CONFIG=no DEFAULT_wxUSE_FONTMAP=no @@ -481,6 +492,7 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_HTML=no DEFAULT_wxUSE_RICHTEXT=no DEFAULT_wxUSE_XRC=no + DEFAULT_wxUSE_AUI=no DEFAULT_wxUSE_WEBKIT=no DEFAULT_wxUSE_FILESYSTEM=no DEFAULT_wxUSE_FS_INET=no @@ -499,16 +511,24 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_CHECKLST=no DEFAULT_wxUSE_CHOICE=no DEFAULT_wxUSE_CHOICEBOOK=no + DEFAULT_wxUSE_COLOURPICKERCTRL=no DEFAULT_wxUSE_COMBOBOX=no + DEFAULT_wxUSE_COMBOCTRL=no DEFAULT_wxUSE_DATEPICKCTRL=no DEFAULT_wxUSE_DISPLAY=no + DEFAULT_wxUSE_DIRPICKERCTRL=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_ODCOMBOBOX=no DEFAULT_wxUSE_RADIOBOX=no DEFAULT_wxUSE_RADIOBTN=no DEFAULT_wxUSE_SASH=no @@ -522,13 +542,14 @@ if test $DEBUG_CONFIGURE = 1; then DEFAULT_wxUSE_STATLINE=no DEFAULT_wxUSE_STATTEXT=no DEFAULT_wxUSE_STATUSBAR=yes - DEFAULT_wxUSE_TABDIALOG=no + DEFAULT_wxUSE_TAB_DIALOG=no DEFAULT_wxUSE_TEXTCTRL=no DEFAULT_wxUSE_TOGGLEBTN=no DEFAULT_wxUSE_TOOLBAR=no DEFAULT_wxUSE_TOOLBAR_NATIVE=no DEFAULT_wxUSE_TOOLBAR_SIMPLE=no DEFAULT_wxUSE_TREEBOOK=no + DEFAULT_wxUSE_TOOLBOOK=no DEFAULT_wxUSE_TREECTRL=no DEFAULT_wxUSE_POPUPWIN=no DEFAULT_wxUSE_TIPWINDOW=no @@ -564,6 +585,7 @@ else DEFAULT_wxUSE_NO_DEPS=no DEFAULT_wxUSE_NO_RTTI=no DEFAULT_wxUSE_NO_EXCEPTIONS=no + DEFAULT_wxUSE_UNIVERSAL_BINARY=no DEFAULT_wxUSE_RPATH=yes DEFAULT_wxUSE_PERMISSIVE=no DEFAULT_wxUSE_DEBUG_FLAG=no @@ -593,6 +615,8 @@ else DEFAULT_wxUSE_LIBMSPACK=yes DEFAULT_wxUSE_LIBSDL=no DEFAULT_wxUSE_LIBGNOMEPRINT=no + DEFAULT_wxUSE_LIBGNOMEVFS=no + DEFAULT_wxUSE_LIBHILDON=no DEFAULT_wxUSE_ODBC=no DEFAULT_wxUSE_OPENGL=no @@ -613,6 +637,8 @@ else DEFAULT_wxUSE_TEXTFILE=yes DEFAULT_wxUSE_SOUND=yes DEFAULT_wxUSE_MEDIACTRL=no + DEFAULT_wxUSE_GSTREAMER8=no + DEFAULT_wxUSE_PRINTF_POS_PARAM=yes DEFAULT_wxUSE_INTL=yes DEFAULT_wxUSE_CONFIG=yes DEFAULT_wxUSE_FONTMAP=yes @@ -679,6 +705,7 @@ else DEFAULT_wxUSE_HTML=yes DEFAULT_wxUSE_RICHTEXT=yes DEFAULT_wxUSE_XRC=yes + DEFAULT_wxUSE_AUI=yes DEFAULT_wxUSE_WEBKIT=yes DEFAULT_wxUSE_FILESYSTEM=yes DEFAULT_wxUSE_FS_INET=yes @@ -697,16 +724,24 @@ else DEFAULT_wxUSE_CHECKLST=yes DEFAULT_wxUSE_CHOICE=yes DEFAULT_wxUSE_CHOICEBOOK=yes + DEFAULT_wxUSE_COLOURPICKERCTRL=yes DEFAULT_wxUSE_COMBOBOX=yes + DEFAULT_wxUSE_COMBOCTRL=yes DEFAULT_wxUSE_DATEPICKCTRL=yes DEFAULT_wxUSE_DISPLAY=yes + DEFAULT_wxUSE_DIRPICKERCTRL=yes + DEFAULT_wxUSE_FILEPICKERCTRL=yes + DEFAULT_wxUSE_FONTPICKERCTRL=yes DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes + DEFAULT_wxUSE_HYPERLINKCTRL=yes + DEFAULT_wxUSE_DATAVIEWCTRL=no DEFAULT_wxUSE_IMAGLIST=yes DEFAULT_wxUSE_LISTBOOK=yes DEFAULT_wxUSE_LISTBOX=yes DEFAULT_wxUSE_LISTCTRL=yes DEFAULT_wxUSE_NOTEBOOK=yes + DEFAULT_wxUSE_ODCOMBOBOX=yes DEFAULT_wxUSE_RADIOBOX=yes DEFAULT_wxUSE_RADIOBTN=yes DEFAULT_wxUSE_SASH=yes @@ -720,13 +755,14 @@ else DEFAULT_wxUSE_STATLINE=yes DEFAULT_wxUSE_STATTEXT=yes DEFAULT_wxUSE_STATUSBAR=yes - DEFAULT_wxUSE_TABDIALOG=no + DEFAULT_wxUSE_TAB_DIALOG=no DEFAULT_wxUSE_TEXTCTRL=yes DEFAULT_wxUSE_TOGGLEBTN=yes DEFAULT_wxUSE_TOOLBAR=yes DEFAULT_wxUSE_TOOLBAR_NATIVE=yes DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes DEFAULT_wxUSE_TREEBOOK=yes + DEFAULT_wxUSE_TOOLBOOK=yes DEFAULT_wxUSE_TREECTRL=yes DEFAULT_wxUSE_POPUPWIN=yes DEFAULT_wxUSE_TIPWINDOW=yes @@ -749,7 +785,7 @@ else DEFAULT_wxUSE_PLUGINS=no DEFAULT_wxUSE_OFFICIAL_BUILD=no - dnl Appliable only when --with-gtk was used: + dnl Applicable only when --with-gtk was used: DEFAULT_wxUSE_GTK2=yes fi @@ -815,7 +851,9 @@ WX_ARG_SYS_WITH(libtiff, [ --with-libtiff use libtiff (TIFF file for WX_ARG_SYS_WITH(libxpm, [ --with-libxpm use libxpm (XPM file format)], wxUSE_LIBXPM) WX_ARG_WITH(libmspack, [ --with-libmspack use libmspack (CHM help files loading)], wxUSE_LIBMSPACK) WX_ARG_WITH(sdl, [ --with-sdl use SDL for audio on Unix], wxUSE_LIBSDL) -WX_ARG_WITH(gnomeprint, [ --with-gnomeprint use GNOME print for printing under Unix], wxUSE_LIBGNOMEPRINT) +WX_ARG_WITH(gnomeprint, [ --with-gnomeprint use GNOME print for printing under GNOME], wxUSE_LIBGNOMEPRINT) +WX_ARG_WITH(gnomevfs, [ --with-gnomevfs use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS) +WX_ARG_WITH(hildon, [ --with-hildon use Hildon framework for Nokia 770], wxUSE_LIBHILDON) WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL) fi @@ -860,6 +898,7 @@ 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(universal_binary, [ --enable-universal_binary 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) @@ -920,7 +959,8 @@ WX_ARG_ENABLE(timer, [ --enable-timer use wxTimer class], wxUS WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE) WX_ARG_ENABLE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND) WX_ARG_ENABLE(mediactrl, [ --enable-mediactrl use wxMediaCtrl class], wxUSE_MEDIACTRL) -WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWidgets implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF) +WX_ARG_ENABLE(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8) +WX_ARG_ENABLE(printfposparam,[ --enable-printfposparam use wxVsnprintf() which supports positional parameters], wxUSE_PRINTF_POS_PARAMS) WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZip streams], wxUSE_ZIPSTREAM) WX_ARG_ENABLE(url, [ --enable-url use wxURL class], wxUSE_URL) @@ -948,6 +988,7 @@ WX_ARG_ENABLE(mshtmlhelp, [ --enable-mshtmlhelp use MS HTML Help (win32)], WX_ARG_ENABLE(html, [ --enable-html use wxHTML sub-library], wxUSE_HTML) WX_ARG_ENABLE(htmlhelp, [ --enable-htmlhelp use wxHTML-based help], wxUSE_WXHTML_HELP) WX_ARG_ENABLE(xrc, [ --enable-xrc use XRC resources sub-library], wxUSE_XRC) +WX_ARG_ENABLE(aui, [ --enable-aui use AUI docking library], wxUSE_AUI) WX_ARG_ENABLE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS) WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture], wxUSE_PRINTING_ARCHITECTURE) WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI) @@ -1004,9 +1045,17 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_CHECKLISTBOX=yes DEFAULT_wxUSE_CHOICE=yes DEFAULT_wxUSE_CHOICEBOOK=yes + DEFAULT_wxUSE_COLOURPICKERCTRL=yes + DEFAULT_wxUSE_COMBOBOX=yes DEFAULT_wxUSE_DATEPICKCTRL=yes + DEFAULT_wxUSE_DISPLAY=yes + DEFAULT_wxUSE_DIRPICKERCTRL=yes + DEFAULT_wxUSE_FILEPICKERCTRL=yes + DEFAULT_wxUSE_FONTPICKERCTRL=yes DEFAULT_wxUSE_GAUGE=yes DEFAULT_wxUSE_GRID=yes + DEFAULT_wxUSE_HYPERLINKCTRL=yes + DEFAULT_wxUSE_DATAVIEWCTRL=no DEFAULT_wxUSE_IMAGLIST=yes DEFAULT_wxUSE_LISTBOOK=yes DEFAULT_wxUSE_LISTBOX=yes @@ -1031,6 +1080,7 @@ if test "$wxUSE_CONTROLS" = "yes"; then DEFAULT_wxUSE_TOOLBAR_SIMPLE=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 @@ -1045,9 +1095,17 @@ elif test "$wxUSE_CONTROLS" = "no"; then 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_DIRPICKERCTRL=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 @@ -1072,6 +1130,7 @@ elif test "$wxUSE_CONTROLS" = "no"; then DEFAULT_wxUSE_TOOLBAR_SIMPLE=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 @@ -1086,16 +1145,24 @@ 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(colourpicker,[ --enable-colourpicker use wxColourPickerCtrl class], wxUSE_COLOURPICKERCTRL) WX_ARG_ENABLE(combobox, [ --enable-combobox use wxComboBox class], wxUSE_COMBOBOX) +WX_ARG_ENABLE(comboctrl, [ --enable-comboctrl use wxComboCtrl class], wxUSE_COMBOCTRL) WX_ARG_ENABLE(datepick, [ --enable-datepick use wxDatePickerCtrl class], wxUSE_DATEPICKCTRL) +WX_ARG_ENABLE(dirpicker, [ --enable-dirpicker use wxDirPickerCtrl class], wxUSE_DIRPICKERCTRL) WX_ARG_ENABLE(display, [ --enable-display use wxDisplay class], wxUSE_DISPLAY) +WX_ARG_ENABLE(filepicker, [ --enable-filepicker use wxFilePickerCtrl class], wxUSE_FILEPICKERCTRL) +WX_ARG_ENABLE(fontpicker, [ --enable-fontpicker use wxFontPickerCtrl class], wxUSE_FONTPICKERCTRL) WX_ARG_ENABLE(gauge, [ --enable-gauge use wxGauge class], wxUSE_GAUGE) WX_ARG_ENABLE(grid, [ --enable-grid use wxGrid class], wxUSE_GRID) +WX_ARG_ENABLE(dataviewctrl,[ --enable-dataviewctrl, use wxDataViewCtrl class], wxUSE_DATAVIEWCTRL) +WX_ARG_ENABLE(hyperlink, [ --enable-hyperlink use wxHyperlinkCtrl class], wxUSE_HYPERLINKCTRL) WX_ARG_ENABLE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST) WX_ARG_ENABLE(listbook, [ --enable-listbook use wxListbook class], wxUSE_LISTBOOK) WX_ARG_ENABLE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX) WX_ARG_ENABLE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL) WX_ARG_ENABLE(notebook, [ --enable-notebook use wxNotebook class], wxUSE_NOTEBOOK) +WX_ARG_ENABLE(odcombobox, [ --enable-odcombobox use wxOwnerDrawnComboBox class], wxUSE_ODCOMBOBOX) WX_ARG_ENABLE(radiobox, [ --enable-radiobox use wxRadioBox class], wxUSE_RADIOBOX) WX_ARG_ENABLE(radiobtn, [ --enable-radiobtn use wxRadioButton class], wxUSE_RADIOBTN) WX_ARG_ENABLE(sash, [ --enable-sash use wxSashWindow class], wxUSE_SASH) @@ -1109,13 +1176,14 @@ WX_ARG_ENABLE(statbox, [ --enable-statbox use wxStaticBox class], wx WX_ARG_ENABLE(statline, [ --enable-statline use wxStaticLine class], wxUSE_STATLINE) WX_ARG_ENABLE(stattext, [ --enable-stattext use wxStaticText class], wxUSE_STATTEXT) WX_ARG_ENABLE(statusbar, [ --enable-statusbar use wxStatusBar class], wxUSE_STATUSBAR) -WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TABDIALOG) +WX_ARG_ENABLE(tabdialog, [ --enable-tabdialog use wxTabControl class], wxUSE_TAB_DIALOG) WX_ARG_ENABLE(textctrl, [ --enable-textctrl use wxTextCtrl class], wxUSE_TEXTCTRL) WX_ARG_ENABLE(togglebtn, [ --enable-togglebtn use wxToggleButton class], wxUSE_TOGGLEBTN) WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUSE_TOOLBAR) WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE) WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE) WX_ARG_ENABLE(treebook, [ --enable-treebook use wxTreebook class], wxUSE_TREEBOOK) +WX_ARG_ENABLE(toolbook, [ --enable-toolbook use wxToolbook class], wxUSE_TOOLBOOK) WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL) WX_ARG_ENABLE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW) WX_ARG_ENABLE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN) @@ -1386,8 +1454,11 @@ dnl is -traditional needed for correct compilations dnl adds -traditional for gcc if needed AC_PROG_GCC_TRADITIONAL -AC_LANG_SAVE -AC_LANG_CPLUSPLUS +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 @@ -1399,8 +1470,6 @@ dnl see CFLAGS line above CXXFLAGS=${CXXFLAGS:=} AC_BAKEFILE_PROG_CXX -AC_LANG_RESTORE - dnl ranlib command dnl defines RANLIB with the appropriate command AC_PROG_RANLIB @@ -1447,11 +1516,16 @@ AC_CHECK_TOOL(STRIP, strip, true) dnl Win32 tools if test "$wxUSE_WINE" = "yes"; then - AC_CHECK_TOOL(RESCOMP, wrc) + AC_CHECK_TOOL(WINDRES, wrc) + RESCOMP="$WINDRES" else case "${host}" in *-*-cygwin* | *-*-mingw32* ) - AC_CHECK_TOOL(RESCOMP, windres) + dnl Bakefile CVS (as of 2005-11-24) now detects windres properly + dnl ... maybe it does, but it does not make it available here + dnl anymore, so do it ourselves still. + AC_CHECK_TOOL(WINDRES, windres) + RESCOMP="$WINDRES" AC_CHECK_TOOL(DLLTOOL, dlltool) ;; esac @@ -1520,9 +1594,6 @@ fi dnl not GNU make dnl needed for making link to setup.h AC_PROG_LN_S -dnl lndir can be used by "make dist" to save copying files -AC_CHECK_PROGS(LNDIR, lndir, [cp -pR]) - dnl ------------------------------------------------------------------------ dnl Platform specific tests @@ -1531,7 +1602,7 @@ dnl ------------------------------------------------------------------------ dnl xlC needs -qunique under AIX so that one source file can be dnl compiled to multiple object files and safely linked together. if test "x$XLCXX" = "xyes" -a "x$USE_AIX" = "x1"; then - CXXFLAGS="$CXXFLAGS -qunique" + CXXFLAGS="-qunique $CXXFLAGS" fi dnl This case is for PowerPC OS X vs. everything else @@ -1564,7 +1635,7 @@ case "${host}" in [AC_MSG_RESULT([yes]) dnl We must use -D so source files that don't include wx/setup.h dnl but do include CFBase will work. - CPPFLAGS="$CPPFLAGS -D__CF_USE_FRAMEWORK_INCLUDES__"], + CPPFLAGS="-D__CF_USE_FRAMEWORK_INCLUDES__ $CPPFLAGS"], [AC_MSG_FAILURE([no. CoreFoundation not available.])] ) ] @@ -1583,6 +1654,7 @@ 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). @@ -1626,6 +1698,7 @@ case "${host}" in wx_cv_gccversion="EMX2" ) ]) + AC_LANG_POP if test "$wx_cv_gccversion" = "EMX2"; then LIBS="$LIBS -lstdcpp" LDFLAGS="$LDFLAGS -Zsysv-signals" @@ -1652,9 +1725,6 @@ case "${host}" in dnl --------------------------------------------------------------------- dnl (non-OS/2-only piece) - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [ AC_TRY_LINK([ #include @@ -1689,7 +1759,6 @@ case "${host}" in fi fi - AC_LANG_RESTORE dnl (end of non-OS/2-only piece) ;; esac @@ -1759,7 +1828,7 @@ case "${host}" in AC_CHECK_SIZEOF(long long, 0) if test "$ac_cv_sizeof_long_long" != "0"; then dnl HPUX 10.20 headers need this define in order to use long long definitions - CPPFLAGS="$CPPFLAGS -D_INCLUDE_LONGLONG" + CPPFLAGS="-D_INCLUDE_LONGLONG $CPPFLAGS" fi ;; * ) @@ -1879,8 +1948,6 @@ if test "x$wx_largefile" = "xyes"; then [if -D__STDC_EXT__ is required], wx_cv_STDC_EXT_required, [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS AC_TRY_COMPILE( [], [ @@ -1891,7 +1958,6 @@ if test "x$wx_largefile" = "xyes"; then wx_cv_STDC_EXT_required=no, wx_cv_STDC_EXT_required=yes ) - AC_LANG_RESTORE ] ) if test "x$wx_cv_STDC_EXT_required" = "xyes"; then @@ -1930,7 +1996,7 @@ 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 - CXXFLAGS="$CXXFLAGS -features=tmplife" + CXXFLAGS="-features=tmplife $CXXFLAGS" fi dnl Sun X11 headers are (still, in 2005!) non-ANSI and the best they could do @@ -1938,7 +2004,7 @@ dnl was to hack their C++ compiler to accept them silently -- but C compiler dnl still spits out dozens of warnings for each X include file, so suppress dnl them if test "x$SUNCC" = xyes; then - CFLAGS="$CFLAGS -erroff=E_NO_EXPLICIT_TYPE_GIVEN" + CFLAGS="-erroff=E_NO_EXPLICIT_TYPE_GIVEN $CFLAGS" fi dnl SGI mipsPro compiler gives this warning for "conversion from pointer to @@ -1949,10 +2015,10 @@ dnl dnl a better long term solution would be to use #pragma set/reset woff in dnl wxPtrToUInt() and use it instead of casts elsewhere if test "x$SGICC" = "xyes"; then - CFLAGS="$CFLAGS -woff 3970" + CFLAGS="-woff 3970 $CFLAGS" fi if test "x$SGICXX" = "xyes"; then - CXXFLAGS="$CXXFLAGS -woff 3970" + CXXFLAGS="-woff 3970 $CXXFLAGS" fi dnl HP-UX c89/aCC compiler warnings @@ -1961,12 +2027,12 @@ if test "x$HPCC" = "xyes"; then dnl even for directives inside #if which is not true (i.e. which are dnl used for other compilers/OS) and so we have no way to get rid of it dnl 2450: "long long is non standard" -- yes, we know - CFLAGS="$CFLAGS +W 2011,2450" + CFLAGS="+W 2011,2450 $CFLAGS" 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="$CXXFLAGS +W 2340" + CXXFLAGS="+W 2340 $CXXFLAGS" fi dnl DEC/Compaq/HP cxx warnings @@ -1983,8 +2049,6 @@ fi dnl check for std::string or std::wstring if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then - AC_LANG_PUSH(C++) - if test "$wxUSE_UNICODE" = "yes"; then std_string="std::wstring" char_type="wchar_t" @@ -2029,13 +2093,9 @@ if test "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes"; then ] ) ]) - - AC_LANG_POP fi if test "$wxUSE_STD_IOSTREAM" = "yes"; then - AC_LANG_PUSH(C++) - AC_CHECK_TYPES([std::istream, std::ostream],, [wxUSE_STD_IOSTREAM=no], [#include ]) @@ -2047,13 +2107,9 @@ if test "$wxUSE_STD_IOSTREAM" = "yes"; then AC_MSG_WARN([No std::iostreams, switching to --disable-std_iostreams]) fi fi - - AC_LANG_POP fi if test "$wxUSE_STL" = "yes"; then - AC_LANG_PUSH(C++) - dnl check for basic STL functionality AC_MSG_CHECKING([for basic STL functionality]) AC_TRY_COMPILE([#include @@ -2108,8 +2164,6 @@ if test "$wxUSE_STL" = "yes"; then AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)], [AC_MSG_RESULT(no)]) ]) - - AC_LANG_POP fi dnl --------------------------------------------------------------------------- @@ -2306,6 +2360,47 @@ if test "x$wx_cv_lib_glibc21" = "xyes"; then fi fi +dnl Only add the -lm library if floating point functions cannot be used +dnl without it. This check is important on cygwin because of the bizarre +dnl way that they have organized functions into libraries. On cygwin, both +dnl libc.a and libm.a are symbolic links to a single lib libcygwin.a. This +dnl means that +dnl 1) linking with -lm is not necessary, and +dnl 2) linking with -lm is dangerous if the order of libraries is wrong +dnl In particular, if you compile any program with -mno-cygwin and link with +dnl -lm, it will crash instantly when it is run. This happens because the +dnl linker incorrectly links the Cygwin libm.a (==libcygwin.a), which replaces +dnl the ___main function instead of allowing it to be defined by +dnl /usr/lib/mingw/libmingw32.a as it should be. +dnl +dnl On MacOS X, this test will find that -lm is unnecessary and leave it out. +dnl +dnl Just check a few floating point functions. If they are all found without +dnl -lm, then we must not need -lm. +have_cos=0 +have_floor=0 +AC_CHECK_FUNCS(cos, have_cos=1) +AC_CHECK_FUNCS(floor, have_floor=1) +AC_MSG_CHECKING(if floating point functions link without -lm) +if test "$have_cos" = 1 -a "$have_floor" = 1; then + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) + LIBS="$LIBS -lm" + # use different functions to avoid configure caching + have_sin=0 + have_ceil=0 + AC_CHECK_FUNCS(sin, have_sin=1) + AC_CHECK_FUNCS(ceil, have_ceil=1) + AC_MSG_CHECKING(if floating point functions link with -lm) + if test "$have_sin" = 1 -a "$have_ceil" = 1; then + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + # not sure we should warn the user, crash, etc. + fi +fi + dnl --------------------------------------------------------------------------- dnl Optional libraries dnl @@ -2625,13 +2720,10 @@ if test "$wxUSE_EXPAT" != "no"; then AC_CACHE_CHECK([if expat.h is valid C++ header], wx_cv_expat_is_not_broken, [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS AC_TRY_COMPILE([#include ],[], wx_cv_expat_is_not_broken=yes, wx_cv_expat_is_not_broken=no ) - AC_LANG_RESTORE ] ) if test "$wx_cv_expat_is_not_broken" = "yes" ; then @@ -2721,9 +2813,15 @@ if test "$USE_WIN32" = 1 ; then fi dnl We might want to abort here if wxUSE_ODBC="builtin" isn't supported on msw. + dnl This one is still used by some sample makefiles. RESFLAGS="--include-dir \$(top_srcdir)/include --include-dir \$(top_srcdir)/\$(program_dir) --define __WIN32__ --define __WIN95__ --define __GNUWIN32__" RESPROGRAMOBJ="\$(PROGRAM)_resources.o" + dnl This lot we export to wx-config. It must add the relevant + dnl include directories at the point when they can be known. + dnl (but are these (still) required anyway?) + WXCONFIG_RESFLAGS="--define __WIN32__ --define __WIN95__ --define __GNUWIN32__" + dnl install Win32-specific files in "make install" WIN32INSTALL=win32install fi @@ -2765,6 +2863,9 @@ if test "$wxUSE_GUI" = "yes"; then fi 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 @@ -2864,7 +2965,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config if test "$WXGTK20" = 1; then save_CFLAGS="$CFLAGS" save_LIBS="$LIBS" - CFLAGS="$CFLAGS $wx_cv_cflags_gtk" + CFLAGS="$wx_cv_cflags_gtk $CFLAGS" LIBS="$LIBS $wx_cv_libs_gtk" dnl gtk_icon_size_lookup is not available in the GTK+ headers @@ -2886,6 +2987,28 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config AC_MSG_RESULT([yes]) ]) + 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 + ]) + + 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([ @@ -2903,6 +3026,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config [ AC_MSG_RESULT([no]) ]) + fi CFLAGS="$save_CFLAGS" LIBS="$save_LIBS" @@ -2913,6 +3037,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config fi 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 @@ -3088,7 +3214,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config if test "$wxUSE_UNICODE" = "yes"; then PKG_CHECK_MODULES(PANGOX, pangox, [ - CXXFLAGS="$CXXFLAGS $PANGOX_CFLAGS" + CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS" GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOX_LIBS" ], [ @@ -3097,7 +3223,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config ) PKG_CHECK_MODULES(PANGOFT2, pangoft2, [ - CXXFLAGS="$CXXFLAGS $PANGOFT2_CFLAGS" + CXXFLAGS="$PANGOFT2_CFLAGS $CXXFLAGS" GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOFT2_LIBS" ], [ @@ -3108,19 +3234,19 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config PKG_CHECK_MODULES(PANGOXFT, pangoxft, [ AC_DEFINE(HAVE_PANGO_XFT) - CXXFLAGS="$CXXFLAGS $PANGOXFT_CFLAGS" + CXXFLAGS="$PANGOXFT_CFLAGS $CXXFLAGS" GUI_TK_LIBRARY="$GUI_TK_LIBRARY $PANGOXFT_LIBS" ], [ AC_MSG_WARN([pangoxft library not found, library will be compiled without anti-aliasing support]) ] ) - save_CFLAGS="$CFLAGS" + save_CXXFLAGS="$CXXFLAGS" save_LIBS="$LIBS" - CFLAGS="$CFLAGS $PANGOX_CFLAGS" + CXXFLAGS="$PANGOX_CFLAGS $CXXFLAGS" LIBS="$LIBS $PANGOX_LIBS" AC_CHECK_FUNCS([pango_font_family_is_monospace]) - CFLAGS="$save_CFLAGS" + CXXFLAGS="$save_CXXFLAGS" LIBS="$save_LIBS" fi @@ -3150,8 +3276,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_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS $TOOLKIT_INCLUDE" + save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" AC_TRY_COMPILE( [ @@ -3171,7 +3297,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config ] ) - CFLAGS=$save_CFLAGS + CXXFLAGS=$save_CXXFLAGS fi @@ -3187,8 +3313,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_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS $TOOLKIT_INCLUDE" + save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" save_LIBS="$LIBS" LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11" @@ -3210,7 +3336,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config ] ) - CFLAGS=$save_CFLAGS + CXXFLAGS=$save_CXXFLAGS LIBS="$save_LIBS" fi @@ -3224,8 +3350,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_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS $TOOLKIT_INCLUDE" + save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" AC_TRY_LINK( [ @@ -3248,7 +3374,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config ) LIBS="$save_LIBS" - CFLAGS=$save_CFLAGS + CXXFLAGS=$save_CXXFLAGS fi done fi @@ -3263,8 +3389,8 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config dnl elsewhere AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"]) - save_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS $TOOLKIT_INCLUDE" + save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" AC_CACHE_CHECK([for Motif 2], wx_cv_lib_motif2, @@ -3303,7 +3429,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config AC_DEFINE(__WXLESSTIF__,0) fi - CFLAGS=$save_CFLAGS + CXXFLAGS=$save_CXXFLAGS GUI_TK_LIBRARY="$GUI_TK_LIBRARY${libsgm_link} -lXm${libp_link} -lXmu -lXext -lXt${libsm_ice_link} -lX11" TOOLKIT=MOTIF @@ -3324,8 +3450,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_CFLAGS=$CFLAGS - CFLAGS="$CFLAGS $TOOLKIT_INCLUDE" + save_CXXFLAGS=$CXXFLAGS + CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" AC_TRY_COMPILE( [ @@ -3339,7 +3465,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config wx_cv_x11_xpm_h=no ) - CFLAGS=$save_CFLAGS + CXXFLAGS=$save_CXXFLAGS ] ) @@ -3362,8 +3488,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_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $TOOLKIT_INCLUDE" + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS" AC_MSG_CHECKING([for X11/extensions/shape.h]) AC_TRY_COMPILE([ @@ -3382,7 +3508,7 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config [ AC_MSG_RESULT([not found]) ]) - CFLAGS="$save_CFLAGS" + CXXFLAGS="$save_CXXFLAGS" fi fi @@ -3400,10 +3526,10 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config fi if test "x$wxUSE_UNIX" = "xyes"; then - CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon" + CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -I/Developer/Headers/FlatCarbon $CPPFLAGS" else dnl platform.h needs TARGET_CARBON before setup.h - CPPFLAGS="$CPPFLAGS $CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON" + CPPFLAGS="$CPPFLAGS_PASCAL -I\${top_srcdir}/src/mac/carbon/morefilex -DTARGET_CARBON $CPPFLAGS" fi TOOLKIT=MAC @@ -3591,14 +3717,9 @@ dnl --------------------------------------------------------------------------- fi elif test "$wxUSE_MSW" = 1; then dnl --------------------------------------------------------------------------- -dnl DirectDraw / Multimon for MSW +dnl DirectDraw for MSW - optionally used by WxDisplay. dnl --------------------------------------------------------------------------- - AC_CHECK_HEADERS([multimon.h ddraw.h], [], - [ - wxUSE_DISPLAY="no" - AC_MSG_WARN([ddraw.h or multimon.h not found; disabling wxDisplay]) - ], - [#include ]) + AC_CHECK_HEADERS([ddraw.h], [], [], [#include ]) fi fi @@ -3621,7 +3742,7 @@ if test "$wxUSE_OPENGL" = "yes"; then if test "$ac_find_includes" != "" ; then AC_MSG_RESULT(found in $ac_find_includes) WX_INCLUDE_PATH_EXIST($ac_find_includes, $CPPFLAGS) - CPPFLAGS="$CPPFLAGS$ac_path_to_include" + CPPFLAGS="$ac_path_to_include $CPPFLAGS" fi AC_CHECK_HEADER(GL/gl.h, @@ -3724,7 +3845,7 @@ if test "$wxUSE_SHARED" = "yes"; then 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="$CPPFLAGS -isystem /usr/openwin/include" + 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: @@ -3892,7 +4013,7 @@ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then dnl add the resources target for wxMac LIBWXMACRES="\$(top_builddir)lib/${WX_RESOURCES_MACOSX_ASCII}" - AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez) + AC_CHECK_PROG(REZ, Rez, Rez, /Developer/Tools/Rez) AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez) AC_CHECK_PROG(SETFILE, SetFile, SetFile, /Developer/Tools/SetFile) @@ -3901,26 +4022,29 @@ if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = 1; then dnl resources are bundled both with shared library and applications dnl since the carb resource *must* be included in the application if test "$wxUSE_MAC" = 1; then - MACRESCOMP="\$(RESCOMP) -d __DARWIN__ -t APPL Carbon.r -o" - - dnl this command is used to implement `wx-config --rezflags` and it is - dnl eval'd there so escape any metacharacters inside - MACRESWXCONFIG="${RESCOMP} -d __DARWIN__ -t APPL Carbon.r -o" + POSTLINK_COMMAND="\$(REZ) -d __DARWIN__ -t APPL Carbon.r -o" + RESCOMP="$REZ" + WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL Carbon.r -o" else - MACRESCOMP="echo -n | \$(RESCOMP) -d __DARWIN__ -t APPL ${LIBWXMACRES} -o" - MACRESWXCONFIG="echo -n \\\| ${RESCOMP} -d __DARWIN__ -t APPL \\\${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o" + POSTLINK_COMMAND="echo -n | \$(REZ) -d __DARWIN__ -t APPL ${LIBWXMACRES}" + RESCOMP="echo -n \| $REZ" + WXCONFIG_RESFLAGS="-d __DARWIN__ -t APPL \$libdir/$WX_RESOURCES_MACOSX_ASCII" fi + else dnl default value is to (silently) do nothing in the makefile MACSETFILE="@true" - MACRESWXCONFIG="@true" - dnl confusingly, wxOS2 also uses MACRESCOMP in its post-link step if test "$wxUSE_PM" = 1; then - MACRESCOMP="emxbind -ep" + RESCOMP="emxbind" + WXCONFIG_RESFLAGS="-ep" + + dnl Is this one really used anywhere for pm? + POSTLINK_COMMAND="$RESCOMP $WXCONFIG_RESFLAGS" else - MACRESCOMP="@true" + POSTLINK_COMMAND="@true" fi + fi @@ -3944,8 +4068,6 @@ 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_SAVE -AC_LANG_CPLUSPLUS AC_CACHE_CHECK([if size_t is unsigned int], wx_cv_size_t_is_uint, [ @@ -3992,8 +4114,6 @@ else fi fi -AC_LANG_RESTORE - dnl --------------------------------------------------------------------------- dnl Checks for structures dnl --------------------------------------------------------------------------- @@ -4054,7 +4174,7 @@ if test "$wxUSE_WCHAR_T" = "yes"; then dnl with g++'s in (unless -D_INCLUDE__STDC_A1_SOURCE is in the dnl flags when g++ is configured, it will declare it's own). if test "$USE_HPUX" = 1 -a "$GCC" != "yes"; then - CPPFLAGS="$CPPFLAGS -D_INCLUDE__STDC_A1_SOURCE " + CPPFLAGS="-D_INCLUDE__STDC_A1_SOURCE $CPPFLAGS" fi dnl Try to use wcsrtombs instead of wcstombs which is buggy in old GNU @@ -4068,12 +4188,6 @@ else AC_MSG_WARN([Wide character support is unavailable]) fi -dnl *printf() functions sometimes are available in the library but not -dnl prototyped -- if this is the case, we can't use them from C++ code, but to -dnl detect this we have to use C++ compiler for testing -AC_LANG_SAVE -AC_LANG_CPLUSPLUS - dnl check for vsnprintf() -- a safe version of vsprintf()) dnl dnl the trouble here is that on some systems (e.g HP-UX 10) this function is @@ -4209,8 +4323,41 @@ if test "$ac_cv_func_snprintf" = "yes"; then AC_DEFINE(HAVE_BROKEN_SNPRINTF_DECL) fi fi + + if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then + + dnl check if snprintf() has support for positional arguments + dnl NB: if snprintf() has positional support we can safely suppose that also + dnl other *printf() functions support them as they all belong to the same + dnl family and they all fallback to the same implementation + AC_CACHE_CHECK([if snprintf supports positional arguments], wx_cv_func_snprintf_pos_params, + [ + AC_TRY_RUN( + [ + #include + + int main (void) + { + char buffer[128]; + snprintf (buffer, 128, "%2\$d %3\$d %1\$d", 1, 2, 3); + if (strcmp ("2 3 1", buffer) == 0) + exit (0); + exit (1); + } + ], + wx_cv_func_snprintf_pos_params=no, + wx_cv_func_snprintf_pos_params=yes + ) + ] + ) + + if test "$wx_cv_func_snprintf_pos_params" = "yes"; then + AC_DEFINE(HAVE_UNIX98_PRINTF) + fi + fi fi + if test "$wxUSE_UNICODE" = yes; then dnl also look if we have wide char IO functions AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf) @@ -4226,8 +4373,6 @@ if test "$wxUSE_UNICODE" = yes; then [AC_MSG_RESULT([no])]); fi -AC_LANG_RESTORE - if test "x$ac_cv_header_fnmatch_h" = "xyes"; then AC_CHECK_FUNCS(fnmatch) fi @@ -4242,11 +4387,8 @@ if test "$TOOLKIT" != "MSW"; then dnl check for available version of iconv() -AC_LANG_SAVE -AC_LANG_CPLUSPLUS AM_ICONV LIBS="$LIBICONV $LIBS" -AC_LANG_RESTORE dnl check for POSIX signals if we need them if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then @@ -4258,9 +4400,6 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then fi if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler, [ AC_TRY_COMPILE([#include ], @@ -4276,17 +4415,12 @@ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then ]) ]) - AC_LANG_RESTORE - AC_DEFINE_UNQUOTED(wxTYPE_SA_HANDLER, $wx_cv_type_sa_handler) fi fi dnl backtrace() and backtrace_symbols() for wxStackWalker if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_CACHE_CHECK([for backtrace() in ], wx_cv_func_backtrace, [ AC_TRY_COMPILE([#include ], @@ -4325,8 +4459,6 @@ if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then AC_DEFINE(HAVE_CXA_DEMANGLE) fi fi - - AC_LANG_RESTORE fi if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then @@ -4365,8 +4497,6 @@ 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_LANG_SAVE - AC_LANG_CPLUSPLUS AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl, AC_TRY_COMPILE( [ @@ -4385,7 +4515,6 @@ if test "$wx_cv_func_statfs" = "yes"; then wx_cv_func_statfs_decl=no ) ) - AC_LANG_RESTORE if test "$wx_cv_func_statfs_decl" = "yes"; then AC_DEFINE(HAVE_STATFS_DECL) @@ -4416,9 +4545,6 @@ else dnl 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_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t, AC_TRY_COMPILE( [ @@ -4453,8 +4579,6 @@ else ) ) - AC_LANG_RESTORE - if test "$wx_cv_type_statvfs_t" != "unknown"; then AC_DEFINE(HAVE_STATVFS) fi @@ -4527,15 +4651,8 @@ fi dnl check for uname (POSIX) and gethostname (BSD) AC_CHECK_FUNCS(uname gethostname, break) -dnl check for MT-safe version of strtok (on DEC Alpha, it's ok for C compiler -dnl but not for C++ one - hence change language) -AC_LANG_SAVE -AC_LANG_CPLUSPLUS - AC_CHECK_FUNCS(strtok_r) -AC_LANG_RESTORE - dnl check for inet_addr and inet_aton (these may live either in libc, or in dnl libnsl or libresolv or libsocket) INET_LINK= @@ -4618,14 +4735,14 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then dnl the code below: dnl - dnl defines THREADS_LINK and THREADS_CFLAGS which are the options + dnl defines THREADS_LINK and THREADS_CXXFLAGS 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_CFLAGS= + THREADS_CXXFLAGS= if test "$wxUSE_THREADS" = "yes" ; then if test "$USE_BEOS" = 1; then @@ -4716,7 +4833,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then -*) AC_MSG_CHECKING([whether pthreads work with $flag]) - THREADS_CFLAGS="$flag" + THREADS_CXXFLAGS="$flag" ;; *) @@ -4726,16 +4843,16 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then esac save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" + save_CXXFLAGS="$CXXFLAGS" LIBS="$THREADS_LINK $LIBS" - CFLAGS="$THREADS_CFLAGS $CFLAGS" + CXXFLAGS="$THREADS_CXXFLAGS $CXXFLAGS" AC_TRY_LINK([#include ], [pthread_create(0,0,0,0);], THREADS_OK=yes) LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CXXFLAGS="$save_CXXFLAGS" AC_MSG_RESULT($THREADS_OK) if test "x$THREADS_OK" = "xyes"; then @@ -4743,7 +4860,7 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then fi THREADS_LINK="" - THREADS_CFLAGS="" + THREADS_CXXFLAGS="" done if test "x$THREADS_OK" != "xyes"; then @@ -4752,7 +4869,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_CFLAGS $LDFLAGS" + LDFLAGS="$THREADS_CXXFLAGS $LDFLAGS" LIBS="$THREADS_LINK $LIBS" AC_MSG_CHECKING([if more special flags are required for pthreads]) @@ -4784,11 +4901,11 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then esac AC_MSG_RESULT(${flag}) if test "x$flag" != xno; then - THREADS_CFLAGS="$THREADS_CFLAGS $flag" + THREADS_CXXFLAGS="$THREADS_CXXFLAGS $flag" fi dnl don't add these options to CPPFLAGS as cpp might not know them - WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS $THREADS_CFLAGS" + WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS $THREADS_CXXFLAGS" fi fi @@ -4939,8 +5056,8 @@ else AC_CACHE_CHECK([if compiler supports -mthreads], wx_cv_cflags_mthread, [ - CFLAGS_OLD="$CFLAGS" - CFLAGS="$CFLAGS -mthreads" + CXXFLAGS_OLD="$CXXFLAGS" + CXXFLAGS="-mthreads $CXXFLAGS" AC_TRY_COMPILE([], [], wx_cv_cflags_mthread=yes, wx_cv_cflags_mthread=no @@ -4950,11 +5067,11 @@ else if test "$wx_cv_cflags_mthread" = "yes"; then dnl it does, use it - WXCONFIG_CFLAGS="$WXCONFIG_CFLAGS -mthreads" + WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -mthreads" LDFLAGS="$LDFLAGS -mthreads" else dnl it doesn't - CFLAGS="$CFLAGS_OLD" + CXXFLAGS="$CXXFLAGS_OLD" fi ;; *-pc-os2*emx ) @@ -4966,6 +5083,42 @@ else fi fi +AC_CHECK_FUNC(localtime_r, [ AC_DEFINE(HAVE_LOCALTIME_R) ]) +AC_CHECK_FUNC(gmtime_r, [ AC_DEFINE(HAVE_GMTIME_R) ]) +AC_CHECK_FUNC(readdir_r, [ AC_DEFINE(HAVE_READDIR_R) ]) +dnl By preference, we probably should use getaddrinfo which avoids thread +dnl safety issues and supports IPv6, however there currently is no code +dnl for it, so testing for it is temporarily disabled and we are restricted +dnl to gethostbyname_r/gethostbyaddr_r and getservbyname_r + +dnl AC_CHECK_FUNC(getaddrinfo, AC_DEFINE(HAVE_GETADDRINFO), [ + dnl no getaddrinfo, so check for gethostbyname_r and + dnl related functions (taken from python's configure.in) + dnl sigh -- gethostbyname_r is a mess; it can have 3, 5 or 6 arguments + AX_FUNC_WHICH_GETHOSTBYNAME_R + if test "x$ac_cv_func_which_gethostbyname_r" = "xno" -o \ + "x$ac_cv_func_which_gethostbyname_r" = "xunknown" ; then + AC_CHECK_FUNC(gethostbyname, [ AC_DEFINE(HAVE_GETHOSTBYNAME) ]) + fi + dnl A similar test for getservbyname_r + dnl I'm tempted to just not do this test which is taking much time and + dnl do something similar as for gethostbyaddr_r, but OTOH the macro + dnl doing the test already exists, so using it is easy enough. - SN + AC_raf_FUNC_WHICH_GETSERVBYNAME_R + if test "x$ac_cv_func_which_getservbyname_r" = "xno" -o \ + "x$ac_cv_func_which_getservbyname_r" = "xunknown" ; then + AC_CHECK_FUNCS(getservbyname,[ AC_DEFINE(HAVE_GETSERVBYNAME) ]) + fi + dnl For gethostbyaddr_r, we currently do no separate test, instead, we + dnl silently assume it's available exactly if gethostbyname_r is + dnl available and always requires two more arguments than + dnl gethostbyname_r. + dnl (also, I'm lazy and there no m4 file that's ready for use for this + dnl function, although it should be easy to rewrite the gethostbyname_r + dnl check to fit this case, if it's really needed. - SN ) +dnl ] +dnl ) + if test "$wxUSE_THREADS" = "yes"; then AC_DEFINE(wxUSE_THREADS) @@ -5001,18 +5154,18 @@ if test "$WXGPE" = 1 ; then AC_DEFINE_UNQUOTED(__WXGPE__,$WXGPE) fi -dnl DEBUG_FLAG contains debugging options (supposed to be the same for C and C++ -dnl compilers: we'd need a separate WXDEBUG_CXX if this is ever not the case) -DEBUG_FLAG= +dnl DEBUG_CFLAGS contains debugging options (supposed to be the same for C and C++ +dnl compilers: we'd need a separate DEBUG_CXXFLAGS if this is ever not the case) +DEBUG_CFLAGS= if test "$wxUSE_DEBUG_INFO" = "yes" ; then - DEBUG_FLAG="-g" + DEBUG_CFLAGS="-g" wxUSE_OPTIMISE=no fi if test "$wxUSE_DEBUG_GDB" = "yes" ; then wxUSE_DEBUG_INFO=yes if test "$GCC" = yes; then - DEBUG_FLAG="-ggdb" + DEBUG_CFLAGS="-ggdb" fi fi @@ -5021,7 +5174,9 @@ if test "$wxUSE_DEBUG_FLAG" = "yes" ; then WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D__WXDEBUG__" else if test "$wxUSE_GTK" = 1 ; then - CPPFLAGS="$CPPFLAGS -DGTK_NO_CHECK_CASTS" + if test "x$wxGTK_VERSION" = "x1" ; then + CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS" + fi fi fi @@ -5037,9 +5192,9 @@ if test "$wxUSE_DMALLOC" = "yes" ; then fi dnl cc/cxx/ld option for profiling -PROFILE_FLAG= +PROFILE_FLAGS= if test "$wxUSE_PROFILE" = "yes" ; then - PROFILE_FLAG=" -pg" + PROFILE_FLAGS=" -pg" fi if test "$GCC" = "yes" ; then @@ -5075,18 +5230,30 @@ if test "$GCC" = "yes" ; then fi dnl C/C++ compiler option for optimization (supposed to be the same for both) -OPTIMISE_FLAG= +OPTIMISE_CFLAGS= if test "$wxUSE_OPTIMISE" = "no" ; then if test "$GCC" = yes ; then dnl use -O0 because compiling with it is faster than compiling with no dnl optimization options at all (at least with g++ 3.2) - OPTIMISE_FLAG="-O0" + OPTIMISE_CFLAGS="-O0" fi else if test "$GCC" = yes ; then - OPTIMISE_FLAG="-O2" + case "${host}" in + *-pc-os2_emx | *-pc-os2-emx ) + dnl Not all of the supported gcc versions understand + dnl -fstrict-aliasing and none actually needs it (yet). + OPTIMISE_CFLAGS="-O2" + ;; + *) + dnl Switch on optimisation but keep strict-aliasing off for + dnl now (see -fstrict-aliasing in the gcc manual). When it is + dnl switched back on consider using -Wstrict-aliasing=2. + OPTIMISE_CFLAGS="-O2 -fno-strict-aliasing" + ;; + esac else - OPTIMISE_FLAG="-O" + OPTIMISE_CFLAGS="-O" fi fi @@ -5296,7 +5463,7 @@ if test "$wxUSE_SOUND" = "yes"; then AM_PATH_SDL([1.2.0], [ EXTRALIBS_SDL="$SDL_LIBS" - CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" + CXXFLAGS="$SDL_CFLAGS $CXXFLAGS" AC_DEFINE(wxUSE_LIBSDL) ], [wxUSE_LIBSDL="no"]) @@ -5318,7 +5485,7 @@ if test "$WXGTK20" = 1; then [libgnomeprintui-2.2 >= 2.8], [ dnl EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS" - CXXFLAGS="$CXXFLAGS $LIBGNOMEPRINTUI_CFLAGS" + CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS" AC_DEFINE(wxUSE_LIBGNOMEPRINT) ], [ @@ -5330,6 +5497,42 @@ dnl EXTRALIBS_GNOMEPRINT="$LIBGNOMEPRINTUI_LIBS" 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" + CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS" + AC_DEFINE(wxUSE_LIBGNOMEVFS) + ], + [ + AC_MSG_WARN([libgnomevfs not found, library won't be able to associate MIME type]) + wxUSE_LIBGNOMEVFS="no" + ] + ) + fi + fi +fi + +if test "$WXGTK20" = 1; then + if test "$wxUSE_LIBHILDON" = "yes" ; then + PKG_CHECK_MODULES(HILDON, + [hildon-lgpl >= 0.9], + [ + EXTRALIBS_HILDON="$HILDON_LIBS" + CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS" + AC_DEFINE(wxUSE_LIBHILDON) + ], + [ + AC_MSG_WARN([libhildon_lgpl not found]) + wxUSE_LIBHILDON="no" + ] + ) + fi +fi if test "$wxUSE_CMDLINE_PARSER" = "yes"; then AC_DEFINE(wxUSE_CMDLINE_PARSER) @@ -5481,6 +5684,11 @@ if test "$wxUSE_STREAMS" = "yes" ; then AC_DEFINE(wxUSE_STREAMS) fi +if test "$wxUSE_PRINTF_POS_PARAMS" = "yes"; then + AC_DEFINE(wxUSE_PRINTF_POS_PARAMS) +fi + + dnl --------------------------------------------------------------------------- dnl time/date functions dnl --------------------------------------------------------------------------- @@ -5491,8 +5699,6 @@ if test "$wxUSE_DATETIME" = "yes"; then if test "$ac_cv_func_strptime" = "yes"; then AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl, [ - AC_LANG_SAVE - AC_LANG_CPLUSPLUS AC_TRY_COMPILE( [ #include @@ -5504,7 +5710,6 @@ if test "$wxUSE_DATETIME" = "yes"; then wx_cv_func_strptime_decl=yes, wx_cv_func_strptime_decl=no ) - AC_LANG_RESTORE ] ) fi @@ -5606,9 +5811,6 @@ if test "$wxUSE_DATETIME" = "yes"; then wx_cv_func_gettimeofday_has_2_args, [ dnl on some _really_ old systems it takes only 1 argument - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_TRY_COMPILE( [ #include @@ -5635,7 +5837,6 @@ if test "$wxUSE_DATETIME" = "yes"; then ] ) ) - AC_LANG_RESTORE ]) if test "$wx_cv_func_gettimeofday_has_2_args" != "yes"; then @@ -5687,7 +5888,6 @@ if test "$wxUSE_SOCKETS" = "yes" ; then dnl This test needs to be done in C++ mode since gsocket.cpp now dnl is C++ code and pointer cast that are possible even without dnl warning in C still fail in C++. - AC_LANG_PUSH(C++) AC_CACHE_CHECK([what is the type of the third argument of getsockname], wx_cv_type_getsockname3, [ @@ -5710,7 +5910,7 @@ if test "$wxUSE_SOCKETS" = "yes" ; then dnl least with gcc (otherwise we'd always use size_t) CXXFLAGS_OLD="$CXXFLAGS" if test "$GCC" = yes ; then - CXXFLAGS="$CXXFLAGS -Werror" + CXXFLAGS="-Werror $CXXFLAGS" fi AC_TRY_COMPILE( @@ -5771,7 +5971,7 @@ if test "$wxUSE_SOCKETS" = "yes" ; then dnl least with gcc (otherwise we'd always use size_t) CXXFLAGS_OLD="$CXXFLAGS" if test "$GCC" = yes ; then - CXXFLAGS="$CXXFLAGS -Werror" + CXXFLAGS="-Werror $CXXFLAGS" fi AC_TRY_COMPILE( @@ -5809,7 +6009,6 @@ if test "$wxUSE_SOCKETS" = "yes" ; then else AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5) fi - AC_LANG_POP fi fi @@ -5874,14 +6073,12 @@ 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 @@ -6027,9 +6224,6 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \ if test "$ac_cv_header_ole2_h" = "yes" ; then if test "$GCC" = yes ; then - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - AC_MSG_CHECKING([if g++ requires -fvtable-thunks]) AC_TRY_COMPILE([#include #include ], @@ -6037,7 +6231,6 @@ if test "$USE_WIN32" = 1 -a \( "$wxUSE_DATAOBJ" = "yes" \ [AC_MSG_RESULT(no)], [AC_MSG_RESULT(yes) WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fvtable-thunks"]) - AC_LANG_RESTORE LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS" if test "$wxUSE_OLE" = "yes" ; then AC_DEFINE(wxUSE_OLE) @@ -6184,6 +6377,11 @@ if test "$wxUSE_COMBOBOX" = "yes"; then USES_CONTROLS=1 fi +if test "$wxUSE_COMBOCTRL" = "yes"; then + AC_DEFINE(wxUSE_COMBOCTRL) + USES_CONTROLS=1 +fi + if test "$wxUSE_CHOICE" = "yes"; then AC_DEFINE(wxUSE_CHOICE) USES_CONTROLS=1 @@ -6205,11 +6403,31 @@ if test "$wxUSE_CHECKLST" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS checklst" fi +if test "$wxUSE_COLOURPICKERCTRL" = "yes"; then + AC_DEFINE(wxUSE_COLOURPICKERCTRL) + USES_CONTROLS=1 +fi + if test "$wxUSE_DATEPICKCTRL" = "yes"; then AC_DEFINE(wxUSE_DATEPICKCTRL) USES_CONTROLS=1 fi +if test "$wxUSE_DIRPICKERCTRL" = "yes"; then + AC_DEFINE(wxUSE_DIRPICKERCTRL) + USES_CONTROLS=1 +fi + +if test "$wxUSE_FILEPICKERCTRL" = "yes"; then + AC_DEFINE(wxUSE_FILEPICKERCTRL) + USES_CONTROLS=1 +fi + +if test "$wxUSE_FONTPICKERCTRL" = "yes"; then + AC_DEFINE(wxUSE_FONTPICKERCTRL) + USES_CONTROLS=1 +fi + if test "$wxUSE_DISPLAY" = "yes"; then AC_DEFINE(wxUSE_DISPLAY) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS display multimon" @@ -6226,6 +6444,17 @@ if test "$wxUSE_GRID" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid" fi +if test "$wxUSE_HYPERLINKCTRL" = "yes"; then + AC_DEFINE(wxUSE_HYPERLINKCTRL) + USES_CONTROLS=1 +fi + +if test "$wxUSE_DATAVIEWCTRL" = "yes"; then + AC_DEFINE(wxUSE_DATAVIEWCTRL) + USES_CONTROLS=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS dataview" +fi + if test "$wxUSE_IMAGLIST" = "yes"; then AC_DEFINE(wxUSE_IMAGLIST) fi @@ -6257,6 +6486,12 @@ if test "$wxUSE_NOTEBOOK" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook" fi +if test "$wxUSE_ODCOMBOBOX" = "yes"; then + AC_DEFINE(wxUSE_ODCOMBOBOX) + USES_CONTROLS=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS combo" +fi + dnl if test "$wxUSE_PROPSHEET" = "yes"; then dnl AC_DEFINE(wxUSE_PROPSHEET) dnl USES_CONTROLS=1 @@ -6333,7 +6568,7 @@ if test "$wxUSE_STATUSBAR" = "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS statbar" fi -if test "$wxUSE_TABDIALOG" = "yes"; then +if test "$wxUSE_TAB_DIALOG" = "yes"; then AC_DEFINE(wxUSE_TAB_DIALOG) fi @@ -6348,10 +6583,6 @@ if test "$wxUSE_TOGGLEBTN" = "yes"; then AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled]) wxUSE_TOGGLEBTN=no fi - if test "$wxUSE_UNIVERSAL" = "yes"; then - AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled]) - wxUSE_TOGGLEBTN=no - fi if test "$wxUSE_TOGGLEBTN" = "yes"; then AC_DEFINE(wxUSE_TOGGLEBTN) @@ -6399,6 +6630,11 @@ if test "$wxUSE_TREEBOOK" = "yes"; then USES_CONTROLS=1 fi +if test "$wxUSE_TOOLBOOK" = "yes"; then + AC_DEFINE(wxUSE_TOOLBOOK) + USES_CONTROLS=1 +fi + if test "$wxUSE_TREECTRL" = "yes"; then if test "$wxUSE_IMAGLIST" = "yes"; then AC_DEFINE(wxUSE_TREECTRL) @@ -6485,7 +6721,7 @@ fi if test "$wxUSE_WEBKIT" = "yes"; then if test "$wxUSE_MAC" = 1 -a "$USE_DARWIN" = 1; then old_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -x objective-c++" + CPPFLAGS="-x objective-c++ $CPPFLAGS" AC_CHECK_HEADER([WebKit/HIWebView.h], [ AC_DEFINE(wxUSE_WEBKIT) @@ -6516,6 +6752,13 @@ if test "$wxUSE_XRC" = "yes"; then fi fi +USE_AUI=0 +if test "$wxUSE_AUI" = "yes"; then + AC_DEFINE(wxUSE_AUI) + USE_AUI=1 + SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS aui" +fi + if test "$wxUSE_MENUS" = "yes"; then AC_DEFINE(wxUSE_MENUS) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS menu" @@ -6670,85 +6913,78 @@ dnl --------------------------------------------------------------------------- dnl wxMediaCtrl dnl --------------------------------------------------------------------------- +USE_MEDIA=0 + if test "$wxUSE_MEDIACTRL" = "yes"; then dnl ----------------------------------------------------------------------- dnl GStreamer dnl ----------------------------------------------------------------------- if test "$wxUSE_GTK" = 1; then - wxUSE_GSTREAMER="yes" + wxUSE_GSTREAMER="no" dnl ------------------------------------------------------------------- - dnl Test for gstreamer module from pkg-config + dnl Test for at least 0.8 gstreamer module from pkg-config + dnl Even totem doesn't accept 0.9 evidently. + dnl + dnl So, we first check to see if 0.10 if available - if not we + dnl try the older 0.8 version dnl ------------------------------------------------------------------- - PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.8, + GST_VERSION_MAJOR=0 + GST_VERSION_MINOR=10 + GST_VERSION_RELEASE=0 + GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE + GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR + + if test "$wxUSE_GSTREAMER8" = "no"; then + PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR + gstreamer-plugins-base-$GST_MAJORMINOR + gconf-2.0, [ - CPPFLAGS="$CPPFLAGS $GSTREAMER_CFLAGS" - LIBS="$LIBS $GSTREAMER_LIBS -lgstplay-0.8" + wxUSE_GSTREAMER="yes" + GST_LIBS="$GST_LIBS -lgstinterfaces-$GST_MAJORMINOR" ], [ - AC_MSG_WARN([GStreamer installation not found]) - wxUSE_GSTREAMER="no" + GST_VERSION_MINOR=8 ]) - - dnl ------------------------------------------------------------------- - dnl Perform a check for a GStreamer element using gst-inspect - dnl Thomas Vander Stichele - dnl Last modification: 25/01/2005 - dnl - dnl AM_GST_ELEMENT_CHECK(ELEMENT-NAME, ACTION-IF-FOUND, ACTION-IF-NOT-FOUND) - dnl ------------------------------------------------------------------- - AC_DEFUN([AM_GST_ELEMENT_CHECK], - [ - if test "x$GST_INSPECT" == "x"; then - AC_CHECK_PROG(GST_INSPECT, gst-inspect, gst-inspect, []) - fi - - if test "x$GST_INSPECT" != "x"; then - AC_MSG_CHECKING(GStreamer element $1) - if [ $GST_INSPECT $1 > /dev/null 2> /dev/null ]; then - AC_MSG_RESULT(found.) - $2 else - AC_MSG_RESULT(not found.) - $3 - fi + GST_VERSION_MINOR=8 fi - ]) - dnl ------------------------------------------------------------------- - dnl Test for x video sink (video useless without) - dnl ------------------------------------------------------------------- - AM_GST_ELEMENT_CHECK(xvimagesink,[], - [ - wxUSE_GSTREAMER="no" - AC_MSG_WARN([x video sink not found - cannot use GStreamer]) - ]) + GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE + GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR - dnl ------------------------------------------------------------------- - dnl Check for gstplay-0.8 lib and corresponding x overlay header - dnl ------------------------------------------------------------------- - AC_CHECK_HEADER(gst/xoverlay/xoverlay.h, [], + if test x$GST_VERSION_MINOR = x8; then + PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR + gstreamer-interfaces-$GST_MAJORMINOR + gstreamer-gconf-$GST_MAJORMINOR, [ - wxUSE_GSTREAMER="no" - AC_MSG_WARN([xoverlay header not found, cannot use GStreamer]) + wxUSE_GSTREAMER="yes" ], - [#include ]) - - AC_MSG_CHECKING([for gstplay 0.8]) - WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],gstplay-0.8) - - if test "$ac_find_libraries" = "" ; then - AC_MSG_RESULT([no]) - wxUSE_GSTREAMER="no" - else - AC_MSG_RESULT([yes]) + [ + AC_MSG_WARN([Proper GStreamer .8/.10 installation not found]) + ]) fi + 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" + AC_DEFINE(wxUSE_GSTREAMER) AC_MSG_RESULT([GStreamer detection successful]) fi fi + USE_MEDIA=1 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer" AC_DEFINE(wxUSE_MEDIACTRL) fi @@ -6804,6 +7040,9 @@ fi if test "$wxUSE_XRC" = "yes" ; then CORE_GUI_LIBS="xrc $CORE_GUI_LIBS" fi +if test "$wxUSE_AUI" = "yes" ; then + CORE_GUI_LIBS="aui $CORE_GUI_LIBS" +fi if test "$wxUSE_GUI" != "yes"; then CORE_GUI_LIBS="" @@ -6812,15 +7051,14 @@ fi AC_SUBST(CORE_BASE_LIBS) AC_SUBST(CORE_GUI_LIBS) - dnl --------------------------------------------------------------------------- dnl Output the makefiles and such from the results found above dnl --------------------------------------------------------------------------- -dnl all additional libraries (except wxWidgets itself) we link with +dnl no more tests from here +AC_LANG_POP -dnl note that we always link with -lm except for Mac OS X -dnl extended.c uses floor() and is always linked in +dnl all additional libraries (except wxWidgets itself) we link with if test "$wxUSE_MAC" = 1 ; then if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then @@ -6846,53 +7084,8 @@ if test "$USE_DARWIN" = 1 -a "$wxUSE_MAC" != 1 -a "$wxUSE_COCOA" != 1 ; then LDFLAGS="$LDFLAGS -framework IOKit -framework CoreServices -framework System -framework ApplicationServices" fi -dnl FIXME: should this be covered by the conditional above -dnl given the -lm comment there? Or should that comment (and -dnl this one) be removed.. [ 7 Nov 2001 ] - LIBS="$ZLIB_LINK $POSIX4_LINK $INET_LINK $WCHAR_LINK $DL_LINK $LIBS" -dnl Only add the -lm library if floating point functions cannot be used -dnl without it. This check is important on cygwin because of the bizarre -dnl way that they have organized functions into libraries. On cygwin, both -dnl libc.a and libm.a are symbolic links to a single lib libcygwin.a. This -dnl means that -dnl 1) linking with -lm is not necessary, and -dnl 2) linking with -lm is dangerous if the order of libraries is wrong -dnl In particular, if you compile any program with -mno-cygwin and link with -dnl -lm, it will crash instantly when it is run. This happens because the -dnl linker incorrectly links the Cygwin libm.a (==libcygwin.a), which replaces -dnl the ___main function instead of allowing it to be defined by -dnl /usr/lib/mingw/libmingw32.a as it should be. -dnl -dnl On MacOS X, this test will find that -lm is unnecessary and leave it out. -dnl -dnl Just check a few floating point functions. If they are all found without -dnl -lm, then we must not need -lm. -have_cos=0 -have_floor=0 -AC_CHECK_FUNCS(cos, have_cos=1) -AC_CHECK_FUNCS(floor, have_floor=1) -AC_MSG_CHECKING(if floating point functions link without -lm) -if test "$have_cos" = 1 -a "$have_floor" = 1; then - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) - LIBS="$LIBS -lm" - # use different functions to avoid configure caching - have_sin=0 - have_ceil=0 - AC_CHECK_FUNCS(sin, have_sin=1) - AC_CHECK_FUNCS(ceil, have_ceil=1) - AC_MSG_CHECKING(if floating point functions link with -lm) - if test "$have_sin" = 1 -a "$have_ceil" = 1; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - # not sure we should warn the user, crash, etc. - fi -fi - if test "$wxUSE_GUI" = "yes"; then dnl TODO add checks that these samples will really compile (i.e. all the @@ -6902,7 +7095,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 \ - richedit rotate shaped vscroll widgets" + rotate shaped vscroll widgets" if test "$wxUSE_MONOLITHIC" != "yes"; then SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS console" @@ -6972,13 +7165,14 @@ dnl note that the order is somewhat important: wxWidgets headers should 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 $CPPFLAGS \ +CPPFLAGS=`echo $WXCONFIG_CPPFLAGS \ -I\\${top_builddir}lib/wx/include/${TOOLCHAIN_FULLNAME} \ - -I\\${top_srcdir}/include $TOOLKIT_INCLUDE` + -I\\${top_srcdir}/include $TOOLKIT_INCLUDE \ + $CPPFLAGS ` -C_AND_CXX_FLAGS="$DEBUG_FLAG $PROFILE_FLAG $OPTIMISE_FLAG" -CFLAGS=`echo $WXCONFIG_CFLAGS $CFLAGS $CWARNINGS $C_AND_CXX_FLAGS` -CXXFLAGS=`echo $WXCONFIG_CXXFLAGS $CXXFLAGS $C_AND_CXX_FLAGS` +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 ` dnl now that we added WXCONFIG_CPPFLAGS to CPPFLAGS we can add the wx-config dnl only stuff to it @@ -7007,13 +7201,13 @@ EXTRALIBS_XML="$EXPAT_LINK" EXTRALIBS_HTML="$MSPACK_LINK" EXTRALIBS_ODBC="$ODBC_LINK" if test "$wxUSE_GUI" = "yes"; then - EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_GNOMEPRINT` + EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT` fi if test "$wxUSE_OPENGL" = "yes"; then EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS" fi -LDFLAGS="$LDFLAGS $PROFILE_FLAG" +LDFLAGS="$LDFLAGS $PROFILE_FLAGS" WXCONFIG_LIBS="$LIBS" @@ -7107,6 +7301,8 @@ AC_SUBST(EXTRALIBS_OPENGL) AC_SUBST(EXTRALIBS_SDL) AC_SUBST(WITH_PLUGIN_SDL) AC_SUBST(EXTRALIBS_GNOMEPRINT) +AC_SUBST(EXTRALIBS_GNOMEVFS) +AC_SUBST(EXTRALIBS_HILDON) AC_SUBST(UNICODE) AC_SUBST(BUILD) AC_SUBST(DEBUG_INFO) @@ -7137,8 +7333,39 @@ if test "$wxUSE_WINE" = "yes"; then BAKEFILE_FORCE_PLATFORM=win32 fi +dnl --------------------------------------------------------------------------- +dnl Add Universal binary support +dnl Note we don't do this earlier because adding these cpp/ld flags could +dnl cause configure tests to fail. +dnl --------------------------------------------------------------------------- +if test "$wxUSE_MAC" = 1 ; then + if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then + CXXFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CXXFLAGS" + CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CFLAGS" + LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $LDFLAGS" + bk_use_pch=no + fi + # TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)? + # The makefile currently uses AR and RANLIB, which libtool apparently supercedes. + # TODO: how can we avoid a hardwired reference to the SDK, above? (Someone used -lSystemStubs to avoid it) +fi + AC_BAKEFILE([m4_include(autoconf_inc.m4)]) +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 +dnl at which time, this hack can be removed. + +if test "$wxUSE_MAC" = 1 ; then + if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then + sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp + mv temp bk-deps + chmod +x bk-deps + fi +fi + if test "$wxUSE_SHARED" = "yes"; then dnl We get the shared build linker from bakefile, since it @@ -7243,6 +7470,7 @@ AC_SUBST(WXCONFIG_CXXFLAGS) AC_SUBST(WXCONFIG_LIBS) AC_SUBST(WXCONFIG_RPATH) AC_SUBST(WXCONFIG_LDFLAGS_GUI) +AC_SUBST(WXCONFIG_RESFLAGS) AC_SUBST(EXE_LINKER) dnl distribution vars @@ -7261,6 +7489,8 @@ AC_SUBST(WX_VERSION_TAG) dnl additional resurces settings AC_SUBST(RESCOMP) +AC_SUBST(WINDRES) +AC_SUBST(REZ) AC_SUBST(RESFLAGS) AC_SUBST(RESPROGRAMOBJ) AC_SUBST(WX_RESOURCES_MACOSX_ASCII) @@ -7269,9 +7499,8 @@ AC_SUBST(WX_RESOURCES_MACOSX_DATA) dnl additional for Mac OS X AC_SUBST(DEREZ) AC_SUBST(LIBWXMACRES) -AC_SUBST(MACRESCOMP) +AC_SUBST(POSTLINK_COMMAND) AC_SUBST(MACSETFILE) -AC_SUBST(MACRESWXCONFIG) dnl other tools AC_SUBST(GCC) @@ -7418,6 +7647,8 @@ echo " expat ${wxUSE_EXPAT}" echo " libmspack ${wxUSE_LIBMSPACK}" echo " sdl ${wxUSE_LIBSDL}" echo " gnomeprint ${wxUSE_LIBGNOMEPRINT-none}" +echo " gnomevfs ${wxUSE_LIBGNOMEVFS-none}" +echo " hildon ${wxUSE_LIBHILDON-none}" echo ""