configure.in 15.2 KB
Newer Older
1 2 3 4 5 6
AC_PREREQ(2.54)

dnl ===========================================================================

m4_define(bonobo_activation_minver,    2.1.0)
m4_define(bonobo_minver,               2.1.0)
Alexander Larsson's avatar
Alexander Larsson committed
7
m4_define(eel_minver,                  2.21.90)
8
m4_define(esound_minver,               0.2.27)
Alexander Larsson's avatar
Alexander Larsson committed
9
m4_define(glib_minver,                 2.15.3)
10
m4_define(gnome_desktop_minver,        2.9.91)
11
m4_define(gnome_minver,                2.14.0)
12 13 14
m4_define(gnome_ui_minver,             2.6.0)
m4_define(orbit_minver,                2.4.0)
m4_define(pango_minver,                1.1.2)
15
m4_define(gtk_minver,                  2.11.6)
16 17
m4_define(rsvg_minver,                 2.0.1)
m4_define(xml_minver,                  2.4.7)
18
m4_define(startup_notification_minver, 0.8)
19
m4_define(exif_minver,                 0.5.12)
20
m4_define(beagle_minver,               0.0.12)
21
m4_define(tracker_minver,              0.0.1)
22
m4_define(exempi_minver,               1.99.2)
Alexander Larsson's avatar
Alexander Larsson committed
23
m4_define(exempi_minver_newapi,        1.99.5)
24

25 26 27 28 29 30
dnl 1. If the library code has changed at all since last release, then increment revision.
dnl 2. If any interfaces have been added, then increment current and set revision to 0.
dnl Interface break is not allowed.
m4_define(nautilus_extension_current,  2)
m4_define(nautilus_extension_revision, 0)

