X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6f58b8f45ded26de0e7b7229d464cd45312a35a5..d5e7ffcf7af0e444cc8b3d3cfc2e2ca263f411d5:/configure.in?ds=sidebyside diff --git a/configure.in b/configure.in index a23b2ddadb..7d7c54f754 100644 --- a/configure.in +++ b/configure.in @@ -17,7 +17,7 @@ dnl --------------------------------------------------------------------------- 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]) @@ -26,6 +26,16 @@ dnl sets build, host variables and the same with _alias AC_CANONICAL_BUILD AC_CANONICAL_HOST +dnl notice that if --host was given but --build was not, cross_compiling is +dnl only set to "maybe" and not "yes" and will be either set to "yes" later or +dnl configure will exit with error in AC_PROG_CC so don't test for = "yes" here +if test "$cross_compiling" != "no"; then + HOST_PREFIX="${host_alias}-" + HOST_SUFFIX="-$host_alias" +else + HOST_PREFIX= + HOST_SUFFIX= +fi dnl When making releases do: dnl @@ -33,7 +43,7 @@ dnl wx_release_number += 1 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 @@ -126,7 +136,8 @@ DEFAULT_DEFAULT_wxUSE_DFB=0 PROGRAM_EXT= SAMPLES_RPATH_FLAG= -SAMPLES_RPATH_POSTLINK= +DYLIB_RPATH_INSTALL= +DYLIB_RPATH_POSTLINK= DEFAULT_STD_FLAG=yes @@ -313,18 +324,6 @@ case "${host}" in AC_DEFINE(__DARWIN__) AC_DEFINE(TARGET_CARBON) DEFAULT_DEFAULT_wxUSE_OSX_CARBON=1 - DEFAULT_STD_FLAG=no - ;; - powerpc-apple-macos* ) - dnl Classic Mac OS (< X) - USE_UNIX=0 - dnl For some reason the test that should be cross-compiler capable fails - dnl However, there is no doubt that MacOS PowerPC is big endian. - ac_cv_c_bigendian=yes - dnl AC_DEFINE(TARGET_CARBON) - dnl platform.h needs TARGET_CARBON before setup.h, we'll add it to CPPFLAGS - DEFAULT_DEFAULT_wxUSE_OSX_CARBON=1 - DEFAULT_STD_FLAG=no ;; *-*-beos* ) @@ -364,6 +363,7 @@ dnl libraries disabled by default DEFAULT_wxUSE_DMALLOC=no DEFAULT_wxUSE_LIBGNOMEVFS=no DEFAULT_wxUSE_LIBHILDON=no +DEFAULT_wxUSE_LIBHILDON2=no DEFAULT_wxUSE_LIBMSPACK=no DEFAULT_wxUSE_LIBSDL=no @@ -377,6 +377,7 @@ dnl automatic features DEFAULT_wxUSE_UNICODE_UTF8=auto DEFAULT_wxUSE_OPENGL=auto DEFAULT_wxUSE_MEDIACTRL=auto +DEFAULT_wxUSE_COMPILER_TLS=auto DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no @@ -579,7 +580,7 @@ WX_ARG_WITH(libmspack, [ --with-libmspack use libmspack (CHM help fi WX_ARG_WITHOUT(gtkprint, [ --without-gtkprint don't use GTK printing support], wxUSE_GTKPRINT) WX_ARG_WITHOUT(gnomeprint, [ --without-gnomeprint don't use GNOME printing libraries], wxUSE_LIBGNOMEPRINT) WX_ARG_WITH(gnomevfs, [ --with-gnomevfs use GNOME VFS for associating MIME types], wxUSE_LIBGNOMEVFS) -WX_ARG_WITH(hildon, [ --with-hildon use Hildon framework for Nokia 770], wxUSE_LIBHILDON) +WX_ARG_WITH(hildon, [ --with-hildon use Hildon framework for Nokia 770/800/810], wxUSE_LIBHILDON) WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxUSE_OPENGL) fi @@ -605,12 +606,72 @@ AC_ARG_WITH(macosx-version-min, [ --with-macosx-version-min=VER build bina ]) 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) @@ -624,42 +685,8 @@ if test "$USE_OS2" = 1; then WX_ARG_ENABLE(omf, [ --enable-omf use OMF object format], wxUSE_OMF) fi -dnl --enablle-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) @@ -671,18 +698,12 @@ WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary create Mac WX_ARG_ENABLE(compat26, [ --enable-compat26 enable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6) WX_ARG_DISABLE(compat28, [ --disable-compat28 disable wxWidgets 2.8 compatibility], WXWIN_COMPATIBILITY_2_8) -dnl currently we don't provide a switch for disabling it as it shouldn't be -dnl necessary to do it unless the compiler doesn't support the new events and -dnl this should be tested for by configure itself (but also isn't done yet -dnl because there are no known examples of such compilers among the currently -dnl supported ones) -AC_DEFINE(wxEVENTS_COMPATIBILITY_2_8, 0) - WX_ARG_DISABLE(rpath, [ --disable-rpath disable use of rpath for uninstalled builds], wxUSE_RPATH) WX_ARG_ENABLE(objc_uniquifying,[ --enable-objc_uniquifying enable Objective-C class name uniquifying], wxUSE_OBJC_UNIQUIFYING) WX_ARG_DISABLE(visibility, [ --disable-visibility disable use of ELF symbols visibility even if supported], wxUSE_VISIBILITY) +WX_ARG_DISABLE(tls, [ --disable-tls disable use of compiler TLS support], wxUSE_COMPILER_TLS) dnl --------------------------------------------------------------------------- dnl optional non GUI features @@ -708,6 +729,7 @@ WX_ARG_FEATURE(epollloop, [ --enable-epollloop use wxEpollDispatcher c WX_ARG_FEATURE(selectloop, [ --enable-selectloop use wxSelectDispatcher class], wxUSE_SELECT_DISPATCHER) dnl please keep the settings below in alphabetical order +WX_ARG_FEATURE(any, [ --enable-any use wxAny class], wxUSE_ANY) WX_ARG_FEATURE(apple_ieee, [ --enable-apple_ieee use the Apple IEEE codec], wxUSE_APPLE_IEEE) WX_ARG_FEATURE(arcstream, [ --enable-arcstream use wxArchive streams], wxUSE_ARCHIVE_STREAMS) WX_ARG_FEATURE(base64, [ --enable-base64 use base64 encoding/decoding functions], wxUSE_BASE64) @@ -772,6 +794,7 @@ WX_ARG_FEATURE(htmlhelp, [ --enable-htmlhelp use wxHTML-based help], w 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) @@ -894,6 +917,7 @@ WX_ARG_FEATURE(grid, [ --enable-grid use wxGrid class], wxUSE_ WX_ARG_FEATURE(headerctrl, [ --enable-headerctrl use wxHeaderCtrl class], wxUSE_HEADERCTRL) WX_ARG_FEATURE(hyperlink, [ --enable-hyperlink use wxHyperlinkCtrl class], wxUSE_HYPERLINKCTRL) WX_ARG_FEATURE(imaglist, [ --enable-imaglist use wxImageList class], wxUSE_IMAGLIST) +WX_ARG_FEATURE(infobar, [ --enable-infobar use wxInfoBar class], wxUSE_INFOBAR) WX_ARG_FEATURE(listbook, [ --enable-listbook use wxListbook class], wxUSE_LISTBOOK) WX_ARG_FEATURE(listbox, [ --enable-listbox use wxListBox class], wxUSE_LISTBOX) WX_ARG_FEATURE(listctrl, [ --enable-listctrl use wxListCtrl class], wxUSE_LISTCTRL) @@ -1012,7 +1036,7 @@ dnl defines CFLAGS dnl dnl this magic incantation is needed to prevent AC_PROG_CC from setting the dnl default CFLAGS (something like "-g -O2") -- we don't need this as we add -dnl -g and -O flags ourselves below +dnl (if not already present in C*FLAGS) the -g and -O flags ourselves below CFLAGS=${CFLAGS:=} AC_BAKEFILE_PROG_CC @@ -1048,10 +1072,15 @@ if test "x$SUNCXX" != xyes; then 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 @@ -1108,7 +1137,6 @@ dnl Support the old --enable-universal_binary in case anyone was using it. 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. @@ -1169,9 +1197,42 @@ dnl We need to quote the next line where we don't need macros and do need [] in 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 @@ -1198,6 +1259,7 @@ if test "x$retest_macosx_linking" = "xyes"; then AC_LANG_POP() fi +fi dnl wxUSE_MAC case "${host}" in @@ -2006,7 +2068,9 @@ SEARCH_INCLUDE="\ /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 \ @@ -2018,9 +2082,11 @@ SEARCH_INCLUDE="\ \ /usr/include/Xm \ \ + /usr/X11R7/include \ /usr/X11R6/include \ /usr/X11R6.4/include \ \ + /usr/include/X11R7 \ /usr/include/X11R6 \ \ /usr/X11/include \ @@ -3677,15 +3743,19 @@ if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then 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) @@ -3772,19 +3842,21 @@ if test "$wxUSE_SHARED" = "yes"; then ;; *-*-darwin* ) - install_name_tool=`which install_name_tool` + install_name_tool=`which ${HOST_PREFIX}install_name_tool` if test "$install_name_tool" -a -x "$install_name_tool"; then - SAMPLES_RPATH_POSTLINK="\$(wx_top_builddir)/change-install-names \$(LIBDIRNAME) \$(prefix) \$@" + DYLIB_RPATH_POSTLINK="${HOST_PREFIX}install_name_tool -id \$@ \$@" cat <change-install-names #!/bin/sh libnames=\`cd \${1} ; ls -1 | grep '\.[[0-9]][[0-9]]*\.dylib\$'\` -inst_cmd="install_name_tool " for i in \${libnames} ; do - inst_cmd="\${inst_cmd} -change \${2}/lib/\${i} \${1}/\${i}" + ${HOST_PREFIX}install_name_tool -id \${1}/\${i} \${1}/\${i} + for dep in \${libnames} ; do + ${HOST_PREFIX}install_name_tool -change \${2}/\${dep} \${1}/\${dep} \${1}/\${i} + done done -\${inst_cmd} \${3} EOF chmod +x change-install-names + DYLIB_RPATH_INSTALL="\$(wx_top_builddir)/change-install-names \${libdir} \$(wx_top_builddir)/lib" fi dnl the HEADER_PAD_OPTION is required by some wx samples to avoid the error: @@ -3811,7 +3883,7 @@ EOF if test $wxUSE_RPATH = "no"; then SAMPLES_RPATH_FLAG='' - SAMPLES_RPATH_POSTLINK='' + DYLIB_PATH_POSTLINK='' WXCONFIG_RPATH='' fi @@ -3834,15 +3906,6 @@ if test "$wxUSE_UNICODE" = "yes"; then 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 '-' '_'` @@ -3851,31 +3914,25 @@ if test "$wxUSE_DEBUG_INFO" = "yes"; then 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}" +TOOLCHAIN_NAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}${lib_unicode_suffix}${WX_LIB_FLAVOUR}-${WX_RELEASE}${HOST_SUFFIX}" -TOOLCHAIN_FULLNAME="${TOOLKIT_DIR}${TOOLKIT_VERSION}${WIDGET_SET}-${WX_CHARTYPE}-${WX_DEBUGTYPE}${config_linkage_component}-${WX_RELEASE}${WX_FLAVOUR}" - -if test "$cross_compiling" = "yes"; then - HOST_SUFFIX="-$host_alias" - TOOLCHAIN_NAME="$TOOLCHAIN_NAME$HOST_SUFFIX" - TOOLCHAIN_FULLNAME="${host_alias}-$TOOLCHAIN_FULLNAME" -fi +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 @@ -4985,48 +5042,59 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then fi fi - dnl test for compiler thread-specific variables support - AC_CACHE_CHECK([for __thread keyword], - wx_cv_cc___thread, - [ - AC_TRY_COMPILE([#include ], - [ - static __thread int n = 0; - static __thread int *p = 0; - ], - wx_cv_cc___thread=yes, - wx_cv_cc___thread=no - ) - ] - ) - - if test "$wx_cv_cc___thread" = "yes"; then - AX_GXX_VERSION - if test -n "$ax_cv_gxx_version"; then - dnl g++ supports __thread since at least version 3.3 but its support - dnl seems to be broken until 4.1, see - dnl http://thread.gmane.org/gmane.comp.lib.wxwidgets.devel/108388 - dnl - dnl NB: we still need to test __thread support with - dnl AC_TRY_COMPILE above even for g++ 4 as it doesn't - dnl support it for all architectures (e.g. it doesn't - dnl work under OS X) - AC_MSG_CHECKING([whether __thread support in g++ is usable]) - case "$ax_cv_gxx_version" in - 1.* | 2.* | 3.* ) - AC_MSG_RESULT([no, it's broken]) - wx_cv_cc___thread=no - ;; - *) - AC_MSG_RESULT([yes, it works]) - ;; - esac + if test "$wxUSE_COMPILER_TLS" = "auto"; then + if test "$USE_NETBSD" = 1; then + AC_MSG_WARN([Disabling TLS under NetBSD, please contact wx-dev if it works now]) + wxUSE_COMPILER_TLS=no + else + wxUSE_COMPILER_TLS=yes fi fi - if test "$wx_cv_cc___thread" = "yes"; then - AC_DEFINE(HAVE___THREAD_KEYWORD) - fi + if test "$wxUSE_COMPILER_TLS" = "yes"; then + dnl test for compiler thread-specific variables support + AC_CACHE_CHECK([for __thread keyword], + wx_cv_cc___thread, + [ + AC_TRY_COMPILE([#include ], + [ + static __thread int n = 0; + static __thread int *p = 0; + ], + wx_cv_cc___thread=yes, + wx_cv_cc___thread=no + ) + ] + ) + + if test "$wx_cv_cc___thread" = "yes"; then + AX_GXX_VERSION + if test -n "$ax_cv_gxx_version"; then + dnl g++ supports __thread since at least version 3.3 but its support + dnl seems to be broken until 4.1, see + dnl http://thread.gmane.org/gmane.comp.lib.wxwidgets.devel/108388 + dnl + dnl NB: we still need to test __thread support with + dnl AC_TRY_COMPILE above even for g++ 4 as it doesn't + dnl support it for all architectures (e.g. it doesn't + dnl work under OS X) + AC_MSG_CHECKING([whether __thread support in g++ is usable]) + case "$ax_cv_gxx_version" in + 1.* | 2.* | 3.* ) + AC_MSG_RESULT([no, it's broken]) + wx_cv_cc___thread=no + ;; + *) + AC_MSG_RESULT([yes, it works]) + ;; + esac + fi + fi + + if test "$wx_cv_cc___thread" = "yes"; then + AC_DEFINE(HAVE___THREAD_KEYWORD) + fi + fi fi dnl from if !MSW @@ -5139,7 +5207,13 @@ fi dnl DEBUG_CFLAGS contains debugging options (supposed to be the same for C and C++ dnl compilers: we'd need a separate DEBUG_CXXFLAGS if this is ever not the case) DEBUG_CFLAGS= -if test "$wxUSE_DEBUG_INFO" = "yes" ; then +if `echo $CXXFLAGS $CFLAGS | grep " -g" >/dev/null`; then + dnl the CXXFLAGS or the CFLAGS variable already contains the -g flag + dnl (e.g. it was specified by the user before running configure); since + dnl later they will be merged with DEBUG_CFLAGS, don't set the -g option + dnl in DEBUG_CFLAGS to avoid (possibly different) flag duplicates + AC_MSG_WARN([CXXFLAGS/CFLAGS already contains -g flag; ignoring the --enable-debug_info option]) +elif test "$wxUSE_DEBUG_INFO" = "yes" ; then DEBUG_CFLAGS="-g" fi @@ -5150,10 +5224,7 @@ if test "$wxUSE_DEBUG_GDB" = "yes" ; then 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" @@ -5212,29 +5283,37 @@ fi dnl C/C++ compiler option for optimization (supposed to be the same for both) OPTIMISE_CFLAGS= -if test "$wxUSE_OPTIMISE" = "no" ; then - if test "$GCC" = yes ; then - dnl use -O0 because compiling with it is faster than compiling with no - dnl optimization options at all (at least with g++ 3.2) - OPTIMISE_CFLAGS="-O0" - fi +if `echo $CXXFLAGS $CFLAGS | grep " -O" >/dev/null`; then + dnl the CXXFLAGS or the CFLAGS variable already contains -O optimization flag + dnl (e.g. it was specified by the user before running configure); since + dnl later they will be merged with OPTIMISE_CFLAGS, don't set the -O option + dnl in OPTIMISE_CFLAGS to avoid (possibly different) flag duplicates + AC_MSG_WARN([CXXFLAGS/CFLAGS already contains -O flag; ignoring the --disable-optimise option]) else - if test "$GCC" = yes ; then - case "${host}" in - *-pc-os2_emx | *-pc-os2-emx ) - dnl Not all of the supported gcc versions understand - dnl -fstrict-aliasing and none actually needs it (yet). - OPTIMISE_CFLAGS="-O2" - ;; - *) - dnl Switch on optimisation but keep strict-aliasing off for - dnl now (see -fstrict-aliasing in the gcc manual). When it is - dnl switched back on consider using -Wstrict-aliasing=2. - OPTIMISE_CFLAGS="-O2 -fno-strict-aliasing" - ;; - esac + if test "$wxUSE_OPTIMISE" = "no" ; then + if test "$GCC" = yes ; then + dnl use -O0 because compiling with it is faster than compiling with no + dnl optimization options at all (at least with g++ 3.2) + OPTIMISE_CFLAGS="-O0" + fi else - OPTIMISE_CFLAGS="-O" + if test "$GCC" = yes ; then + case "${host}" in + *-pc-os2_emx | *-pc-os2-emx ) + dnl Not all of the supported gcc versions understand + dnl -fstrict-aliasing and none actually needs it (yet). + OPTIMISE_CFLAGS="-O2" + ;; + *) + dnl Switch on optimisation but keep strict-aliasing off for + dnl now (see -fstrict-aliasing in the gcc manual). When it is + dnl switched back on consider using -Wstrict-aliasing=2. + OPTIMISE_CFLAGS="-O2 -fno-strict-aliasing" + ;; + esac + else + OPTIMISE_CFLAGS="-O" + fi fi fi @@ -5397,6 +5476,10 @@ if test "$wxUSE_EXTENDED_RTTI" = "yes"; then AC_DEFINE(wxUSE_EXTENDED_RTTI) fi +if test "$wxUSE_ANY" = "yes"; then + AC_DEFINE(wxUSE_ANY) +fi + if test "$wxUSE_APPLE_IEEE" = "yes"; then AC_DEFINE(wxUSE_APPLE_IEEE) fi @@ -5542,12 +5625,30 @@ if test "$WXGTK2" = 1; then CFLAGS="$CFLAGS $HILDON_CFLAGS" CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS" AC_DEFINE(wxUSE_LIBHILDON) + ac_hildon_lgpl=1 ], [ AC_MSG_WARN([libhildon_lgpl not found]) wxUSE_LIBHILDON="no" + ac_hildon_lgpl=0 ] ) + + if test "$ac_hildon_lgpl" = 0 ; then + PKG_CHECK_MODULES(HILDON2, + [hildon-1 >= 1.99], + [ + EXTRALIBS_HILDON="$HILDON2_LIBS" + CFLAGS="$CFLAGS $HILDON2_CFLAGS" + CXXFLAGS="$CXXFLAGS $HILDON2_CFLAGS" + AC_DEFINE(wxUSE_LIBHILDON2) + ], + [ + AC_MSG_WARN([libhildon_1 not found]) + wxUSE_LIBHILDON2="no" + ] + ) + fi fi fi @@ -5820,65 +5921,6 @@ if test "$ac_cv_func_gettimeofday" = "yes"; then fi if test "$wxUSE_DATETIME" = "yes"; then - dnl check for strptime and for its declaration as some systems lack it - AC_CHECK_FUNC(strptime) - if test "$ac_cv_func_strptime" = "yes"; then - AC_CACHE_CHECK([for strptime declaration], wx_cv_func_strptime_decl, - [ - AC_LANG_PUSH(C++) - AC_TRY_COMPILE( - [ - #include - ], - [ - struct tm t; - strptime("foo", "bar", &t); - ], - wx_cv_func_strptime_decl=yes, - wx_cv_func_strptime_decl=no - ) - AC_LANG_POP() - ] - ) - fi - if test "$wx_cv_func_strptime_decl" = "yes"; then - AC_DEFINE(HAVE_STRPTIME_DECL) - else - wx_strptime_decl="extern char *strptime(const char *, const char *, struct tm *);" - fi - if test "$ac_cv_func_strptime" = "yes"; then - dnl strptime() behaviour doesn't conform to POSIX under Mac OS X < - dnl 10.5 and possibly other BSD variants, check that strptime() we - dnl have fails to parse format when the string doesn't match it instea - dnl of just stopping immediately and returning non-NULL - AC_CACHE_CHECK([whether strptime() fails on invalid strings], - wx_cv_func_strptime_ok, - [AC_RUN_IFELSE( - [ - #include - #include - #include "confdefs.h" - - $wx_strptime_decl - - int main() - { - struct tm t; - return !!strptime("", "%x", &t); - } - ], - wx_cv_func_strptime_ok=yes, - wx_cv_func_strptime_ok=no, - dnl be pessimistic when cross-compiling - wx_cv_func_strptime_ok=no - )] - ) - - if test "$wx_cv_func_strptime_ok" = "yes"; then - AC_DEFINE(HAVE_STRPTIME) - fi - fi - dnl check for timezone variable dnl doesn't exist under Darwin / Mac OS X which uses tm_gmtoff instead AC_CACHE_CHECK(for timezone variable in , @@ -6646,6 +6688,10 @@ if test "$wxUSE_IMAGLIST" = "yes"; then AC_DEFINE(wxUSE_IMAGLIST) fi +if test "$wxUSE_INFOBAR" = "yes"; then + AC_DEFINE(wxUSE_INFOBAR) +fi + if test "$wxUSE_LISTBOOK" = "yes"; then AC_DEFINE(wxUSE_LISTBOOK) USES_CONTROLS=1 @@ -6669,7 +6715,6 @@ fi if test "$wxUSE_EDITABLELISTBOX" = "yes"; then AC_DEFINE(wxUSE_EDITABLELISTBOX) USES_CONTROLS=1 - SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS editlbox" fi if test "$wxUSE_NOTEBOOK" = "yes"; then @@ -6956,11 +7001,25 @@ if test "$wxUSE_PROPGRID" = "yes"; then 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) USE_STC=1 SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS stc" + + dnl python is used to update src/stc.h (see build/bakefiles/scintilla.bkl) + AC_PATH_PROG(PYTHON, python) + if test "x$PYTHON" = "x"; then + COND_PYTHON="#" + fi + AC_SUBST(COND_PYTHON) fi if test "$wxUSE_MENUS" = "yes"; then @@ -7273,7 +7332,7 @@ dnl --------------------------------------------------------------------------- dnl get the string with OS info - used by wxGetOsDescription() on MacOS X dnl --------------------------------------------------------------------------- -if test "$cross_compiling" = "yes"; then +if test "$cross_compiling" != "no"; then dnl Use best guess from host as we can't use uname when cross compiling OSINFO="\"$host\"" else @@ -7339,6 +7398,9 @@ if test "$wxUSE_GUI" = "yes"; then 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 @@ -7363,13 +7425,8 @@ dnl --------------------------------------------------------------------------- dnl all additional libraries (except wxWidgets itself) we link with if test "$wxUSE_MAC" = 1 ; then - if test "$wxUSE_SOUND" = "yes" || test "$wxUSE_MEDIACTRL" = "yes"; then - if test "$USE_DARWIN" = 1; then - LDFLAGS="$LDFLAGS -framework QuickTime" - fi - fi if test "$USE_DARWIN" = 1; then - LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL" + LDFLAGS="$LDFLAGS -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -framework QuickTime" fi fi if test "$wxUSE_COCOA" = 1 ; then @@ -7391,8 +7448,7 @@ if test "$wxUSE_GUI" = "yes"; then dnl TODO some samples are never built so far: mfc (requires VC++) SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS artprov controls dialogs drawing \ - erase event exec font image minimal mobile \ - mobile/wxedit mobile/styles render \ + erase event exec font image minimal render \ shaped svg taborder vscroll widgets wrapsizer" if test "$wxUSE_MONOLITHIC" != "yes"; then @@ -7456,6 +7512,14 @@ if test "x$INTELCXX" = "xyes" ; then elif test "$GXX" = yes ; then CXXWARNINGS="-Wall -Wundef -Wunused-parameter -Wno-ctor-dtor-privacy" AX_CXXFLAGS_GCC_OPTION(-Woverloaded-virtual, CXXWARNINGS) + + dnl when building under Mac we currently get hundreds of deprecation + dnl warnings for Carbon symbols from the standard headers -- disable them + dnl as we already know that they're deprecated and nothing else can be seen + dnl with these warnings on + if test "$wxUSE_MAC" = 1 ; then + CXXWARNINGS="$CXXWARNINGS -Wno-deprecated-declarations" + fi fi @@ -7507,7 +7571,7 @@ EXTRALIBS="$LDFLAGS $LDFLAGS_VERSIONING $LIBS $DMALLOC_LIBS" 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 @@ -7540,7 +7604,7 @@ if test "$wxUSE_ZLIB" = "builtin" ; then 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 @@ -7616,7 +7680,6 @@ AC_SUBST(EXTRALIBS_GNOMEPRINT) 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 @@ -7634,8 +7697,9 @@ if test "$TOOLKIT_LOWERCASE" = "xxx"; then fi AC_SUBST(TOOLKIT_LOWERCASE) AC_SUBST(TOOLKIT_VERSION) +AC_SUBST(DYLIB_RPATH_INSTALL) +AC_SUBST(DYLIB_RPATH_POSTLINK) AC_SUBST(SAMPLES_RPATH_FLAG) -AC_SUBST(SAMPLES_RPATH_POSTLINK) AC_SUBST(HEADER_PAD_OPTION) AC_SUBST(HOST_SUFFIX) AC_SUBST(CPPUNIT_CFLAGS) @@ -7658,6 +7722,9 @@ case "$TOOLKIT" in if test "$wxUSE_LIBHILDON" = "yes"; then TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon" fi + if test "$wxUSE_LIBHILDON2" = "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 ' '`" @@ -7926,7 +7993,6 @@ AC_SUBST(WX_RELEASE) 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 @@ -7990,10 +8056,7 @@ AC_PROG_MAKE_SET AC_CONFIG_HEADERS([lib/wx/include/${TOOLCHAIN_FULLNAME}/wx/setup.h:setup.h.in]) if test "$USE_WIN32" = 1; then - AC_CONFIG_COMMANDS( - [ - rcdefs.h - ], + AC_CONFIG_COMMANDS([rcdefs.h], [ mkdir -p $outdir && $CPP $infile | sed 's/^# *[1-9].*//;s/^ *//;/./,/^$/!d' > $outdir/rcdefs.h @@ -8113,8 +8176,6 @@ echo "Configured wxWidgets ${WX_VERSION} for \`${host}'" 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