2008-05-05 Paolo Borelli <pborelli@katamail.com>
[nautilus.git] / configure.in
blob90a70f9a8060ae6053f0e5a3fb24cc0ac80f0ef4
1 AC_PREREQ(2.54)
3 dnl ===========================================================================
5 m4_define(bonobo_activation_minver,    2.1.0)
6 m4_define(bonobo_minver,               2.1.0)
7 m4_define(eel_minver,                  2.21.90)
8 m4_define(glib_minver,                 2.15.6)
9 m4_define(gnome_desktop_minver,        2.9.91)
10 m4_define(gnome_minver,                2.14.0)
11 m4_define(gnome_ui_minver,             2.6.0)
12 m4_define(orbit_minver,                2.4.0)
13 m4_define(pango_minver,                1.1.2)
14 m4_define(gtk_minver,                  2.11.6)
15 m4_define(rsvg_minver,                 2.0.1)
16 m4_define(xml_minver,                  2.4.7)
17 m4_define(startup_notification_minver, 0.8)
18 m4_define(exif_minver,                 0.5.12)
19 m4_define(beagle_minver,               0.0.12)
20 m4_define(tracker_minver,              0.0.1)
21 m4_define(exempi_minver,               1.99.2)
22 m4_define(exempi_minver_newapi,        1.99.5)
24 dnl 1. If the library code has changed at all since last release, then increment revision.
25 dnl 2. If any interfaces have been added, then increment current and set revision to 0.
26 dnl Interface break is not allowed.
27 m4_define(nautilus_extension_current,  2)
28 m4_define(nautilus_extension_revision, 0)
30 AC_INIT([nautilus],[2.23.2],
31         [http://bugzilla.gnome.org/enter_bug.cgi?product=nautilus])
33 dnl ===========================================================================
35 AC_CONFIG_SRCDIR(src)
36 AC_CONFIG_HEADERS(config.h)
38 AM_INIT_AUTOMAKE
39 AM_MAINTAINER_MODE
40 AC_SUBST([ACLOCAL_AMFLAGS], ["\${ACLOCAL_FLAGS}"])
42 AC_SUBST(BONOBO_ACTIVATION_REQUIRED, [bonobo_activation_minver])
43 AC_SUBST(BONOBO_REQUIRED, [bonobo_minver])
44 AC_SUBST(EEL_REQUIRED, [eel_minver])
45 AC_SUBST(GLIB_REQUIRED, [glib_minver])
46 AC_SUBST(GNOME_DESKTOP_REQUIRED, [gnome_desktop_minver])
47 AC_SUBST(GNOME_REQUIRED, [gnome_minver])
48 AC_SUBST(GNOME_UI_REQUIRED, [gnome_ui_minver])
49 AC_SUBST(ORBIT_REQUIRED, [orbit_minver])
50 AC_SUBST(PANGO_REQUIRED, [pango_minver])
51 AC_SUBST(GTK_REQUIRED, [gtk_minver])
52 AC_SUBST(RSVG_REQUIRED, [rsvg_minver])
53 AC_SUBST(XML_REQUIRED, [xml_minver])
54 AC_SUBST(STARTUP_NOTIFICATION_REQUIRED, [startup_notification_minver])
56 dnl We need to decrement current by one in the calculation of the age because
57 dnl the library was started with version "1:0:0" instead of "0:0:0"
58 AC_SUBST(NAUTILUS_EXTENSION_VERSION_INFO, [nautilus_extension_current]:[nautilus_extension_revision]:`expr [nautilus_extension_current] - 1`)
60 AC_C_BIGENDIAN
61 AC_C_CONST
62 AC_PROG_CC
63 AC_PROG_CPP
64 AC_PROG_INSTALL
65 AC_PROG_LN_S
66 AC_PROG_MAKE_SET
67 AM_DISABLE_STATIC
68 AC_LIBTOOL_WIN32_DLL
69 AM_PROG_LIBTOOL
70 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
72 if $PKG_CONFIG --atleast-version startup_notification_minver libstartup-notification-1.0; then
73   echo "Building with libstartup-notification"
74   AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1,
75             [define to enable startup notification support])
76   with_startup_notification=yes
77   STARTUP_NOTIFICATION_PACKAGE=libstartup-notification-1.0
78   EXTRA_CORE_MODULES="$EXTRA_CORE_MODULES libstartup-notification-1.0"
79 else
80   echo "***** WARNING: Building without libstartup-notification"
81   with_startup_notification=no
82   STARTUP_NOTIFICATION_PACKAGE=
85 AC_SUBST(STARTUP_NOTIFICATION_PACKAGE)
87 PKG_CHECK_MODULES(ALL, [
88         bonobo-activation-2.0   >= bonobo_activation_minver
89         eel-2.0                 >= eel_minver
90         glib-2.0                >= glib_minver
91         gnome-desktop-2.0       >= gnome_desktop_minver
92         gio-unix-2.0            
93         gio-2.0         
94         ORBit-2.0               >= orbit_minver
95         pango                   >= pango_minver
96         gtk+-2.0                >= gtk_minver
97         libbonobo-2.0           >= bonobo_minver
98         libgnome-2.0            >= gnome_minver
99         libgnomeui-2.0          >= gnome_ui_minver
100         librsvg-2.0             >= rsvg_minver
101         libxml-2.0              >= xml_minver
102         $STARTUP_NOTIFICATION_PACKAGE
104 dnl ==========================================================================
106 GETTEXT_PACKAGE=nautilus
107 AC_SUBST(GETTEXT_PACKAGE)
108 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",
109                    [the gettext translation domain])
111 AM_GLIB_GNU_GETTEXT
112 GLIB_DEFINE_LOCALEDIR(GNOMELOCALEDIR)
114 IT_PROG_INTLTOOL([0.35.0])
116 dnl ==========================================================================
118 GTK_DOC_CHECK
120 dnl ==========================================================================
122 ENABLE_PROFILER=
123 AC_ARG_ENABLE(profiler,
124  AC_HELP_STRING([--enable-profiler], [Enable profiler]),
125  [ENABLE_PROFILER=1
126   AC_DEFINE(ENABLE_PROFILER, 1, [define to enable the profiler])])
128 profiling_support=off
129 if test "x$ENABLE_PROFILER" = "x1"
130 then
131         CFLAGS="-g -O -gdwarf-2 -finstrument-functions -D__NO_STRING_INLINES $CFLAGS"
132         LDFLAGS="/gnome/GNOME2/lib/libprofiler.so -lpthread $LDFLAGS"
133         profiling_support=on
136 AC_SUBST(ENABLE_PROFILER)
137 AM_CONDITIONAL(ENABLE_PROFILER, test "x$ENABLE_PROFILER" = "x1")
139 dnl ==========================================================================
141 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
143 dnl ==========================================================================
145 ORBIT_IDL="`$PKG_CONFIG --variable=orbit_idl ORBit-2.0`"
146 AC_SUBST(ORBIT_IDL)
148 dnl ==========================================================================
150 AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/param.h)
151                               
152 dnl ==========================================================================
154 AC_CHECK_FUNCS(statfs statvfs)
155 AC_CHECK_HEADERS(sys/statfs.h sys/statvfs.h)
158 dnl if statfs() takes 2 arguments or 4 (Solaris)
160 if test "$ac_cv_func_statfs" = yes ; then
161   AC_MSG_CHECKING([number of arguments to statfs()])
162   AC_TRY_COMPILE([#include <unistd.h>
163   #ifdef HAVE_SYS_PARAM_H
164   #include <sys/param.h>
165   #endif
166   #ifdef HAVE_SYS_VFS_H
167   #include <sys/vfs.h>
168   #endif
169   #ifdef HAVE_SYS_MOUNT_H
170   #include <sys/mount.h>
171   #endif
172   #ifdef HAVE_SYS_STATFS_H
173   #include <sys/statfs.h>
174   #endif], [struct statfs st;
175   statfs(NULL, &st);],[
176     AC_MSG_RESULT([2])
177     AC_DEFINE(STATFS_ARGS, 2, [Number of arguments to statfs()])],[
178     AC_TRY_COMPILE([#include <unistd.h>
179   #ifdef HAVE_SYS_PARAM_H
180   #include <sys/param.h>
181   #endif
182   #ifdef HAVE_SYS_VFS_H
183   #include <sys/vfs.h>
184   #endif
185   #ifdef HAVE_SYS_MOUNT_H
186   #include <sys/mount.h>
187   #endif
188   #ifdef HAVE_SYS_STATFS_H
189   #include <sys/statfs.h>
190   #endif], [struct statfs st;
191   statfs(NULL, &st, sizeof (st), 0);],[
192       AC_MSG_RESULT([4])
193       AC_DEFINE(STATFS_ARGS, 4, [Number of arguments to statfs()])],[
194       AC_MSG_RESULT(unknown)
195       AC_MSG_ERROR([unable to determine number of arguments to statfs()])])])
196 fi dnl test "$ac_cv_func_statfs" = yes
198 dnl ==========================================================================
200 dnl X
202 x_libs="`$PKG_CONFIG --libs pangox`"
203 case x_libs in
204   *-lX11*) pango_omitted_x_deps=no ;;
205   *)       pango_omitted_x_deps=yes ;;
206 esac
208 x_cflags="`$PKG_CONFIG --cflags pangox`"
209 x_extra_libs=
211 if test $pango_omitted_x_deps = yes ; then
212   AC_PATH_XTRA
214   if test x$no_x = xyes ; then
215     AC_MSG_ERROR([X development libraries not found])
216   fi
218   x_libs="$X_LIBS -lX11 $X_EXTRA_LIBS"
219 fi  
221 ## Strip the .la files
223 x_libs_for_checks=$x_libs
224 #for I in $x_libs ; do
225 #  case $I in 
226 #    *.la) ;;
227 #    *) x_libs_for_checks="$x_libs_for_checks $I" ;;
228 #  esac
229 #done
231 AC_CHECK_LIB(X11, XOpenDisplay, :, 
232         AC_MSG_ERROR([*** libX11 not found.  Check 'config.log' for more details.]),
233         $x_libs_for_checks) 
235 dnl ==========================================================================
237 AM_CONDITIONAL(HAVE_EXIF, false)
239 dnl libexif checking
241 PKG_CHECK_MODULES(EXIF, libexif > exif_minver, [
242                   AM_CONDITIONAL(HAVE_EXIF, true)
243                   AC_DEFINE(HAVE_EXIF, 1, [Define to enable EXIF support])
244                   ], [
245                   PKG_CHECK_MODULES(EXIF, libexif = exif_minver, [
246                                     AM_CONDITIONAL(HAVE_EXIF, true)
247                                     AC_DEFINE(HAVE_OLD_EXIF, 1, [Define if your EXIF library has old API])
248                                     ], [AM_CONDITIONAL(HAVE_EXIF, false)])
249                   ])
251 AC_SUBST(EXIF_CFLAGS)
252 AC_SUBST(EXIF_LIBS)
254 dnl ==========================================================================
256 dnl exempi checking
258 PKG_CHECK_MODULES(EXEMPI, exempi-2.0 >= exempi_minver, [
259                   AM_CONDITIONAL(HAVE_EXEMPI, true)
260                   AC_DEFINE(HAVE_EXEMPI, 1, [Define to enable XMP support])
261                   ], [AM_CONDITIONAL(HAVE_EXEMPI, false)])
263 PKG_CHECK_MODULES(EXEMPI_NEW_API, exempi-2.0 >= exempi_minver_newapi,
264                   AC_DEFINE(HAVE_EXEMPI_NEW_API, 1, [Define if we have exempi with the new API]), true)
266 AC_SUBST(EXEMPI_CFLAGS)
267 AC_SUBST(EXEMPI_LIBS)
269 dnl ==========================================================================
270 dnl search implementations
271 dnl ****************************
273 AM_CONDITIONAL(HAVE_TRACKER, false)
275 dnl libtracker checking
276                                                   
277 AC_ARG_ENABLE(tracker, [  --disable-tracker     build without tracker support])
278 msg_tracker=no
279 if test "x$enable_tracker" != "xno"; then
280         PKG_CHECK_MODULES(TRACKER, tracker >= tracker_minver, [
281                           AM_CONDITIONAL(HAVE_TRACKER, true)
282                           AC_DEFINE(HAVE_TRACKER, 1, [Define to enable tracker support])
283                           ]
284                           msg_tracker=yes,
285                           [AM_CONDITIONAL(HAVE_TRACKER, false)])
286         AC_SUBST(TRACKER_CFLAGS)
287         AC_SUBST(TRACKER_LIBS)
290 dnl ==========================================================================
293 AM_CONDITIONAL(HAVE_BEAGLE, false)
295 dnl libbeagle checking
296                                                   
297 AC_ARG_ENABLE(beagle, [  --disable-beagle     build without beagle support])
298 msg_beagle=no
299 if test "x$enable_beagle" != "xno"; then
300         BEAGLE_PKGCONFIG=
301         if $PKG_CONFIG --exists libbeagle-1.0; then
302                 BEAGLE_PKGCONFIG=libbeagle-1.0
303         else
304                 BEAGLE_PKGCONFIG=libbeagle-0.0
305         fi
307         PKG_CHECK_MODULES(BEAGLE, $BEAGLE_PKGCONFIG >= beagle_minver, [
308                           AM_CONDITIONAL(HAVE_BEAGLE, true)
309                           AC_DEFINE(HAVE_BEAGLE, 1, [Define to enable beagle support])
310                           ]
311                           msg_beagle=yes,
312                           [AM_CONDITIONAL(HAVE_BEAGLE, false)])
313         AC_SUBST(BEAGLE_CFLAGS)
314         AC_SUBST(BEAGLE_LIBS)
317 dnl ==========================================================================
319 dnl ****************************
320 dnl *** Check for libselinux ***
321 dnl ****************************
322     
323 SELINUX_LIBS=
324 msg_selinux=no
325 AC_CHECK_LIB(selinux, is_selinux_enabled,
326    [AC_CHECK_HEADERS(selinux/selinux.h,
327      [AC_SEARCH_LIBS(selinux_raw_to_trans_context, selinux, 
328        [AC_DEFINE(HAVE_SELINUX, 1, [Define to 1 if libselinux is available])
329         SELINUX_LIBS="-lselinux"
330         msg_selinux=yes])
331      ])
332    ])
333 AC_SUBST(SELINUX_LIBS)
336 AC_ARG_ENABLE(empty_view,
337  AC_HELP_STRING([--enable-empty-view], [Enable empty view]),
338  [ENABLE_EMPTY_VIEW=1
339   AC_DEFINE(ENABLE_EMPTY_VIEW, 1, [define to enable the empty view that is used for performance measurement])])
341 AC_SUBST(ENABLE_EMPTY_VIEW)
342 AM_CONDITIONAL(ENABLE_EMPTY_VIEW, test "x$ENABLE_EMPTY_VIEW" = "x1")
344 dnl ==========================================================================
346 dnl Turn on the additional warnings last, so -Werror doesn't affect other tests.
348 AC_ARG_ENABLE(more-warnings,
349 AC_HELP_STRING([--enable-more-warnings], [Maximum compiler warnings]),
350 set_more_warnings="$enableval",[
351 if test -f $srcdir/CVSVERSION; then
352         is_cvs_version=true
353         set_more_warnings=yes
354 else
355         set_more_warnings=no
358 AC_MSG_CHECKING(for more warnings, including -Werror)
359 if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
360         AC_MSG_RESULT(yes)
361         WARNING_CFLAGS="\
362         -Wall \
363         -Wmissing-declarations -Wmissing-prototypes \
364         -Wnested-externs -Wpointer-arith \
365         -Wcast-align \
366         -Werror"
368         for option in -Wno-strict-aliasing -Wno-pointer-sign; do
369                 SAVE_CFLAGS="$WARNING_CFLAGS"
370                 WARNING_CFLAGS="$WARNING_CFLAGS $option"
371                 AC_MSG_CHECKING([whether gcc understands $option])
372                 AC_TRY_COMPILE([], [],
373                         has_option=yes,
374                         has_option=no,)
375                 if test $has_option = no; then
376                         WARNING_CFLAGS="$SAVE_CFLAGS"
377                 fi
378                 AC_MSG_RESULT($has_option)
379                 unset has_option
380                 unset SAVE_CFLAGS
381         done
382         unset option
383 else
384         AC_MSG_RESULT(no)
387 dnl ==========================================================================
388         
389 dnl libegg
390 LIBEGG_MODULES="gtk+-2.0 libgnome-2.0"
391 LIBEGG_CFLAGS="`$PKG_CONFIG --cflags $LIBEGG_MODULES`"
392 AC_SUBST(LIBEGG_CFLAGS)
394 dnl libnautilus-extension
395 LIBNAUTILUS_EXTENSION_MODULES="glib-2.0 gtk+-2.0"
396 LIBNAUTILUS_EXTENSION_CFLAGS="`$PKG_CONFIG --cflags $LIBNAUTILUS_EXTENSION_MODULES` $WARNING_CFLAGS"
397 AC_SUBST(LIBNAUTILUS_EXTENSION_CFLAGS)
398 LIBNAUTILUS_EXTENSION_LIBS="`$PKG_CONFIG --libs $LIBNAUTILUS_EXTENSION_MODULES`"
399 AC_SUBST(LIBNAUTILUS_EXTENSION_LIBS)
401 dnl core nautilus (must list bonobo-activation and libbonobo because idldir does not respect "requires")
402 CORE_MODULES="glib-2.0 eel-2.0 librsvg-2.0 bonobo-activation-2.0 libbonobo-2.0 gnome-desktop-2.0 gio-2.0 gio-unix-2.0 $EXTRA_CORE_MODULES"
403 CORE_CFLAGS="`$PKG_CONFIG --cflags $CORE_MODULES` $x_cflags $WARNING_CFLAGS"
404 AC_SUBST(CORE_CFLAGS)
405 CORE_LIBS="`$PKG_CONFIG --libs $CORE_MODULES` $x_libs"
406 AC_SUBST(CORE_LIBS)
407 CORE_IDL_INCLUDES="`$PKG_CONFIG --variable=idldir $CORE_MODULES | $srcdir/add-include-prefix`"
408 AC_SUBST(CORE_IDL_INCLUDES)
410 DISABLE_DEPRECATED_CFLAGS="-DG_DISABLE_DEPRECATED"
412 dnl Multimedia keys
413 AC_CHECK_HEADERS([X11/XF86keysym.h])
416 dnl Taken out for now
417 dnl     -DGDK_DISABLE_DEPRECATED \
418 dnl     -DGDK_PIXBUF_DISABLE_DEPRECATED \
419 dnl     -DGTK_DISABLE_DEPRECATED \
420 dnl     -DGNOME_DISABLE_DEPRECATED"
422 dnl FIXME: put this back once the registration_id stuff is cleared up.
423 dnl     -DBONOBO_DISABLE_DEPRECATED
425 AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
427 dnl libbackground
428 PKG_CHECK_MODULES(LIBBACKGROUND, "gtk+-2.0 gconf-2.0 libgnomeui-2.0")
429 dnl ==========================================================================
431 dnl ==============================================
432 dnl Special GConf section 
433 dnl ==============================================
435 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
437 if test x"$GCONFTOOL" = xno; then
438   AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
441 AM_GCONF_SOURCE_2
443 dnl ==========================================================================
445 AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no)
447 AC_ARG_ENABLE(update-mimedb,
448    AC_HELP_STRING([--disable-update-mimedb],
449                    [disable the update-mime-database after install [default=no]]),,
450     enable_update_mimedb=yes)
451 AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)
453         
454 AC_CONFIG_FILES([
455 Makefile
456 cut-n-paste-code/Makefile
457 cut-n-paste-code/libegg/Makefile
458 cut-n-paste-code/widgets/Makefile
459 data/Makefile
460 data/icons/Makefile
461 data/icons/16x16/Makefile
462 data/icons/16x16/apps/Makefile
463 data/icons/22x22/Makefile
464 data/icons/22x22/apps/Makefile
465 data/icons/24x24/Makefile
466 data/icons/24x24/apps/Makefile
467 data/icons/32x32/Makefile
468 data/icons/32x32/apps/Makefile
469 data/icons/scalable/Makefile
470 data/icons/scalable/apps/Makefile
471 data/patterns/Makefile
472 docs/Makefile
473 docs/reference/Makefile
474 docs/reference/libnautilus-extension/Makefile
475 docs/reference/libnautilus-extension/version.xml
476 icons/Makefile
477 libbackground/Makefile
478 libnautilus-private/Makefile
479 libnautilus-extension/Makefile
480 libnautilus-extension/libnautilus-extension.pc
481 libnautilus-extension/libnautilus-extension-uninstalled.pc
482 nautilus.spec
483 nautilus-computer.desktop.in
484 nautilus-file-management-properties.desktop.in
485 nautilus-home.desktop.in
486 nautilus.desktop.in
487 nautilus-folder-handler.desktop.in
488 nautilus-autorun-software.desktop.in
489 po/Makefile.in
490 src/Makefile
491 src/file-manager/Makefile
492 test/Makefile
495 AC_OUTPUT
497 dnl ==========================================================================
498 echo "
499 nautilus-$VERSION:
501         prefix:                 ${prefix}
502         source code location:   ${srcdir}
503         compiler:               ${CC}
504         tracker support:        $msg_tracker
505         beagle support:         $msg_beagle
507         profiling support:      ${profiling_support}
508         nautilus-extension documentation: ${enable_gtk_doc}