Alexander Larsson's avatar
Alexander Larsson committed
31
AC_INIT([nautilus],[2.21.91],
32
        [http://bugzilla.gnome.org/enter_bug.cgi?product=nautilus])
33

34
dnl ===========================================================================
35

36 37
AC_CONFIG_SRCDIR(src)
AC_CONFIG_HEADERS(config.h)
Elliot Lee's avatar
Elliot Lee committed
38

39
AM_INIT_AUTOMAKE
Elliot Lee's avatar
Elliot Lee committed
40
AM_MAINTAINER_MODE
41 42 43 44 45
AC_SUBST([ACLOCAL_AMFLAGS], ["\${ACLOCAL_FLAGS}"])

AC_SUBST(BONOBO_ACTIVATION_REQUIRED, [bonobo_activation_minver])
AC_SUBST(BONOBO_REQUIRED, [bonobo_minver])
AC_SUBST(EEL_REQUIRED, [eel_minver])
46 47
AC_SUBST(ESOUND_REQUIRED, [esound_minver])
AC_SUBST(GLIB_REQUIRED [glib_minver])
48 49 50 51 52 53 54 55 56 57
AC_SUBST(GNOME_DESKTOP_REQUIRED, [gnome_desktop_minver])
AC_SUBST(GNOME_REQUIRED, [gnome_minver])
AC_SUBST(GNOME_UI_REQUIRED, [gnome_ui_minver])
AC_SUBST(ORBIT_REQUIRED, [orbit_minver])
AC_SUBST(PANGO_REQUIRED, [pango_minver])
AC_SUBST(GTK_REQUIRED, [gtk_minver])
AC_SUBST(RSVG_REQUIRED, [rsvg_minver])
AC_SUBST(XML_REQUIRED, [xml_minver])
AC_SUBST(STARTUP_NOTIFICATION_REQUIRED, [startup_notification_minver])

58 59 60
dnl We need to decrement current by one in the calculation of the age because
dnl the library was started with version "1:0:0" instead of "0:0:0"
AC_SUBST(NAUTILUS_EXTENSION_VERSION_INFO, [nautilus_extension_current]:[nautilus_extension_revision]:`expr [nautilus_extension_current] - 1`)
Elliot Lee's avatar
Elliot Lee committed
61

62 63
AC_C_BIGENDIAN
AC_C_CONST
Elliot Lee's avatar
Elliot Lee committed
64
AC_PROG_CC
65
AC_PROG_CPP
Elliot Lee's avatar
Elliot Lee committed
66 67 68
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
69
AM_DISABLE_STATIC
70
AC_LIBTOOL_WIN32_DLL
71
AM_PROG_LIBTOOL
72 73
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)

74
if $PKG_CONFIG --atleast-version startup_notification_minver libstartup-notification-1.0; then
75
  echo "Building with libstartup-notification"
76 77
  AC_DEFINE(HAVE_STARTUP_NOTIFICATION, 1,
            [define to enable startup notification support])
78 79
  with_startup_notification=yes
  STARTUP_NOTIFICATION_PACKAGE=libstartup-notification-1.0
80
  EXTRA_CORE_MODULES="$EXTRA_CORE_MODULES libstartup-notification-1.0"
81 82 83 84 85 86 87
else
  echo "***** WARNING: Building without libstartup-notification"
  with_startup_notification=no
  STARTUP_NOTIFICATION_PACKAGE=
fi

AC_SUBST(STARTUP_NOTIFICATION_PACKAGE)
Elliot Lee's avatar
Elliot Lee committed
88

89 90 91 92 93 94
PKG_CHECK_MODULES(ALL, [
	esound			>= esound_minver
	bonobo-activation-2.0	>= bonobo_activation_minver
	eel-2.0			>= eel_minver
	glib-2.0		>= glib_minver
	gnome-desktop-2.0	>= gnome_desktop_minver
95
	gio-unix-2.0		
Alexander Larsson's avatar
Alexander Larsson committed
96
	gio-2.0		
97 98 99 100 101 102 103 104 105 106
	ORBit-2.0		>= orbit_minver
	pango			>= pango_minver
	gtk+-2.0		>= gtk_minver
	libbonobo-2.0		>= bonobo_minver
	libgnome-2.0		>= gnome_minver
	libgnomeui-2.0		>= gnome_ui_minver
	librsvg-2.0		>= rsvg_minver
	libxml-2.0		>= xml_minver
	$STARTUP_NOTIFICATION_PACKAGE
])
107
dnl ==========================================================================
108

Darin Adler's avatar
Darin Adler committed
109 110
GETTEXT_PACKAGE=nautilus
AC_SUBST(GETTEXT_PACKAGE)
111 112
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",
                   [the gettext translation domain])
Darin Adler's avatar
Darin Adler committed
113 114

AM_GLIB_GNU_GETTEXT
115
GLIB_DEFINE_LOCALEDIR(GNOMELOCALEDIR)
116

Kjartan Maraas's avatar
Kjartan Maraas committed
117
IT_PROG_INTLTOOL([0.35.0])
118

119
dnl ==========================================================================
Darin Adler's avatar
Darin Adler committed
120

121
ENABLE_PROFILER=
122
AC_ARG_ENABLE(profiler,
123 124 125
 AC_HELP_STRING([--enable-profiler], [Enable profiler]),
 [ENABLE_PROFILER=1
  AC_DEFINE(ENABLE_PROFILER, 1, [define to enable the profiler])])
126

127
profiling_support=off
128 129
if test "x$ENABLE_PROFILER" = "x1"
then
Anders Carlsson's avatar
Anders Carlsson committed
130 131
	CFLAGS="-g -O -gdwarf-2 -finstrument-functions -D__NO_STRING_INLINES $CFLAGS"
	LDFLAGS="/gnome/GNOME2/lib/libprofiler.so -lpthread $LDFLAGS"
132
	profiling_support=on
133 134
fi

135 136
AC_SUBST(ENABLE_PROFILER)
AM_CONDITIONAL(ENABLE_PROFILER, test "x$ENABLE_PROFILER" = "x1")
137

138
dnl ==========================================================================
139 140 141

AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)

142
dnl ==========================================================================
143

144 145 146
ORBIT_IDL="`$PKG_CONFIG --variable=orbit_idl ORBit-2.0`"
AC_SUBST(ORBIT_IDL)

