Add some checks to script tools
[nautilus-actions.git] / configure.ac
blob95837a7364747d3f624bd3dc957b5a6905d29a3e
1 # Nautilus-Actions
2 # A Nautilus extension which offers configurable context menu actions.
4 # Copyright (C) 2005 The GNOME Foundation
5 # Copyright (C) 2006, 2007, 2008 Frederic Ruaudel and others (see AUTHORS)
6 # Copyright (C) 2009, 2010, 2011 Pierre Wieser and others (see AUTHORS)
8 # This Program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public License as
10 # published by the Free Software Foundation; either version 2 of
11 # the License, or (at your option) any later version.
13 # This Program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public
19 # License along with this Library; see the file COPYING.  If not,
20 # write to the Free Software Foundation, Inc., 59 Temple Place,
21 # Suite 330, Boston, MA 02111-1307, USA.
23 # Authors:
24 #   Frederic Ruaudel <grumz@grumz.net>
25 #   Rodrigo Moya <rodrigo@gnome-db.org>
26 #   Pierre Wieser <pwieser@trychlos.org>
27 #   ... and many others (see AUTHORS)
29 AC_PREREQ([2.53])
31 AC_INIT([Nautilus-Actions],[3.1.0],[maintainer@nautilus-actions.org],,[http://www.nautilus-actions.org])
33 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
34 AC_CANONICAL_TARGET
35 AM_INIT_AUTOMAKE
37 AC_CONFIG_SRCDIR([src/plugin-menu/nautilus-module.c])
38 AC_CONFIG_HEADERS([src/config.h])
40 AC_CONFIG_FILES([
41         Makefile
42         data/Makefile
43         data/actions/Makefile
44         data/exports/Makefile
45         data/gconf-schemas/Makefile
46         docs/Makefile
47         docs/nact/Makefile
48         docs/reference/Makefile
49         docs/reference/version.xml
50         m4/Makefile
51         icons/Makefile
52         icons/16x16/Makefile
53         icons/22x22/Makefile
54         icons/32x32/Makefile
55         icons/48x48/Makefile
56         icons/scalable/Makefile
57         src/Makefile
58         src/api/Makefile
59         src/core/Makefile
60         src/io-desktop/Makefile
61         src/io-gconf/Makefile
62         src/io-xml/Makefile
63         src/plugin-menu/Makefile
64         src/plugin-tracker/Makefile
65         src/nact/Makefile
66         src/test/Makefile
67         src/utils/Makefile
68         tools/Makefile
69         po/Makefile.in
72 AC_CONFIG_MACRO_DIR([m4])
74 # pwi 2009-05-15 disabled as GNOME_COMMON_INIT takes care of that
75 #AC_SUBST(ACLOCAL_AMFLAGS, "$ACLOCAL_FLAGS")
77 # don't agree with maintainer mode use
78 # see http://www.gnu.org/software/automake/manual/automake.html#index-AM_005fMAINTAINER_005fMODE-1001
79 # but gnome-autogen.sh forces its usage and gnome_common_init requires it
80 AM_MAINTAINER_MODE
82 # check for compiler characteristics and options
83 AC_PROG_CC
84 AC_PROG_GCC_TRADITIONAL
85 AC_STDC_HEADERS
86 AM_DISABLE_STATIC
88 # other traditional tools
89 AC_PROG_INSTALL
90 AC_PROG_MAKE_SET
92 # Gnome stuff
93 GNOME_COMMON_INIT
94 GNOME_DOC_INIT
95 GNOME_MAINTAINER_MODE_DEFINES
96 NA_LINK_AS_NEEDED
97 NA_GNOME_COMPILE_WARNINGS([],[-ansi -Wno-overlength-strings -Wformat=2])
98 AC_SUBST([AM_CFLAGS],["${AM_CFLAGS} ${WARN_CFLAGS}"])
100 # GLib marshaling
101 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
103 # libtool
104 AM_PROG_LIBTOOL
106 # localization
107 # note that this same version is also required by autogen.sh
108 IT_PROG_INTLTOOL([0.35.5])
109 GETTEXT_PACKAGE=${PACKAGE}
110 AC_SUBST([GETTEXT_PACKAGE])
111 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[gettext package])
112 AM_GLIB_GNU_GETTEXT
114 # GConf support
115 AC_PATH_PROG([GCONFTOOL],[gconftool-2],[no])
116 AM_GCONF_SOURCE_2
117 AC_DEFINE_UNQUOTED([HAVE_GCONF],[1],[Whether we compile against the GConf library])
119 # note that requiring through pkg-config the version number of the
120 # nautilus-extension library actually returns the version number of
121 # nautilus itself (e.g. 2.24.2) instead of the library version info
122 # (1.1.0) ; for the usual final user, this is very analog to requiring
123 # a whole gnome version
125 # GLib >= 2.16: GVFS/GIO
126 # Gtk  >= 2.12: GtkBuilder
128 # [configure.ac, nautilus-actions.c] remove test for
129 #       nautilus_menu_provider_emit_items_updated_signal() when Gnome >= 2.16
131 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
132 if test "${PKG_CONFIG}" = "no"; then
133         AC_MSG_ERROR([You need to install pkg-config])
136 glib_required=2.16.0
137 gtk_required=2.12.0
139 NA_CHECK_FOR_GTK
141 dnl aclocal complains if the comma is not just after the square bracket
142 NA_CHECK_MODULE([DBUS],              [dbus-glib-1])
143 NA_CHECK_MODULE([GCONF],             [gconf-2.0 >= 2.8.0])
144 NA_CHECK_MODULE([GMODULE],           [gmodule-2.0 >= ${glib_required}])
145 NA_CHECK_MODULE([GLIB],              [glib-2.0 >= ${glib_required}])
146 NA_CHECK_MODULE([GTOP],              [libgtop-2.0 >= 2.23.1])
147 NA_CHECK_MODULE([LIBXML],            [libxml-2.0 >= 2.6])
148 NA_CHECK_MODULE([SM],                [sm >= 1.0])
149 NA_CHECK_MODULE([UUID],              [uuid])
150 NA_CHECK_MODULE([NAUTILUS_EXTENSION],[libnautilus-extension >= 2.8])
152 AC_SUBST([NAUTILUS_ACTIONS_CFLAGS])
153 AC_SUBST([NAUTILUS_ACTIONS_LIBS])
155 # check for gtk-doc
156 # Starting with gtk-doc 1.15, multiple source dirs are directly handled
157 # by gtk-doc.make
158 GTK_DOC_CHECK([1.10],[--flavour no-tmpl])
159 have_gtk_doc_115="no"
160 if test "x${enable_gtk_doc}" = "xyes"; then
161         AC_MSG_CHECKING([for gtk-doc >= 1.15])
162         PKG_CHECK_EXISTS([gtk-doc >= 1.15],[have_gtk_doc_115="yes"],[have_gtk_doc_115="no"])
163         AC_MSG_RESULT([${have_gtk_doc_115}])
165 AM_CONDITIONAL([HAVE_GTK_DOC_115], [test x$have_gtk_doc_115 = xyes])
167 # defines log domains when in maintainer mode
168 NA_LOG_DOMAINS
170 # add --enable-html-manuals and --enable-pdf-manuals configure options
171 NA_ENABLE_MANUALS
173 # add --with-default-io-provider option
174 NA_SET_DEFAULT_IO_PROVIDER([na-desktop])
176 # when working in a test environment, nautilus extensions are typically
177 # installed in a non-standard location ; lets specify this location here
178 NA_NAUTILUS_EXTDIR
180 # define NA_MAINTAINER_MODE variable
181 NA_IS_MAINTAINER_MODE
182 AC_DEFINE([NAUTILUS_ACTIONS_DEBUG],["NAUTILUS_ACTIONS_DEBUG"],[Debug environment variable])
184 # Check for menu update function
185 AC_CHECK_LIB(nautilus-extension, nautilus_menu_item_new)
186 AC_CHECK_FUNCS(nautilus_menu_provider_emit_items_updated_signal)
188 # display and keep configuration informations
189 config_options="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" 
190 AC_DEFINE_UNQUOTED([NA_CONFIG_OPTIONS],["$0 ${config_options}"],["Configure options"])
192 AC_OUTPUT
194 if test "x${enable_schemas_install}" = "xno"; then
195         msg_schemas_install="disabled"; else
196         msg_schemas_install="enabled in ${GCONF_SCHEMA_FILE_DIR}"
198 msg_gtk_doc=`if test "x${enable_gtk_doc}" = "xno"; then echo "disabled"; else echo "enabled"; fi`
199 msg_gtk_version=""
200 if test "${have_gtk3}" = "yes"; then msg_gtk_version="Gtk+ 3.0"; 
201         elif  test "${have_gtk2}" = "yes"; then msg_gtk_version="Gtk+ 2.0"; fi
202 $as_echo "
203         ${PACKAGE_STRING} configuration summary:
205         Installation prefix             ${prefix}
206         Build system type               ${ac_cv_build}
207         Nautilus extensions directory   ${with_nautilus_extdir}
208         Gtk+ version                    ${msg_gtk_version}
209         Default I/O provider            ${with_default_io_provider}
210         GConf schemas installation      ${msg_schemas_install}
211         Maintainer mode                 ${msg_maintainer_mode}
212         API Reference generation        ${msg_gtk_doc}
213         HTML User's Manuals generation  ${msg_html_manuals}
214         PDF User's Manuals generation   ${msg_pdf_manuals}
216 #       Preprocessor flags              ${AM_CPPFLAGS}
217 #       Compiler flags                  ${AM_CFLAGS} ${NAUTILUS_ACTIONS_CFLAGS}
218 #       Linker flags                    ${NAUTILUS_ACTIONS_LIBS}