wx_major_version_number=2
wx_minor_version_number=7
wx_release_number=0
-wx_subrelease_number=0
+wx_subrelease_number=1
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
WX_VERSION=$WX_RELEASE.$wx_release_number
dnl the list of all available toolkits
dnl
dnl update NUM_TOOLKITS calculation below when adding a new toolkit here!
-ALL_TOOLKITS="COCOA GTK MAC MGL MICROWIN MOTIF MSW PM X11"
+ALL_TOOLKITS="COCOA GTK MAC MGL MICROWIN MOTIF MSW PM X11 DFB"
dnl NB: these wxUSE_XXX constants have value of 0 or 1 unlike all the other ones
dnl which are either yes or no
DEFAULT_wxUSE_MSW=0
DEFAULT_wxUSE_PM=0
DEFAULT_wxUSE_X11=0
+DEFAULT_wxUSE_DFB=0
dnl these are the values which are really default for the given platform -
dnl they're not cached and are only used if no --with-toolkit was given *and*
DEFAULT_DEFAULT_wxUSE_MSW=0
DEFAULT_DEFAULT_wxUSE_PM=0
DEFAULT_DEFAULT_wxUSE_X11=0
+DEFAULT_DEFAULT_wxUSE_DFB=0
PROGRAM_EXT=
SO_SUFFIX=so
AC_DEFINE(__BSD__)
DEFAULT_DEFAULT_wxUSE_GTK=1
;;
- *-*-openbsd*)
+ *-*-openbsd*|*-*-mirbsd*)
USE_BSD=1
USE_OPENBSD=1
AC_DEFINE(__OPENBSD__)
;;
*)
- 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.])
+
+ DEFAULT_DEFAULT_wxUSE_X11=1
+ DEFAULT_wxUSE_SHARED=no
esac
dnl ---------------------------------------------------------------------------
DEFAULT_wxUSE_THREADS=yes
- DEFAULT_wxUSE_SHARED=yes
+ DEFAULT_wxUSE_SHARED=${DEFAULT_wxUSE_SHARED:-yes}
DEFAULT_wxUSE_OPTIMISE=no
DEFAULT_wxUSE_PROFILE=no
DEFAULT_wxUSE_NO_DEPS=no
DEFAULT_wxUSE_SOUND=no
DEFAULT_wxUSE_MEDIACTRL=no
DEFAULT_wxUSE_GSTREAMER8=no
+ DEFAULT_wxUSE_PRINTF_POS_PARAMS=no
DEFAULT_wxUSE_INTL=no
DEFAULT_wxUSE_CONFIG=no
DEFAULT_wxUSE_FONTMAP=no
DEFAULT_wxUSE_HTML=no
DEFAULT_wxUSE_RICHTEXT=no
DEFAULT_wxUSE_XRC=no
+ DEFAULT_wxUSE_AUI=no
DEFAULT_wxUSE_WEBKIT=no
DEFAULT_wxUSE_FILESYSTEM=no
DEFAULT_wxUSE_FS_INET=no
DEFAULT_wxUSE_ACCEL=no
DEFAULT_wxUSE_BUTTON=no
DEFAULT_wxUSE_BMPBUTTON=no
+ DEFAULT_wxUSE_BITMAPCOMBOBOX=no
DEFAULT_wxUSE_CALCTRL=no
DEFAULT_wxUSE_CARET=no
DEFAULT_wxUSE_CHECKBOX=no
DEFAULT_wxUSE_CHECKLST=no
DEFAULT_wxUSE_CHOICE=no
DEFAULT_wxUSE_CHOICEBOOK=no
+ DEFAULT_wxUSE_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
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_THREADS=yes
- DEFAULT_wxUSE_SHARED=yes
+ DEFAULT_wxUSE_SHARED=${DEFAULT_wxUSE_SHARED:-yes}
DEFAULT_wxUSE_OPTIMISE=yes
DEFAULT_wxUSE_PROFILE=no
DEFAULT_wxUSE_NO_DEPS=no
DEFAULT_wxUSE_SOUND=yes
DEFAULT_wxUSE_MEDIACTRL=no
DEFAULT_wxUSE_GSTREAMER8=no
+ DEFAULT_wxUSE_PRINTF_POS_PARAMS=yes
DEFAULT_wxUSE_INTL=yes
DEFAULT_wxUSE_CONFIG=yes
DEFAULT_wxUSE_FONTMAP=yes
DEFAULT_wxUSE_HTML=yes
DEFAULT_wxUSE_RICHTEXT=yes
DEFAULT_wxUSE_XRC=yes
+ DEFAULT_wxUSE_AUI=yes
DEFAULT_wxUSE_WEBKIT=yes
DEFAULT_wxUSE_FILESYSTEM=yes
DEFAULT_wxUSE_FS_INET=yes
DEFAULT_wxUSE_ACCEL=yes
DEFAULT_wxUSE_BUTTON=yes
DEFAULT_wxUSE_BMPBUTTON=yes
+ DEFAULT_wxUSE_BITMAPCOMBOBOX=yes
DEFAULT_wxUSE_CALCTRL=yes
DEFAULT_wxUSE_CARET=yes
DEFAULT_wxUSE_CHECKBOX=yes
DEFAULT_wxUSE_CHECKLST=yes
DEFAULT_wxUSE_CHOICE=yes
DEFAULT_wxUSE_CHOICEBOOK=yes
+ DEFAULT_wxUSE_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
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_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
AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(pm, [ --with-pm use OS/2 Presentation Manager], [wxUSE_PM="$withval" CACHE_PM=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(mgl, [ --with-mgl use SciTech MGL], [wxUSE_MGL="$withval" wxUSE_UNIVERSAL="yes" CACHE_MGL=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(directfb, [ --with-directfb use DirectFB], [wxUSE_DFB="$withval" wxUSE_UNIVERSAL="yes" CACHE_DFB=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(microwin, [ --with-microwin use MicroWindows], [wxUSE_MICROWIN="$withval" CACHE_MICROWIN=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(x11, [ --with-x11 use X11], [wxUSE_X11="$withval" wxUSE_UNIVERSAL="yes" CACHE_X11=1 TOOLKIT_GIVEN=1])
WX_ARG_ENABLE(nanox, [ --enable-nanox use NanoX], wxUSE_NANOX)
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_PARAM(universal_binary, [[ --enable-universal_binary[=SDK] create Mac PowerPC and Intel Universal binary (not yet working)]], wxUSE_UNIVERSAL_BINARY)
WX_ARG_ENABLE(compat24, [ --enable-compat24 enable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, enable)
WX_ARG_ENABLE(compat26, [ --disable-compat26 disable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, disable)
WX_ARG_ENABLE(unicode, [ --enable-unicode compile wxString with Unicode support], wxUSE_UNICODE)
WX_ARG_ENABLE(sound, [ --enable-sound use wxSound class], wxUSE_SOUND)
WX_ARG_ENABLE(mediactrl, [ --enable-mediactrl use wxMediaCtrl class], wxUSE_MEDIACTRL)
-WX_ARG_ENABLE(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8)
-WX_ARG_ENABLE(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)
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)
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_TOGGLEBTN=yes
DEFAULT_wxUSE_TOOLBAR=yes
DEFAULT_wxUSE_TOOLBAR_NATIVE=yes
- DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
DEFAULT_wxUSE_TOOLTIPS=yes
DEFAULT_wxUSE_TREEBOOK=yes
DEFAULT_wxUSE_TOOLBOOK=yes
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_TOGGLEBTN=no
DEFAULT_wxUSE_TOOLBAR=no
DEFAULT_wxUSE_TOOLBAR_NATIVE=no
- DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
DEFAULT_wxUSE_TOOLTIPS=no
DEFAULT_wxUSE_TREEBOOK=no
DEFAULT_wxUSE_TOOLBOOK=no
WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL)
WX_ARG_ENABLE(button, [ --enable-button use wxButton class], wxUSE_BUTTON)
WX_ARG_ENABLE(bmpbutton, [ --enable-bmpbutton use wxBitmapButton class], wxUSE_BMPBUTTON)
+WX_ARG_ENABLE(bmpcombobox, [ --enable-bmpcombobox use wxBitmapComboBox class], wxUSE_BITMAPCOMBOBOX)
WX_ARG_ENABLE(calendar, [ --enable-calendar use wxCalendarCtrl class], wxUSE_CALCTRL)
WX_ARG_ENABLE(caret, [ --enable-caret use wxCaret class], wxUSE_CARET)
WX_ARG_ENABLE(checkbox, [ --enable-checkbox use wxCheckBox class], wxUSE_CHECKBOX)
WX_ARG_ENABLE(checklst, [ --enable-checklst use wxCheckListBox (listbox with checkboxes) class], wxUSE_CHECKLST)
WX_ARG_ENABLE(choice, [ --enable-choice use wxChoice class], wxUSE_CHOICE)
WX_ARG_ENABLE(choicebook, [ --enable-choicebook use wxChoicebook class], wxUSE_CHOICEBOOK)
+WX_ARG_ENABLE(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)
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)
dnl we suppose that expr is available (maybe there is a better way to do
dnl this? what about using ALL_TOOLKITS? TODO)
NUM_TOOLKITS=`expr ${wxUSE_COCOA:-0} + ${wxUSE_GTK:-0} + ${wxUSE_MAC:-0} \
- + ${wxUSE_MGL:-0} + ${wxUSE_MICROWIN:-0} \
+ + ${wxUSE_MGL:-0} + ${wxUSE_DFB:-0} + ${wxUSE_MICROWIN:-0} \
+ ${wxUSE_MOTIF:-0} + ${wxUSE_MSW:-0} + ${wxUSE_X11:-0}`
dnl Allow wxUSE_PM only for OS/2 with EMX.
dnl adds -traditional for gcc if needed
AC_PROG_GCC_TRADITIONAL
+dnl do all checks from now on using the C++ compiler: this saves us a lot of
+dnl problems with various functions which may be available in libc but not
+dnl declared in the header and various pointer conversions which compile with
+dnl the C compiler but not in C++
AC_LANG_PUSH(C++)
dnl C++-compiler checks
CXXFLAGS=${CXXFLAGS:=}
AC_BAKEFILE_PROG_CXX
-AC_LANG_POP
-
dnl ranlib command
dnl defines RANLIB with the appropriate command
AC_PROG_RANLIB
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).
#else
"Innotek6"
#endif
- );
+ );
exit(0);
}
],
- wx_cv_gccversion=`cat conftestval`,
+ wx_cv_gccversion=`cat conftestval`,
wx_cv_gccversion="EMX2",
dnl Compilation error: Assuming standard EMX environment
wx_cv_gccversion="EMX2"
)
])
+ AC_LANG_POP
if test "$wx_cv_gccversion" = "EMX2"; then
LIBS="$LIBS -lstdcpp"
LDFLAGS="$LDFLAGS -Zsysv-signals"
dnl ---------------------------------------------------------------------
dnl (non-OS/2-only piece)
- AC_LANG_PUSH(C++)
-
AC_CACHE_CHECK([for strcasecmp() in string.h], ac_cv_string_strcasecmp, [
AC_TRY_LINK([
#include <string.h>
fi
fi
- AC_LANG_POP
dnl (end of non-OS/2-only piece)
;;
esac
;;
esac
+dnl POSIX needs this for select(), but old systems don't have it
+if test "$USE_UNIX" = 1 ; then
+ AC_CHECK_HEADERS([sys/select.h])
+fi
+
dnl ---------------------------------------------------------------------------
dnl Checks for compiler characteristics
dnl ---------------------------------------------------------------------------
fi
fi
+dnl Check if variadic macros (C99 feature) are supported:
+AC_CACHE_CHECK(
+ [whether the compiler supports variadic macros],
+ [wx_cv_have_variadic_macros],
+ [
+ AC_COMPILE_IFELSE(
+ AC_LANG_PROGRAM(
+ [
+ #include <stdio.h>
+ #define test(fmt, ...) printf(fmt, __VA_ARGS__)
+ ],
+ [
+ test("%s %d %p", "test", 1, 0);
+ ]
+ ),
+ [wx_cv_have_variadic_macros=yes],
+ [wx_cv_have_variadic_macros=no]
+ )
+ ]
+)
+
+if test $wx_cv_have_variadic_macros = "yes"; then
+ AC_DEFINE(HAVE_VARIADIC_MACROS)
+fi
+
dnl check for large file support
AC_SYS_LARGEFILE
[if -D__STDC_EXT__ is required],
wx_cv_STDC_EXT_required,
[
- AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[],
[
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
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"
]
)
])
-
- 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 <iostream>])
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 <string>
AC_DEFINE(HAVE_GNU_CXX_HASH_MAP)],
[AC_MSG_RESULT(no)])
])
-
- AC_LANG_POP
fi
dnl ---------------------------------------------------------------------------
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
AC_CACHE_CHECK([if expat.h is valid C++ header],
wx_cv_expat_is_not_broken,
[
- AC_LANG_PUSH(C++)
AC_TRY_COMPILE([#include <expat.h>],[],
wx_cv_expat_is_not_broken=yes,
wx_cv_expat_is_not_broken=no
)
- AC_LANG_POP
]
)
if test "$wx_cv_expat_is_not_broken" = "yes" ; then
dnl install Win32-specific files in "make install"
WIN32INSTALL=win32install
+
+ dnl the jpeg header jmorecfg.h delcares the type boolean, which conflicts
+ dnl on systems which declare it in the system headers. If HAVE_BOOLEAN is
+ dnl defined then jmorecfg.h doesn't declare it, so checking for it here
+ dnl solves the problem.
+ AC_CHECK_TYPES(boolean, [], [], [#include <windows.h>])
+
+ dnl pbt.h is missing on Wine at least
+ AC_CHECK_HEADERS(pbt.h, [], [AC_DEFINE(NEED_PBT_H)])
fi
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
dnl that have shipped with some versions of Sun's JDS. Not using
dnl AC_CHECK_FUNCS here since it only checks the function exists
dnl in the lib (not the header).
- AC_MSG_CHECKING([if gtk_icon_size_lookup is missing])
+ AC_CHECK_DECLS([gtk_icon_size_lookup], [],
+ [AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP)],
+ [#include <gtk/gtk.h>])
+
+ dnl test if we have at least GTK+ 2.6:
+ AC_MSG_CHECKING([if GTK+ is version >= 2.6])
AC_TRY_COMPILE([
#include <gtk/gtk.h>
],
[
- void *f = gtk_icon_size_lookup;
+ #if !GTK_CHECK_VERSION(2,6,0)
+ Not GTK+ 2.6
+ #endif
],
[
- AC_MSG_RESULT([no])
+ AC_DEFINE(__WXGTK26__)
+ AC_DEFINE(__WXGTK24__)
+ AC_MSG_RESULT([yes])
+ ac_wxgtk26=1
],
[
- AC_DEFINE(NEED_GTK_ICON_SIZE_LOOKUP)
- AC_MSG_RESULT([yes])
+ 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([
[
AC_MSG_RESULT([no])
])
+ fi
CFLAGS="$save_CFLAGS"
LIBS="$save_LIBS"
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
GUIDIST=MGL_DIST
fi
+ if test "$wxUSE_DFB" = 1; then
+ PKG_CHECK_MODULES(DIRECTFB,
+ [directfb >= 0.9.22],
+ [
+ wxUSE_UNIVERSAL="yes"
+ TOOLKIT_INCLUDE="$DIRECTFB_CFLAGS"
+ GUI_TK_LIBRARY="$DIRECTFB_LIBS"
+ TOOLKIT=DFB
+ GUIDIST=DFB_DIST
+ ],
+ [
+ AC_MSG_ERROR([DirectFB not found.])
+ ]
+ )
+ fi
+
if test "$wxUSE_MICROWIN" = 1; then
AC_MSG_CHECKING(for MicroWindows)
if test "x$MICROWINDOWS" = x ; then
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="$PANGOX_CFLAGS $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
WX_INCLUDE_PATH_EXIST($ac_find_includes, $TOOLKIT_INCLUDE)
TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE$ac_path_to_include"
else
- save_CFLAGS=$CFLAGS
- CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
AC_TRY_COMPILE(
[
]
)
- CFLAGS=$save_CFLAGS
+ CXXFLAGS=$save_CXXFLAGS
fi
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="$TOOLKIT_INCLUDE $CFLAGS"
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
save_LIBS="$LIBS"
LIBS="$GUI_TK_LIBRARY -lXm -lXmu -lXext -lX11"
]
)
- CFLAGS=$save_CFLAGS
+ CXXFLAGS=$save_CXXFLAGS
LIBS="$save_LIBS"
fi
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="$TOOLKIT_INCLUDE $CFLAGS"
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
AC_TRY_LINK(
[
)
LIBS="$save_LIBS"
- CFLAGS=$save_CFLAGS
+ CXXFLAGS=$save_CXXFLAGS
fi
done
fi
dnl elsewhere
AC_CHECK_LIB(Sgm, [SgCreateList], [libsgm_link=" -lSgm"])
- save_CFLAGS=$CFLAGS
- CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
AC_CACHE_CHECK([for Motif 2],
wx_cv_lib_motif2,
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
AC_CACHE_CHECK([for X11/xpm.h],
wx_cv_x11_xpm_h,
[
- save_CFLAGS=$CFLAGS
- CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
+ save_CXXFLAGS=$CXXFLAGS
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
AC_TRY_COMPILE(
[
wx_cv_x11_xpm_h=no
)
- CFLAGS=$save_CFLAGS
+ CXXFLAGS=$save_CXXFLAGS
]
)
[], [$GUI_TK_LIBRARY -lX11])
if test "$wxHAVE_XEXT_LIB" = 1; then
- save_CFLAGS="$CFLAGS"
- CFLAGS="$TOOLKIT_INCLUDE $CFLAGS"
+ save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS="$TOOLKIT_INCLUDE $CXXFLAGS"
AC_MSG_CHECKING([for X11/extensions/shape.h])
AC_TRY_COMPILE([
[
AC_MSG_RESULT([not found])
])
- CFLAGS="$save_CFLAGS"
+ CXXFLAGS="$save_CXXFLAGS"
fi
fi
dnl check what exactly size_t is on this machine - this is necessary to avoid
dnl ambiguous overloads in several places, notably wx/string.h and wx/array.h
-AC_LANG_PUSH(C++)
AC_CACHE_CHECK([if size_t is unsigned int],
wx_cv_size_t_is_uint,
[
fi
fi
-AC_LANG_POP
-
dnl ---------------------------------------------------------------------------
dnl Checks for structures
dnl ---------------------------------------------------------------------------
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_PUSH(C++)
-
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
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 <stdio.h>
+
+ 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,
+ dnl be pessimistic when cross-compiling
+ [
+ AC_MSG_WARN([Assuming Unix98 printf() is not available,
+define HAVE_UNIX98_PRINTF as 1 in setup.h if it is available.])
+ wx_cv_func_snprintf_pos_params=no
+ ]
+ )
+ ]
+ )
+
+ 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 our wxVsnprintf() implementation needs to use the system swprintf() in Unicode
+ dnl builds so let's check if swprintf() is declared as C99 imposes:
+ dnl int swprintf(wchar_t *s, size_t n, const wchar_t *format, ...);
+ dnl or rather as:
+ dnl int swprintf(wchar_t *s, const wchar_t *format, ...);
+ AC_CHECK_FUNCS(swprintf)
+
+ if test "$ac_cv_func_swprintf" = "yes"; then
+ AC_CACHE_CHECK([if swprintf declaration is broken], wx_cv_func_broken_swprintf_decl,
+ [
+ AC_TRY_COMPILE(
+ [
+ #include <stdio.h>
+ #include <stdarg.h>
+ #include <wchar.h>
+ ],
+ [
+ wchar_t *buf;
+ const wchar_t *fmt = L"test";
+ swprintf(buf, 10u, fmt);
+ ],
+ wx_cv_func_broken_swprintf_decl=no,
+ wx_cv_func_broken_swprintf_decl=yes
+ )
+ ]
+ )
+
+ if test "$wx_cv_func_broken_swprintf_decl" = "yes"; then
+ AC_DEFINE(HAVE_BROKEN_SWPRINTF_DECL)
+ fi
+ fi
+
dnl also look if we have wide char IO functions
AC_CHECK_FUNCS(wputc wputchar putws fputws wprintf vswprintf)
[AC_MSG_RESULT([no])]);
fi
-AC_LANG_POP
-
if test "x$ac_cv_header_fnmatch_h" = "xyes"; then
AC_CHECK_FUNCS(fnmatch)
fi
AC_CHECK_FUNCS(fsync)
fi
+AC_CHECK_FUNCS(round)
+if test "$ac_cv_func_round" = yes; then
+ AC_CHECK_DECLS(round,,,[#include <math.h>])
+fi
+
dnl the following tests are for Unix(like) systems only
if test "$TOOLKIT" != "MSW"; then
dnl check for available version of iconv()
-AC_LANG_PUSH(C++)
AM_ICONV
LIBS="$LIBICONV $LIBS"
-AC_LANG_POP
dnl check for POSIX signals if we need them
if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes" -a "$wxUSE_UNIX" = "yes"; then
fi
if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
- AC_LANG_PUSH(C++)
-
AC_CACHE_CHECK([for sa_handler type], wx_cv_type_sa_handler,
[
AC_TRY_COMPILE([#include <signal.h>],
])
])
- AC_LANG_POP
-
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_PUSH(C++)
-
AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
[
AC_TRY_COMPILE([#include <execinfo.h>],
AC_DEFINE(HAVE_CXA_DEMANGLE)
fi
fi
-
- AC_LANG_POP
fi
if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then
if test "$wx_cv_func_statfs" = "yes"; then
dnl check whether we have its dcelaration too: some systems (AIX 4) lack it
- AC_LANG_PUSH(C++)
AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl,
AC_TRY_COMPILE(
[
wx_cv_func_statfs_decl=no
)
)
- AC_LANG_POP
if test "$wx_cv_func_statfs_decl" = "yes"; then
AC_DEFINE(HAVE_STATFS_DECL)
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_PUSH(C++)
-
AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
AC_TRY_COMPILE(
[
)
)
- AC_LANG_POP
-
if test "$wx_cv_type_statvfs_t" != "unknown"; then
AC_DEFINE(HAVE_STATVFS)
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_PUSH(C++)
-
-AC_CHECK_FUNCS(strtok_r)
-
-AC_LANG_POP
+WX_CHECK_FUNCS(strtok_r, [], [], [#define _REENTRANT])
dnl check for inet_addr and inet_aton (these may live either in libc, or in
dnl libnsl or libresolv or libsocket)
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
-*)
AC_MSG_CHECKING([whether pthreads work with $flag])
- THREADS_CFLAGS="$flag"
+ THREADS_CXXFLAGS="$flag"
;;
*)
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.h>],
[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
fi
THREADS_LINK=""
- THREADS_CFLAGS=""
+ THREADS_CXXFLAGS=""
done
if test "x$THREADS_OK" != "xyes"; 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])
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
AC_CACHE_CHECK([if compiler supports -mthreads],
wx_cv_cflags_mthread,
[
- CFLAGS_OLD="$CFLAGS"
- CFLAGS="-mthreads $CFLAGS"
+ CXXFLAGS_OLD="$CXXFLAGS"
+ CXXFLAGS="-mthreads $CXXFLAGS"
AC_TRY_COMPILE([], [],
wx_cv_cflags_mthread=yes,
wx_cv_cflags_mthread=no
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 )
dnl for it, so testing for it is temporarily disabled and we are restricted
dnl to gethostbyname_r/gethostbyaddr_r and getservbyname_r
-AC_LANG_PUSH(C++)
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 check to fit this case, if it's really needed. - SN )
dnl ]
dnl )
-AC_LANG_POP
if test "$wxUSE_THREADS" = "yes"; then
AC_DEFINE(wxUSE_THREADS)
else
dnl on some systems, _REENTRANT should be defined if we want to use any _r()
dnl functions - add tests for other functions here as well
- if test "$ac_cv_func_strtok_r" = "yes"; then
+ if test "$wx_cv_func_strtok_r" = "yes"; then
AC_MSG_CHECKING(if -D_REENTRANT is needed)
if test "$NEEDS_D_REENTRANT_FOR_R_FUNCS" = 1; then
WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D_REENTRANT"
dnl it's not enough to check for just the header because OSS under NetBSD
dnl redefines ioctl as oss_ioctrl inside it and so we also need to test
dnl whether we need -lossaudio at link-time
- AC_CACHE_CHECK([for ioctl() in sys/soundcard.h], ac_cv_header_sys_soundcard, [
+ AC_CACHE_CHECK([for SNDCTL_DSP_SPEED in sys/soundcard.h], ac_cv_header_sys_soundcard, [
AC_TRY_LINK([
+ #include <sys/ioctl.h>
#include <sys/soundcard.h>
],
[
- ioctl(0, SNDCTL_DSP_SYNC, 0);
+ ioctl(0, SNDCTL_DSP_SPEED, 0);
],
ac_cv_header_sys_soundcard=yes,
[
saveLibs="$LIBS"
LIBS="$saveLibs -lossaudio"
AC_TRY_LINK([
+ #include <sys/ioctl.h>
#include <sys/soundcard.h>
],
[
- ioctl(0, SNDCTL_DSP_SYNC, 0);
+ ioctl(0, SNDCTL_DSP_SPEED, 0);
],
ac_cv_header_sys_soundcard=yes,
[
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 ---------------------------------------------------------------------------
if test "$ac_cv_func_strptime" = "yes"; then
AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl,
[
- AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[
#include <time.h>
wx_cv_func_strptime_decl=yes,
wx_cv_func_strptime_decl=no
)
- AC_LANG_POP
]
)
fi
wx_cv_func_gettimeofday_has_2_args,
[
dnl on some _really_ old systems it takes only 1 argument
- AC_LANG_PUSH(C++)
-
AC_TRY_COMPILE(
[
#include <sys/time.h>
]
)
)
- AC_LANG_POP
])
if test "$wx_cv_func_gettimeofday_has_2_args" != "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,
[
else
AC_DEFINE_UNQUOTED(SOCKOPTLEN_T, $wx_cv_type_getsockopt5)
fi
- AC_LANG_POP
fi
fi
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 <IOKit/hid/IOHIDLib.h> ],
[ IOHIDQueueInterface *qi = NULL;
IOHIDCallbackFunction cb = NULL;
qi->setEventCallout(NULL, cb, NULL, NULL); ],
[ wxUSE_JOYSTICK=yes ]
)
- AC_LANG_POP
AC_MSG_RESULT($wxUSE_JOYSTICK)
fi
if test "$ac_cv_header_ole2_h" = "yes" ; then
if test "$GCC" = yes ; then
- AC_LANG_PUSH(C++)
-
AC_MSG_CHECKING([if g++ requires -fvtable-thunks])
AC_TRY_COMPILE([#include <windows.h>
#include <ole2.h>],
[AC_MSG_RESULT(no)],
[AC_MSG_RESULT(yes)
WXCONFIG_CXXFLAGS="$WXCONFIG_CXXFLAGS -fvtable-thunks"])
- AC_LANG_POP
LIBS=" -lrpcrt4 -loleaut32 -lole32 -luuid$LIBS"
if test "$wxUSE_OLE" = "yes" ; then
AC_DEFINE(wxUSE_OLE)
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
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"
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS grid"
fi
+if test "$wxUSE_HYPERLINKCTRL" = "yes"; then
+ AC_DEFINE(wxUSE_HYPERLINKCTRL)
+ USES_CONTROLS=1
+fi
+
+if test "$wxUSE_BITMAPCOMBOBOX" = "yes"; then
+ AC_DEFINE(wxUSE_BITMAPCOMBOBOX)
+ USES_CONTROLS=1
+fi
+
if test "$wxUSE_DATAVIEWCTRL" = "yes"; then
AC_DEFINE(wxUSE_DATAVIEWCTRL)
USES_CONTROLS=1
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
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)
fi
fi
-if test "$wxUSE_TOOLBAR_SIMPLE" = "yes"; then
- AC_DEFINE(wxUSE_TOOLBAR_SIMPLE)
- wxUSE_TOOLBAR="yes"
- USES_CONTROLS=1
-fi
-
if test "$wxUSE_TOOLBAR" = "yes"; then
AC_DEFINE(wxUSE_TOOLBAR)
USES_CONTROLS=1
- dnl if wxUSE_TOOLBAR and !wxUSE_TOOLBAR_SIMPLE => wxUSE_TOOLBAR_NATIVE
- if test "$wxUSE_TOOLBAR_SIMPLE" != "yes"; then
+ if test "$wxUSE_UNIVERSAL" = "yes"; then
+ wxUSE_TOOLBAR_NATIVE="no"
+ else
wxUSE_TOOLBAR_NATIVE="yes"
- fi
-
- if test "$wxUSE_TOOLBAR_NATIVE" = "yes"; then
AC_DEFINE(wxUSE_TOOLBAR_NATIVE)
- USES_CONTROLS=1
fi
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS toolbar"
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"
USE_MEDIA=0
if test "$wxUSE_MEDIACTRL" = "yes"; then
+ USE_MEDIA=1
+
dnl -----------------------------------------------------------------------
dnl GStreamer
dnl -----------------------------------------------------------------------
if test "$wxUSE_GTK" = 1; then
- wxUSE_GSTREAMER="yes"
+ wxUSE_GSTREAMER="no"
dnl -------------------------------------------------------------------
dnl Test for at least 0.8 gstreamer module from pkg-config
dnl -------------------------------------------------------------------
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
+ GST_VERSION=$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="$GST_CFLAGS $CPPFLAGS"
- LIBS="$LIBS $GST_LIBS -lgstinterfaces-$GST_MAJORMINOR"
- ],
- [
+ PKG_CHECK_MODULES(GST,
+ [gstreamer-$GST_VERSION gstreamer-plugins-base-$GST_VERSION gconf-2.0],
+ [
+ wxUSE_GSTREAMER="yes"
+ GST_LIBS="$GST_LIBS -lgstinterfaces-$GST_VERSION"
+ ],
+ [
+ AC_MSG_WARN([GStreamer 0.10 not available, falling back to 0.8])
GST_VERSION_MINOR=8
- ])
- else
+ ]
+ )
+ else
+ dnl check only for 0.8
GST_VERSION_MINOR=8
fi
- GSTREAMER_REQ=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_RELEASE
- GST_MAJORMINOR=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
-
- if test x$GST_VERSION_MINOR = x8; then
- PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR
- gstreamer-interfaces-$GST_MAJORMINOR
- gstreamer-gconf-$GST_MAJORMINOR,
- [
- CPPFLAGS="$GST_CFLAGS $CPPFLAGS"
- LIBS="$LIBS $GST_LIBS"
- ],
+ if test $GST_VERSION_MINOR = "8"; then
+ GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR
+ PKG_CHECK_MODULES(GST,
+ [gstreamer-$GST_VERSION gstreamer-interfaces-$GST_VERSION gstreamer-gconf-$GST_VERSION],
+ wxUSE_GSTREAMER="yes",
[
- AC_MSG_WARN([Proper GStreamer .8/.10 installation not found])
- wxUSE_GSTREAMER="no"
+ AC_MSG_WARN([GStreamer 0.8/0.10 not available.])
])
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])
+ else
+ USE_MEDIA=0
fi
fi
- USE_MEDIA=1
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
- AC_DEFINE(wxUSE_MEDIACTRL)
+
+ if test $USE_MEDIA = 1; then
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS mediaplayer"
+ AC_DEFINE(wxUSE_MEDIACTRL)
+ fi
fi
dnl ---------------------------------------------------------------------------
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=""
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
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
case "$TOOLKIT" in
GTK)
- TOOLKIT_USER="GTK+"
+ TOOLKIT_DESC="GTK+"
if test "$WXGTK20" = 1; then
- TOOLKIT_USER="$TOOLKIT_USER 2"
+ TOOLKIT_DESC="$TOOLKIT_DESC 2"
+ if test "$wxUSE_LIBGNOMEPRINT" = "yes" ; then
+ TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomeprint";
+ fi
+ if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then
+ TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomevfs"
+ fi
+ if test "$wxUSE_LIBHILDON" = "yes"; then
+ TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon"
+ fi
+
+ if test "$TOOLKIT_EXTRA" != ""; then
+ TOOLKIT_DESC="$TOOLKIT_DESC with support for `echo $TOOLKIT_EXTRA | tr -s ' '`"
+ fi
fi
;;
+ ?*)
+ TOOLKIT_DESC=$TOOLKIT_LOWERCASE
+ ;;
+
*)
- TOOLKIT_USER=$TOOLKIT_LOWERCASE
+ TOOLKIT_DESC="base only"
;;
esac
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"
+ if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then
+ dnl --enable-universal_binary uses a default SDK (currently 10.4u)
+ dnl --enable-universal_binary=SDK names a path to an SDK
+ if test "x$wxUSE_UNIVERSAL_BINARY" == xyes; then
+ OSX_UNIV_OPTS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
+ else
+ dnl '' would mean universal with no SDK, which may be the case if
+ dnl the compiler uses a sysroot by default
+ OSX_UNIV_OPTS=${wxUSE_UNIVERSAL_BINARY:+"-isysroot '$wxUSE_UNIVERSAL_BINARY'"}
+ fi
+ OSX_UNIV_OPTS="$OSX_UNIV_OPTS -arch ppc -arch i386"
+ CXXFLAGS="$OSX_UNIV_OPTS $CXXFLAGS"
+ CFLAGS="$OSX_UNIV_OPTS $CFLAGS"
+ LDFLAGS="$OSX_UNIV_OPTS $LDFLAGS"
bk_use_pch=no
fi
# TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)?
# The makefile currently uses AR and RANLIB, which libtool apparently supercedes.
- # 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 at which time, this hack can be removed.
if test "$wxUSE_MAC" = 1 ; then
- if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then
+ if test "x$wxUSE_UNIVERSAL_BINARY" != "xno" ; then
sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp
mv temp bk-deps
chmod +x bk-deps
echo
echo "Configured wxWidgets ${WX_VERSION} for \`${host}'"
echo ""
-echo " Which GUI toolkit should wxWidgets use? ${TOOLKIT_USER:-base only}"
+echo " Which GUI toolkit should wxWidgets use? ${TOOLKIT_DESC}"
echo " Should wxWidgets be compiled into single library? ${wxUSE_MONOLITHIC:-yes}"
echo " Should wxWidgets be compiled in debug mode? ${wxUSE_DEBUG:-no}"
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 ""