147
dnl ==========================================================================
148

149
AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/param.h)
150
			      
151
dnl ==========================================================================
152

153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
AC_CHECK_FUNCS(statfs statvfs)
AC_CHECK_HEADERS(sys/statfs.h sys/statvfs.h)

dnl
dnl if statfs() takes 2 arguments or 4 (Solaris)
dnl
if test "$ac_cv_func_statfs" = yes ; then
  AC_MSG_CHECKING([number of arguments to statfs()])
  AC_TRY_COMPILE([#include <unistd.h>
  #ifdef HAVE_SYS_PARAM_H
  #include <sys/param.h>
  #endif
  #ifdef HAVE_SYS_VFS_H
  #include <sys/vfs.h>
  #endif
  #ifdef HAVE_SYS_MOUNT_H
  #include <sys/mount.h>
  #endif
  #ifdef HAVE_SYS_STATFS_H
  #include <sys/statfs.h>
  #endif], [struct statfs st;
  statfs(NULL, &st);],[
    AC_MSG_RESULT([2])
    AC_DEFINE(STATFS_ARGS, 2, [Number of arguments to statfs()])],[
    AC_TRY_COMPILE([#include <unistd.h>
  #ifdef HAVE_SYS_PARAM_H
  #include <sys/param.h>
  #endif
  #ifdef HAVE_SYS_VFS_H
  #include <sys/vfs.h>
  #endif
  #ifdef HAVE_SYS_MOUNT_H
  #include <sys/mount.h>
  #endif
  #ifdef HAVE_SYS_STATFS_H
  #include <sys/statfs.h>
  #endif], [struct statfs st;
  statfs(NULL, &st, sizeof (st), 0);],[
      AC_MSG_RESULT([4])
      AC_DEFINE(STATFS_ARGS, 4, [Number of arguments to statfs()])],[
      AC_MSG_RESULT(unknown)
      AC_MSG_ERROR([unable to determine number of arguments to statfs()])])])
fi dnl test "$ac_cv_func_statfs" = yes

197
dnl ==========================================================================
198

199
dnl X
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233

x_libs="`$PKG_CONFIG --libs pangox`"
case x_libs in
  *-lX11*) pango_omitted_x_deps=no ;;
  *)       pango_omitted_x_deps=yes ;;
esac

x_cflags="`$PKG_CONFIG --cflags pangox`"
x_extra_libs=

if test $pango_omitted_x_deps = yes ; then
  AC_PATH_XTRA
 
  if test x$no_x = xyes ; then
    AC_MSG_ERROR([X development libraries not found])
  fi

  x_libs="$X_LIBS -lX11 $X_EXTRA_LIBS"
fi  

## Strip the .la files
 
x_libs_for_checks=$x_libs
#for I in $x_libs ; do
#  case $I in 
#    *.la) ;;
#    *) x_libs_for_checks="$x_libs_for_checks $I" ;;
#  esac
#done

AC_CHECK_LIB(X11, XOpenDisplay, :, 
	AC_MSG_ERROR([*** libX11 not found.  Check 'config.log' for more details.]),
	$x_libs_for_checks) 

234
dnl ==========================================================================
235

236
AM_CONDITIONAL(HAVE_EXIF, false)
Alexander Larsson's avatar
Alexander Larsson committed
237

238
dnl libexif checking
Alexander Larsson's avatar
Alexander Larsson committed
239

240
PKG_CHECK_MODULES(EXIF, libexif > exif_minver, [
241 242 243 244 245 246 247 248 249 250 251
		  AM_CONDITIONAL(HAVE_EXIF, true)
		  AC_DEFINE(HAVE_EXIF, 1, [Define to enable EXIF support])
		  ], [
		  PKG_CHECK_MODULES(EXIF, libexif = exif_minver, [
				    AM_CONDITIONAL(HAVE_EXIF, true)
				    AC_DEFINE(HAVE_OLD_EXIF, 1, [Define if your EXIF library has old API])
				    ], [AM_CONDITIONAL(HAVE_EXIF, false)])
		  ])

