Fix typo around libarchive in configure.ac.
[claws.git] / configure.ac
index 9333edcecd51b07048b4fe64e04d92cd88c7aebd..9e4933e9f833a91ba6cf4d42eb437ec60c27515d 100644 (file)
@@ -118,7 +118,7 @@ case "$host" in
     ;;
        *-apple-*)
                platform_osx=yes
-               LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
+               LDFLAGS="$LDFLAGS -Wl,-export_dynamic"
                ;;
   *)
     platform_win32=no
@@ -290,9 +290,9 @@ AC_ARG_ENABLE(gtk3,
                [  --enable-gtk3                   Build GTK3 support],
                [enable_gtk3=$enableval], [enable_gtk3=no])
 
-AC_ARG_ENABLE(deprecated,
-               [  --disable-deprecated            Disable deprecated GTK functions],
-               [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"], [])
+AC_ARG_ENABLE(svg,
+        [  --disable-svg                   Do not build SVG support],
+        [enable_svg=$enableval], [enable_svg=yes])
 
 manualdir='${docdir}/manual'
 AC_ARG_WITH(manualdir,
@@ -500,6 +500,8 @@ case $host_os in
        *dragonfly*)
                AC_SEARCH_LIBS(encrypt, cipher, [], AC_MSG_ERROR(['encrypt'-function not found.]))
        ;;
+       freebsd*)
+       ;; # not used
        *)
                AC_SEARCH_LIBS(encrypt, crypt, [], AC_MSG_ERROR(['encrypt'-function not found.]))
        ;;
@@ -573,6 +575,9 @@ if test x"$enable_gtk3" = x"yes"; then
 else
        PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.16)
 fi
+AC_ARG_ENABLE(deprecated,
+               [  --disable-deprecated            Disable deprecated GTK functions],
+               [GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"], [])
 AC_SUBST(GTK_CFLAGS)
 AC_SUBST(GTK_LIBS)
 
@@ -712,11 +717,11 @@ if test "x$enable_dbus" = "xyes"; then
        PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60, dbus-glib-1 >= 0.60],
        [
                AC_DEFINE(HAVE_DBUS_GLIB, 1, [Define if glib bindings of D-Bus are available])
-               enable_dbus_glib=yes
+               enable_dbus=yes
        ],
        [
                echo "D-Bus requirements not met. D-Bus support not activated."
-               enable_dbus_glib=no
+               enable_dbus=no
        ])
        AC_SUBST(DBUS_CFLAGS)
        AC_SUBST(DBUS_LIBS)
@@ -730,7 +735,7 @@ dnl #######################################################################
 dnl # Check for alternate address book support
 dnl #######################################################################
 AC_MSG_CHECKING([whether DBUS support for alternate address book is present])
-if test x"$enable_dbus_glib" = xyes; then
+if test x"$enable_dbus" = xyes; then
        AC_MSG_RESULT([yes])
        AC_MSG_CHECKING([whether to enable alternate address book])
        if test x"$enable_alternate_addressbook" = xyes; then
