AC_INIT(src)

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

ART_REQUIRED=2.3.10
BONOBO_ACTIVATION_REQUIRED=2.1.0
BONOBO_REQUIRED=2.1.0
BONOBO_UI_REQUIRED=2.2.0
EEL_REQUIRED=2.8.2
ESOUND_REQUIRED=0.2.27
GLIB_REQUIRED=2.3.0
GNOME_DESKTOP_REQUIRED=2.1.0
GNOME_REQUIRED=2.1.1
GNOME_UI_REQUIRED=2.6.0
GNOME_VFS_REQUIRED=2.5.1
ORBIT_REQUIRED=2.4.0
PANGO_REQUIRED=1.1.2
GTK_REQUIRED=2.3.0
MEDUSA_REQUIRED=0.5.1
RSVG_REQUIRED=2.0.1
XML_REQUIRED=2.4.7
STARTUP_NOTIFICATION_REQUIRED=0.5
EXIF_REQUIRED=0.5.12

AC_SUBST(ART_REQUIRED)
AC_SUBST(BONOBO_ACTIVATION_REQUIRED)
AC_SUBST(BONOBO_REQUIRED)
AC_SUBST(BONOBO_UI_REQUIRED)
AC_SUBST(EEL_REQUIRED)
AC_SUBST(ESOUND_REQUIRED)
AC_SUBST(GLIB_REQUIRED)
AC_SUBST(GNOME_DESKTOP_REQUIRED)
AC_SUBST(GNOME_REQUIRED)
AC_SUBST(GNOME_UI_REQUIRED)
AC_SUBST(GNOME_VFS_REQUIRED)
AC_SUBST(ORBIT_REQUIRED)
AC_SUBST(PANGO_REQUIRED)
AC_SUBST(GTK_REQUIRED)
AC_SUBST(MEDUSA_REQUIRED)
AC_SUBST(RSVG_REQUIRED)
AC_SUBST(XML_REQUIRED)
AC_SUBST(STARTUP_NOTIFICATION_REQUIRED)

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

AM_INIT_AUTOMAKE(nautilus, 2.8.2)
AM_CONFIG_HEADER(config.h)

AM_SANITY_CHECK
AM_MAINTAINER_MODE

AC_C_BIGENDIAN
AC_C_CONST
AC_ISC_POSIX
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AM_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)

if $PKG_CONFIG --atleast-version $STARTUP_NOTIFICATION_REQUIRED libstartup-notification-1.0; then
  echo "Building with libstartup-notification"
  AC_DEFINE(HAVE_STARTUP_NOTIFICATION)
  with_startup_notification=yes
  STARTUP_NOTIFICATION_PACKAGE=libstartup-notification-1.0
  EXTRA_CORE_MODULES="$EXTRA_CORE_MODULES libstartup-notification-1.0"
else
  echo "***** WARNING: Building without libstartup-notification"
  with_startup_notification=no
  STARTUP_NOTIFICATION_PACKAGE=
fi

AC_SUBST(STARTUP_NOTIFICATION_PACKAGE)

PKG_CHECK_MODULES(ALL, \
	esound >= $ESOUND_REQUIRED \
	bonobo-activation-2.0 >= $BONOBO_ACTIVATION_REQUIRED \
	eel-2.0 >= $EEL_REQUIRED \
	glib-2.0 >= $GLIB_REQUIRED \
	gnome-desktop-2.0 >= $GNOME_DESKTOP_REQUIRED \
	gnome-vfs-2.0 >= $GNOME_VFS_REQUIRED \
	ORBit-2.0 >= $ORBIT_REQUIRED\
	pango >= $PANGO_REQUIRED \
	gtk+-2.0 >= $GTK_REQUIRED \
	libart-2.0 >= $ART_REQUIRED \
	libbonobo-2.0 >= $BONOBO_REQUIRED \
	libbonoboui-2.0 >= $BONOBO_UI_REQUIRED \
	libgnome-2.0 >= $GNOME_REQUIRED \
	libgnomeui-2.0 >= $GNOME_UI_REQUIRED \
	librsvg-2.0 >= $RSVG_REQUIRED \
	libxml-2.0 >= $XML_REQUIRED \
	$STARTUP_NOTIFICATION_PACKAGE)
dnl ==========================================================================

ALL_LINGUAS="af am ar az be bg bn bs ca cs cy da de el en_CA en_GB es et eu fa fi fr ga gl gu he hi hr hu id is it ja ko li lt lv mi mk ml mn ms nb ne nl nn no pa pl pt pt_BR ro ru sk sl sq sr sr@Latn sr@ije sv ta th tk tr uk vi wa yi zh_CN zh_TW"

GETTEXT_PACKAGE=nautilus
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE")

AM_GLIB_GNU_GETTEXT

AC_PROG_INTLTOOL

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

ENABLE_PROFILER=
AC_ARG_ENABLE(profiler,
[  --enable-profiler		Enable profiler],
ENABLE_PROFILER=1
AC_DEFINE(ENABLE_PROFILER))

