X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8f3773fdfd826f19ac39b47272e1a43a2f143b69..33328cd8828baafa97e8623e005b471486b61cc7:/configure.in?ds=sidebyside diff --git a/configure.in b/configure.in index 4659ecedea..8f970ffaaa 100644 --- a/configure.in +++ b/configure.in @@ -35,7 +35,7 @@ dnl wx_release_number += 1 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 @@ -89,7 +89,7 @@ NEEDS_D_REENTRANT_FOR_R_FUNCS=0 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 @@ -102,6 +102,7 @@ DEFAULT_wxUSE_MOTIF=0 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* @@ -115,6 +116,7 @@ DEFAULT_DEFAULT_wxUSE_MOTIF=0 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 @@ -340,6 +342,9 @@ case "${host}" in *) 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 --------------------------------------------------------------------------- @@ -365,7 +370,7 @@ if test $DEBUG_CONFIGURE = 1; then 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 @@ -547,7 +552,6 @@ if test $DEBUG_CONFIGURE = 1; then 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 @@ -579,7 +583,7 @@ else 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 @@ -638,7 +642,7 @@ else DEFAULT_wxUSE_SOUND=yes DEFAULT_wxUSE_MEDIACTRL=no DEFAULT_wxUSE_GSTREAMER8=no - DEFAULT_wxUSE_PRINTF_POS_PARAMS=no + DEFAULT_wxUSE_PRINTF_POS_PARAMS=yes DEFAULT_wxUSE_INTL=yes DEFAULT_wxUSE_CONFIG=yes DEFAULT_wxUSE_FONTMAP=yes @@ -760,7 +764,6 @@ else 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 @@ -838,6 +841,7 @@ AC_ARG_WITH(wine, [ --with-wine use Wine], [wxUSE_WINE="$w 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) @@ -959,7 +963,7 @@ 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(gstreamer8, [ --enable-gstreamer8 force GStreamer 0.8 instead of 0.10 with the wxMediaCtrl class on unix], wxUSE_GSTREAMER8) +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) @@ -1077,7 +1081,6 @@ if test "$wxUSE_CONTROLS" = "yes"; then 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 @@ -1127,7 +1130,6 @@ elif test "$wxUSE_CONTROLS" = "no"; then 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 @@ -1181,7 +1183,6 @@ WX_ARG_ENABLE(textctrl, [ --enable-textctrl use wxTextCtrl class], wxU 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) @@ -1322,7 +1323,7 @@ if test "$wxUSE_GUI" = "yes"; then 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. @@ -1688,11 +1689,11 @@ case "${host}" in #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" @@ -1930,6 +1931,31 @@ else 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 + #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 @@ -2829,6 +2855,15 @@ if test "$USE_WIN32" = 1 ; then dnl install Win32-specific files in "make install" WIN32INSTALL=win32install + + dnl the jpeg header jmorecfg.h delcares the type boolean, which conflicts + dnl on systems which declare it in the system headers. If HAVE_BOOLEAN is + dnl defined then jmorecfg.h doesn't declare it, so checking for it here + dnl solves the problem. + AC_CHECK_TYPES(boolean, [], [], [#include ]) + + dnl pbt.h is missing on Wine at least + AC_CHECK_HEADERS(pbt.h, [], [AC_DEFINE(NEED_PBT_H)]) fi if test "$wxUSE_GUI" = "yes"; then @@ -3156,6 +3191,22 @@ libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config 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 @@ -4351,7 +4402,13 @@ if test "$ac_cv_func_snprintf" = "yes"; then } ], wx_cv_func_snprintf_pos_params=no, - wx_cv_func_snprintf_pos_params=yes + 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 + ] ) ] ) @@ -4362,8 +4419,40 @@ if test "$ac_cv_func_snprintf" = "yes"; then 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 + #include + #include + ], + [ + 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) @@ -4386,6 +4475,11 @@ if test "$wxUSE_FILE" = "yes"; then AC_CHECK_FUNCS(fsync) fi +AC_CHECK_FUNCS(round) +if test "$ac_cv_func_round" = yes; then + AC_CHECK_DECLS(round,,,[#include ]) +fi + dnl the following tests are for Unix(like) systems only if test "$TOOLKIT" != "MSW"; then @@ -4656,7 +4750,7 @@ fi dnl check for uname (POSIX) and gethostname (BSD) AC_CHECK_FUNCS(uname gethostname, break) -AC_CHECK_FUNCS(strtok_r) +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) @@ -5131,7 +5225,7 @@ if test "$wxUSE_THREADS" = "yes"; then 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" @@ -6597,24 +6691,15 @@ if test "$wxUSE_TOGGLEBTN" = "yes"; then 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" @@ -7325,14 +7410,31 @@ AC_SUBST(CPPUNIT_LIBS) 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 @@ -7638,7 +7740,7 @@ dnl report how we have been configured 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}" @@ -7662,9 +7764,6 @@ echo " odbc ${wxUSE_ODBC}" 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 ""