@@ -868,7 +873,7 @@ AM_CONDITIONAL(BUILD_ALTADDRBOOK, test x"$enable_alternate_addressbook" = x"yes"
 dnl #######################################################################
 dnl # Check for NetworkManager support
 dnl #######################################################################
-if test x"$enable_dbus_glib" = xyes; then
+if test x"$enable_dbus" = xyes; then
        if test x"$enable_networkmanager" = xyes; then
                PKG_CHECK_MODULES(NETWORKMANAGER_SUPPORT, NetworkManager >= 0.6.2,
                [
@@ -925,6 +930,25 @@ else
 fi
 AM_CONDITIONAL(CLAWS_LIBETPAN, test "x$libetpan_result" = "xyes")
 
+dnl librsvg
+AC_MSG_CHECKING([whether to use librsvg])
+if test x"$enable_svg" = xyes; then
+       AC_MSG_RESULT(yes)
+    PKG_CHECK_MODULES([SVG], [librsvg-2.0 >= 2.40.5 cairo >= 1.0.0],
+    [
+        AC_SUBST(SVG_CFLAGS)
+        AC_SUBST(SVG_LIBS)
+               AC_DEFINE(HAVE_SVG, 1, [Define if librsvg2 is available for SVG support])
+               enable_svg=yes
+       ],
+       [
+               AC_MSG_NOTICE([SVG support deactivated as librsvg2 >= 2.40.5 was not found])
+               enable_svg=no
+       ])
+else
+       AC_MSG_RESULT(no)
+fi
+
 AC_MSG_CHECKING([whether to use valgrind])
 if test x$enable_valgrind = xyes; then
        AC_MSG_RESULT(yes)
@@ -986,6 +1010,10 @@ AC_ARG_ENABLE(clamd-plugin,
                [  --disable-clamd-plugin          Do not build clamd plugin],
                [enable_clamd_plugin=$enableval], [enable_clamd_plugin=auto])
 
+AC_ARG_ENABLE(dillo-plugin,
+               [  --disable-dillo-plugin          Do not build dillo plugin],
+               [enable_dillo_plugin=$enableval], [enable_dillo_plugin=auto])
+
 AC_ARG_ENABLE(fancy-plugin,
                [  --disable-fancy-plugin          Do not build fancy plugin],
                [enable_fancy_plugin=$enableval], [enable_fancy_plugin=auto])
@@ -1073,7 +1101,7 @@ AC_ARG_ENABLE(demo-plugin,
 
 
 dnl Then we check (unconditionnaly) for plugins dependencies
-dnl Some dependencies are optional, some mandatories. This is taken care of
+dnl Some dependencies are optional, some mandatory. This is taken care of
 dnl later.
 dnl
 dnl During this dependancy check we do the checks themselves, define HAVE_X to
@@ -1083,7 +1111,8 @@ dnl Archive:              libarchive
 dnl Fancy:             Webkit, curl, optionally libsoup-gnome
 dnl Gdata:             libgdata
 dnl Libravatar:                libcurl
-dnl Notification:      optionally libnotify libindicate libcanberra_gtk hotkey
+dnl Notification:      optionally libnotify  unity/messaging-menu
+dnl                               libcanberra_gtk hotkey
 dnl Pdf-Viewer:                libpoppler
 dnl Perl:              sed perl
 dnl PGP/Core:          libgpgme
@@ -1093,7 +1122,8 @@ dnl S/Mime:               pgpcore libgpgme
 dnl Python:            Python
 dnl RSSyl:             expat libcurl
 dnl SpamReport:                libcurl
-dnl vCalendar:         libcurl
+dnl vCalendar:         libcurl, libical
+dnl tnef_parse:        libytnef
 
 dnl libcurl ********************************************************************
 PKG_CHECK_MODULES(CURL, libcurl, HAVE_CURL=yes, HAVE_CURL=no)
@@ -1138,18 +1168,26 @@ AC_SUBST(LIBSOUP_GNOME_CFLAGS)
 AC_SUBST(LIBSOUP_GNOME_LIBS)
 
 dnl libarchive *****************************************************************
+PKG_CHECK_MODULES(LIBARCHIVE, libarchive, HAVE_ARCHIVE=yes, HAVE_ARCHIVE=no)
+AC_SUBST(ARCHIVE_LIBS)
+AC_SUBST(ARCHIVE_CFLAGS)
 AC_CHECK_LIB([archive], [archive_read_new],
                       ARCHIVE_LIBS=-larchive
                       HAVE_ARCHIVE=yes
-                      AC_SUBST(ARCHIVE_LIBS),
+                      AC_SUBST(ARCHIVE_LIBS,$ARCHIVE_CFLAGS),
                       HAVE_ARCHIVE=no
                       )
 
 dnl libgdata *******************************************************************
-PKG_CHECK_MODULES(GDATA, libgdata >= 0.17.1, HAVE_GDATA=yes, HAVE_GDATA=no)
+PKG_CHECK_MODULES(GDATA, libgdata >= 0.17.2, HAVE_GDATA=yes, HAVE_GDATA=no)
 AC_SUBST(GDATA_CFLAGS)
 AC_SUBST(GDATA_LIBS)
 
+dnl libical ********************************************************************
+PKG_CHECK_MODULES(LIBICAL, libical >= 2.0, HAVE_LIBICAL=yes, HAVE_LIBICAL=no)
+AC_SUBST(LIBICAL_CFLAGS)
+AC_SUBST(LIBICAL_LIBS)
+
 dnl Poppler ********************************************************************
 PKG_CHECK_MODULES(POPPLER, poppler-glib >= 0.12.0, HAVE_POPPLER=yes, HAVE_POPPLER=no)
 AC_SUBST(POPPLER_LIBS)
@@ -1184,10 +1222,10 @@ if test x"$HAVE_PERL" = xyes; then
        AC_MSG_CHECKING(for Perl compile flags)
        PERL_CFLAGS=`perl -MExtUtils::Embed -e ccopts`
        PERL_CFLAGS=`echo $PERL_CFLAGS | sed 's/-D_FILE_OFFSET_BITS=[[0-9]]*//'`
-       PERL_LDFLAGS=`perl -MExtUtils::Embed -e ldopts |sed 's/-lgdbm//'`
-       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-ldb//'`
-       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lndbm//'`
-       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lc//'`
+       PERL_LDFLAGS=`perl -MExtUtils::Embed -e ldopts |sed 's/-lgdbm\>//'`
+       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-ldb\>//'`
+       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lndbm\>//'`
+       PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lc\>//'`
        AC_MSG_RESULT(ok)
        AC_MSG_NOTICE([Adding perl LIBS ${PERL_CFLAGS}])
        
@@ -1288,20 +1326,13 @@ fi
 AC_SUBST(libcanberra_gtk_CFLAGS)
 AC_SUBST(libcanberra_gtk_LIBS)
 
-dnl libindicate ****************************************************************
-dnl We support either 0.3+ or 0.5+ or 0.6+ or 0.7+
-LIBINDICATE_MODULE=indicate
-LIBINDICATE_REQUIRED=0.3.0
-
-PKG_CHECK_EXISTS(indicate-0.5 >= 0.5.0, LIBINDICATE_MODULE=indicate-0.5)
-PKG_CHECK_EXISTS(indicate-0.6 >= 0.6.0, LIBINDICATE_MODULE=indicate-0.6)
-PKG_CHECK_EXISTS(indicate-0.7 >= 0.7.0, LIBINDICATE_MODULE=indicate-0.7)
-PKG_CHECK_MODULES(libindicate, $LIBINDICATE_MODULE >= $LIBINDICATE_REQUIRED, HAVE_LIBINDICATE=yes, HAVE_LIBINDICATE=no)
-if test x"$HAVE_LIBINDICATE" = xyes; then
-       AC_DEFINE(NOTIFICATION_INDICATOR, 1, [Activate support for indicators])
+dnl unity/messaging-menu *******************************************************
+PKG_CHECK_MODULES(unity, unity messaging-menu, HAVE_UNITY=yes, HAVE_UNITY=no)
+if test x"$HAVE_UNITY" = xyes; then
+       AC_DEFINE(NOTIFICATION_INDICATOR, 1, [Activate support for unity and messaging-menu])
 fi
-AC_SUBST(libindicate_CFLAGS)
-AC_SUBST(libindicate_LIBS)
+AC_SUBST(unity_CFLAGS)
+AC_SUBST(unity_LIBS)
 
 dnl hotkeys ********************************************************************
 PKG_CHECK_MODULES(CM_NP_HOTKEY, [gio-2.0 >= 2.15.6 gio-unix-2.0 >= 2.15.6], HAVE_HOTKEYS=yes, HAVE_HOTKEYS=no)
@@ -1311,6 +1342,51 @@ fi
 AC_SUBST(CM_NP_HOTKEY_CFLAGS)
 AC_SUBST(CM_NP_HOTKEY_LIBS)
 
+dnl libytnef *******************************************************************
+YTNEF_CFLAGS=""
+YTNEF_LIBS=""
+have_ytnef=0
+# Check both ytnef.h and libytnef/ytnef.h, and adjust YTNEF_CFLAGS
+# accordingly
+AC_CHECK_HEADER(ytnef.h, [have_ytnef=1], [have_ytnef=0])
+if test $have_ytnef -eq 0; then
+       AC_CHECK_HEADER(libytnef/ytnef.h,
+                                                                       [have_ytnef=1;
+                                                                        YTNEF_CFLAGS="${YTNEF_CFLAGS} -DYTNEF_H_SUBDIR"],
+                                                                       [have_ytnef=0])
+fi
+if test $have_ytnef -eq 1; then
+       AC_MSG_CHECKING([how libytnef's SwapDDWord() should be called])
+       # Now we have to figure out which libytnef version we're using,
+       # based on whether SwapDDWord takes one argument or two.
+       if test "x${YTNEF_CFLAGS}" = "x"; then
+               ytnef_include="#include <ytnef.h>"
+       else
+               ytnef_include="#include <libytnef/ytnef.h>"
+       fi
+       AC_TRY_COMPILE([#include <stdio.h>
+                                                                       ${ytnef_include}],
+                                                                       [SwapDDWord(0, 0);],
+                                                                       [have_ytnef=1],
+                                                                       [have_ytnef=0])
+       if test $have_ytnef -eq 0; then
+               AC_TRY_COMPILE([#include <stdio.h>
+                                                                               ${ytnef_include}],
+                                                                               [SwapDDWord(0);],
+                                                                               [have_ytnef=1;
+                                                                                YTNEF_CFLAGS="${YTNEF_CFLAGS} -DYTNEF_OLD_SWAPDDWORD"],
+                                                                               [have_ytnef=0])
+       fi
+       if test $have_ytnef -eq 1; then
+               YTNEF_LIBS="-lytnef"
+               AC_MSG_RESULT(ok)
+       else
+               AC_MSG_RESULT(no idea, unsupported libytnef version?)
+       fi
+fi
+AC_SUBST(YTNEF_CFLAGS)
+AC_SUBST(YTNEF_LIBS)
+
 dnl Third, we now cross the requested plugins and the available dependencies
 dnl If some dependencies are missing and the plugin was explicitely enabled,
 dnl we error out, else we only inform.
@@ -1412,6 +1488,15 @@ else
        AC_MSG_RESULT(no)
 fi
 
+AC_MSG_CHECKING([whether to build Dillo plugin])
+if test x"$enable_dillo_plugin" != xno; then
+       PLUGINS="$PLUGINS dillo"
+       AC_MSG_RESULT(yes)
+else
+       DISABLED_PLUGINS="$DISABLED_PLUGINS dillo"
+       AC_MSG_RESULT(no)
+fi
+
 AC_MSG_CHECKING([whether to build fancy plugin])
 if test x"$enable_fancy_plugin" != xno; then
        dependencies_missing=""
@@ -1547,10 +1632,10 @@ if test x"$enable_notification_plugin" != xno; then
                notification_missing_dependencies="$notification_missing_dependencies hotkeys"
        fi
        notification_features="$notification_features lcdproc"
-       if test x"$HAVE_LIBINDICATE" = xyes; then
-               notification_features="$notification_features libindicate"
+       if test x"$HAVE_UNITY" = xyes; then
+               notification_features="$notification_features unity/messaging-menu"
        else
-               notification_missing_dependencies="$notification_missing_dependencies libindicate"
+               notification_missing_dependencies="$notification_missing_dependencies unity/messaging-menu"
        fi
        if test x"$HAVE_LIBNOTIFY" = xyes; then
                notification_features="$notification_features libnotify"
@@ -1817,13 +1902,30 @@ fi
 
 AC_MSG_CHECKING([whether to build tnef_parse plugin])
 if test x"$enable_tnef_parse_plugin" != xno; then
-       PLUGINS="$PLUGINS tnef_parse"
-       AC_MSG_RESULT(yes)
+       dependencies_missing=""
+
+       if test $have_ytnef -eq 0; then
+               dependencies_missing="libytnef"
+       fi
+
+       if test x"$dependencies_missing" = x; then
+               PLUGINS="$PLUGINS tnef_parse"
+               AC_MSG_RESULT(yes)
+       elif test x"$enable_tnef_parse_plugin" = xauto; then
+               AC_MSG_RESULT(no)
+               AC_MSG_WARN(Plugin tnef_parse will not be built; missing $dependencies_missing")
+               enable_tnef_parse_plugin=no
+               MISSING_DEPS_PLUGINS="$MISSING_DEPS_PLUGINS tnef_parse"
+       else
+               AC_MSG_RESULT(no)
+               AC_MSG_ERROR(Plugin tnef_parse will not be built; missing $dependencies_missing")
+       fi
 else
        DISABLED_PLUGINS="$DISABLED_PLUGINS tnef_parse"
        AC_MSG_RESULT(no)
 fi
 
+
 AC_MSG_CHECKING([whether to build vcalendar plugin])
 if test x"$enable_vcalendar_plugin" != xno; then
        dependencies_missing=""
@@ -1832,6 +1934,10 @@ if test x"$enable_vcalendar_plugin" != xno; then
                dependencies_missing="libcurl $dependencies_missing"
        fi
 
+  if test x"$HAVE_LIBICAL" = xno; then
+    dependencies_missing="libical $dependencies_missing"
+  fi
+
        if test x"$HAVE_PERL" = xno; then
                dependencies_missing="perl $dependencies_missing"
        fi
@@ -1864,6 +1970,7 @@ AM_CONDITIONAL(BUILD_BOGOFILTER_PLUGIN,           test x"$enable_bogofilter_plugin" != xn
 AM_CONDITIONAL(BUILD_BSFILTER_PLUGIN,          test x"$enable_bsfilter_plugin" != xno)
 AM_CONDITIONAL(BUILD_CLAMD_PLUGIN,             test x"$enable_clamd_plugin" != xno)
 AM_CONDITIONAL(BUILD_DEMO_PLUGIN,              test x"$enable_demo_plugin" != xno)
+AM_CONDITIONAL(BUILD_DILLO_PLUGIN,             test x"$enable_dillo_plugin" != xno)
 AM_CONDITIONAL(BUILD_FANCY_PLUGIN,             test x"$enable_fancy_plugin" != xno)
 AM_CONDITIONAL(BUILD_FETCHINFO_PLUGIN,         test x"$enable_fetchinfo_plugin" != xno)
 AM_CONDITIONAL(BUILD_GDATA_PLUGIN,             test x"$enable_gdata_plugin" != xno)
@@ -1912,6 +2019,7 @@ src/plugins/bsfilter/Makefile
 src/plugins/clamd/Makefile
 src/plugins/clamd/libclamd/Makefile
 src/plugins/demo/Makefile
+src/plugins/dillo/Makefile
 src/plugins/fancy/Makefile
 src/plugins/fetchinfo/Makefile
 src/plugins/gdata/Makefile
@@ -1936,11 +2044,6 @@ src/plugins/spamassassin/Makefile
 src/plugins/spam_report/Makefile
 src/plugins/tnef_parse/Makefile
 src/plugins/vcalendar/Makefile
-src/plugins/vcalendar/libical/Makefile
-src/plugins/vcalendar/libical/libical/icalversion.h
-src/plugins/vcalendar/libical/libical/Makefile
-src/plugins/vcalendar/libical/design-data/Makefile
-src/plugins/vcalendar/libical/scripts/Makefile
 doc/Makefile
 doc/man/Makefile
 tools/Makefile
@@ -1991,6 +2094,7 @@ echo "DBUS               : $enable_dbus"
 echo "NetworkManager     : $enable_networkmanager"
 echo "Manual             : $enable_manual"
 echo "Generic UMPC code  : $enable_generic_umpc"
+echo "SVG support        : $enable_svg"
 echo "Config dir         : $ac_cv_with_config_dir"
 echo "Password crypto    : $pwd_crypto"