dnl initialization
dnl ---------------------------------------------------------------------------
-AC_INIT([wxWidgets], [2.9.0], [wx-dev@lists.wxwidgets.org])
+AC_INIT([wxWidgets], [2.9.1], [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])
wx_major_version_number=2
wx_minor_version_number=9
-wx_release_number=0
+wx_release_number=1
wx_subrelease_number=0
WX_RELEASE=$wx_major_version_number.$wx_minor_version_number
])
AC_MSG_RESULT([$wxUSE_MACOSX_VERSION_MIN])
+dnl ---------------------------------------------------------------------------
+dnl debugging options
+dnl ---------------------------------------------------------------------------
+
+dnl don't use WX_ARG_ENABLE as it just gets in the way instead of helping with
+dnl this rather unusual option
+AC_MSG_CHECKING([for --enable-debug])
+AC_ARG_ENABLE(debug, [ --enable-debug build library for debugging],
+ [
+ if test "$enableval" = yes; then
+ wxUSE_DEBUG=yes
+ elif test "$enableval" = no; then
+ wxUSE_DEBUG=no
+ elif test "$enableval" = max; then
+ wxUSE_DEBUG=yes
+ WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -DwxDEBUG_LEVEL=2"
+ else
+ AC_MSG_ERROR([Invalid --enable-debug value, must be yes, no or max])
+ fi
+ ],
+ wxUSE_DEBUG=default
+)
+
+case "$wxUSE_DEBUG" in
+ yes)
+ dnl build the library for debugging: enable debugging code and generate
+ dnl the debug information for the library itself
+ DEFAULT_wxUSE_DEBUG_FLAG=yes
+ DEFAULT_wxUSE_DEBUG_INFO=yes
+
+ dnl also disable optimizations by default if --enable-debug was used
+ dnl (this can still be overridden by an explicit --enable-optimise)
+ DEFAULT_wxUSE_OPTIMISE=no
+ ;;
+
+ no)
+ dnl --disable-debug is equivalent to both --disable-debug_flag and
+ dnl --disable-debug_info
+ DEFAULT_wxUSE_DEBUG_FLAG=no
+ DEFAULT_wxUSE_DEBUG_INFO=no
+ ;;
+
+ default)
+ dnl the library is built with debugging support by default but without
+ dnl debug information as this requires much, much more disk space
+ DEFAULT_wxUSE_DEBUG_FLAG=yes
+ DEFAULT_wxUSE_DEBUG_INFO=no
+ ;;
+esac
+
+WX_ARG_DISABLE(debug_flag, [ --disable-debug_flag disable all debugging support], wxUSE_DEBUG_FLAG)
+WX_ARG_ENABLE(debug_info, [ --enable-debug_info generate debug information], wxUSE_DEBUG_INFO)
+
+dnl enabled if just --enable-debug_{flag,info} was
+dnl
+dnl in any case, only set the default value and allow overriding it with an
+
+WX_ARG_ENABLE(debug_gdb, [ --enable-debug_gdb create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
+WX_ARG_ENABLE(debug_cntxt, [ --enable-debug_cntxt obsolete, don't use: use wxDebugContext], wxUSE_DEBUG_CONTEXT)
+WX_ARG_ENABLE(mem_tracing, [ --enable-mem_tracing obsolete, don't use: create code with memory tracing], wxUSE_MEM_TRACING)
+
dnl ---------------------------------------------------------------------------
dnl global compile options
dnl ---------------------------------------------------------------------------
WX_ARG_DISABLE(shared, [ --disable-shared create static library instead of shared], wxUSE_SHARED)
-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)
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(omf, [ --enable-omf use OMF object format], wxUSE_OMF)
fi
-dnl --enable-debug is equivalent to both --enable-debug_flag and
-dnl --enable-debug_info
-if test "$wxUSE_DEBUG" = "yes"; then
- DEFAULT_wxUSE_DEBUG_FLAG=yes
- DEFAULT_wxUSE_DEBUG_INFO=yes
- BUILD=debug
-elif test "$wxUSE_DEBUG" = "no"; then
- DEFAULT_wxUSE_DEBUG_FLAG=no
- DEFAULT_wxUSE_DEBUG_INFO=no
- BUILD=release
-fi
-
-WX_ARG_ENABLE(debug_flag, [ --enable-debug_flag set __WXDEBUG__ flag (recommended for developers!)], wxUSE_DEBUG_FLAG)
-WX_ARG_ENABLE(debug_info, [ --enable-debug_info create code with debugging information], wxUSE_DEBUG_INFO)
-
-dnl it's important to also do it in the other direction to get the correct
-dnl output in the configure summary (which uses wxUSE_DEBUG)
-if test "$wxUSE_DEBUG_FLAG" = "yes" -a "$wxUSE_DEBUG_INFO" = "yes"; then
- wxUSE_DEBUG=yes
- BUILD=debug
-fi
-
-dnl disable optimizations by default if --enable-debug was used but leave them
-dnl enabled if just --enable-debug_{flag,info} was
-dnl
-dnl in any case, only set the default value and allow overriding it with an
-dnl explicit --enable-optimise
-if test "$wxUSE_DEBUG" = "yes"; then
- DEFAULT_wxUSE_OPTIMISE=no
-fi
-
WX_ARG_DISABLE(optimise, [ --disable-optimise compile without optimisations], wxUSE_OPTIMISE)
-WX_ARG_ENABLE(debug_gdb, [ --enable-debug_gdb create code with extra GDB debugging information], wxUSE_DEBUG_GDB)
-WX_ARG_ENABLE(debug_cntxt, [ --enable-debug_cntxt use wxDebugContext], wxUSE_DEBUG_CONTEXT)
-WX_ARG_ENABLE(mem_tracing, [ --enable-mem_tracing create code with memory tracing], wxUSE_MEM_TRACING)
WX_ARG_ENABLE(profile, [ --enable-profile create code with profiling information], wxUSE_PROFILE)
WX_ARG_ENABLE(no_rtti, [ --enable-no_rtti create code without RTTI information], wxUSE_NO_RTTI)
WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS)
WX_ARG_FEATURE(xrc, [ --enable-xrc use XRC resources sub-library], wxUSE_XRC)
WX_ARG_FEATURE(aui, [ --enable-aui use AUI docking library], wxUSE_AUI)
WX_ARG_FEATURE(propgrid, [ --enable-propgrid use wxPropertyGrid library], wxUSE_PROPGRID)
+WX_ARG_FEATURE(ribbon, [ --enable-ribbon use wxRibbon library], wxUSE_RIBBON)
WX_ARG_FEATURE(stc, [ --enable-stc use wxStyledTextCtrl library], wxUSE_STC)
WX_ARG_FEATURE(constraints, [ --enable-constraints use layout-constraints system], wxUSE_CONSTRAINTS)
WX_ARG_FEATURE(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI)
fi
fi
+dnl ---------------------------------------------------------------------------
+dnl Mac-specific SDK/architectures checks
+dnl ---------------------------------------------------------------------------
+
+if test "$wxUSE_MAC" = 1; then
+
retest_macosx_linking=no
dnl Support the old --enable-universal_binary in case anyone was using it.
-#if test "$wxUSE_MAC" = 1; then
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
AC_MSG_WARN([Disabling precompiled headers due to universal binary build.])
bk_use_pch=no
fi
-#fi
dnl Set up the Mac OS X SDK. We do this early so configure tests will occur
dnl with the SDK in place.
wxUSE_MACOSX_VERSION_MIN=
fi
elif test "x$wxUSE_MACOSX_VERSION_MIN" = "x"; then
- if test "$wxUSE_MAC" = 1; then
+ OSX_VERSION=`sw_vers -productVersion | grep 10.[[0-9]]`
+ if test "$wxUSE_OSX_CARBON" = 1 -o "x$OSX_VERSION" = "x10.4"; then
# otherwise configure stops on leopard for universal_binary
wxUSE_MACOSX_VERSION_MIN=10.4
+ else
+ # for OS X Cocoa, use 10.5 so we can get 64-bit compile on Snow Leopard
+ wxUSE_MACOSX_VERSION_MIN=10.5
+ fi
+fi
+
+NEEDS_GCC40="no"
+if test "x$wxUSE_MACOSX_VERSION_MIN" == "x10.4"; then
+ NEEDS_GCC40="yes"
+fi
+
+if test "$wxUSE_OSX_CARBON" = 1; then
+ NEEDS_GCC40="yes"
+fi
+
+if test "x$NEEDS_GCC40" == "xyes"; then
+ # gcc 4.2 cannot compile 10.4 compatible code, so if the user is using it
+ # and wants 10.4 compatible code, then 'downgrade' to 4.0
+ # This is also the simplest way to get 32-bit binaries on Snow Leopard.
+ if test "x$CC" = "xgcc"; then
+ CCVERSION=`$CC --version | grep 4.[[2-9]].`
+ if test "x$CCVERSION" != "x"; then
+ echo "$as_me:$LINENO: WARNING: gcc >= 4.2 cannot compile 10.4 compatible code. Using gcc 4.0 instead."
+ CC="/usr/bin/gcc-4.0"
+ fi
+ fi
+
+ if test "x$CXX" = "xg++"; then
+ CCVERSION=`$CXX --version | grep 4.[[2-9]].`
+ if test "x$CCVERSION" != "x"; then
+ CXX="/usr/bin/g++-4.0"
+ fi
fi
fi
AC_LANG_POP()
fi
+fi dnl wxUSE_MAC
case "${host}" in
/usr/local/include \
/usr/local/X11/include \
/usr/local/include/X11 \
+ /usr/local/X11R7/include \
/usr/local/X11R6/include \
+ /usr/local/include/X11R7 \
/usr/local/include/X11R6 \
\
/usr/Motif-2.1/include \
\
/usr/include/Xm \
\
+ /usr/X11R7/include \
/usr/X11R6/include \
/usr/X11R6.4/include \
\
+ /usr/include/X11R7 \
/usr/include/X11R6 \
\
/usr/X11/include \
wxUSE_OPENGL=no
USE_OPENGL=0
fi
- else
- dnl libraries are available... change 'auto' in 'yes'
- wxUSE_OPENGL=yes
fi
else
AC_MSG_WARN([wxGLCanvas not implemented for this port, library will be compiled without it.])
wxUSE_OPENGL="no"
fi
+ if test "$wxUSE_OPENGL" = "auto"; then
+ dnl if the OpenGL libraries were unavailable, this would have been
+ dnl changed to "no" above, if it wasn't, change it to "yes" as we've
+ dnl verified that we can indeed use OpenGL
+ wxUSE_OPENGL=yes
+ fi
+
if test "$wxUSE_OPENGL" = "yes"; then
USE_OPENGL=1
AC_DEFINE(wxUSE_OPENGL)
UNICODE=1
fi
-lib_debug_suffix=
-WX_DEBUGTYPE="release"
-DEBUG_FLAG=0
-if test "$wxUSE_DEBUG_FLAG" = "yes"; then
- lib_debug_suffix=d
- WX_DEBUGTYPE="debug"
- DEBUG_FLAG=1
-fi
-
WX_FLAVOUR=${WX_FLAVOUR:+-$WX_FLAVOUR}
WX_LIB_FLAVOUR=`echo $WX_FLAVOUR | tr '-' '_'`
DEBUG_INFO=1
fi
-WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr '[[a-z]]' '[[A-Z]]'`
+WX_VERSION_TAG=`echo WX${lib_unicode_suffix}${WX_LIB_FLAVOUR}_${WX_RELEASE} | tr '[[a-z]]' '[[A-Z]]'`
-TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
+TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
-TOOLCHAIN_FULLNAME="${HOST_PREFIX}${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}-${WX_DEBUGTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}"
+TOOLCHAIN_FULLNAME="${HOST_PREFIX}${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}"
dnl library link name
-dnl These just save us from exporting lib_{unicode,debug,flavour}_suffix.
+dnl These just save us from exporting lib_{unicode,flavour}_suffix.
dnl If we ever need to do that, we won't need to keep these.
if test "$wxUSE_OSX_CARBON" = 1 -o "$wxUSE_OSX_COCOA" = 1 -o "$wxUSE_COCOA" = 1; then
- WX_LIBRARY_BASENAME_NOGUI="wx_base${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+ WX_LIBRARY_BASENAME_NOGUI="wx_base${lib_unicode_suffix}${WX_LIB_FLAVOUR}"
else
- WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+ WX_LIBRARY_BASENAME_NOGUI="wx_base${WXBASEPORT}${lib_unicode_suffix}${WX_LIB_FLAVOUR}"
fi
if test "${TOOLKIT_DIR}" = "os2"; then
- WX_LIBRARY_BASENAME_GUI="wx_pm${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+ WX_LIBRARY_BASENAME_GUI="wx_pm${WIDGET_SET}${lib_unicode_suffix}${WX_LIB_FLAVOUR}"
else
- WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${lib_debug_suffix}${WX_LIB_FLAVOUR}"
+ WX_LIBRARY_BASENAME_GUI="wx_${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${WX_LIB_FLAVOUR}"
fi
fi
fi
-if test "$wxUSE_DEBUG_FLAG" = "yes" ; then
- AC_DEFINE(WXDEBUG)
- WXCONFIG_CPPFLAGS="$WXCONFIG_CPPFLAGS -D__WXDEBUG__"
-else
+if test "$wxUSE_DEBUG_FLAG" = "no" ; then
if test "$wxUSE_GTK" = 1 ; then
if test "x$wxGTK_VERSION" = "x1" ; then
CPPFLAGS="-DGTK_NO_CHECK_CASTS $CPPFLAGS"
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS propgrid"
fi
+USE_RIBBON=0
+if test "$wxUSE_RIBBON" = "yes"; then
+ AC_DEFINE(wxUSE_RIBBON)
+ USE_RIBBON=1
+ SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS ribbon"
+fi
+
USE_STC=0
if test "$wxUSE_STC" = "yes"; then
AC_DEFINE(wxUSE_STC)
if test "$wxUSE_PROPGRID" = "yes" ; then
BUILT_WX_LIBS="propgrid $BUILT_WX_LIBS"
fi
+ if test "$wxUSE_RIBBON" = "yes" ; then
+ BUILT_WX_LIBS="ribbon $BUILT_WX_LIBS"
+ fi
if test "$wxUSE_RICHTEXT" = "yes" ; then
BUILT_WX_LIBS="richtext $BUILT_WX_LIBS"
fi
EXTRALIBS_XML="$EXPAT_LINK"
EXTRALIBS_HTML="$MSPACK_LINK"
EXTRALIBS_MEDIA="$GST_LIBS"
-EXTRALIBS_STC="-lwxscintilla${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
+EXTRALIBS_STC="-lwxscintilla${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}"
if test "$wxUSE_GUI" = "yes"; then
EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK $EXTRALIBS_HILDON $EXTRALIBS_GNOMEVFS $EXTRALIBS_GNOMEPRINT`
fi
fi
for i in $wxconfig_3rdparty ; do
- WXCONFIG_LIBS="-lwx${i}${lib_debug_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX} $WXCONFIG_LIBS"
+ WXCONFIG_LIBS="-lwx${i}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX} $WXCONFIG_LIBS"
done
AC_SUBST(EXTRALIBS_GNOMEVFS)
AC_SUBST(EXTRALIBS_HILDON)
AC_SUBST(UNICODE)
-AC_SUBST(BUILD)
AC_SUBST(DEBUG_INFO)
AC_SUBST(DEBUG_FLAG)
TOOLKIT_LOWERCASE=xxx
AC_SUBST(WX_VERSION)
AC_SUBST(WX_SUBVERSION)
AC_SUBST(WX_CHARTYPE)
-AC_SUBST(WX_DEBUGTYPE)
dnl note that in addition to the usual CPP/C/CXXFLAGS which are used for
dnl building the library itself, we also have WXCONFIG_-prefixed variants which
echo ""
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 " Should wxWidgets be linked as a shared library? ${wxUSE_SHARED:-no}"
echo $ECHO_N " Should wxWidgets support Unicode? ${wxUSE_UNICODE:-no}$ECHO_C"
if test "$wxUSE_UNICODE" = "yes"; then