dnl initialization
dnl ---------------------------------------------------------------------------
-AC_INIT([wxWidgets], [2.5.5], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.6.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 removing the previous definition), instead do: WX_AGE = 0
dnl
dnl When the major or minor version numbers are incremented, all the above
-dnl variables should be reset to 0.
+dnl variables should be reset to 0. wx_subrelease_number should be set to zero
+dnl when major, minor or release numbers change.
dnl
dnl The resulting library name will be of the form:
dnl libwx_$(TOOLKIT)-$(WX_RELEASE).so.$(WX_CURRENT).$(WX_REVISION).$(WX_AGE)
wx_major_version_number=2
-wx_minor_version_number=5
-wx_release_number=5
+wx_minor_version_number=6
+wx_release_number=0
wx_subrelease_number=0
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
-WX_CURRENT=5
+WX_CURRENT=0
WX_REVISION=0
-WX_AGE=5
+WX_AGE=0
dnl ------------------------------------------------------------------------
DEFAULT_wxUSE_DEBUGREPORT=no
DEFAULT_wxUSE_SNGLINST_CHECKER=no
DEFAULT_wxUSE_STD_IOSTREAM=no
+ DEFAULT_wxUSE_STD_STRING=no
DEFAULT_wxUSE_CMDLINE_PARSER=no
DEFAULT_wxUSE_DATETIME=no
DEFAULT_wxUSE_TIMER=no
DEFAULT_wxUSE_DRAG_AND_DROP=no
DEFAULT_wxUSE_DRAGIMAGE=no
DEFAULT_wxUSE_SPLINES=no
+ DEFAULT_wxUSE_MOUSEWHEEL=no
DEFAULT_wxUSE_MDI=no
DEFAULT_wxUSE_MDI_ARCHITECTURE=no
DEFAULT_wxUSE_LIBXPM=yes
DEFAULT_wxUSE_LIBMSPACK=yes
DEFAULT_wxUSE_LIBSDL=no
- DEFAULT_wxUSE_LIBGNOMEPRINT=no
+ DEFAULT_wxUSE_LIBGNOMEPRINT=yes
DEFAULT_wxUSE_ODBC=no
DEFAULT_wxUSE_OPENGL=no
DEFAULT_wxUSE_STACKWALKER=yes
DEFAULT_wxUSE_DEBUGREPORT=yes
DEFAULT_wxUSE_SNGLINST_CHECKER=yes
- DEFAULT_wxUSE_STD_IOSTREAM=no
+ DEFAULT_wxUSE_STD_IOSTREAM=yes
+ DEFAULT_wxUSE_STD_STRING=yes
DEFAULT_wxUSE_CMDLINE_PARSER=yes
DEFAULT_wxUSE_DATETIME=yes
DEFAULT_wxUSE_TIMER=yes
DEFAULT_wxUSE_DRAG_AND_DROP=yes
DEFAULT_wxUSE_DRAGIMAGE=yes
DEFAULT_wxUSE_SPLINES=yes
+ DEFAULT_wxUSE_MOUSEWHEEL=yes
DEFAULT_wxUSE_MDI=yes
DEFAULT_wxUSE_MDI_ARCHITECTURE=yes
DEFAULT_wxUSE_GTK2=yes
fi
+
dnl WX_ARG_WITH should be used to select whether an external package will be
dnl used or not, to configure compile-time features of this package itself,
dnl use WX_ARG_ENABLE instead
has_toolkit_in_cache=1
eval "DEFAULT_$LINE"
eval "CACHE_$toolkit=1"
+
+ LINE=`grep "wx${toolkit}_VERSION=" ${wx_arg_cache_file}`
+ if test "x$LINE" != "x" ; then
+ eval "DEFAULT_$LINE"
+ fi
fi
done
if test "$wxUSE_GUI" = "yes"; then
WX_ARG_ENABLE(universal, [ --enable-universal use wxWidgets GUI controls instead of native ones], wxUSE_UNIVERSAL)
-AC_ARG_WITH(gtk, [ --with-gtk use GTK+], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
+AC_ARG_WITH(gtk, [[ --with-gtk[=VERSION] use GTK+, VERSION can be 2 (default), 1 or "any"]], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE_MOTIF="$withval" CACHE_MOTIF=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(mac, [ --with-mac use Mac OS X], [wxUSE_MAC="$withval" CACHE_MAC=1 TOOLKIT_GIVEN=1])
AC_ARG_WITH(cocoa, [ --with-cocoa use Cocoa], [wxUSE_COCOA="$withval" CACHE_COCOA=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(gtk2, [ --disable-gtk2 use GTK+ 1.2 instead of 2.0], wxUSE_GTK2)
+AC_ARG_ENABLE(gtk2, [ --disable-gtk2 use GTK+ 1.2 instead of 2.0], [wxUSE_GTK2="$enableval"])
WX_ARG_ENABLE(gpe, [ --enable-gpe use GNOME PDA Environment features if possible], wxUSE_GPE)
WX_ARG_SYS_WITH(libpng, [ --with-libpng use libpng (PNG image format)], wxUSE_LIBPNG)
WX_ARG_ENABLE(mslu, [ --enable-mslu use MS Layer for Unicode on Windows 9x (Win32 only)], wxUSE_UNICODE_MSLU)
WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM)
+WX_ARG_ENABLE(std_string, [ --enable-std_string use standard C++ string classes], wxUSE_STD_STRING)
WX_ARG_ENABLE(stdpaths, [ --enable-stdpaths use wxStandardPaths class], wxUSE_STDPATHS)
WX_ARG_ENABLE(stopwatch, [ --enable-stopwatch use wxStopWatch class], wxUSE_STOPWATCH)
WX_ARG_ENABLE(streams, [ --enable-streams use wxStream etc classes], wxUSE_STREAMS)
WX_ARG_ENABLE(miniframe, [ --enable-miniframe use wxMiniFrame class], wxUSE_MINIFRAME)
WX_ARG_ENABLE(tooltips, [ --enable-tooltips use wxToolTip class], wxUSE_TOOLTIPS)
WX_ARG_ENABLE(splines, [ --enable-splines use spline drawing code], wxUSE_SPLINES)
+WX_ARG_ENABLE(mousewheel, [ --enable-mousewheel use mousewheel], wxUSE_MOUSEWHEEL)
WX_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS)
WX_ARG_ENABLE(busyinfo, [ --enable-busyinfo use wxBusyInfo], wxUSE_BUSYINFO)
WX_ARG_ENABLE(joystick, [ --enable-joystick use wxJoystick], wxUSE_JOYSTICK)
wxUSE_SHARED=no
fi
+
if test "$wxUSE_GUI" = "yes"; then
if test "$USE_BEOS" = 1; then
fi
if test "$TOOLKIT_GIVEN" = 1; then
- dnl convert "yes" to 1 and "no" to 0
+ dnl convert "yes", "any" or a number to 1 and "no" to 0
for toolkit in `echo $ALL_TOOLKITS`; do
var=wxUSE_$toolkit
eval "value=\$${var}"
- eval "$var=`echo \$value | sed -e "s/yes/1/" -e "s/no/0/"`"
+ if test "x$value" = "xno"; then
+ eval "$var=0"
+ elif test "x$value" != "x"; then
+ eval "$var=1"
+ fi
+
+ if test "x$value" != "x" -a "x$value" != "xyes" -a "x$value" != "xno"; then
+ eval "wx${toolkit}_VERSION=$value"
+ fi
done
else
dnl try to guess the most apropriate toolkit for this platform
var=DEFAULT_DEFAULT_wxUSE_$toolkit
else
var=DEFAULT_wxUSE_$toolkit
+
+ eval "version=\$DEFAULT_wx${toolkit}_VERSION"
+ if test "x$version" != "x"; then
+ eval "wx${toolkit}_VERSION=$version"
+ fi
fi
eval "wxUSE_$toolkit=\$${var}"
done
AC_MSG_ERROR(Please specify at most one toolkit (maybe some are cached in configarg.cache?))
esac
+ # to be removed when --disable-gtk2 isn't needed
+ if test "x$wxUSE_GTK2" = "xyes"; then
+ wxGTK_VERSION=2
+ elif test "x$wxUSE_GTK2" = "xno"; then
+ wxGTK_VERSION=1
+ fi
+
dnl cache the wxUSE_<TOOLKIT> values too
for toolkit in `echo $ALL_TOOLKITS`; do
var=wxUSE_$toolkit
eval "cache=\$${cache_var}"
if test "$cache" = 1; then
echo "$var=$value" >> ${wx_arg_cache_file}
+ eval "version=\$wx${toolkit}_VERSION"
+ if test "x$version" != "x"; then
+ echo "wx${toolkit}_VERSION=$version" >> ${wx_arg_cache_file}
+ fi
fi
if test "$value" = 1; then
toolkit_echo=`echo $toolkit | tr "[[A-Z]]" "[[a-z]]"`
dnl AC_CXX_DYNAMIC_CAST
dnl check various STL features
+if test "$wxUSE_UNICODE" = "yes" -a \
+ \( "$wxUSE_STD_STRING" = "yes" -o "$wxUSE_STL" = "yes" \); then
+ AC_LANG_PUSH(C++)
+
+ dnl check if <string> declares std::wstring
+ AC_MSG_CHECKING([for std::wstring in <string>])
+ AC_TRY_COMPILE([#include <string>],
+ [std::wstring foo;],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_STD_WSTRING)],
+ [AC_MSG_RESULT(no)
+ AC_MSG_CHECKING([if std::basic_string<wchar_t> works])
+ AC_TRY_COMPILE([
+ #ifdef HAVE_WCHAR_H
+ # ifdef __CYGWIN__
+ # include <stddef.h>
+ # endif
+ # include <wchar.h>
+ #endif
+ #ifdef HAVE_STDLIB_H
+ # include <stdlib.h>
+ #endif
+ #include <stdio.h>
+ #include <string>
+ ],
+ [std::basic_string<wchar_t> foo;
+ const wchar_t* dummy = foo.c_str();],
+ [AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT([no])
+ AC_MSG_ERROR([Can't compile without unicode string class])]
+ )
+ ])
+
+ AC_LANG_POP
+fi
+
if test "$wxUSE_STL" = "yes"; then
AC_LANG_PUSH(C++)
[AC_MSG_RESULT([no])
AC_MSG_ERROR([Basic STL functionality missing])])
- dnl check if <string> declares std::wstring
- AC_MSG_CHECKING([for std::wstring in <string>])
- AC_TRY_COMPILE([#include <string>],
- [std::wstring foo;],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_STD_WSTRING)],
- [AC_MSG_RESULT(no)])
-
dnl check for compliant std::string::compare
AC_MSG_CHECKING([for compliant std::string::compare])
AC_TRY_COMPILE([#include <string>],
GTK_MODULES=gthread
fi
- dnl note that if we fail to find GTK2 we abort and don't fall
- dnl back to GTK1.x
+ dnl detect GTK2
wx_cv_lib_gtk=
- if test "x$wxUSE_GTK2" = "xyes"; then
+ if test "x$wxGTK_VERSION" != "x1"; then
AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
- else
- AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
+ fi
+
+ dnl detect GTK1.x
+ if test -z "$wx_cv_lib_gtk"; then
+ if test "x$wxGTK_VERSION" = "x1" -o "x$wxGTK_VERSION" = "xany" ; then
+ AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
- if test -z "$wx_cv_lib_gtk"; then
- AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
+ if test -z "$wx_cv_lib_gtk"; then
+ AM_PATH_GTK(1.2.3, wx_cv_lib_gtk=1.2.3, , $GTK_MODULES)
+ fi
fi
fi
1.2.3) WXGTK12=1
;;
*) AC_MSG_ERROR([
-Please check that gtk-config is in path, the directory
-where GTK+ libraries are installed (returned by
-'gtk-config --libs' command) is in LD_LIBRARY_PATH or
-equivalent variable and GTK+ is version 1.2.3 or above.
+The development files for GTK+ were not found. For GTK+ 2, please
+ensure that pkg-config is in the path and that gtk+-2.0.pc is
+installed. For GTK+ 1.2 please check that gtk-config is in the path,
+and that the version is 1.2.3 or above. Also check that the
+libraries returned by 'pkg-config gtk+-2.0 --libs' or 'gtk-config
+--libs' are in the LD_LIBRARY_PATH or equivalent.
])
;;
esac
fi
if test "$wxUSE_MOTIF" = 1; then
+ if test "$wxUSE_UNICODE" = "yes"; then
+ AC_MSG_ERROR([Unicode configuration not supported with Motif])
+ fi
+
AC_MSG_CHECKING(for Motif/Lesstif headers)
WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, Xm/Xm.h)
if test "$ac_find_includes" != "" ; 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 ${LIBWXMACRES} -o"
+ 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 \\\${exec_prefix}/lib/${WX_RESOURCES_MACOSX_ASCII} -o"
+ MACRESWXCONFIG="${RESCOMP} -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"
else
AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
[
- AC_TRY_COMPILE([#include <cxxabi.h>],
+ AC_TRY_LINK([#include <cxxabi.h>],
[
int rc;
__cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
wxUSE_DEBUGREPORT=no
else
AC_DEFINE(wxUSE_DEBUGREPORT)
- SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS debugrpt"
+ if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS debugrpt"
+ fi
fi
fi
AC_DEFINE(wxUSE_STD_IOSTREAM)
fi
+if test "$wxUSE_STD_STRING" = "yes"; then
+ AC_DEFINE(wxUSE_STD_STRING)
+fi
+
if test "$wxUSE_STDPATHS" = "yes"; then
AC_DEFINE(wxUSE_STDPATHS)
fi
AC_DEFINE(wxUSE_SPLINES)
fi
+if test "$wxUSE_MOUSEWHEEL" = "yes" ; then
+ AC_DEFINE(wxUSE_MOUSEWHEEL)
+fi
+
dnl ---------------------------------------------------------------------------
dnl GUI controls
dnl ---------------------------------------------------------------------------
if test "$wxUSE_COCOA" = 1 ; then
AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
wxUSE_TOGGLEBTN=no
- else
- if test "$wxUSE_PM" = 1; then
- AC_MSG_WARN([Toggle button not yet supported under PM... disabled])
- wxUSE_TOGGLEBTN=no
- fi
fi
if test "$wxUSE_UNIVERSAL" = "yes"; then
AC_MSG_WARN([Toggle button not yet supported under wxUniversal... disabled])
else
LDFLAGS="$LDFLAGS -lCarbonLib"
fi
+elif test "$USE_DARWIN" = 1; then
+ LDFLAGS="$LDFLAGS -framework IOKit -framework CoreServices -framework System"
fi
if test "$wxUSE_COCOA" = 1 ; then
LDFLAGS="$LDFLAGS -framework IOKit -framework Cocoa"
dnl wx-config must output builtin 3rd party libs in --libs in static build:
if test "$wxUSE_REGEX" = "builtin" ; then
- wxconfig_3rdparty="$wxconfig_3rdparty regex${lib_unicode_suffix}"
+ wxconfig_3rdparty="regex${lib_unicode_suffix} $wxconfig_3rdparty"
fi
if test "$wxUSE_EXPAT" = "builtin" ; then
- wxconfig_3rdparty="$wxconfig_3rdparty expat"
+ wxconfig_3rdparty="expat $wxconfig_3rdparty"
fi
if test "$wxUSE_ODBC" = "builtin" ; then
- wxconfig_3rdparty="$wxconfig_3rdparty odbc"
+ wxconfig_3rdparty="odbc $wxconfig_3rdparty"
fi
if test "$wxUSE_LIBTIFF" = "builtin" ; then
- wxconfig_3rdparty="$wxconfig_3rdparty tiff"
+ wxconfig_3rdparty="tiff $wxconfig_3rdparty"
fi
if test "$wxUSE_LIBJPEG" = "builtin" ; then
- wxconfig_3rdparty="$wxconfig_3rdparty jpeg"
+ wxconfig_3rdparty="jpeg $wxconfig_3rdparty"
fi
if test "$wxUSE_LIBPNG" = "builtin" ; then
- wxconfig_3rdparty="$wxconfig_3rdparty png"
+ wxconfig_3rdparty="png $wxconfig_3rdparty"
fi
if test "$wxUSE_ZLIB" = "builtin" ; then
- wxconfig_3rdparty="$wxconfig_3rdparty zlib"
-fi
-if test "$wxUSE_ODBC" = "builtin" ; then
- wxconfig_3rdparty="$wxconfig_3rdparty odbc"
+ wxconfig_3rdparty="zlib $wxconfig_3rdparty"
fi
for i in $wxconfig_3rdparty ; do
- WXCONFIG_EXTRALIBS="$WXCONFIG_EXTRALIBS -lwx${i}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
+ WXCONFIG_EXTRALIBS="-lwx${i}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX} $WXCONFIG_EXTRALIBS"
done