AC_SUBST(EXIF_CFLAGS)
AC_SUBST(EXIF_LIBS)
252

253 254 255 256 257 258 259 260 261
dnl ==========================================================================

dnl exempi checking

PKG_CHECK_MODULES(EXEMPI, exempi-2.0 >= exempi_minver, [
		  AM_CONDITIONAL(HAVE_EXEMPI, true)
		  AC_DEFINE(HAVE_EXEMPI, 1, [Define to enable XMP support])
		  ], [AM_CONDITIONAL(HAVE_EXEMPI, false)])

Alexander Larsson's avatar
Alexander Larsson committed
262 263 264
PKG_CHECK_MODULES(EXEMPI_NEW_API, exempi-2.0 >= exempi_minver_newapi,
		  AC_DEFINE(HAVE_EXEMPI_NEW_API, 1, [Define if we have exempi with the new API]), true)

265 266 267
AC_SUBST(EXEMPI_CFLAGS)
AC_SUBST(EXEMPI_LIBS)

268 269 270
dnl ==========================================================================
dnl search implementations
dnl ****************************
271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291

AM_CONDITIONAL(HAVE_TRACKER, false)

dnl libtracker checking
			    			  
AC_ARG_ENABLE(tracker, [  --disable-tracker     build without tracker support])
msg_tracker=no
if test "x$enable_tracker" != "xno"; then
	PKG_CHECK_MODULES(TRACKER, tracker >= tracker_minver, [
		  	  AM_CONDITIONAL(HAVE_TRACKER, true)
			  AC_DEFINE(HAVE_TRACKER, 1, [Define to enable tracker support])
			  ]
                          msg_tracker=yes,
	          	  [AM_CONDITIONAL(HAVE_TRACKER, false)])
        AC_SUBST(TRACKER_CFLAGS)
	AC_SUBST(TRACKER_LIBS)
fi

dnl ==========================================================================


292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
AM_CONDITIONAL(HAVE_BEAGLE, false)

dnl libbeagle checking
			    			  
AC_ARG_ENABLE(beagle, [  --disable-beagle     build without beagle support])
msg_beagle=no
if test "x$enable_beagle" != "xno"; then
	PKG_CHECK_MODULES(BEAGLE, libbeagle-0.0 >= beagle_minver, [
		  	  AM_CONDITIONAL(HAVE_BEAGLE, true)
			  AC_DEFINE(HAVE_BEAGLE, 1, [Define to enable beagle support])
			  ]
                          msg_beagle=yes,
	          	  [AM_CONDITIONAL(HAVE_BEAGLE, false)])
        AC_SUBST(BEAGLE_CFLAGS)
	AC_SUBST(BEAGLE_LIBS)
fi

309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326
dnl ==========================================================================

dnl ****************************
dnl *** Check for libselinux ***
dnl ****************************
    
SELINUX_LIBS=
msg_selinux=no
AC_CHECK_LIB(selinux, is_selinux_enabled,
   [AC_CHECK_HEADERS(selinux/selinux.h,
     [AC_SEARCH_LIBS(selinux_raw_to_trans_context, selinux, 
       [AC_DEFINE(HAVE_SELINUX, 1, [Define to 1 if libselinux is available])
        SELINUX_LIBS="-lselinux"
        msg_selinux=yes])
     ])
   ])
AC_SUBST(SELINUX_LIBS)

Christian Neumair's avatar
Christian Neumair committed
327 328 329 330 331 332 333 334 335

AC_ARG_ENABLE(empty_view,
 AC_HELP_STRING([--enable-empty-view], [Enable empty view]),
 [ENABLE_EMPTY_VIEW=1
  AC_DEFINE(ENABLE_EMPTY_VIEW, 1, [define to enable the empty view that is used for performance measurement])])

AC_SUBST(ENABLE_EMPTY_VIEW)
AM_CONDITIONAL(ENABLE_EMPTY_VIEW, test "x$ENABLE_EMPTY_VIEW" = "x1")

