X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=configure.ac;h=0c9e38a51090caeffd4173ba80e72a3463020c29;hb=776a6fe02961d8901d21e172633d3c8d1c85dc93;hp=f22879b3066c4e0ee9159c7d387d8366231124a2;hpb=ac281c354dee91d7763852a9ba81ccddafd06a4f;p=evince.git diff --git a/configure.ac b/configure.ac index f22879b3..0c9e38a5 100644 --- a/configure.ac +++ b/configure.ac @@ -1,13 +1,50 @@ -dnl Process this file with autoconf to produce a configure script. - -AC_PREREQ(2.57) -AC_INIT([Evince],[2.23.4],[http://bugzilla.gnome.org/enter_bug.cgi?product=evince],[evince]) +# ***************************************************************************** +# Versioning +# ***************************************************************************** + +m4_define([ev_major_version],[2]) +m4_define([ev_minor_version],[27]) +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.25]) + +# Libtool versioning. The backend and view libraries have separate versions. +# Before making a release, the libtool version should be modified. +# The string is of the form C:R:A. +# - If interfaces have been changed or added, but binary compatibility has +# been preserved, change to C+1:0:A+1 +# - If binary compatibility has been broken (eg removed or changed interfaces) +# change to C+1:0:0 +# - 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],[1]) +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],[1]) +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]) +m4_define([ev_view_lt_current_minus_age],[m4_eval(ev_view_lt_current - ev_view_lt_age)]) + +# Binary version for the document backends +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 dist-bzip2 no-dist-gzip]) -EV_API_VERSION=2.20 -AC_SUBST(EV_API_VERSION) - AM_CONFIG_HEADER(config.h) +AC_CONFIG_MACRO_DIR(m4) AM_MAINTAINER_MODE @@ -16,6 +53,7 @@ AM_PROG_LIBTOOL AC_ISC_POSIX AC_PROG_CC AM_PROG_CC_STDC +AM_PROG_CC_C_O AC_PROG_CXX AC_STDC_HEADERS IT_PROG_INTLTOOL([0.35.0]) @@ -35,6 +73,32 @@ AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[Gettext package]) AM_GLIB_GNU_GETTEXT +dnl check for win32 platform +AC_MSG_CHECKING([for Win32 platform]) +case "$host" in + *-*-mingw*|*-*-cygwin*) + platform_win32=yes + AC_CHECK_TOOL(WINDRES, windres) + ;; + *) + platform_win32=no + ;; +esac +AC_MSG_RESULT([$platform_win32]) +AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes") + +AC_MSG_CHECKING([for native Win32]) +case "$host" in + *-*-mingw*) + os_win32=yes + ;; + *) + os_win32=no + ;; +esac +AC_MSG_RESULT([$os_win32]) +AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes") + dnl Check dependencies # LIB_CFLAGS for helpers and generic widgets. (libdocument, cut-and-paste) @@ -45,21 +109,32 @@ dnl Check dependencies # SHELL_LIBS DBUS_GLIB_REQUIRED=0.70 -GTK_REQUIRED=2.10.0 -GLIB_REQUIRED=2.15.6 -KEYRING_REQUIRED=0.4.0 +GTK_REQUIRED=2.14.0 +GLIB_REQUIRED=2.18.0 +KEYRING_REQUIRED=2.22.0 +AC_SUBST([GLIB_REQUIRED]) +AC_SUBST([GTK_REQUIRED]) -LIBGNOMEUI_REQUIRED=2.14.0 -LIBGNOME_REQUIRED=2.14.0 GNOME_ICON_THEME_REQUIRED=2.17.1 LIBXML_REQUIRED=2.5.0 -PKG_CHECK_MODULES(LIB, gtk+-2.0 >= $GTK_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED gio-2.0 >= $GLIB_REQUIRED) +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 libglade-2.0 gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) -PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gtk+-unix-print-2.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gthread-2.0 libglade-2.0 gconf-2.0) +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 gtk+-unix-print-2.0 >= $GTK_REQUIRED gthread-2.0 gio-2.0 >= $GLIB_REQUIRED) +PKG_CHECK_MODULES(SHELL_CORE, libxml-2.0 >= $LIBXML_REQUIRED gtk+-2.0 >= $GTK_REQUIRED gtk+-unix-print-2.0 >= $GTK_REQUIRED gio-2.0 >= $GLIB_REQUIRED gnome-icon-theme >= $GNOME_ICON_THEME_REQUIRED gthread-2.0) + +if test "$os_win32" = no; then + PKG_CHECK_MODULES(SMCLIENT, gtk+-2.0 gthread-2.0 sm >= 1.0.0) +else + PKG_CHECK_MODULES(SMCLIENT, gtk+-2.0 gthread-2.0) +fi + +AC_SUBST(SMCLIENT_CFLAGS) +AC_SUBST(SMCLIENT_LIBS) -BACKEND_LIBTOOL_FLAGS="-module -avoid-version" +BACKEND_LIBTOOL_FLAGS="-module -avoid-version -no-undefined -export-symbols \$(top_srcdir)/backend/backend.symbols" AC_SUBST(BACKEND_LIBTOOL_FLAGS) dnl ===== Check special functions @@ -68,6 +143,7 @@ LIBS="$LIBS $BACKEND_LIBS" AC_CHECK_FUNCS(cairo_format_stride_for_width) LIBS=$evince_save_LIBS +dnl ========= Check for Keyring AC_ARG_WITH(keyring, AC_HELP_STRING([--without-keyring],[disable the use of gnome-keyring]), [case "${withval}" in @@ -83,22 +159,6 @@ if test x$WITH_KEYRING = "xyes"; then AC_DEFINE([WITH_KEYRING],[1],[Define if KEYRING support is enabled]) fi -AC_ARG_WITH(libgnome, - AC_HELP_STRING([--without-libgnome],[disable the use of libgnome]), - [case "${withval}" in - yes) WITH_GNOME=yes ;; - no) WITH_GNOME=no ;; - *) AC_MSG_ERROR(bad value ${withval} for --with-libgnome) ;; - esac], - [WITH_GNOME=yes]) dnl Default value -AM_CONDITIONAL(WITH_GNOME, test x$WITH_GNOME = "xyes") - -if test x$WITH_GNOME = "xyes"; then - PKG_CHECK_MODULES(GNOME, libgnome-2.0 >= $LIBGNOME_REQUIRED) - PKG_CHECK_MODULES(GNOMEUI, libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED) - AC_DEFINE([WITH_GNOME],[1],[Define if GNOME support is enabled]) -fi - GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` AC_SUBST(GLIB_GENMARSHAL) @@ -131,7 +191,30 @@ AC_SUBST([DBUS_LIBS]) AM_CONDITIONAL([ENABLE_DBUS], [test "x$enable_dbus" = "xyes"]) AM_CONDITIONAL([DBUS_TOOL_NO_PREFIX], [test "x$DBUS_VERSION" = "x33"]) +dnl ========= Check for GConf + +AC_MSG_CHECKING([whether GConf support is requested]) +AC_ARG_WITH([gconf], + [AS_HELP_STRING([--without-gconf],[disable the use of gconf])], + [],[with_gconf=yes]) +AC_MSG_RESULT([$with_gconf]) + +AM_CONDITIONAL([WITH_GCONF],[test "$with_gconf" = "yes"]) + +if test "$with_gconf" = "yes"; then + PKG_CHECK_MODULES([GCONF],[gconf-2.0]) + AC_DEFINE([WITH_GCONF],[1],[Define if GConf support is enabled]) +fi + +AM_GCONF_SOURCE_2 + +AC_PATH_PROG([GCONFTOOL], [gconftool-2], [false]) +if test "$with_gconf" = "yes" -a "$GCONFTOOL" = "false"; then + AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf]) +fi + dnl Debug mode + AC_ARG_ENABLE([debug], AC_HELP_STRING([--enable-debug], [Turn on evince debug mode]),, @@ -142,22 +225,27 @@ if test "x$enable_debug" = "xyes"; then fi -LIB_CFLAGS="$LIB_CFLAGS $GNOME_CFLAGS $DEBUG_FLAGS" -LIB_LIBS="$LIB_LIBS $GNOME_LIBS" -AC_SUBST(LIB_CFLAGS) -AC_SUBST(LIB_LIBS) +LIBDOCUMENT_CFLAGS="$LIBDOCUMENT_CFLAGS $DEBUG_FLAGS" +LIBDOCUMENT_LIBS="$LIBDOCUMENT_LIBS" +AC_SUBST(LIBDOCUMENT_CFLAGS) +AC_SUBST(LIBDOCUMENT_LIBS) + +LIBVIEW_CFLAGS="$LIBVIEW_CFLAGS $DEBUG_FLAGS" +LIBVIEW_LIBS="$LIBVIEW_LIBS" +AC_SUBST(LIBVIEW_CFLAGS) +AC_SUBST(LIBVIEW_LIBS) BACKEND_CFLAGS="$BACKEND_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS" AC_SUBST(BACKEND_CFLAGS) AC_SUBST(BACKEND_LIBS) -SHELL_CFLAGS="$SHELL_CORE_CFLAGS $DBUS_CFLAGS $GNOMEUI_CFLAGS $KEYRING_CFLAGS -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE $DEBUG_FLAGS" -SHELL_LIBS="$SHELL_CORE_LIBS $DBUS_LIBS $GNOMEUI_LIBS $KEYRING_LIBS -lz" +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" AC_SUBST(SHELL_CFLAGS) AC_SUBST(SHELL_LIBS) -FRONTEND_CFLAGS="$FRONTEND_CORE_CFLAGS $GNOME_CFLAGS $DEBUG_FLAGS" -FRONTEND_LIBS="$FRONTEND_CORE_LIBS $GNOME_LIBS -lz" +FRONTEND_CFLAGS="$FRONTEND_CORE_CFLAGS $DEBUG_FLAGS" +FRONTEND_LIBS="$FRONTEND_CORE_LIBS -lz" AC_SUBST(FRONTEND_CFLAGS) AC_SUBST(FRONTEND_LIBS) @@ -197,14 +285,63 @@ AC_ARG_ENABLE(thumbnailer, [ENABLE_THUMBNAILER=yes]) dnl Default value AM_CONDITIONAL(ENABLE_THUMBNAILER, test x$ENABLE_THUMBNAILER = "xyes") -dnl GConf configuration -AM_GCONF_SOURCE_2 - -AC_PATH_PROG([GCONFTOOL], [gconftool-2], [no]) -if test "x$GCONFTOOL" = "xno"; then - AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf]) +dnl Check for previewer build +AC_ARG_ENABLE(previewer, + AC_HELP_STRING([--disable-previewer],[disable the GNOME Document Previewer]), + [case "${enableval}" in + yes) ENABLE_PREVIEWER=yes ;; + no) ENABLE_PREVIEWER=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-previewer) ;; + esac], + [ENABLE_PREVIEWER=yes]) dnl Default value +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, + [ENABLE_PREVIEWER=yes],[ENABLE_PREVIEWER=no]) + if test x$ENABLE_PREVIEWER = "xno" ; then + AC_MSG_WARN([Previewer support is disabled since gtk+-unix-print $GTK_REQUIRED or higher was not found]) + fi +fi +AM_CONDITIONAL(ENABLE_PREVIEWER, test x$ENABLE_PREVIEWER = "xyes") +PREVIEWER_CFLAGS="$PREVIEWER_CFLAGS $DEBUG_FLAGS" +PREVIEWER_LIBS="$PREVIEWER_LIBS -lz" +AC_SUBST(PREVIEWER_CFLAGS) +AC_SUBST(PREVIEWER_LIBS) + +# *** +# GIR +# *** + +AC_MSG_CHECKING([whether GObject introspection is requested]) +AC_ARG_ENABLE([introspection], + AS_HELP_STRING([--enable-introspection],[Enable GObject introspection]), + [],[enable_introspection=no]) +AC_MSG_RESULT([$enable_introspection]) + +G_IR_SCANNER= +G_IR_COMPILER= +G_IR_GENERATE= +GIRDIR= +GIRTYPELIBDIR= + +if test "$enable_introspection" = "yes"; then + GOBJECT_INTROSPECTION_REQUIRED=0.6 + PKG_CHECK_MODULES([GOBJECT_INTROSPECTION],[gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED]) + + G_IR_SCANNER="$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)" + G_IR_COMPILER="$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)" + G_IR_GENERATE="$($PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0)" + GIRDIR="$($PKG_CONFIG --variable=girdir gobject-introspection-1.0)" + GIRTYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" fi +AC_SUBST([G_IR_SCANNER]) +AC_SUBST([G_IR_COMPILER]) +AC_SUBST([G_IR_GENERATE]) +AC_SUBST([GIRDIR]) +AC_SUBST([GIRTYPELIBDIR]) + +AM_CONDITIONAL([ENABLE_INTROSPECTION],[test "$enable_introspection" = "yes"]) + dnl ================== portability checks =========================================== dnl for backtrace() @@ -219,8 +356,8 @@ AC_ARG_ENABLE(pdf, [AC_HELP_STRING([--enable-pdf], [Compile with pdf support])],enable_pdf="$enableval",enable_pdf=yes) if test "x$enable_pdf" = "xyes"; then - POPPLER_REQUIRED=0.8.0 - PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED,enable_pdf=yes,enable_pdf=no) + POPPLER_REQUIRED=0.11.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.]) @@ -230,6 +367,7 @@ if test "x$enable_pdf" = "xyes"; then evince_save_LIBS=$LIBS LIBS="$LIBS $POPPLER_LIBS" AC_CHECK_FUNCS(poppler_page_render) + AC_CHECK_FUNCS(poppler_page_get_image) LIBS=$evince_save_LIBS PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no) @@ -408,7 +546,7 @@ if test "x$enable_tiff" = "xyes"; then EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}image/tiff;" fi if test "x$enable_comics" = "xyes"; then - EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/x-cbr;application/x-cbz;" + EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}application/x-cbr;application/x-cbz;application/x-cb7;" fi if test "x$enable_pixbuf" = "xyes"; then EVINCE_MIME_TYPES="${EVINCE_MIME_TYPES}image/*;" @@ -418,6 +556,30 @@ if test "x$enable_impress" = "xyes"; then 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])) + +# Backends directory + +AC_SUBST([backenddir],"\$(libdir)/evince/ev_binary_version/backends") + +# 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_BINARY_VERSION],[ev_binary_version]) + +AC_SUBST([EV_DOCUMENT_LT_VERSION_INFO],[ev_document_lt_version_info]) +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]) + +# ***************************************************************************** + +SHAVE_INIT([.], [enable]) + AC_CONFIG_FILES([ backend/Makefile backend/comics/Makefile @@ -430,8 +592,9 @@ backend/pixbuf/Makefile backend/ps/Makefile backend/tiff/Makefile cut-n-paste/Makefile -cut-n-paste/evmountoperation/Makefile cut-n-paste/gedit-message-area/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 @@ -456,27 +619,43 @@ data/icons/scalable/Makefile data/icons/scalable/apps/Makefile help/Makefile help/reference/Makefile -help/reference/version.xml +help/reference/libdocument/Makefile +help/reference/libdocument/version.xml +help/reference/libview/Makefile +help/reference/libview/version.xml +help/reference/shell/Makefile +help/reference/shell/version.xml libdocument/Makefile +libdocument/ev-version.h +libmisc/Makefile +libview/Makefile Makefile po/Makefile.in +previewer/Makefile properties/Makefile +shave +shave-libtool shell/Makefile test/Makefile thumbnailer/Makefile ]) +AC_CONFIG_FILES(evince-document-[]ev_api_version[].pc:evince-document.pc.in) +AC_CONFIG_FILES(evince-view-[]ev_api_version[].pc:evince-view.pc.in) + AC_OUTPUT echo " Configure summary: - GNOME Support......: $WITH_GNOME + GConf Support......: $with_gconf Keyring Support....: $WITH_KEYRING DBUS Support.......: $enable_dbus Nautilus Plugin....: $HAVE_NAUTILUS Thumbnailer........: $ENABLE_THUMBNAILER + Previewer..........: $ENABLE_PREVIEWER Gtk-Doc Support....: $enable_gtk_doc Debug mode.........: $enable_debug + GObj. Introspection: $enable_introspection PDF Backend........: $enable_pdf PostScript Backend.: $enable_ps