profiling_support=off
if test "x$ENABLE_PROFILER" = "x1"
then
	CFLAGS="-g -O -gdwarf-2 -finstrument-functions -D__NO_STRING_INLINES $CFLAGS"
	LDFLAGS="/gnome/GNOME2/lib/libprofiler.so -lpthread $LDFLAGS"
	profiling_support=on
fi

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

dnl ==========================================================================
dnl Check for popt
    
AC_CHECK_LIB(popt, poptGetArg, POPT_LIBS=-lpopt,
        [AC_CHECK_HEADER(popt.h, , AC_MSG_ERROR([[
*** Couldn't find popt. Please download and install from
*** ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/ and try again.]]))])
AC_SUBST(POPT_LIBS)
	
dnl ==========================================================================

AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)

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

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

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

AC_CHECK_FUNCS(setmntent endmntent hasmntopt getmntinfo)
AC_CHECK_HEADERS(mntent.h sys/mnttab.h sys/vfstab.h sys/cdio.h sys/mount.h sys/mntctl.h sys/vfs.h sys/vmount.h fstab.h)
			      
dnl ==========================================================================

AC_CHECK_FUNCS(setenv unsetenv putenv)

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

dnl X

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) 

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

dnl cdda

AM_CONDITIONAL(HAVE_CDDA, false)
AC_CHECK_HEADERS(cdda_interface.h cdda_paranoia.h, [
	CDDA_LIBS="-lcdda_paranoia -lcdda_interface"
	AM_CONDITIONAL(HAVE_CDDA, true)
	])

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

dnl jw (for doc build)

AC_PATH_PROG(JW,jw,no)
if test x$JW = xno; then
  HAVE_JW="no"
else
  HAVE_JW="yes"
fi
AM_CONDITIONAL(HAVE_JW, test "x$HAVE_JW" = "xyes")
AC_SUBST(HAVE_JW)

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

dnl medusa checking

AC_MSG_CHECKING(for Medusa)

PKG_CHECK_MODULES(MEDUSA, medusa-2.0 >= $MEDUSA_REQUIRED, have_medusa=yes, have_medusa=no)
if test "x$have_medusa" = "xyes"; then
  AC_DEFINE(HAVE_MEDUSA,1)
  EXTRA_CORE_MODULES="$EXTRA_CORE_MODULES medusa-2.0"
fi

dnl exif checking

AC_MSG_CHECKING(for libExif)

PKG_CHECK_MODULES(EXIF, libexif >= $EXIF_REQUIRED, have_exif=yes, have_exif=no)
if test "x$have_exif" = "xyes"; then
  AC_DEFINE(HAVE_EXIF,1)
  AC_SUBST(EXIF_CFLAGS)
  AC_SUBST(EXIF_LIBS)
fi

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

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

AC_ARG_ENABLE(more-warnings,
[  --enable-more-warnings  Maximum compiler warnings],
set_more_warnings="$enableval",[
if test -f $srcdir/CVSVERSION; then
	is_cvs_version=true
	set_more_warnings=yes
else
	set_more_warnings=no
fi
])
AC_MSG_CHECKING(for more warnings, including -Werror)
if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
	AC_MSG_RESULT(yes)
	CFLAGS="\
	-Wall \
	-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
	-Wnested-externs -Wpointer-arith \
	-Wcast-align -Wsign-compare \
	-Werror \
	$CFLAGS"

	for option in -Wno-strict-aliasing -Wno-sign-compare; do
		SAVE_CFLAGS="$CFLAGS"
		CFLAGS="$CFLAGS $option"
		AC_MSG_CHECKING([whether gcc understands $option])
		AC_TRY_COMPILE([], [],
			has_option=yes,
			has_option=no,)
		if test $has_option = no; then
			CFLAGS="$SAVE_CFLAGS"
		fi
		AC_MSG_RESULT($has_option)
		unset has_option
		unset SAVE_CFLAGS
	done
	unset option
else
	AC_MSG_RESULT(no)
fi

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

dnl gimphwrapbox
GIMPHWRAPBOX_MODULES="gtk+-2.0"
GIMPHWRAPBOX_CFLAGS="`$PKG_CONFIG --cflags $GIMPHWRAPBOX_MODULES`"
AC_SUBST(GIMPHWRAPBOX_CFLAGS)

dnl gsequence
GSEQUENCE_MODULES="glib-2.0"
GSEQUENCE_CFLAGS="`$PKG_CONFIG --cflags $GSEQUENCE_MODULES`"
AC_SUBST(GSEQUENCE_CFLAGS)
	
dnl libegg
LIBEGG_MODULES="gtk+-2.0 libgnome-2.0"
LIBEGG_CFLAGS="`$PKG_CONFIG --cflags $LIBEGG_MODULES`"
AC_SUBST(LIBEGG_CFLAGS)