336
dnl ==========================================================================
337

338
dnl Turn on the additional warnings last, so -Werror doesn't affect other tests.
339

340
AC_ARG_ENABLE(more-warnings,
341
AC_HELP_STRING([--enable-more-warnings], [Maximum compiler warnings]),
342 343
set_more_warnings="$enableval",[
if test -f $srcdir/CVSVERSION; then
344
	is_cvs_version=true
345 346 347 348 349
	set_more_warnings=yes
else
	set_more_warnings=no
fi
])
350 351 352
AC_MSG_CHECKING(for more warnings, including -Werror)
if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
	AC_MSG_RESULT(yes)
353
	WARNING_CFLAGS="\
354
	-Wall \
355
	-Wmissing-declarations -Wmissing-prototypes \
356
	-Wnested-externs -Wpointer-arith \
357
	-Wcast-align \
358
	-Werror"
359

360
	for option in -Wno-strict-aliasing -Wno-pointer-sign; do
361 362
		SAVE_CFLAGS="$WARNING_CFLAGS"
		WARNING_CFLAGS="$WARNING_CFLAGS $option"
363
		AC_MSG_CHECKING([whether gcc understands $option])
364
		AC_TRY_COMPILE([], [],
365 366
			has_option=yes,
			has_option=no,)
367
		if test $has_option = no; then
368
			WARNING_CFLAGS="$SAVE_CFLAGS"
369 370 371 372 373 374
		fi
		AC_MSG_RESULT($has_option)
		unset has_option
		unset SAVE_CFLAGS
	done
	unset option
375 376 377 378
else
	AC_MSG_RESULT(no)
fi

379
dnl ==========================================================================
380

381
dnl gsequence
Alexander Larsson's avatar
Alexander Larsson committed
382 383 384 385
GSEQUENCE_MODULES="glib-2.0"
GSEQUENCE_CFLAGS="`$PKG_CONFIG --cflags $GSEQUENCE_MODULES`"
AC_SUBST(GSEQUENCE_CFLAGS)
	
386
dnl libegg
387 388 389 390
LIBEGG_MODULES="gtk+-2.0 libgnome-2.0"
LIBEGG_CFLAGS="`$PKG_CONFIG --cflags $LIBEGG_MODULES`"
AC_SUBST(LIBEGG_CFLAGS)

391 392 393 394
# check for gsequence in glib
PKG_CHECK_EXISTS([glib-2.0 >= 2.13.0],[have_glib_2_14=yes],[have_glib_2_14=no])
AM_CONDITIONAL([HAVE_GLIB_2_14],[test "$have_glib_2_14" = "yes"])

395
dnl libnautilus-extension
Alexander Larsson's avatar
Alexander Larsson committed
396
LIBNAUTILUS_EXTENSION_MODULES="glib-2.0 gtk+-2.0"
397
LIBNAUTILUS_EXTENSION_CFLAGS="`$PKG_CONFIG --cflags $LIBNAUTILUS_EXTENSION_MODULES` $WARNING_CFLAGS"
398 399 400 401
AC_SUBST(LIBNAUTILUS_EXTENSION_CFLAGS)
LIBNAUTILUS_EXTENSION_LIBS="`$PKG_CONFIG --libs $LIBNAUTILUS_EXTENSION_MODULES`"
AC_SUBST(LIBNAUTILUS_EXTENSION_LIBS)

402
dnl core nautilus (must list bonobo-activation and libbonobo because idldir does not respect "requires")
403
CORE_MODULES="eel-2.0 librsvg-2.0 bonobo-activation-2.0 libbonobo-2.0 esound gnome-desktop-2.0 gio-2.0 gio-unix-2.0 $EXTRA_CORE_MODULES"
404
CORE_CFLAGS="`$PKG_CONFIG --cflags $CORE_MODULES` $x_cflags $WARNING_CFLAGS"
Darin Adler's avatar
Darin Adler committed
405
AC_SUBST(CORE_CFLAGS)
406
CORE_LIBS="`$PKG_CONFIG --libs $CORE_MODULES` $x_libs"
Darin Adler's avatar
Darin Adler committed
407 408 409 410
AC_SUBST(CORE_LIBS)
CORE_IDL_INCLUDES="`$PKG_CONFIG --variable=idldir $CORE_MODULES | $srcdir/add-include-prefix`"
AC_SUBST(CORE_IDL_INCLUDES)

