dnl initialization
dnl ---------------------------------------------------------------------------
-AC_INIT([wxWidgets], [2.7.1], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.8.0], [wx-dev@lists.wxwidgets.org])
dnl the file passed to AC_CONFIG_SRCDIR should be specific to our package
AC_CONFIG_SRCDIR([wx-config.in])
dnl wx_release_number += 1
wx_major_version_number=2
-wx_minor_version_number=7
-wx_release_number=2
+wx_minor_version_number=8
+wx_release_number=0
wx_subrelease_number=0
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
DEFAULT_wxUSE_OPTIMISE=no
DEFAULT_wxUSE_PROFILE=no
DEFAULT_wxUSE_NO_DEPS=no
+ DEFAULT_wxUSE_VARARG_MACROS=no
DEFAULT_wxUSE_NO_RTTI=no
DEFAULT_wxUSE_NO_EXCEPTIONS=no
DEFAULT_wxUSE_UNIVERSAL_BINARY=no
DEFAULT_wxUSE_OPTIMISE=yes
DEFAULT_wxUSE_PROFILE=no
DEFAULT_wxUSE_NO_DEPS=no
+ DEFAULT_wxUSE_VARARG_MACROS=yes
DEFAULT_wxUSE_NO_RTTI=no
DEFAULT_wxUSE_NO_EXCEPTIONS=no
DEFAULT_wxUSE_UNIVERSAL_BINARY=no
DEFAULT_wxUSE_LIBXPM=yes
DEFAULT_wxUSE_LIBMSPACK=yes
DEFAULT_wxUSE_LIBSDL=no
- DEFAULT_wxUSE_LIBGNOMEPRINT=no
+ DEFAULT_wxUSE_LIBGNOMEPRINT=yes
DEFAULT_wxUSE_LIBGNOMEVFS=no
DEFAULT_wxUSE_LIBHILDON=no
DEFAULT_wxUSE_ODBC=no
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(vararg_macros, [ --disable-vararg_macros don't use vararg macros, even if they are supported], wxUSE_VARARG_MACROS)
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(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(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)
DEFAULT_DEFAULT_wxUSE_MOTIF=0
DEFAULT_DEFAULT_wxUSE_MSW=1
wxUSE_SHARED=no
+ CC=${CC:-winegcc}
+ CXX=${CXX:-wineg++}
fi
AC_CACHE_CHECK([if make is GNU make], wx_cv_prog_makeisgnu,
[
if ( ${SHELL-sh} -c "${MAKE-make} --version" 2> /dev/null |
- egrep -s GNU > /dev/null); then
+ $EGREP -s GNU > /dev/null); then
wx_cv_prog_makeisgnu="yes"
else
wx_cv_prog_makeisgnu="no"
if test "$wxUSE_WINE" = "yes"; then
wants_win32=1
- dnl FIXME: we should do a better job of testing for these
- CC=winegcc
- CXX=wineg++
LDFLAGS_GUI="-mwindows"
fi
fi
fi
+dnl don't check for vararg macros if they're explicitly disabled: this is
+dnl useful if the user code using the library wants to limit itself to standard
+dnl C++ only (e.g. is compiled with g++ -std=c++98)
+if test "$wxUSE_VARARG_MACROS" = "yes"; then
+
dnl Check if variadic macros (C99 feature) are supported:
AC_CACHE_CHECK(
[whether the compiler supports variadic macros],
[wx_cv_have_variadic_macros],
[
+ dnl C compiler might support variadic macros when C++ one doesn't
+ dnl (happens with gcc/g++ 2.95.4), so must use C++ one explicitly
+ AC_LANG_PUSH(C++)
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM(
[
[wx_cv_have_variadic_macros=yes],
[wx_cv_have_variadic_macros=no]
)
+ AC_LANG_POP()
]
)
AC_DEFINE(HAVE_VARIADIC_MACROS)
fi
+fi dnl wxUSE_VARARG_MACROS == yes
+
dnl check for large file support
AC_SYS_LARGEFILE
else
dnl we are using the system library
wxUSE_LIBJPEG=sys
+
+ if test "$wxUSE_MSW" = 1; then
+ dnl boolean is defined by the jpeg headers and also by the
+ dnl Windows headers of some compilers. This type has been
+ dnl renamed in the builtin, so it is only an issue when
+ dnl using an external jpeg lib on Windows.
+ AC_CHECK_TYPES(
+ [boolean],
+ [
+ AC_CHECK_SIZEOF(
+ [boolean],
+ [],
+ [
+ #undef HAVE_BOOLEAN
+ #include <stdio.h>
+ #include <jpeglib.h>
+ ])
+ AC_DEFINE_UNQUOTED(
+ [wxHACK_BOOLEAN],
+ [wxInt`expr 8 \* $ac_cv_sizeof_boolean`])
+ ],
+ [],
+ [#include <windows.h>])
+ fi
fi
fi
fi
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
PKG_PROG_PKG_CONFIG()
PKG_CHECK_MODULES(DIRECTFB,
- [directfb >= 0.9.22],
+ [directfb >= 0.9.23],
[
wxUSE_UNIVERSAL="yes"
TOOLKIT_INCLUDE="$DIRECTFB_CFLAGS"
USE_OPENGL=0
if test "$wxUSE_OPENGL" = "yes"; then
- if test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
+ if test "$wxUSE_MGL" = 1 -o "$wxUSE_DFB" = "1"; then
+ AC_MSG_WARN([wxGLCanvas not implemented for this port, library will be compiled without it.])
+ wxUSE_OPENGL="no"
+ elif test "$wxUSE_MAC" = 1 -o "$wxUSE_COCOA" = "1"; then
OPENGL_LIBS="-framework OpenGL -framework AGL"
elif test "$wxUSE_MSW" = 1; then
OPENGL_LIBS="-lopengl32 -lglu32"
dnl Unix implementation needs additional checks because audio support
dnl comes in many favours:
if test "$USE_UNIX" = "1" ; 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 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_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_SPEED, 0);
- ],
- ac_cv_header_sys_soundcard=yes,
- [
- LIBS="$saveLibs"
- ac_cv_header_sys_soundcard=no
- ]
- )
- ]
- )
- ])
+ dnl mmedia doesn't compile with wxMGL, remove this if this is ever fixed
+ if test "$wxUSE_MGL" != 1; 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 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_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_SPEED, 0);
+ ],
+ ac_cv_header_sys_soundcard=yes,
+ [
+ LIBS="$saveLibs"
+ ac_cv_header_sys_soundcard=no
+ ]
+ )
+ ]
+ )
+ ])
+ fi
if test "$ac_cv_header_sys_soundcard" = "yes"; then
AC_DEFINE(HAVE_SYS_SOUNDCARD_H)
DISABLED_CONTRIB="$DISABLED_CONTRIB mmedia"
fi
fi
+
WITH_PLUGIN_SDL=0
if test "$wxUSE_SOUND" = "yes"; then
if test "$USE_UNIX" = "1" ; then
AC_CACHE_CHECK(for timezone variable in <time.h>,
wx_cv_var_timezone,
[
+ AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[
#include <time.h>
)
]
)
+ AC_LANG_POP()
]
)
],
wx_cv_type_getsockopt5=socklen_t,
[
- dnl the compiler will compile the version with size_t
- dnl even if the real type of the last parameter is int
- dnl but it should give at least a warning about
- dnl converting between incompatible pointer types, so
- dnl try to use it to get the correct behaviour at
- dnl least with gcc (otherwise we'd always use size_t)
- CFLAGS_OLD="$CFLAGS"
- if test "$GCC" = yes ; then
- CFLAGS="-Werror $CFLAGS"
- fi
-
+ dnl Note that the rules for compatibility of pointers
+ dnl are somewhat different between C and C++, so code
+ dnl that fails in C++ may not even give a warning about
+ dnl converting between incompatible pointer types in C.
+ dnl So this test needs to be done in C++ mode.
+ AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[
#include <sys/types.h>
wx_cv_type_getsockopt5=unknown
)
)
-
- CFLAGS="$CFLAGS_OLD"
+ AC_LANG_POP()
]
)
])
else
dnl wxJoystick not supported by wxMGL at all
if test "$wxUSE_MGL" != "1"; then
- AC_CHECK_HEADERS(linux/joystick.h, wxUSE_JOYSTICK=yes)
+ dnl notice the dummy includes argument: without it, AC_CHECK_HEADER
+ dnl checks only whether the header can be preprocessed, not that it
+ dnl can be compiled and in Linux 2.6.16 joystick.h is present but
+ dnl can't be compiled because of an error and with the default
+ dnl AC_CHECK_HEADER semantics we'd still detect it in this case and
+ dnl build would fail later
+ AC_CHECK_HEADER(linux/joystick.h, wxUSE_JOYSTICK=yes,,[#include <stdio.h>])
fi
fi
disabled_var=DISABLED_`echo $subdir | tr [[a-z]] [[A-Z]]`;
eval "disabled=\$$disabled_var"
disabled=/`echo X $disabled | sed 's@ @/|/@g'`/
- makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | egrep -v "$disabled"`
+ makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | $EGREP -v "$disabled"`
fi
else dnl we build wxBase only
dnl don't take all samples/utils, just those which build with