X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=configure.ac;h=776010cd9659f0db642376158597a115263b0675;hb=032bcdd3c1d1fd84fdd8414ef661103be36cfe9c;hp=84432ff1768193e836ca4efffa49741ed12290fa;hpb=69e3f49b323a5d14c3f85f46260924826a861fb1;p=evince.git diff --git a/configure.ac b/configure.ac index 84432ff1..776010cd 100644 --- a/configure.ac +++ b/configure.ac @@ -3,13 +3,13 @@ # ***************************************************************************** m4_define([ev_major_version],[2]) -m4_define([ev_minor_version],[29]) -m4_define([ev_micro_version],[4]) +m4_define([ev_minor_version],[91]) +m4_define([ev_micro_version],[1]) m4_define([ev_extra_version],[]) m4_define([ev_version],[ev_major_version.ev_minor_version.ev_micro_version()ev_extra_version]) # The evince API version -m4_define([ev_api_version], [2.29]) +m4_define([ev_api_version], [3.0]) # Libtool versioning. The backend and view libraries have separate versions. # Before making a release, the libtool version should be modified. @@ -21,14 +21,14 @@ m4_define([ev_api_version], [2.29]) # - If the interface is the same as the previous version, change to C:R+1:A # Libtool version of the backend library -m4_define([ev_document_lt_current],[2]) +m4_define([ev_document_lt_current],[3]) m4_define([ev_document_lt_revision],[0]) m4_define([ev_document_lt_age],[0]) m4_define([ev_document_lt_version_info],[ev_document_lt_current:ev_document_lt_revision:ev_document_lt_age]) m4_define([ev_document_lt_current_minus_age],[m4_eval(ev_document_lt_current - ev_document_lt_age)]) # Libtool version of the view library -m4_define([ev_view_lt_current],[2]) +m4_define([ev_view_lt_current],[3]) m4_define([ev_view_lt_revision],[0]) m4_define([ev_view_lt_age],[0]) m4_define([ev_view_lt_version_info],[ev_view_lt_current:ev_view_lt_revision:ev_view_lt_age]) @@ -41,7 +41,7 @@ m4_define([ev_binary_version],[ev_document_lt_current]) AC_PREREQ([2.57]) AC_INIT([Evince],[ev_version],[http://bugzilla.gnome.org/enter_bug.cgi?product=evince],[evince]) -AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 no-dist-gzip]) +AM_INIT_AUTOMAKE([1.10 foreign dist-bzip2 no-dist-gzip]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) @@ -66,13 +66,13 @@ AC_PROG_SED AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal]) AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums]) -GNOME_COMMON_INIT -GNOME_DOC_INIT GNOME_MAINTAINER_MODE_DEFINES GNOME_COMPILE_WARNINGS GNOME_CXX_WARNINGS -GTK_DOC_CHECK(1.0) +dnl FIXME: remove this when required gtk+ >= 2.19.7 +DISABLE_DEPRECATED= +AC_SUBST([DISABLE_DEPRECATED]) IT_PROG_INTLTOOL([0.35.0]) @@ -85,6 +85,8 @@ m4_pattern_allow([AM_V_GEN])dnl Make autoconf not complain about the rule below EV_INTLTOOL_EVINCE_BACKEND_RULE='%.evince-backend: %.evince-backend.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(AM_V_GEN) LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' AC_SUBST([EV_INTLTOOL_EVINCE_BACKEND_RULE]) +GLIB_GSETTINGS + # Check which platform to use AC_MSG_CHECKING([for which platform to build]) @@ -120,10 +122,11 @@ AM_CONDITIONAL([PLATFORM_HILDON],[test "$with_platform" = "hildon"]) AM_CONDITIONAL([PLATFORM_WIN32],[test "$with_platform" = "win32"]) dnl Specify required versions of dependencies -DBUS_GLIB_REQUIRED=0.70 -GTK_REQUIRED=2.14.0 -GLIB_REQUIRED=2.18.0 +CAIRO_REQUIRED=1.10.0 +GLIB_REQUIRED=2.25.11 KEYRING_REQUIRED=2.22.0 +GTK_REQUIRED=2.91.3 + AC_SUBST([GLIB_REQUIRED]) AC_SUBST([GTK_REQUIRED]) @@ -139,11 +142,11 @@ dnl Check dependencies # SHELL_CFLAGS for shell implementation. # SHELL_LIBS -PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-2.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED) -PKG_CHECK_MODULES(LIBVIEW, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) -PKG_CHECK_MODULES(BACKEND, gtk+-2.0 >= $GTK_REQUIRED) -PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) -PKG_CHECK_MODULES(PREVIEWER, gtk+-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) + +PKG_CHECK_MODULES(LIBDOCUMENT, gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED) +PKG_CHECK_MODULES(LIBVIEW, gtk+-3.0 >= $GTK_REQUIRED gail-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) +PKG_CHECK_MODULES(BACKEND, cairo >= $CAIRO_REQUIRED gtk+-3.0 >= $GTK_REQUIRED) +PKG_CHECK_MODULES(FRONTEND_CORE, gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) SHELL_PLATFORM_PKGS= case "$with_platform" in @@ -158,6 +161,8 @@ case "$with_platform" in # the hicolor-icon-theme does not have a pkgconfig file, on gnome we # require the gnome icon theme instead. SHELL_PLATFORM_PKGS="gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED" + # The totem-screensaver and egg_smclient code use x11 directly. + SHELL_PLATFORM_PKGS="$SHELL_PLATFORM_PKGS x11" ;; *) # On all other platforms we issue a warning about the runtime @@ -167,13 +172,13 @@ case "$with_platform" in ;; esac -PKG_CHECK_MODULES([SHELL_CORE],[libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gthread-2.0 $SHELL_PLATFORM_PKGS]) +PKG_CHECK_MODULES([SHELL_CORE],[libxml-2.0 >= $LIBXML_REQUIRED gtk+-3.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gthread-2.0 $SHELL_PLATFORM_PKGS]) # ********* # SM client # ********* -GDK_TARGET="$($PKG_CONFIG --variable target gdk-2.0)" +GDK_TARGET="$($PKG_CONFIG --variable target gdk-3.0)" AC_MSG_CHECKING([which smclient backend to use]) AC_ARG_WITH([smclient], @@ -199,7 +204,7 @@ if test "$with_smclient" != "no"; then *) SMCLIENT_PKGS="" ;; esac - PKG_CHECK_MODULES([SMCLIENT],[gtk+-2.0 gthread-2.0 $SMCLIENT_PKGS]) + PKG_CHECK_MODULES([SMCLIENT],[gtk+-3.0 gthread-2.0 $SMCLIENT_PKGS]) AC_SUBST([SMCLIENT_CFLAGS]) AC_SUBST([SMCLIENT_LIBS]) fi @@ -218,7 +223,6 @@ dnl ===== Check special functions evince_save_LIBS=$LIBS LIBS="$LIBS $BACKEND_LIBS" AC_CHECK_FUNCS(cairo_format_stride_for_width) -AC_CHECK_FUNCS(gtk_print_operation_get_n_pages_to_print) LIBS=$evince_save_LIBS # ****************** @@ -237,7 +241,7 @@ AC_ARG_WITH([gtk-unix-print], AC_MSG_RESULT([$with_gtk_unix_print]) if test "$with_gtk_unix_print" = "yes"; then - PKG_CHECK_MODULES(GTKUNIXPRINT, [gtk+-unix-print-2.0 >= $GTK_REQUIRED]) + PKG_CHECK_MODULES(GTKUNIXPRINT, [gtk+-unix-print-3.0 >= $GTK_REQUIRED]) AC_DEFINE([GTKUNIXPRINT_ENABLED], [1], [Define if gtk+-unix-print is enabled.]) fi @@ -261,9 +265,6 @@ if test "$with_keyring" = "yes"; then AC_DEFINE([WITH_KEYRING],[1],[Define if KEYRING support is enabled]) fi -GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` -AC_SUBST(GLIB_GENMARSHAL) - # **** # DBUS # **** @@ -277,24 +278,18 @@ AC_ARG_ENABLE([dbus], esac]) if test "$enable_dbus" = "yes"; then - PKG_CHECK_MODULES([DBUS],[dbus-glib-1 >= $DBUS_GLIB_REQUIRED],[], - [AC_MSG_ERROR([DBUS not found; use --disable-dbus to disable DBUS support])]) - - AC_PATH_PROG([DBUS_BINDING_TOOL], [dbus-binding-tool], [no]) - if test x$DBUS_BINDING_TOOL = "xno" ; then - AC_MSG_ERROR([dbus-binding-tool executable not found in your path - should be installed with dbus glib bindings]) - fi - AC_DEFINE([ENABLE_DBUS],[1],[Define if DBUS support is enabled]) -fi -AC_SUBST([DBUS_CFLAGS]) -AC_SUBST([DBUS_LIBS]) + PKG_CHECK_MODULES([EV_DAEMON], [gio-2.0 >= $GLIB_REQUIRED]) +fi AM_CONDITIONAL([ENABLE_DBUS], [test "$enable_dbus" = "yes"]) -if test "$enable_dbus" = "yes"; then - PKG_CHECK_MODULES([EV_DAEMON], [gthread-2.0 gio-2.0 >= $GLIB_REQUIRED dbus-glib-1 >= $DBUS_GLIB_REQUIRED]) +dnl ========= Check for Desktop Schemas +PKG_CHECK_MODULES([DESKTOP_SCHEMAS], [gsettings-desktop-schemas], + has_desktop_schemas=yes, has_desktop_schemas=no) +if test x$has_desktop_schemas = xyes; then + AC_DEFINE([HAVE_DESKTOP_SCHEMAS], [1], [Whether GSettings Desktop Schemas are available]) fi dnl ========= Check for GConf @@ -351,16 +346,17 @@ AC_SUBST(LIBDOCUMENT_CFLAGS) AC_SUBST(LIBDOCUMENT_LIBS) LIBVIEW_CFLAGS="$LIBVIEW_CFLAGS $GTKUNIXPRINT_CFLAGS $DEBUG_FLAGS" -LIBVIEW_LIBS="$LIBVIEW_LIBS $GTKUNIXPRINT_LIBS" +LIBVIEW_LIBS="$LIBVIEW_LIBS $GTKUNIXPRINT_LIBS -lm" AC_SUBST(LIBVIEW_CFLAGS) AC_SUBST(LIBVIEW_LIBS) BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS" +BACKEND_LIBS="$BACKEND_LIBS -lm" AC_SUBST(BACKEND_CFLAGS) AC_SUBST(BACKEND_LIBS) -SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS $KEYRING_CFLAGS $GCONF_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS" -SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS $KEYRING_LIBS $GCONF_LIBS -lz" +SHELL_CFLAGS="$SHELL_CORE_CFLAGS $KEYRING_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS" +SHELL_LIBS="$SHELL_CORE_LIBS $KEYRING_LIBS -lz -lm" AC_SUBST(SHELL_CFLAGS) AC_SUBST(SHELL_LIBS) @@ -384,7 +380,7 @@ AC_ARG_ENABLE([nautilus], esac]) if test "$enable_nautilus" = "yes" ; then - PKG_CHECK_MODULES([NAUTILUS],[gtk+-x11-2.0 $MM gthread-2.0 libnautilus-extension], + PKG_CHECK_MODULES([NAUTILUS],[gtk+-x11-3.0 $MM gthread-2.0 libnautilus-extension], [],[AC_MSG_ERROR([libnautilus-extension not found; use --disable-nautilus to disable the nautilus extensions])]) NAUTILUS_EXTENSION_DIR=`$PKG_CONFIG --variable=extensiondir libnautilus-extension` AC_SUBST([nautilusextensiondir],[$NAUTILUS_EXTENSION_DIR]) @@ -403,8 +399,8 @@ AC_ARG_ENABLE([thumbnailer], [Disable GNOME thumbnailer])], [], [case "$with_platform" in - gnome) enable_thumbnailer=yes ;; - *) enable_thumbnailer=no ;; + hildon) enable_thumbnailer=no ;; + *) enable_thumbnailer=yes ;; esac]) AM_CONDITIONAL([ENABLE_THUMBNAILER],[test "$enable_thumbnailer" = "yes"]) @@ -418,12 +414,12 @@ AC_ARG_ENABLE([previewer], [Disable the GNOME Document Previewer])], [], [case "$with_platform" in - gnome) enable_previewer=yes ;; - *) enable_previewer=no ;; + hildon) enable_previewer=no ;; + *) enable_previewer=yes ;; esac]) if test x$enable_previewer = "xyes" ; then - PKG_CHECK_MODULES([PREVIEWER],[gtk+-2.0 >= $GTK_REQUIRED gtk+-unix-print-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED]) + PKG_CHECK_MODULES([PREVIEWER],[gtk+-3.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED]) fi AM_CONDITIONAL([ENABLE_PREVIEWER],[test "$enable_previewer" = "yes"]) @@ -486,21 +482,17 @@ AC_ARG_ENABLE([pdf], [enable_pdf=yes]) if test "x$enable_pdf" = "xyes"; then - POPPLER_REQUIRED=0.12.0 + POPPLER_REQUIRED=0.14.0 PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED,enable_pdf=yes,enable_pdf=no) if test "x$enable_pdf" = "xyes"; then - AC_DEFINE([ENABLE_PDF], [1], [Enable pdf support.]) - SHELL_LIBS="$SHELL_LIBS $POPPLER_LIBS" - SHELL_CFLAGS="$SHELL_CFLAGS $POPPLER_CFLAGS" - evince_save_LIBS=$LIBS LIBS="$LIBS $POPPLER_LIBS" - AC_CHECK_FUNCS(poppler_page_render) - AC_CHECK_FUNCS(poppler_page_get_image) - AC_CHECK_FUNCS(poppler_annot_file_attachment_get_attachment) + AC_CHECK_FUNCS(poppler_page_get_text_layout) + AC_CHECK_FUNCS(poppler_page_get_selected_text) + AC_CHECK_FUNCS(poppler_page_add_annot) + AC_CHECK_FUNCS(poppler_document_is_linearized) LIBS=$evince_save_LIBS - PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no) if test x$enable_cairo_pdf = xyes; then AC_DEFINE([HAVE_CAIRO_PDF], [1], [defined if cairo-pdf is available]) @@ -666,34 +658,35 @@ AC_ARG_ENABLE(comics, [enable_comics=yes]) if test "x$enable_comics" = "xyes"; then - if test "x$os_win32" = "xyes"; then - # The comics backend is disabled on windows because: - # 1) it uses unix functions from sys/wait.h. - # 2) it uses external decompression tools not generally available on windows. - enable_comics=no - AC_MSG_WARN(The comics backend is not supported on windows.) - else - AC_DEFINE([ENABLE_COMICS], [1], [Enable support for comics.]) - fi -fi + AC_DEFINE([ENABLE_COMICS], [1], [Enable support for comics.]) +fi AM_CONDITIONAL(ENABLE_COMICS, test x$enable_comics = xyes) dnl ================== End of comic book checks ============================================ -dnl ================== impress book checks =================================================== +dnl ================== XPS checks =================================================== -AC_ARG_ENABLE(impress, - [AS_HELP_STRING([--enable-impress], - [Compile with support for impress presentations])], - [enable_impress=$enableval], - [enable_impress=no]) - -if test "x$enable_impress" = "xyes"; then - AC_DEFINE([ENABLE_IMPRESS], [1], [Enable support for impress.]) -fi -AM_CONDITIONAL(ENABLE_IMPRESS, test x$enable_impress = xyes) +AC_ARG_ENABLE(xps, + [AS_HELP_STRING([--enable-xps], + [Compile with support for XPS documents.])], + [enable_xps=$enableval], + [enable_xps=yes]) + +if test "x$enable_xps" = "xyes"; then + GXPS_REQUIRED=0.0.1 + PKG_CHECK_MODULES(GXPS, libgxps >= $GXPS_REQUIRED,enable_xps=yes,enable_xps=no) + + if test "x$enable_xps" = "xyes"; then + AC_DEFINE([ENABLE_XPS], [1], [Enable support for XPS documents.]) + else + enable_xps="no" + AC_MSG_WARN(["XPS support is disabled since libgxps (version >= $GXPS_REQUIRED) is needed]) + fi +fi -dnl ================== End of impress book checks ============================================ +AM_CONDITIONAL(ENABLE_XPS, test x$enable_xps = xyes) + +dnl ================== End of XPS checks =================================================== dnl =================== Mime types list ==================================================== @@ -718,25 +711,67 @@ fi if test "x$enable_pixbuf" = "xyes"; then EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}image/*;" fi -if test "x$enable_impress" = "xyes"; then - EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/vnd.sun.xml.impress;application/vnd.oasis.opendocument.presentation;" +if test "x$enable_xps" = "xyes"; then + EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/oxps;application/vnd.ms-xpsdocument;" fi AC_SUBST(EVINCE_MIME_TYPES) AC_CHECK_FUNC(localtime_r, AC_DEFINE(HAVE_LOCALTIME_R, 1, [Defines if localtime_r is available on your system])) +# ***************** +# Help files +# ***************** + +GNOME_DOC_INIT([], gnome_doc_utils=yes, gnome_doc_utils=no) + +AC_ARG_ENABLE(help, + [AS_HELP_STRING([--disable-help], [Disable offline help files])], + [enable_help=$enableval], + [enable_help=yes]) + +if test "x$enable_help" = "xyes" && test "x$os_win32" = "xyes" ; then + AC_MSG_WARN([Offline help is disabled (not implemented on Windows).]) + enable_help=no +fi + +if test "x$enable_help" = "xyes" && test "x$gnome_doc_utils" == "xno"; then + AC_MSG_ERROR( + [gnome-doc-utils not found; use --disable-help to disable help files] + ) +fi + +if test "x$enable_help" = "xyes"; then + AC_DEFINE([OFFLINE_HELP_ENABLED], [1], [Enable offline help]) +fi + +AM_CONDITIONAL(ENABLE_HELP, test "x$enable_help" = "xyes") + +# ***************** +# API documentation +# ***************** + +GTK_DOC_CHECK([1.13],[--flavour no-tmpl]) + +AC_SUBST([GLIB_PREFIX],[$($PKG_CONFIG --variable=prefix glib-2.0)]) +AC_SUBST([GTK_PREFIX],[$($PKG_CONFIG --variable=prefix gtk+-3.0)]) + +# ****************** # Backends directory +# ****************** AC_SUBST([backenddir],"\$(libdir)/evince/ev_binary_version/backends") AC_SUBST([backend_binary_version],"ev_binary_version") +# ********** # Versioning +# ********** AC_SUBST([EV_MAJOR_VERSION],[ev_major_version]) AC_SUBST([EV_MINOR_VERSION],[ev_minor_version]) AC_SUBST([EV_MICRO_VERSION],[ev_micro_version]) AC_SUBST([EV_API_VERSION],[ev_api_version]) +AC_SUBST([EV_API_VERSION_U],[AS_TR_SH([ev_api_version])]) AC_SUBST([EV_BINARY_VERSION],[ev_binary_version]) AC_SUBST([EV_DOCUMENT_LT_VERSION_INFO],[ev_document_lt_version_info]) @@ -744,6 +779,7 @@ AC_SUBST([EV_DOCUMENT_LT_CURRENT_MINUS_AGE],[ev_document_lt_current_minus_age]) AC_SUBST([EV_VIEW_LT_VERSION_INFO],[ev_view_lt_version_info]) AC_SUBST([EV_VIEW_LT_CURRENT_MINUS_AGE],[ev_view_lt_current_minus_age]) +# ***************************************************************************** # ***************************************************************************** AC_CONFIG_FILES([ @@ -752,18 +788,18 @@ backend/comics/Makefile backend/djvu/Makefile backend/dvi/Makefile backend/dvi/mdvi-lib/Makefile -backend/impress/Makefile backend/pdf/Makefile backend/pixbuf/Makefile backend/ps/Makefile backend/tiff/Makefile +backend/xps/Makefile cut-n-paste/Makefile -cut-n-paste/evinfobar/Makefile cut-n-paste/gimpcellrenderertoggle/Makefile cut-n-paste/smclient/Makefile cut-n-paste/toolbar-editor/Makefile cut-n-paste/zoom-control/Makefile cut-n-paste/totem-screensaver/Makefile +cut-n-paste/synctex/Makefile data/evince.desktop.in data/Makefile data/icons/Makefile @@ -823,6 +859,7 @@ Configure summary: Keyring Support....: $with_keyring DBUS Support.......: $enable_dbus SM client support..: $with_smclient + Help files.........: $enable_help Nautilus Plugin....: $enable_nautilus Thumbnailer........: $enable_thumbnailer Previewer..........: $enable_previewer @@ -838,5 +875,5 @@ Configure summary: DVI Backend........: $enable_dvi Pixbuf Backend.....: $enable_pixbuf Comics Backend.....: $enable_comics - Impress Backend....: $enable_impress + XPS Backend........: $enable_xps "