Dave Camp's avatar
2.5.1.1  
Dave Camp committed
411 412
DISABLE_DEPRECATED_CFLAGS=""

413 414 415
dnl Multimedia keys
AC_CHECK_HEADERS([X11/XF86keysym.h])

Dave Camp's avatar
2.5.1.1  
Dave Camp committed
416

417 418 419 420 421
dnl Taken out for now
dnl	-DGDK_DISABLE_DEPRECATED \
dnl	-DGDK_PIXBUF_DISABLE_DEPRECATED \
dnl	-DGTK_DISABLE_DEPRECATED \
dnl	-DGNOME_DISABLE_DEPRECATED"
422

423 424
dnl FIXME: put this back once the registration_id stuff is cleared up.
dnl	-DBONOBO_DISABLE_DEPRECATED
425

426 427
AC_SUBST(DISABLE_DEPRECATED_CFLAGS)

428
dnl libbackground
Alexander Larsson's avatar
Alexander Larsson committed
429
PKG_CHECK_MODULES(CAPPLET, "gtk+-2.0 gconf-2.0 libgnomeui-2.0")
430
dnl ==========================================================================
431

432 433 434
dnl ==============================================
dnl Special GConf section 
dnl ==============================================
435 436 437 438 439 440 441 442 443

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])
fi

AM_GCONF_SOURCE_2

444 445 446 447 448 449 450 451 452 453 454
dnl ==========================================================================

AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no)

AC_ARG_ENABLE(update-mimedb,
   AC_HELP_STRING([--disable-update-mimedb],
                   [disable the update-mime-database after install [default=no]]),,
    enable_update_mimedb=yes)
AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)

	
455
AC_CONFIG_FILES([
Elliot Lee's avatar
Elliot Lee committed
456
Makefile
457
cut-n-paste-code/Makefile
458
cut-n-paste-code/libegg/Makefile
Alexander Larsson's avatar
Alexander Larsson committed
459
cut-n-paste-code/gsequence/Makefile
460 461
cut-n-paste-code/widgets/Makefile
data/Makefile
462 463 464 465 466 467 468 469 470 471 472
data/icons/Makefile
data/icons/16x16/Makefile
data/icons/16x16/apps/Makefile
data/icons/22x22/Makefile
data/icons/22x22/apps/Makefile
data/icons/24x24/Makefile
data/icons/24x24/apps/Makefile
data/icons/32x32/Makefile
data/icons/32x32/apps/Makefile
data/icons/scalable/Makefile
data/icons/scalable/apps/Makefile
473
data/patterns/Makefile
474
docs/Makefile
475
icons/Makefile
476
libbackground/Makefile
477
libnautilus-private/Makefile
478 479
libnautilus-extension/Makefile
libnautilus-extension/libnautilus-extension.pc
480
libnautilus-extension/libnautilus-extension-uninstalled.pc
481
nautilus.spec
482 483 484 485 486
nautilus-computer.desktop.in
nautilus-file-management-properties.desktop.in
nautilus-home.desktop.in
nautilus.desktop.in
nautilus-folder-handler.desktop.in
487
nautilus-autorun-software.desktop.in
488 489 490 491
po/Makefile.in
src/Makefile
src/file-manager/Makefile
test/Makefile
Elliot Lee's avatar
Elliot Lee committed
492
])
493

494 495
AC_OUTPUT

496
dnl ==========================================================================
497 498 499 500 501 502
echo "
nautilus-$VERSION:

	prefix:                 ${prefix}
	source code location:	${srcdir}
	compiler:		${CC}
503
	tracker support:	$msg_tracker
504
	beagle support:		$msg_beagle
505 506 507

	profiling support:      ${profiling_support}
"