dnl libnautilus (must list bonobo-activation and libbonobo because idldir does not respect "requires")
LIBNAUTILUS_MODULES="eel-2.0 bonobo-activation-2.0 libbonobo-2.0 libbonoboui-2.0"
LIBNAUTILUS_CFLAGS="`$PKG_CONFIG --cflags $LIBNAUTILUS_MODULES`"
AC_SUBST(LIBNAUTILUS_CFLAGS)
LIBNAUTILUS_LIBS="`$PKG_CONFIG --libs $LIBNAUTILUS_MODULES`"
AC_SUBST(LIBNAUTILUS_LIBS)
LIBNAUTILUS_IDL_INCLUDES="`$PKG_CONFIG --variable=idldir $LIBNAUTILUS_MODULES | $srcdir/add-include-prefix`"
AC_SUBST(LIBNAUTILUS_IDL_INCLUDES)

dnl libnautilus-extension
LIBNAUTILUS_EXTENSION_MODULES="glib-2.0 gtk+-2.0 gnome-vfs-2.0"
LIBNAUTILUS_EXTENSION_CFLAGS="`$PKG_CONFIG --cflags $LIBNAUTILUS_EXTENSION_MODULES`"
AC_SUBST(LIBNAUTILUS_EXTENSION_CFLAGS)
LIBNAUTILUS_EXTENSION_LIBS="`$PKG_CONFIG --libs $LIBNAUTILUS_EXTENSION_MODULES`"
AC_SUBST(LIBNAUTILUS_EXTENSION_LIBS)

dnl core nautilus (must list bonobo-activation and libbonobo because idldir does not respect "requires")
CORE_MODULES="eel-2.0 librsvg-2.0 bonobo-activation-2.0 libbonobo-2.0 libbonoboui-2.0 esound gnome-desktop-2.0 $EXTRA_CORE_MODULES"
CORE_CFLAGS="`$PKG_CONFIG --cflags $CORE_MODULES` $x_cflags"
AC_SUBST(CORE_CFLAGS)
CORE_LIBS="`$PKG_CONFIG --libs $CORE_MODULES` $CDDA_LIBS $LIBJPEG $x_libs"
AC_SUBST(CORE_LIBS)
CORE_IDL_INCLUDES="`$PKG_CONFIG --variable=idldir $CORE_MODULES | $srcdir/add-include-prefix`"
AC_SUBST(CORE_IDL_INCLUDES)

dnl typical components
COMPONENT_MODULES="eel-2.0 libbonoboui-2.0 gnome-vfs-module-2.0 gnome-desktop-2.0"
COMPONENT_CFLAGS="`$PKG_CONFIG --cflags $COMPONENT_MODULES`"
AC_SUBST(COMPONENT_CFLAGS)
COMPONENT_LIBS="`$PKG_CONFIG --libs $COMPONENT_MODULES`"
AC_SUBST(COMPONENT_LIBS)

dnl emblems component
EMBLEM_COMPONENT_MODULES="$COMPONENT_MODULES librsvg-2.0"
EMBLEM_COMPONENT_CFLAGS="`$PKG_CONFIG --cflags $EMBLEM_COMPONENT_MODULES`"
AC_SUBST(EMBLEM_COMPONENT_CFLAGS)
EMBLEM_COMPONENT_LIBS="`$PKG_CONFIG --libs $EMBLEM_COMPONENT_MODULES`"
AC_SUBST(EMBLEM_COMPONENT_LIBS)

DISABLE_DEPRECATED_CFLAGS=""


dnl Taken out for now
dnl	-DGDK_DISABLE_DEPRECATED \
dnl	-DGDK_PIXBUF_DISABLE_DEPRECATED \
dnl	-DGTK_DISABLE_DEPRECATED \
dnl	-DGNOME_DISABLE_DEPRECATED"

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

AC_SUBST(DISABLE_DEPRECATED_CFLAGS)

dnl libbackground
PKG_CHECK_MODULES(CAPPLET, "gtk+-2.0 gconf-2.0 libgnomeui-2.0 libbonoboui-2.0")
dnl ==========================================================================

dnl ==============================================
dnl Special GConf section 
dnl ==============================================

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

AC_OUTPUT([
Makefile
components/Makefile
components/adapter/Makefile
components/history/Makefile
components/notes/Makefile
components/text/Makefile
components/throbber/Makefile
components/emblem/Makefile
components/image_properties/Makefile
cut-n-paste-code/Makefile
cut-n-paste-code/libegg/Makefile
cut-n-paste-code/gsequence/Makefile
cut-n-paste-code/widgets/Makefile
cut-n-paste-code/widgets/gimphwrapbox/Makefile
data/Makefile
data/patterns/Makefile
docs/Makefile
icons/Makefile
icons/crux_eggplant/Makefile
icons/crux_teal/Makefile
icons/default/Makefile
icons/gnome/Makefile
icons/sierra/Makefile
icons/tahoe/Makefile
libbackground/Makefile
libnautilus-adapter/Makefile
libnautilus-private/Makefile
libnautilus/Makefile
libnautilus/libnautilus.pc
libnautilus-extension/Makefile
libnautilus-extension/libnautilus-extension.pc
nautilus.spec
po/Makefile.in
src/Makefile
src/file-manager/Makefile
test/Makefile
])

dnl ==========================================================================
echo "
nautilus-$VERSION:

	prefix:                 ${prefix}
	source code location:	${srcdir}
	compiler:		${CC}

	profiling support:      ${profiling_support}
"
