1AC_PREREQ(2.54)
2
3dnl ===========================================================================
4
5m4_define(gdk-pixbuf_minver,           2.36.5)
6m4_define(glib_minver,                 2.58.1)
7m4_define(gio_minver,                  2.50.0)
8m4_define(mate_desktop_minver,         1.17.3)
9m4_define(pango_minver,                1.1.2)
10m4_define(gtk_minver,                  3.22.0)
11m4_define(xml_minver,                  2.4.7)
12m4_define(exif_minver,                 0.6.14)
13m4_define(exempi_minver,               1.99.5)
14m4_define(gail_minver,                 3.0.0)
15m4_define(notify_minver,               0.7.0)
16
17
18dnl 1. If the library code has changed at all since last release, then increment revision.
19dnl 2. If any interfaces have been added, then increment current and set revision to 0.
20dnl Interface break is not allowed.
21m4_define(caja_extension_current,  5)
22m4_define(caja_extension_revision, 0)
23
24AC_INIT([caja],
25        [1.26.0],
26        [https://github.com/mate-desktop/caja/issues],
27        [caja],
28        [https://mate-desktop.org])
29
30dnl ---------------------------------------------------------------------------
31
32AC_CONFIG_SRCDIR(src)
33AC_CONFIG_HEADERS(config.h)
34AC_CONFIG_MACRO_DIR([m4])
35
36MATE_COMPILE_WARNINGS
37
38AM_INIT_AUTOMAKE([1.9 tar-ustar dist-xz no-dist-gzip check-news])
39m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
40AM_MAINTAINER_MODE
41AC_SUBST([ACLOCAL_AMFLAGS], ["\${ACLOCAL_FLAGS}"])
42
43AC_SUBST(GDKPIXBUF_REQUIRED, [gdk-pixbuf_minver])
44AC_SUBST(GLIB_REQUIRED, [glib_minver])
45AC_SUBST(GIO_REQUIRED, [gio_minver])
46AC_SUBST(MATE_DESKTOP_REQUIRED, [mate_desktop_minver])
47AC_SUBST(PANGO_REQUIRED, [pango_minver])
48AC_SUBST(GTK_REQUIRED, [gtk_minver])
49AC_SUBST(XML_REQUIRED, [xml_minver])
50AC_SUBST(GAIL_REQUIRED, [gail_minver])
51
52dnl We need to decrement current by one in the calculation of the age because
53dnl the library was started with version "1:0:0" instead of "0:0:0"
54AC_SUBST(CAJA_EXTENSION_VERSION_INFO, [caja_extension_current]:[caja_extension_revision]:`expr [caja_extension_current] - 1`)
55
56AC_C_BIGENDIAN
57AC_C_CONST
58AC_PROG_CC
59AC_PROG_CPP
60AC_PROG_INSTALL
61AC_PROG_LN_S
62AC_PROG_MAKE_SET
63AM_DISABLE_STATIC
64AM_PROG_LIBTOOL
65PKG_PROG_PKG_CONFIG
66dnl Give error and exit if we dont have pkgconfig
67if test "x$PKG_CONFIG" = "x"; then
68  AC_MSG_ERROR([you need to have pkgconfig installed!])
69fi
70AC_PATH_PROG([GLA11Y], [gla11y], [true])
71
72AC_CHECK_LIB(m, floor)
73
74PKG_CHECK_MODULES(ALL, [
75    gdk-pixbuf-2.0 >= gdk-pixbuf_minver
76    glib-2.0 >= glib_minver
77    mate-desktop-2.0 >= mate_desktop_minver
78    gthread-2.0
79    gio-unix-2.0
80    gio-2.0 >= gio_minver
81    pango >= pango_minver
82    gtk+-3.0 >= gtk_minver
83    libnotify
84    libxml-2.0 >= xml_minver
85    gail-3.0 >= gail_minver
86])
87dnl ==========================================================================
88
89GETTEXT_PACKAGE=AC_PACKAGE_NAME
90AC_SUBST(GETTEXT_PACKAGE)
91AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",
92    [the gettext translation domain])
93
94AH_TEMPLATE([ENABLE_INSTALLER])
95AH_TEMPLATE([ENABLE_NLS])
96AH_TEMPLATE([HAVE_CATGETS])
97AH_TEMPLATE([HAVE_LC_MESSAGES])
98AH_TEMPLATE([HAVE_LIBBZ2])
99AH_TEMPLATE([HAVE_LIBJPEG])
100AH_TEMPLATE([HAVE_MEDUSA])
101AH_TEMPLATE([HAVE_STPCPY])
102AH_TEMPLATE([bzclose])
103AH_TEMPLATE([bzCompress])
104AH_TEMPLATE([bzCompressInit])
105AH_TEMPLATE([bzDecompress])
106AH_TEMPLATE([bzDecompressInit])
107AH_TEMPLATE([bzdopen])
108AH_TEMPLATE([bzerror])
109AH_TEMPLATE([bzflush])
110AH_TEMPLATE([bzopen])
111AH_TEMPLATE([bzread])
112AH_TEMPLATE([bzwrite])
113
114AC_DEFINE([HAVE_GTK_MULTIHEAD], [], [needed for egg-screen-exec functions])
115
116AH_TEMPLATE([HAVE_STARTUP_NOTIFICATION])
117AH_TEMPLATE([HAVE_EXIF])
118
119AM_GNU_GETTEXT([external])
120AM_GNU_GETTEXT_VERSION([0.19.8])
121AM_CONDITIONAL([USE_NLS], [test "x${USE_NLS}" = "xyes"])
122
123dnl ==========================================================================
124
125GTK_DOC_CHECK([1.4])
126
127dnl ==========================================================================
128
129AC_CHECK_PROGS(PERL, perl5 perl)
130AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
131
132dnl ==========================================================================
133
134AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/param.h malloc.h)
135AC_CHECK_FUNCS(mallopt)
136
137dnl ==========================================================================
138
139AM_CONDITIONAL(HAVE_EXIF, false)
140
141dnl libexif checking
142
143PKG_CHECK_MODULES(EXIF, libexif >= exif_minver,
144    [AM_CONDITIONAL(HAVE_EXIF, true)
145     AC_DEFINE(HAVE_EXIF, 1, [Define to enable EXIF support])
146    ],
147    [AM_CONDITIONAL(HAVE_EXIF, false)])
148
149AC_SUBST(EXIF_CFLAGS)
150AC_SUBST(EXIF_LIBS)
151
152dnl ==========================================================================
153
154dnl exempi checking
155
156AM_CONDITIONAL(HAVE_EXEMPI, false)
157
158AC_ARG_ENABLE(xmp,
159    AC_HELP_STRING([--disable-xmp],
160                   [build without xmp support]))
161msg_xmp=no
162if test "x$enable_xmp" != "xno"; then
163    PKG_CHECK_MODULES(EXEMPI, exempi-2.0 >= exempi_minver,
164        [AM_CONDITIONAL(HAVE_EXEMPI, true)
165         AC_DEFINE(HAVE_EXEMPI, 1, [Define to enable xmp support])]
166        msg_xmp=yes,
167        [AM_CONDITIONAL(HAVE_EXEMPI, false)])
168
169    AC_SUBST(EXEMPI_CFLAGS)
170    AC_SUBST(EXEMPI_LIBS)
171fi
172
173dnl ==========================================================================
174
175dnl ****************************
176dnl *** Check for libselinux ***
177dnl ****************************
178
179SELINUX_LIBS=
180msg_selinux=no
181AC_CHECK_LIB(selinux, is_selinux_enabled,
182   [AC_CHECK_HEADERS(selinux/selinux.h,
183     [AC_SEARCH_LIBS(selinux_raw_to_trans_context, selinux,
184       [AC_DEFINE(HAVE_SELINUX, 1, [Define to 1 if libselinux is available])
185        SELINUX_LIBS="-lselinux"
186        msg_selinux=yes])
187     ])
188   ])
189AC_SUBST(SELINUX_LIBS)
190
191
192AC_ARG_ENABLE(empty_view,
193 AC_HELP_STRING([--enable-empty-view], [Enable empty view]),
194 [ENABLE_EMPTY_VIEW=1
195  AC_DEFINE(ENABLE_EMPTY_VIEW, 1, [define to enable the empty view that is used for performance measurement])])
196
197AC_SUBST(ENABLE_EMPTY_VIEW)
198AM_CONDITIONAL(ENABLE_EMPTY_VIEW, test "x$ENABLE_EMPTY_VIEW" = "x1")
199
200dnl ==========  EEL/CAJA OMIT SELF CHECK  ====================================
201AC_ARG_ENABLE(self-check,
202    AC_HELP_STRING([--disable-self-check], [build without self check]))
203msg_self_check=yes
204if test "x$enable_self_check" = "xno"; then
205    msg_self_check=no
206    AC_DEFINE(EEL_OMIT_SELF_CHECK, 1, [define to disable eel self check])
207    AC_DEFINE(CAJA_OMIT_SELF_CHECK, 1, [define to disable caja self check])
208fi
209AM_CONDITIONAL(ENABLE_SELF_CHECK, test "x$msg_self_check" = "xyes")
210
211dnl ==========================================================================
212
213AC_ARG_ENABLE(packagekit,
214    AC_HELP_STRING([--disable-packagekit],
215        [build without PackageKit support]))
216msg_packagekit=no
217if test "x$enable_packagekit" != "xno"; then
218    msg_packagekit=yes
219    AC_DEFINE(ENABLE_PACKAGEKIT, 1, [define to enable PackageKit mimetype installer])
220fi
221
222dnl ==========================================================================
223PKG_CHECK_MODULES(LIBEGG, ice sm gtk+-3.0)
224AC_SUBST(LIBEGG_CFLAGS)
225AC_SUBST(LIBEGG_LIBS)
226
227dnl libcaja-extension
228LIBCAJA_EXTENSION_MODULES="glib-2.0 gtk+-3.0"
229LIBCAJA_EXTENSION_CFLAGS="`$PKG_CONFIG --cflags $LIBCAJA_EXTENSION_MODULES`"
230AC_SUBST(LIBCAJA_EXTENSION_CFLAGS)
231LIBCAJA_EXTENSION_LIBS="`$PKG_CONFIG --libs $LIBCAJA_EXTENSION_MODULES`"
232AC_SUBST(LIBCAJA_EXTENSION_LIBS)
233
234dnl core caja
235PKG_CHECK_MODULES(GMODULE, gmodule-2.0, [GMODULE_ADD="gmodule-2.0"],[GMODULE_ADD=""])
236CORE_MODULES="glib-2.0 $GMODULE_ADD mate-desktop-2.0 gthread-2.0 gio-2.0 gio-unix-2.0 gail-3.0 libxml-2.0 $EXTRA_CORE_MODULES gtk+-3.0 x11"
237CORE_CFLAGS="`$PKG_CONFIG --cflags $CORE_MODULES`"
238AC_SUBST(CORE_CFLAGS)
239CORE_LIBS="`$PKG_CONFIG --libs $CORE_MODULES`"
240AC_SUBST(CORE_LIBS)
241
242DISABLE_DEPRECATED_CFLAGS="-DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED"
243AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
244
245dnl Multimedia keys
246AC_CHECK_HEADERS([X11/XF86keysym.h])
247
248dnl ==============================================
249dnl Special GSettings section
250dnl ==============================================
251
252GLIB_GSETTINGS
253
254##################################################
255# Check for introspection
256##################################################
257GOBJECT_INTROSPECTION_CHECK([0.6.4])
258
259dnl ==========================================================================
260
261AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no)
262
263AC_ARG_ENABLE(update-mimedb,
264   AC_HELP_STRING([--disable-update-mimedb],
265                   [disable the update-mime-database after install [default=no]]),,
266    enable_update_mimedb=yes)
267AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)
268
269AC_ARG_ENABLE(icon-update, AC_HELP_STRING([--disable-icon-update],
270                                        [Disable icon cache update]))
271if (test "$enable_icon_update" != no); then
272        AC_PATH_PROG(UPDATE_ICON_CACHE, [gtk-update-icon-cache])
273fi
274AM_CONDITIONAL([ICON_UPDATE], [test -n "$UPDATE_ICON_CACHE"])
275
276AC_CONFIG_FILES([
277Makefile
278mate-submodules/Makefile
279mate-submodules/libegg/Makefile
280data/Makefile
281data/caja.appdata.xml.in
282data/icons/Makefile
283data/patterns/Makefile
284docs/Makefile
285docs/reference/Makefile
286docs/reference/libcaja-extension/Makefile
287docs/reference/libcaja-extension/version.xml
288eel/Makefile
289icons/Makefile
290libcaja-private/Makefile
291libcaja-extension/Makefile
292libcaja-extension/libcaja-extension.pc
293libcaja-extension/libcaja-extension-uninstalled.pc
294po/Makefile.in
295src/Makefile
296src/file-manager/Makefile
297test/Makefile
298])
299
300AC_OUTPUT
301
302dnl ==========================================================================
303
304echo "
305Configure summary:
306
307    ${PACKAGE_STRING}
308    `echo $PACKAGE_STRING | sed "s/./=/g"`
309
310    prefix:                       ${prefix}
311    source code location:         ${srcdir}
312    compiler:                     ${CC}
313    compiler flags:               ${CFLAGS}
314    warning flags:                ${WARN_CFLAGS}
315    xmp support:                  $msg_xmp
316    PackageKit support:           $msg_packagekit
317    Native Language support:      $USE_NLS
318    Self check:                   $msg_self_check
319
320    caja-extension documentation: ${enable_gtk_doc}
321    caja-extension introspection: ${found_introspection}
322"
323