dnl initialization
dnl ---------------------------------------------------------------------------
-AC_INIT([wxWidgets], [2.5.4], [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=4
-wx_subrelease_number=2
+wx_minor_version_number=6
+wx_release_number=0
+wx_subrelease_number=0
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
WX_VERSION=$WX_RELEASE.$wx_release_number
WX_MSW_VERSION=$wx_major_version_number$wx_minor_version_number$wx_release_number
-WX_CURRENT=4
+WX_CURRENT=0
WX_REVISION=0
-WX_AGE=4
+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_MONOLITHIC=no
DEFAULT_wxUSE_PLUGINS=no
DEFAULT_wxUSE_OFFICIAL_BUILD=no
+
+ DEFAULT_wxUSE_GTK1=no
+ DEFAULT_wxUSE_GTK2=no
else
DEFAULT_wxUSE_UNIVERSAL=no
DEFAULT_wxUSE_STL=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_OPENGL=yes
DEFAULT_wxUSE_ON_FATAL_EXCEPTION=yes
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_PLUGINS=no
DEFAULT_wxUSE_OFFICIAL_BUILD=no
- dnl Appliable only when --with-gtk was used:
- DEFAULT_wxUSE_GTK2=yes
+ dnl Implies --with-gtk. Should be no here, the default is set to yes below
+ DEFAULT_wxUSE_GTK1=no
+ DEFAULT_wxUSE_GTK2=no
fi
dnl WX_ARG_WITH should be used to select whether an external package will be
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 use GTK+ (currently uses 2.0)], [wxUSE_GTK="$withval" CACHE_GTK=1 TOOLKIT_GIVEN=1])
+WX_ARG_WITH(gtk1, [ --with-gtk1 use GTK+ 1.2], wxUSE_GTK1)
+WX_ARG_WITH(gtk2, [ --with-gtk2 use GTK+ 2.0], wxUSE_GTK2)
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)
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(debug, [ --enable-debug same as debug_flag and debug_info], wxUSE_DEBUG)
WX_ARG_ENABLE(stl, [ --enable-stl use STL for containers], wxUSE_STL)
if test "$USE_OS2" = "1"; then
+ DEFAULT_wxUSE_OMF=no
WX_ARG_ENABLE(omf, [ --enable-omf use OMF object format], wxUSE_OMF)
fi
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
+dnl --with-gtk1 or --with-gtk2 imply --with-gtk
+if test "$wxUSE_GTK1" = "yes" -o "$wxUSE_GTK2" = "yes"; then
+ wxUSE_GTK=yes
+ TOOLKIT_GIVEN=1
+fi
+
if test "$wxUSE_GUI" = "yes"; then
if test "$USE_BEOS" = 1; then
dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add
dnl -g and -O flags ourselves below
CFLAGS=${CFLAGS:=}
-AC_PROG_CC
-AC_WX_METROWERKS_EXTO
-if test "x$wx_cv_c_exto" '!=' "x"; then
- unset ac_cv_prog_cc_g
- _AC_PROG_CC_G
-fi
-AC_BAKEFILE_PROG_MWCC
-AC_WX_PROG_XLCC
+AC_BAKEFILE_PROG_CC
dnl is -traditional needed for correct compilations
dnl adds -traditional for gcc if needed
dnl
dnl see CFLAGS line above
CXXFLAGS=${CXXFLAGS:=}
-AC_PROG_CXX
-AC_WX_METROWERKS_EXTO
-if test "x$wx_cv_cxx_exto" '!=' "x"; then
- unset ac_cv_prog_cxx_g
- _AC_PROG_CXX_G
-fi
-AC_BAKEFILE_PROG_MWCXX
-AC_WX_PROG_XLCXX
+AC_BAKEFILE_PROG_CXX
AC_LANG_RESTORE
dnl wx_cv_gccversion = EMX3 -> EMX with gcc-3.0.3 or gcc-3.2.1
dnl wx_cv_gccversion = Innotek5 -> gcc-3.2.2 with Innotek libc5
dnl wx_cv_gccversion = Innotek6 -> gcc-3.3.5 with Innotek libc6.
- AC_CACHE_CHECK([for gcc version], wx_cv_gccversion,[
+ AC_CACHE_CHECK([for gcc/libc version], wx_cv_gccversion,[
AC_TRY_RUN(
dnl Check the gcc version macro.
[
wxUSE_OMF=yes
enable_omf=yes
fi
- if test "$wxUSE_OMF" = "yes"; then
- LDFLAGS="$LDFLAGS -Zlinker /EXEPACK -Zlinker /PMTYPE:PM"
- fi
dnl (end of OS/2-only piece)
;;
*)
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 GTK+2 is currently the default
+ if test "x$wxUSE_GTK1" != "xyes" -a "x$wxUSE_GTK2" != "xyes"; then
+ wxUSE_GTK2=yes
+ fi
+
+ dnl test for GTK2
wx_cv_lib_gtk=
if test "x$wxUSE_GTK2" = "xyes"; then
AM_PATH_GTK_2_0(2.0.0, wx_cv_lib_gtk=2.0, , $GTK_MODULES)
- else
+ fi
+
+ dnl test for GTK1.x
+ if test -z "$wx_cv_lib_gtk" -a "x$wxUSE_GTK1" = "xyes"; then
AM_PATH_GTK(1.2.7, wx_cv_lib_gtk=1.2.7, , $GTK_MODULES)
if test -z "$wx_cv_lib_gtk"; then
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
if test "$WXGTK20" = 1; then
save_CFLAGS="$CFLAGS"
save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $GTK_CFLAGS"
- LIBS="$LIBS $GTK_LIBS"
+ CFLAGS="$CFLAGS $wx_cv_cflags_gtk"
+ LIBS="$LIBS $wx_cv_lib_gtk"
AC_CHECK_FUNCS([pango_font_family_is_monospace])
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
AC_MSG_CHECKING([for -lGL])
WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GL)
if test "$ac_find_libraries" != "" ; then
+ AC_MSG_RESULT([yes])
+
WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
if test "$ac_path_to_link" != " -L/usr/lib" ; then
LDFLAGS_GL="$ac_path_to_link"
dnl don't suppose that libGL and libGLU are always in the
dnl same directory -- this is not true for some common
dnl distributions
+ AC_MSG_CHECKING([for -lGLU])
WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],GLU)
if test "$ac_find_libraries" != "" ; then
WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
found_gl=1
OPENGL_LIBS="-lGL -lGLU"
AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
fi
+ else
+ AC_MSG_RESULT([no])
fi
if test "$found_gl" != 1; then
- AC_MSG_RESULT([no])
AC_MSG_CHECKING([for -lMesaGL])
WX_PATH_FIND_LIBRARIES([$SEARCH_LIB],MesaGL)
if test "$ac_find_libraries" != "" ; then
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);
AC_LANG_RESTORE
fi
+if test "$wxUSE_STACKWALKER" = "yes" -a "$USE_WIN32" != "1" -a "$USE_UNIX" != "1"; then
+ AC_MSG_WARN([wxStackWalker is only available on Win32 and UNIX... disabled])
+ wxUSE_STACKWALKER=no
+fi
+
+
dnl check for the function for temp files creation
AC_CHECK_FUNCS(mkstemp mktemp, break)
fi
if test "$wxUSE_DEBUGREPORT" = "yes"; then
- AC_DEFINE(wxUSE_DEBUGREPORT)
+ if test "$USE_OS2" = "1"; then
+ AC_MSG_WARN([Creating debug reports not supported under OS/2 yet, disabled])
+ wxUSE_DEBUGREPORT=no
+ else
+ AC_DEFINE(wxUSE_DEBUGREPORT)
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS debugrpt"
+ fi
fi
if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then
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
USE_ODBC=0
fi
+if test "$wxUSE_DEBUGREPORT" = "yes" ; then
+ USE_QA=1
+else
+ USE_QA=0
+fi
+
if test $wxUSE_OFFICIAL_BUILD = "yes" ; then
OFFICIAL_BUILD=1
else
EXE_LINKER="$CXX -o"
fi
+if test "$wxUSE_OMF" = "yes"; then
+ case "${host}" in
+ *-pc-os2_emx | *-pc-os2-emx )
+ LDFLAGS="$LDFLAGS -Zlinker /EXEPACK"
+ LDFLAGS_GUI="-Zlinker /PMTYPE:PM"
+ WXCONFIG_LDFLAGS_GUI="-Zlinker /PMTYPE:PM"
+ ;;
+ esac
+fi
dnl According to Vaclav, if NO_GCC_PRAGMA is used for any reason it needs to
dnl be in wx-config output. Not doing so could result in link problems.