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.])
esac
dnl ---------------------------------------------------------------------------
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_SOUND=yes
DEFAULT_wxUSE_MEDIACTRL=no
DEFAULT_wxUSE_GSTREAMER8=no
+ DEFAULT_wxUSE_PRINTF_POS_PARAMS=no
DEFAULT_wxUSE_INTL=yes
DEFAULT_wxUSE_CONFIG=yes
DEFAULT_wxUSE_FONTMAP=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
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(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(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)
;;
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 ---------------------------------------------------------------------------
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
+ )
+ ]
+ )
+
+ 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)
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 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 ---------------------------------------------------------------------------
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 ---------------------------------------------------------------------------
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 ""