]> git.saurik.com Git - wxWidgets.git/blobdiff - configure.in
Add support for horizontal mouse wheel scrolling in wxSTC.
[wxWidgets.git] / configure.in
index b2f533d2a0264a5af4c73ee683b20d57bb8429d8..e87b56cfcc21116e94204043d19b406dc628701f 100644 (file)
@@ -585,12 +585,15 @@ dnl ---------------------------------------------------------------------------
 WX_ARG_SYS_WITH(libpng,    [  --with-libpng           use libpng (PNG image format)], wxUSE_LIBPNG)
 WX_ARG_SYS_WITH(libjpeg,   [  --with-libjpeg          use libjpeg (JPEG file format)], wxUSE_LIBJPEG)
 WX_ARG_SYS_WITH(libtiff,   [  --with-libtiff          use libtiff (TIFF file format)], wxUSE_LIBTIFF)
+WX_ARG_WITHOUT(libjbig,    [  --without-libjbig       don't use libjbig in libtiff even if available)], wxUSE_LIBJBIG)
+WX_ARG_WITHOUT(liblzma,    [  --without-liblzma       don't use liblzma in libtiff even if available)], wxUSE_LIBLZMA)
 WX_ARG_SYS_WITH(libxpm,    [  --with-libxpm           use libxpm (XPM file format)], wxUSE_LIBXPM)
 WX_ARG_WITH(libiconv,      [  --with-libiconv         use libiconv (character conversion)], wxUSE_LIBICONV)
 WX_ARG_WITH(libmspack,     [  --with-libmspack        use libmspack (CHM help files loading)], wxUSE_LIBMSPACK)
 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(libnotify,     [  --with-libnotify        use libnotify for notifications], wxUSE_LIBNOTIFY)
 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)
 
@@ -772,6 +775,7 @@ WX_ARG_FEATURE(fontmap,       [  --enable-fontmap        use font encodings conv
 WX_ARG_FEATURE(fs_archive,    [  --enable-fs_archive     use virtual archive filesystems], wxUSE_FS_ARCHIVE)
 WX_ARG_FEATURE(fs_inet,       [  --enable-fs_inet        use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
 WX_ARG_FEATURE(fs_zip,        [  --enable-fs_zip         now replaced by fs_archive], wxUSE_FS_ZIP)
+WX_ARG_FEATURE(fsvolume,      [  --enable-fsvolume       use wxFSVolume class], wxUSE_FSVOLUME)
 WX_ARG_FEATURE(fswatcher,     [  --enable-fswatcher      use wxFileSystemWatcher class], wxUSE_FSWATCHER)
 WX_ARG_FEATURE(geometry,      [  --enable-geometry       use geometry class], wxUSE_GEOMETRY)
 WX_ARG_FEATURE(log,           [  --enable-log            use logging system], wxUSE_LOG)
@@ -1034,7 +1038,7 @@ WX_ARG_FEATURE(dragimage,   [  --enable-dragimage      use wxDragImage], wxUSE_D
 WX_ARG_FEATURE(accessibility,[  --enable-accessibility  enable accessibility support], wxUSE_ACCESSIBILITY)
 WX_ARG_FEATURE(uiactionsim,  [  --enable-uiactionsim    use wxUIActionSimulator (experimental)], wxUSE_UIACTIONSIMULATOR)
 WX_ARG_FEATURE(dctransform,  [  --enable-dctransform    use wxDC::SetTransformMatrix and related], wxUSE_DC_TRANSFORM_MATRIX)
-WX_ARG_FEATURE(webviewwebkit,[  --enable-webview-webkit use wxWebView WebKit backend], wxUSE_WEBVIEW_WEBKIT)
+WX_ARG_FEATURE(webviewwebkit,[  --enable-webviewwebkit  use wxWebView WebKit backend], wxUSE_WEBVIEW_WEBKIT)
 
 dnl ---------------------------------------------------------------------------
 dnl support for image formats that do not rely on external library
@@ -1059,7 +1063,7 @@ WX_ARG_FEATURE(ps-in-msw,   [  --enable-ps-in-msw      use PS printing in wxMSW
 WX_ARG_FEATURE(ownerdrawn,  [  --enable-ownerdrawn     use owner drawn controls (Win32 and OS/2 only)], wxUSE_OWNER_DRAWN)
 WX_ARG_FEATURE(uxtheme,     [  --enable-uxtheme        enable support for Windows XP themed look (Win32 only)], wxUSE_UXTHEME)
 WX_ARG_FEATURE(wxdib,       [  --enable-wxdib          use wxDIB class (Win32 only)], wxUSE_DIB)
-WX_ARG_FEATURE(webviewie,   [  --enable-webview-ie     use wxWebView IE backend (Win32 only)], wxUSE_WEBVIEW_IE)
+WX_ARG_FEATURE(webviewie,   [  --enable-webviewie      use wxWebView IE backend (Win32 only)], wxUSE_WEBVIEW_IE)
 
 dnl this one is not really MSW-specific but it exists mainly to be turned off
 dnl under MSW, it should be off by default on the other platforms
@@ -1168,13 +1172,6 @@ if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then
     dnl If we did move to libtool -static we still wouldn't need arch flags
     dnl because libtool automatically figures it out based on input.
     retest_macosx_linking=yes
-
-    dnl HACK: PCH could be made to work by precompiling for each architecture into separate directories
-    dnl and including all architecture directories with each compiler invocation.
-    dnl That would require a major rework of Bakefile and at the same time it would be nice to have
-    dnl Objective-C++ precompiled headers.
-    AC_MSG_WARN([Disabling precompiled headers due to universal binary build.])
-    bk_use_pch=no
 else
     if test "x$wxUSE_MAC_ARCH" != xno; then
         OSX_ARCH_OPTS=$wxUSE_MAC_ARCH
@@ -1184,8 +1181,16 @@ fi
 if test "x$OSX_ARCH_OPTS" != "x"; then
     dnl Check if there is more than one architecture
     if echo $OSX_ARCH_OPTS | grep -q ","; then
+        AC_MSG_WARN([Disabling dependency tracking due to universal binary build.])
         disable_macosx_deps=yes
-    fi     
+
+        dnl HACK: PCH could be made to work by precompiling for each architecture into separate directories
+        dnl and including all architecture directories with each compiler invocation.
+        dnl That would require a major rework of Bakefile and at the same time it would be nice to have
+        dnl Objective-C++ precompiled headers.
+        AC_MSG_WARN([Disabling precompiled headers due to universal binary build.])
+        bk_use_pch=no
+    fi
 
     OSX_ARCH_OPTS=`echo $OSX_ARCH_OPTS | sed -e 's/^/-arch /' -e 's/,/ -arch /g'`
 
@@ -1589,9 +1594,15 @@ case "${host}" in
   ;;
 esac
 
-dnl POSIX needs this for select(), but old systems don't have it
 if test "$USE_UNIX" = 1 ; then
+    dnl POSIX needs this for select(), but old systems don't have it
     AC_CHECK_HEADERS([sys/select.h],,, [AC_INCLUDES_DEFAULT()])
+
+    dnl Header defining C++ ABI is currently only available with g++ but test
+    dnl for it unconditionally in case it becomes supported by other compilers.
+    AC_LANG_PUSH(C++)
+    AC_CHECK_HEADERS([cxxabi.h],,, [AC_INCLUDES_DEFAULT()])
+    AC_LANG_POP()
 fi
 
 dnl ---------------------------------------------------------------------------
@@ -2691,6 +2702,24 @@ if test "$wxUSE_LIBTIFF" != "no" ; then
             dnl we need to hack around this
             ac_configure_args="$ac_configure_args --disable-jpeg"
         fi
+
+        if test "$wxUSE_LIBLZMA" = "yes"; then
+            dnl If libtiff configure detects lzma library, it enables support for
+            dnl LZMA compression and using it requires linking with liblzma.
+            AC_CHECK_LIB(lzma, lzma_code, [LIBS="$LIBS -llzma"])
+        else
+            dnl Prevent libtiff configure from looking for liblzma if it's
+            dnl explicitly disabled.
+            ac_configure_args="$ac_configure_args --disable-lzma"
+        fi
+
+        dnl Similarly for jbig
+        if test "$wxUSE_LIBJBIG" = "yes"; then
+            AC_CHECK_LIB(jbig, jbg_dec_init, [LIBS="$LIBS -ljbig"])
+        else
+            ac_configure_args="$ac_configure_args --disable-jbig"
+        fi
+
         AC_CONFIG_SUBDIRS([src/tiff])
     fi
 fi
@@ -4358,41 +4387,48 @@ dnl backtrace() and backtrace_symbols() for wxStackWalker
 if test "$wxUSE_STACKWALKER" = "yes" -a "$wxUSE_UNIX" = "yes"; then
     AC_CACHE_CHECK([for backtrace() in <execinfo.h>], wx_cv_func_backtrace,
         [
-            AC_LANG_PUSH(C++)
-            AC_TRY_COMPILE([#include <execinfo.h>],
+            AC_SEARCH_LIBS(backtrace, execinfo,
                 [
-                    void *trace[1];
-                    char **messages;
-
-                    backtrace(trace, 1);
-                    messages = backtrace_symbols(trace, 1);
+                    AC_LANG_PUSH(C++)
+                    AC_TRY_LINK([#include <execinfo.h>],
+                        [
+                            void *trace[1];
+                            char **messages;
+                            backtrace(trace, 1);
+                            messages = backtrace_symbols(trace, 1);
+                        ],
+                        wx_cv_func_backtrace=yes,
+                        wx_cv_func_backtrace=no
+                    )
+                    AC_LANG_POP()
                 ],
-                wx_cv_func_backtrace=yes,
                 wx_cv_func_backtrace=no
             )
-            AC_LANG_POP()
         ]
     )
 
-
     if test "$wx_cv_func_backtrace" = "no"; then
         AC_MSG_WARN([backtrace() is not available, wxStackWalker will not be available])
         wxUSE_STACKWALKER=no
     else
-        AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
-            [
-                AC_LANG_PUSH(C++)
-                AC_TRY_LINK([#include <cxxabi.h>],
-                    [
-                        int rc;
-                        __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
-                    ],
-                    wx_cv_func_cxa_demangle=yes,
-                    wx_cv_func_cxa_demangle=no
-                )
-                AC_LANG_POP()
-            ]
-        )
+        if test "$ac_cv_header_cxxabi_h" = "yes"; then
+            AC_CACHE_CHECK([for __cxa_demangle() in <cxxabi.h>], wx_cv_func_cxa_demangle,
+                [
+                    AC_LANG_PUSH(C++)
+                    AC_TRY_LINK([#include <cxxabi.h>],
+                        [
+                            int rc;
+                            __cxxabiv1::__cxa_demangle("foo", 0, 0, &rc);
+                        ],
+                        wx_cv_func_cxa_demangle=yes,
+                        wx_cv_func_cxa_demangle=no
+                    )
+                    AC_LANG_POP()
+                ]
+            )
+        else
+            wx_cv_func_cxa_demangle=no
+        fi
 
         if test "$wx_cv_func_cxa_demangle" = "yes"; then
             AC_DEFINE(HAVE_CXA_DEMANGLE)
@@ -5087,6 +5123,29 @@ if test "$TOOLKIT" != "MSW" -a "$USE_OS2" != 1; then
             AC_DEFINE(HAVE___THREAD_KEYWORD)
           fi
         fi
+
+        if test "$ac_cv_header_cxxabi_h" = "yes"; then
+            AC_CACHE_CHECK([for abi::__forced_unwind() in <cxxabi.h>],
+                wx_cv_type_abi_forced_unwind,
+                [
+                    AC_LANG_PUSH(C++)
+                    AC_TRY_COMPILE([#include <cxxabi.h>],
+                        [
+                            void foo(abi::__forced_unwind&);
+                        ],
+                        wx_cv_type_abi_forced_unwind=yes,
+                        wx_cv_type_abi_forced_unwind=no
+                    )
+                    AC_LANG_POP()
+                ]
+            )
+        else
+            wx_cv_type_abi_forced_unwind=no
+        fi
+
+        if test "$wx_cv_type_abi_forced_unwind" = "yes"; then
+            AC_DEFINE(HAVE_ABI_FORCEDUNWIND)
+        fi
     fi
 
 dnl from if !MSW
@@ -5607,6 +5666,7 @@ if test "$WXGTK2" = 1; then
                 PKG_CHECK_MODULES(GTKPRINT,
                                   [$gtk_unix_print],
                     [
+                        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GTKPRINT_LIBS"
                         CFLAGS="$GTKPRINT_CFLAGS $CFLAGS"
                         CXXFLAGS="$GTKPRINT_CFLAGS $CXXFLAGS"
                         AC_DEFINE(wxUSE_GTKPRINT)
@@ -5627,6 +5687,7 @@ if test "$WXGTK2" = 1; then
                 PKG_CHECK_MODULES(LIBGNOMEPRINTUI,
                                   [libgnomeprintui-2.2 >= 2.8],
                     [
+                        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $LIBGNOMEPRINTUI_LIBS"
                         CFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CFLAGS"
                         CXXFLAGS="$LIBGNOMEPRINTUI_CFLAGS $CXXFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEPRINT)
@@ -5649,6 +5710,7 @@ if test "$WXGTK2" = 1; then
                 PKG_CHECK_MODULES(GNOMEVFS,
                                   [gnome-vfs-2.0 >= 2.0],
                     [
+                        GUI_TK_LIBRARY="$GUI_TK_LIBRARY $GNOMEVFS_LIBS"
                         CFLAGS="$GNOMEVFS_CFLAGS $CFLAGS"
                         CXXFLAGS="$GNOMEVFS_CFLAGS $CXXFLAGS"
                         AC_DEFINE(wxUSE_LIBGNOMEVFS)
@@ -5661,11 +5723,36 @@ if test "$WXGTK2" = 1; then
         fi
     fi
 
+    if test "$wxUSE_NOTIFICATION_MESSAGE" = "yes" ; then
+        if test "$wxUSE_LIBNOTIFY" = "yes" ; then
+            HAVE_LIBNOTIFY=0
+            PKG_CHECK_MODULES(LIBNOTIFY, [libnotify >= 0.7],
+                [
+                    HAVE_LIBNOTIFY=1
+                    AC_DEFINE(wxUSE_LIBNOTIFY_0_7)
+                ],
+                [
+                    PKG_CHECK_MODULES(LIBNOTIFY, [libnotify >= 0.4],
+                        [HAVE_LIBNOTIFY=1],
+                        [AC_MSG_WARN([libnotify not found, wxNotificationMessage will use generic implementation.])]
+                    )
+                ]
+            )
+
+            if test "$HAVE_LIBNOTIFY" = "1" ; then
+                GUI_TK_LIBRARY="$GUI_TK_LIBRARY $LIBNOTIFY_LIBS"
+                CFLAGS="$LIBNOTIFY_CFLAGS $CFLAGS"
+                CXXFLAGS="$LIBNOTIFY_CFLAGS $CXXFLAGS"
+                AC_DEFINE(wxUSE_LIBNOTIFY)
+            fi
+        fi
+    fi
+
     if test "$wxUSE_LIBHILDON" = "yes" ; then
         PKG_CHECK_MODULES(HILDON,
                           [hildon-lgpl >= 0.9],
             [
-                EXTRALIBS_HILDON="$HILDON_LIBS"
+                GUI_TK_LIBRARY="$GUI_TK_LIBRARY $HILDON_LIBS"
                 CFLAGS="$CFLAGS $HILDON_CFLAGS"
                 CXXFLAGS="$CXXFLAGS $HILDON_CFLAGS"
                 AC_DEFINE(wxUSE_LIBHILDON)
@@ -5682,7 +5769,7 @@ if test "$WXGTK2" = 1; then
             PKG_CHECK_MODULES(HILDON2,
                               [hildon-1 >= 1.99],
                 [
-                    EXTRALIBS_HILDON="$HILDON2_LIBS"
+                    GUI_TK_LIBRARY="$GUI_TK_LIBRARY $HILDON2_LIBS"
                     CFLAGS="$CFLAGS $HILDON2_CFLAGS"
                     CXXFLAGS="$CXXFLAGS $HILDON2_CFLAGS"
                     AC_DEFINE(wxUSE_LIBHILDON2)
@@ -5772,6 +5859,10 @@ if test "$wxUSE_FS_ZIP" = "yes"; then
   fi
 fi
 
+if test "$wxUSE_FSVOLUME" = "yes"; then
+  AC_DEFINE(wxUSE_FSVOLUME)
+fi
+
 if test "$wxUSE_ON_FATAL_EXCEPTION" = "yes"; then
   if test "$USE_UNIX" != 1; then
     AC_MSG_WARN([Catching fatal exceptions not currently supported on this system, wxApp::OnFatalException will not be called])
@@ -6081,6 +6172,12 @@ if test "$wxUSE_DATETIME" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS typetest"
 fi
 
+dnl ------------------------------------------------------------------------
+dnl wxProcess
+dnl ------------------------------------------------------------------------
+
+AC_CHECK_FUNCS(setpriority)
+
 dnl ------------------------------------------------------------------------
 dnl wxSocket
 dnl ------------------------------------------------------------------------
@@ -7541,6 +7638,11 @@ if test "$wxUSE_MEDIACTRL" = "yes" -o "$wxUSE_MEDIACTRL" = "auto"; then
         else
             USE_MEDIA=0
         fi
+
+    elif test "$wxUSE_MAC" = 1; then 
+         dnl We always have the necessary libraries under Mac 
+         dnl but we need to link with it explicitly.
+         GST_LIBS="-framework QTKit"
     fi
 
     if test $USE_MEDIA = 1; then
@@ -7719,7 +7821,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 render \
+                     erase event exec font image minimal preferences render \
                      shaped svg taborder vscroll widgets wrapsizer"
 
     if test "$wxUSE_MONOLITHIC" != "yes"; then
@@ -7843,7 +7945,7 @@ EXTRALIBS_HTML="$MSPACK_LINK"
 EXTRALIBS_MEDIA="$GST_LIBS"
 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`
+    EXTRALIBS_GUI=`echo $GUI_TK_LIBRARY $PNG_LINK $JPEG_LINK $TIFF_LINK $WEBKIT_LINK`
 fi
 if test "$wxUSE_OPENGL" = "yes"; then
     EXTRALIBS_OPENGL="$LDFLAGS_GL $OPENGL_LIBS"
@@ -7945,10 +8047,6 @@ AC_SUBST(EXTRALIBS_OPENGL)
 AC_SUBST(EXTRALIBS_SDL)
 AC_SUBST(EXTRALIBS_STC)
 AC_SUBST(WITH_PLUGIN_SDL)
-AC_SUBST(EXTRALIBS_GTKPRINT)
-AC_SUBST(EXTRALIBS_GNOMEPRINT)
-AC_SUBST(EXTRALIBS_GNOMEVFS)
-AC_SUBST(EXTRALIBS_HILDON)
 AC_SUBST(UNICODE)
 AC_SUBST(DEBUG_INFO)
 AC_SUBST(DEBUG_FLAG)
@@ -7981,6 +8079,9 @@ case "$TOOLKIT" in
             if test "$wxUSE_LIBGNOMEVFS" = "yes" ; then
                 TOOLKIT_EXTRA="$TOOLKIT_EXTRA gnomevfs"
             fi
+            if test "$wxUSE_LIBNOTIFY" = "yes" ; then
+                TOOLKIT_EXTRA="$TOOLKIT_EXTRA libnotify"
+            fi
             if test "$wxUSE_LIBHILDON" = "yes"; then
                 TOOLKIT_EXTRA="$TOOLKIT_EXTRA hildon"
             fi
@@ -8148,10 +8249,10 @@ dnl at which time, this hack can be removed.
 if test "$wxUSE_MAC" = 1 ; then
     if test "x$wxUSE_UNIVERSAL_BINARY" != "xno" ; then
         if test "x$disable_macosx_deps" = "xyes"; then
-           sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp
-           mv temp bk-deps
+            sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp
+                mv temp bk-deps
             chmod +x bk-deps
-       fi
+        fi
     fi
 fi