2007-11-27 Andre Klapper <a9016009@gmx.de>
[nautilus.git] / configure.in
blob180e28754d596664d945f206d6fe9da7461a97bf
1 AC_PREREQ(2.54)
3 dnl ===========================================================================
5 m4_define(art_minver,                  2.3.10)
6 m4_define(bonobo_activation_minver,    2.1.0)
7 m4_define(bonobo_minver,               2.1.0)
8 m4_define(eel_minver,                  2.15.91)
9 m4_define(esound_minver,               0.2.27)
10 m4_define(glib_minver,                 2.6.0)
11 m4_define(gnome_desktop_minver,        2.9.91)
12 m4_define(gnome_minver,                2.14.0)
13 m4_define(gnome_ui_minver,             2.6.0)
14 m4_define(gnome_vfs_minver,            2.19.3)
15 m4_define(orbit_minver,                2.4.0)
16 m4_define(pango_minver,                1.1.2)
17 m4_define(gtk_minver,                  2.11.6)
18 m4_define(rsvg_minver,                 2.0.1)
19 m4_define(xml_minver,                  2.4.7)
20 m4_define(startup_notification_minver, 0.8)
21 m4_define(exif_minver,                 0.5.12)
22 m4_define(beagle_minver,               0.0.12)
23 m4_define(tracker_minver,              0.0.1)
24 m4_define(exempi_minver,               1.99.2)
26 dnl 1. If the library code has changed at all since last release, then increment revision.
27 dnl 2. If any interfaces have been added, then increment current and set revision to 0.
28 dnl Interface break is not allowed.
29 m4_define(nautilus_extension_current,  2)
30 m4_define(nautilus_extension_revision, 0)
32 AC_INIT(nautilus, 2.20.1,
33         [http://bugzilla.gnome.org/enter_bug.cgi?product=nautilus])
35 dnl ===========================================================================
37 AC_CONFIG_SRCDIR(src)
38 AC_CONFIG_HEADERS(config.h)
40 AM_INIT_AUTOMAKE
41 AM_MAINTAINER_MODE
42 AC_SUBST([ACLOCAL_AMFLAGS], ["\${ACLOCAL_FLAGS}"])
44 AC_SUBST(ART_REQUIRED, [art_minver])
45 AC_SUBST(BONOBO_ACTIVATION_REQUIRED, [bonobo_activation_minver])
46 AC_SUBST(BONOBO_REQUIRED, [bonobo_minver])
47 AC_SUBST(EEL_REQUIRED, [eel_minver])
48 AC_SUBST(ESOUND_REQUIRED, [esound_minver])
49 AC_SUBST(GLIB_REQUIRED [glib_minver])
50 AC_SUBST(GNOME_DESKTOP_REQUIRED, [gnome_desktop_minver])
51 AC_SUBST(GNOME_REQUIRED, [gnome_minver])
52 AC_SUBST(GNOME_UI_REQUIRED, [gnome_ui_minver])
53 AC_SUBST(GNOME_VFS_REQUIRED, [gnome_vfs_minver])
54 AC_SUBST(ORBIT_REQUIRED, [orbit_minver])
55 AC_SUBST(PANGO_REQUIRED, [pango_minver])
56 AC_SUBST(GTK_REQUIRED, [gtk_minver])
57 AC_SUBST(RSVG_REQUIRED, [rsvg_minver])
58 AC_SUBST(XML_REQUIRED, [xml_minver])
59 AC_SUBST(STARTUP_NOTIFICATION_REQUIRED, [startup_notification_minver])
61 dnl We need to decrement current by one in the calculation of the age because
62 dnl the library was started with version "1:0:0" instead of "0:0:0"
63 AC_SUBST(NAUTILUS_EXTENSION_VERSION_INFO, [nautilus_extension_current]:[nautilus_extension_revision]:`expr [nautilus_extension_current] - 1`)
65 AC_C_BIGENDIAN
66 AC_C_CONST
67 AC_PROG_CC
68 AC_PROG_CPP
69 AC_PROG_INSTALL
70 AC_PROG_LN_S
71 AC_PROG_MAKE_SET
72 AM_DISABLE_STATIC
73 AC_LIBTOOL_WIN32_DLL
74 AM_PROG_LIBTOOL
75 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
77 if $PKG_CONFIG --atleast-version startup_notification_minver libstartup-notification-1.0; then
78   echo "Building with libstartup-notification"
79   AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1,
80             [define to enable startup notification support])
81   with_startup_notification=yes
82   STARTUP_NOTIFICATION_PACKAGE=libstartup-notification-1.0
83   EXTRA_CORE_MODULES="$EXTRA_CORE_MODULES libstartup-notification-1.0"
84 else
85   echo "***** WARNING: Building without libstartup-notification"
86   with_startup_notification=no
87   STARTUP_NOTIFICATION_PACKAGE=
90 AC_SUBST(STARTUP_NOTIFICATION_PACKAGE)
92 PKG_CHECK_MODULES(ALL, [
93         esound                  >= esound_minver
94         bonobo-activation-2.0   >= bonobo_activation_minver
95         eel-2.0                 >= eel_minver
96         glib-2.0                >= glib_minver
97         gnome-desktop-2.0       >= gnome_desktop_minver
98         gnome-vfs-2.0           >= gnome_vfs_minver
99         gnome-vfs-module-2.0    >= gnome_vfs_minver
100         ORBit-2.0               >= orbit_minver
101         pango                   >= pango_minver
102         gtk+-2.0                >= gtk_minver
103         libart-2.0              >= art_minver
104         libbonobo-2.0           >= bonobo_minver
105         libgnome-2.0            >= gnome_minver
106         libgnomeui-2.0          >= gnome_ui_minver
107         librsvg-2.0             >= rsvg_minver
108         libxml-2.0              >= xml_minver
109         $STARTUP_NOTIFICATION_PACKAGE
111 dnl ==========================================================================
113 GETTEXT_PACKAGE=nautilus
114 AC_SUBST(GETTEXT_PACKAGE)
115 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",
116                    [the gettext translation domain])
118 AM_GLIB_GNU_GETTEXT
119 GLIB_DEFINE_LOCALEDIR(GNOMELOCALEDIR)
121 IT_PROG_INTLTOOL([0.35.0])
123 dnl ==========================================================================
125 ENABLE_PROFILER=
126 AC_ARG_ENABLE(profiler,
127  AC_HELP_STRING([--enable-profiler], [Enable profiler]),
128  [ENABLE_PROFILER=1
129   AC_DEFINE(ENABLE_PROFILER, 1, [define to enable the profiler])])
131 profiling_support=off
132 if test "x$ENABLE_PROFILER" = "x1"
133 then
134         CFLAGS="-g -O -gdwarf-2 -finstrument-functions -D__NO_STRING_INLINES $CFLAGS"
135         LDFLAGS="/gnome/GNOME2/lib/libprofiler.so -lpthread $LDFLAGS"
136         profiling_support=on
139 AC_SUBST(ENABLE_PROFILER)
140 AM_CONDITIONAL(ENABLE_PROFILER, test "x$ENABLE_PROFILER" = "x1")
142 dnl ==========================================================================
144 AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
146 dnl ==========================================================================
148 ORBIT_IDL="`$PKG_CONFIG --variable=orbit_idl ORBit-2.0`"
149 AC_SUBST(ORBIT_IDL)
151 dnl ==========================================================================
153 AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/param.h)
154                               
155 dnl ==========================================================================
157 AC_CHECK_FUNCS(setenv unsetenv putenv)
159 dnl ==========================================================================
160 AC_CHECK_FUNCS(statfs statvfs)
161 AC_CHECK_HEADERS(sys/statfs.h sys/statvfs.h)
164 dnl if statfs() takes 2 arguments or 4 (Solaris)
166 if test "$ac_cv_func_statfs" = yes ; then
167   AC_MSG_CHECKING([number of arguments to statfs()])
168   AC_TRY_COMPILE([#include <unistd.h>
169   #ifdef HAVE_SYS_PARAM_H
170   #include <sys/param.h>
171   #endif
172   #ifdef HAVE_SYS_VFS_H
173   #include <sys/vfs.h>
174   #endif
175   #ifdef HAVE_SYS_MOUNT_H
176   #include <sys/mount.h>
177   #endif
178   #ifdef HAVE_SYS_STATFS_H
179   #include <sys/statfs.h>
180   #endif], [struct statfs st;
181   statfs(NULL, &st);],[
182     AC_MSG_RESULT([2])
183     AC_DEFINE(STATFS_ARGS, 2, [Number of arguments to statfs()])],[
184     AC_TRY_COMPILE([#include <unistd.h>
185   #ifdef HAVE_SYS_PARAM_H
186   #include <sys/param.h>
187   #endif
188   #ifdef HAVE_SYS_VFS_H
189   #include <sys/vfs.h>
190   #endif
191   #ifdef HAVE_SYS_MOUNT_H
192   #include <sys/mount.h>
193   #endif
194   #ifdef HAVE_SYS_STATFS_H
195   #include <sys/statfs.h>
196   #endif], [struct statfs st;
197   statfs(NULL, &st, sizeof (st), 0);],[
198       AC_MSG_RESULT([4])
199       AC_DEFINE(STATFS_ARGS, 4, [Number of arguments to statfs()])],[
200       AC_MSG_RESULT(unknown)
201       AC_MSG_ERROR([unable to determine number of arguments to statfs()])])])
202 fi dnl test "$ac_cv_func_statfs" = yes
204 dnl ==========================================================================
206 dnl X
208 x_libs="`$PKG_CONFIG --libs pangox`"
209 case x_libs in
210   *-lX11*) pango_omitted_x_deps=no ;;
211   *)       pango_omitted_x_deps=yes ;;
212 esac
214 x_cflags="`$PKG_CONFIG --cflags pangox`"
215 x_extra_libs=
217 if test $pango_omitted_x_deps = yes ; then
218   AC_PATH_XTRA
220   if test x$no_x = xyes ; then
221     AC_MSG_ERROR([X development libraries not found])
222   fi
224   x_libs="$X_LIBS -lX11 $X_EXTRA_LIBS"
225 fi  
227 ## Strip the .la files
229 x_libs_for_checks=$x_libs
230 #for I in $x_libs ; do
231 #  case $I in 
232 #    *.la) ;;
233 #    *) x_libs_for_checks="$x_libs_for_checks $I" ;;
234 #  esac
235 #done
237 AC_CHECK_LIB(X11, XOpenDisplay, :, 
238         AC_MSG_ERROR([*** libX11 not found.  Check 'config.log' for more details.]),
239         $x_libs_for_checks) 
241 dnl ==========================================================================
243 AM_CONDITIONAL(HAVE_EXIF, false)
245 dnl libexif checking
247 PKG_CHECK_MODULES(EXIF, libexif > exif_minver, [
248                   AM_CONDITIONAL(HAVE_EXIF, true)
249                   AC_DEFINE(HAVE_EXIF, 1, [Define to enable EXIF support])
250                   ], [
251                   PKG_CHECK_MODULES(EXIF, libexif = exif_minver, [
252                                     AM_CONDITIONAL(HAVE_EXIF, true)
253                                     AC_DEFINE(HAVE_OLD_EXIF, 1, [Define if your EXIF library has old API])
254                                     ], [AM_CONDITIONAL(HAVE_EXIF, false)])
255                   ])
257 AC_SUBST(EXIF_CFLAGS)
258 AC_SUBST(EXIF_LIBS)
260 dnl ==========================================================================
262 dnl exempi checking
264 PKG_CHECK_MODULES(EXEMPI, exempi-2.0 >= exempi_minver, [
265                   AM_CONDITIONAL(HAVE_EXEMPI, true)
266                   AC_DEFINE(HAVE_EXEMPI, 1, [Define to enable XMP support])
267                   ], [AM_CONDITIONAL(HAVE_EXEMPI, false)])
269 AC_SUBST(EXEMPI_CFLAGS)
270 AC_SUBST(EXEMPI_LIBS)
272 dnl ==========================================================================
273 dnl search implementations
274 dnl ****************************
276 AM_CONDITIONAL(HAVE_TRACKER, false)
278 dnl libtracker checking
279                                                   
280 AC_ARG_ENABLE(tracker, [  --disable-tracker     build without tracker support])
281 msg_tracker=no
282 if test "x$enable_tracker" != "xno"; then
283         PKG_CHECK_MODULES(TRACKER, tracker >= tracker_minver, [
284                           AM_CONDITIONAL(HAVE_TRACKER, true)
285                           AC_DEFINE(HAVE_TRACKER, 1, [Define to enable tracker support])
286                           ]
287                           msg_tracker=yes,
288                           [AM_CONDITIONAL(HAVE_TRACKER, false)])
289         AC_SUBST(TRACKER_CFLAGS)
290         AC_SUBST(TRACKER_LIBS)
293 dnl ==========================================================================
296 AM_CONDITIONAL(HAVE_BEAGLE, false)
298 dnl libbeagle checking
299                                                   
300 AC_ARG_ENABLE(beagle, [  --disable-beagle     build without beagle support])
301 msg_beagle=no
302 if test "x$enable_beagle" != "xno"; then
303         PKG_CHECK_MODULES(BEAGLE, libbeagle-0.0 >= beagle_minver, [
304                           AM_CONDITIONAL(HAVE_BEAGLE, true)
305                           AC_DEFINE(HAVE_BEAGLE, 1, [Define to enable beagle support])
306                           ]
307                           msg_beagle=yes,
308                           [AM_CONDITIONAL(HAVE_BEAGLE, false)])
309         AC_SUBST(BEAGLE_CFLAGS)
310         AC_SUBST(BEAGLE_LIBS)
313 dnl ==========================================================================
315 dnl ****************************
316 dnl *** Check for libselinux ***
317 dnl ****************************
318     
319 SELINUX_LIBS=
320 msg_selinux=no
321 AC_CHECK_LIB(selinux, is_selinux_enabled,
322    [AC_CHECK_HEADERS(selinux/selinux.h,
323      [AC_SEARCH_LIBS(selinux_raw_to_trans_context, selinux, 
324        [AC_DEFINE(HAVE_SELINUX, 1, [Define to 1 if libselinux is available])
325         SELINUX_LIBS="-lselinux"
326         msg_selinux=yes])
327      ])
328    ])
329 AC_SUBST(SELINUX_LIBS)
332 AC_ARG_ENABLE(empty_view,
333  AC_HELP_STRING([--enable-empty-view], [Enable empty view]),
334  [ENABLE_EMPTY_VIEW=1
335   AC_DEFINE(ENABLE_EMPTY_VIEW, 1, [define to enable the empty view that is used for performance measurement])])
337 AC_SUBST(ENABLE_EMPTY_VIEW)
338 AM_CONDITIONAL(ENABLE_EMPTY_VIEW, test "x$ENABLE_EMPTY_VIEW" = "x1")
340 dnl ==========================================================================
342 dnl Turn on the additional warnings last, so -Werror doesn't affect other tests.
344 AC_ARG_ENABLE(more-warnings,
345 AC_HELP_STRING([--enable-more-warnings], [Maximum compiler warnings]),
346 set_more_warnings="$enableval",[
347 if test -f $srcdir/CVSVERSION; then
348         is_cvs_version=true
349         set_more_warnings=yes
350 else
351         set_more_warnings=no
354 AC_MSG_CHECKING(for more warnings, including -Werror)
355 if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
356         AC_MSG_RESULT(yes)
357         WARNING_CFLAGS="\
358         -Wall \
359         -Wmissing-declarations -Wmissing-prototypes \
360         -Wnested-externs -Wpointer-arith \
361         -Wcast-align \
362         -Werror"
364         for option in -Wno-strict-aliasing -Wno-pointer-sign; do
365                 SAVE_CFLAGS="$WARNING_CFLAGS"
366                 WARNING_CFLAGS="$WARNING_CFLAGS $option"
367                 AC_MSG_CHECKING([whether gcc understands $option])
368                 AC_TRY_COMPILE([], [],
369                         has_option=yes,
370                         has_option=no,)
371                 if test $has_option = no; then
372                         WARNING_CFLAGS="$SAVE_CFLAGS"
373                 fi
374                 AC_MSG_RESULT($has_option)
375                 unset has_option
376                 unset SAVE_CFLAGS
377         done
378         unset option
379 else
380         AC_MSG_RESULT(no)
383 dnl ==========================================================================
385 dnl gsequence
386 GSEQUENCE_MODULES="glib-2.0"
387 GSEQUENCE_CFLAGS="`$PKG_CONFIG --cflags $GSEQUENCE_MODULES`"
388 AC_SUBST(GSEQUENCE_CFLAGS)
389         
390 dnl libegg
391 LIBEGG_MODULES="gtk+-2.0 libgnome-2.0"
392 LIBEGG_CFLAGS="`$PKG_CONFIG --cflags $LIBEGG_MODULES`"
393 AC_SUBST(LIBEGG_CFLAGS)
395 # check for gsequence in glib
396 PKG_CHECK_EXISTS([glib-2.0 >= 2.13.0],[have_glib_2_14=yes],[have_glib_2_14=no])
397 AM_CONDITIONAL([HAVE_GLIB_2_14],[test "$have_glib_2_14" = "yes"])
399 dnl libnautilus-extension
400 LIBNAUTILUS_EXTENSION_MODULES="glib-2.0 gtk+-2.0 gnome-vfs-2.0"
401 LIBNAUTILUS_EXTENSION_CFLAGS="`$PKG_CONFIG --cflags $LIBNAUTILUS_EXTENSION_MODULES` $WARNING_CFLAGS"
402 AC_SUBST(LIBNAUTILUS_EXTENSION_CFLAGS)
403 LIBNAUTILUS_EXTENSION_LIBS="`$PKG_CONFIG --libs $LIBNAUTILUS_EXTENSION_MODULES`"
404 AC_SUBST(LIBNAUTILUS_EXTENSION_LIBS)
406 dnl core nautilus (must list bonobo-activation and libbonobo because idldir does not respect "requires")
407 CORE_MODULES="eel-2.0 librsvg-2.0 bonobo-activation-2.0 libbonobo-2.0 esound gnome-desktop-2.0 gnome-vfs-module-2.0 $EXTRA_CORE_MODULES"
408 CORE_CFLAGS="`$PKG_CONFIG --cflags $CORE_MODULES` $x_cflags $WARNING_CFLAGS"
409 AC_SUBST(CORE_CFLAGS)
410 CORE_LIBS="`$PKG_CONFIG --libs $CORE_MODULES` $x_libs"
411 AC_SUBST(CORE_LIBS)
412 CORE_IDL_INCLUDES="`$PKG_CONFIG --variable=idldir $CORE_MODULES | $srcdir/add-include-prefix`"
413 AC_SUBST(CORE_IDL_INCLUDES)
415 DISABLE_DEPRECATED_CFLAGS=""
417 dnl Multimedia keys
418 AC_CHECK_HEADERS([X11/XF86keysym.h])
421 dnl Taken out for now
422 dnl     -DGDK_DISABLE_DEPRECATED \
423 dnl     -DGDK_PIXBUF_DISABLE_DEPRECATED \
424 dnl     -DGTK_DISABLE_DEPRECATED \
425 dnl     -DGNOME_DISABLE_DEPRECATED"
427 dnl FIXME: put this back once the registration_id stuff is cleared up.
428 dnl     -DBONOBO_DISABLE_DEPRECATED
430 AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
432 dnl libbackground
433 PKG_CHECK_MODULES(CAPPLET, "gtk+-2.0 gconf-2.0 libgnomeui-2.0")
434 dnl ==========================================================================
436 dnl ==============================================
437 dnl Special GConf section 
438 dnl ==============================================
440 AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
442 if test x"$GCONFTOOL" = xno; then
443   AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
446 AM_GCONF_SOURCE_2
448 dnl ==========================================================================
450 AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no)
452 AC_ARG_ENABLE(update-mimedb,
453    AC_HELP_STRING([--disable-update-mimedb],
454                    [disable the update-mime-database after install [default=no]]),,
455     enable_update_mimedb=yes)
456 AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)
458         
459 AC_CONFIG_FILES([
460 Makefile
461 cut-n-paste-code/Makefile
462 cut-n-paste-code/libegg/Makefile
463 cut-n-paste-code/gsequence/Makefile
464 cut-n-paste-code/widgets/Makefile
465 data/Makefile
466 data/patterns/Makefile
467 docs/Makefile
468 icons/Makefile
469 icons/appicon/Makefile
470 icons/appicon/16x16/Makefile
471 icons/appicon/22x22/Makefile
472 icons/appicon/24x24/Makefile
473 icons/appicon/32x32/Makefile
474 icons/appicon/scalable/Makefile
475 libbackground/Makefile
476 libnautilus-private/Makefile
477 libnautilus-extension/Makefile
478 libnautilus-extension/libnautilus-extension.pc
479 libnautilus-extension/libnautilus-extension-uninstalled.pc
480 nautilus.spec
481 nautilus-computer.desktop.in
482 nautilus-file-management-properties.desktop.in
483 nautilus-home.desktop.in
484 nautilus.desktop.in
485 nautilus-folder-handler.desktop.in
486 po/Makefile.in
487 src/Makefile
488 src/file-manager/Makefile
489 test/Makefile
492 AC_OUTPUT
494 dnl ==========================================================================
495 echo "
496 nautilus-$VERSION:
498         prefix:                 ${prefix}
499         source code location:   ${srcdir}
500         compiler:               ${CC}
501         tracker support:        $msg_tracker
502         beagle support:         $msg_beagle
504         profiling support:      ${profiling_support}