nautilus/configure.in
Eric Fischer f8b3c9d684 reviewed by: Arik Devens <arik@eazel.com>
2001-03-01  Eric Fischer  <eric@eazel.com>

        reviewed by: Arik Devens <arik@eazel.com>

        * configure.in:
        Improve the process of checking for required versions of other
        software by moving the version numbers out of the spec file and
        the body of the configure script and into their own section of
        the script.

        Also add a couple of autoconf macros that will reduce the amount
        of boilerplate that needs to get written for each version check.

        * nautilus.spec.in:
        Change some of the requirements to get their version numbers from
        the configure script rather than hardwiring them here.

        (Bug 7229)
2001-03-02 01:08:30 +00:00

1099 lines
30 KiB
Plaintext

AC_INIT(src)
GNOME_REQUIRED=1.2.8
GNOME_LIBS_REQUIRED=1.2.11
GTK_REQUIRED=1.2.9
GLIB_REQUIRED=1.2.9
BONOBO_REQUIRED=0.33
OAF_REQUIRED=0.6.2
GCONF_REQUIRED=0.12
dnl ===========================================================================
dnl EAZEL_VERSION_CANON(version)
dnl 1
AC_DEFUN(EAZEL_VERSION_CANON, [`
dnl Assumes that there are no more than 999 revisions at a level,
dnl no more than three levels of revision.
dnl
dnl Any more than that, and test starts messing up the numeric
dnl comparisons because its integers overflow, and there's no
dnl way to do string comparisons in the shell. Grr.
dnl
dnl Must come up with some way to fix this.
echo "$1" |
tr . '\012' |
sed -e 's/^/000/' -e 's/^.*\(...\)/\1/' |
tr -d '\012' |
sed 's/$/000000000/
s/^\(.........\).*/\1/'
`])
dnl EAZEL_VERSION_INSIST(package, get-version-cmd, operator, want-version-var)
dnl 1 2 3 4
AC_DEFUN(EAZEL_VERSION_INSIST, [
ez_want_version=[$]$4
case "$3" in
">") ez_operator=-gt ;;
">=") ez_operator=-ge ;;
"<") ez_operator=-lt ;;
"<=") ez_operator=-le ;;
"=") ez_operator=-eq ;;
"!=") ez_operator=-ne ;;
*) AC_ERROR(Unknown operator $3 in configure script) ;;
esac
AC_MSG_CHECKING(for $1 $3 [$ez_want_version])
if ez_installed_version="`$2`"
then
AC_MSG_RESULT([$ez_installed_version])
else
AC_ERROR($2 failed)
fi
if test "EAZEL_VERSION_CANON([$ez_installed_version])" "$ez_operator" \
"EAZEL_VERSION_CANON([$ez_want_version])"
then
:
AC_SUBST($4)
else
AC_ERROR($1 version [$ez_want_version] is required.)
fi
])
dnl ===========================================================================
if test -n "$GNOME2_PATH"; then
PATH="$GNOME2_PATH/bin:$PATH"
export PATH
fi
AM_INIT_AUTOMAKE(nautilus, 0.8.3)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
AM_DISABLE_STATIC
AM_PROG_LIBTOOL
AM_PROG_XML_I18N_TOOLS
AM_SANITY_CHECK
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_ISC_POSIX
AM_PATH_ESD
dnl ORBit
AM_PATH_ORBIT
dnl ====================================
dnl = Begin profiling support
dnl ====================================
ENABLE_PROFILER=
AC_ARG_ENABLE(profiler,
[ --enable-profiler Enable profiler],
ENABLE_PROFILER=1
AC_DEFINE(ENABLE_PROFILER))
if test "x$ENABLE_PROFILER" = "x1"
then
CFLAGS="-g -O -gdwarf-2 -finstrument-functions -D__NO_STRING_INLINES"
LDFLAGS="/gnome/PROFILE/lib/libprofiler.so -lpthread"
fi
AC_SUBST(ENABLE_PROFILER)
AM_CONDITIONAL(ENABLE_PROFILER, test "x$ENABLE_PROFILER" = "x1")
dnl ====================================
dnl = End profiling support
dnl ====================================
dnl Check for "RedHat-style" font setup
AM_CONDITIONAL(TYPE1_FONT_DIR_EXISTS, test -d /usr/share/fonts/default/Type1)
dnl ====================================
dnl = Check for different mount systems
dnl ====================================
echo "
Determining mount system properties:
"
AC_CHECK_FUNCS( setmntent endmntent )
AC_CHECK_HEADERS( mntent.h sys/mnttab.h sys/vfstab.h sys/cdio.h )
AC_CHECK_FILES( /dev, AC_DEFINE(HAVE_DEV))
AC_CHECK_FILES( /vol/dev, AC_DEFINE(HAVE_VOL_DEV))
AC_CHECK_FILES( /vol, AC_DEFINE(HAVE_VOL))
AC_CHECK_FILES( /etc/mnttab, AC_DEFINE(HAVE_ETC_MNTTAB))
AC_CHECK_FILES( /proc/mounts, AC_DEFINE(HAVE_PROC_MOUNTS))
echo "
"
dnl ====================================
dnl = Method for changing environment
dnl ====================================
AC_CHECK_FUNCS( setenv unsetenv putenv )
dnl ====================================
dnl = Use x86 optimized music routines?
dnl ====================================
_system_is_x86="no"
AC_CHECK_HEADER( asm/vm86.h, _system_is_x86="yes" )
AM_CONDITIONAL(X86_OPTIMIZED, test "x$_system_is_x86" = "xyes")
dnl ====================================
dnl = Optionally build the installer
dnl ====================================
ENABLE_INSTALLER=
AC_ARG_ENABLE(installer,
[ --enable-installer Create Nautilus installer],
ENABLE_INSTALLER=1
AC_DEFINE(ENABLE_INSTALLER))
AC_SUBST(ENABLE_INSTALLER)
AM_CONDITIONAL(ENABLE_INSTALLER, test "x$ENABLE_INSTALLER" = "x1")
dnl ====================================
dnl = Begin tests for eazel-services
dnl ====================================
AC_ARG_ENABLE(
[eazel-services],
[ --enable-eazel-services Enable support for Eazel Services (default is no)],
[ EAZEL_SERVICES_ENABLED=$enableval ],
[ EAZEL_SERVICES_ENABLED=no ])
AC_SUBST(EAZEL_SERVICES)
if test x"$EAZEL_SERVICES_ENABLED" = xyes; then
AC_DEFINE(EAZEL_SERVICES)
fi
AM_CONDITIONAL(EAZEL_SERVICES, test "x$EAZEL_SERVICES_ENABLED" = "xyes")
dnl =======================
dnl = End tests for eazel-services
dnl =======================
dnl ====================================
dnl = Begin tests for FreeType2
dnl ====================================
FREETYPE2_CFLAGS=
FREETYPE2_LIBS=
_found_freetype2_lib="no"
_found_freetype2_header="no"
_found_freetype2="no"
AC_ARG_WITH(freetype2-libraries,
[ --with-freetype2-libraries=PATH freetype2 library path],
freetype2_lib_prefix=$withval)
AC_ARG_WITH(freetype2-includes,
[ --with-freetype2-includes=PATH freetype2 include path],
freetype2_include_prefix=$withval)
AC_ARG_WITH(freetype2-prefix,
[ --with-freetype2-prefix=PATH freetype2 installation prefix],
freetype2_prefix=$withval, freetype2_prefix="/usr")
if test -z "$freetype2_include_prefix"; then
freetype2_include_prefix="${freetype2_prefix}/include/freetype2"
fi
if test -z "$freetype2_lib_prefix"; then
freetype2_lib_prefix="${freetype2_prefix}/lib"
fi
_save_cpp="$CPP"
_save_ldflags="$LDFLAGS"
CPP="$_save_cpp -I$freetype2_include_prefix"
LDFLAGS="$_save_ldflags -L$freetype2_lib_prefix"
AC_CHECK_HEADER(freetype/freetype.h, _found_freetype2_header="yes")
AC_CHECK_LIB(freetype, FT_Init_FreeType, [_found_freetype2_lib="yes"])
CPP="$_save_cpp"
LDFLAGS="$_save_ldflags"
if test "x$_found_freetype2_lib" = "xyes" -a \
"x$_found_freetype2_header" = "xyes"
then
_found_freetype2="yes"
fi
if test "x$_found_freetype2" != "xyes"
then
AC_MSG_ERROR([
*** FreeType2 is required. You can obtain a packaged version of FreeType2
*** over here: http://developer.eazel.com/eazel-hacking/updates/freetype2
*** source versions are available from ftp://ftp.freetype.org])
fi
FREETYPE2_CFLAGS="-I$freetype2_include_prefix"
FREETYPE2_LIBS="-L$freetype2_lib_prefix -lfreetype"
AC_SUBST(FREETYPE2_CFLAGS)
AC_SUBST(FREETYPE2_LIBS)
dnl =======================
dnl = End tests for FreeType2
dnl =======================
dnl ====================================
dnl = Beging authenticate helper
dnl ====================================
BUILD_AUTHENTICATE_HELPER=
AC_CHECK_LIB(pam, pam_authenticate,
[BUILD_AUTHENTICATE_HELPER=1
AC_DEFINE(HAVE_PAM)
AC_CHECK_LIB(pam_misc, pam_misc_setenv,
[PAM_LIBS="-ldl -lpam -lpam_misc"], [PAM_LIBS="-ldl -lpam"], -ldl -lpam) ], [PAM_LIBS=], -ldl)
AC_SUBST(PAM_LIBS)
AM_CONDITIONAL(BUILD_AUTHENTICATE_HELPER, test "x$BUILD_AUTHENTICATE_HELPER" = "x1")
dnl ====================================
dnl = End authenticate helper
dnl ====================================
dnl ====================================
dnl = mozilla embedded component support
dnl =
dnl = The following voodoo does detection of mozilla libraries needed by
dnl = the nautilus mozilla component.
dnl =
dnl = The nautilus mozilla component is only built if these libraries are found
dnl =
dnl = --disable-mozilla-component can be used to disable building of the
dnl = mozilla component even if the mozilla development libraries are
dnl = detected.
dnl ====================================
mozilla_component_disabled="no"
AC_ARG_ENABLE(mozilla-component,
[ --disable-mozilla-component= Disable the mozilla component],
mozilla_component_disabled="yes")
dnl Dont build the mozilla component for profiled builds cause the c++ compiler
dnl used for mozilla rpms is not binary compatible with the one used for profiling.
if test "x$ENABLE_PROFILER" = "x1"
then
mozilla_component_disabled="yes"
fi
found_mozilla=false
if test "x$mozilla_component_disabled" = "xno"
then
BUILD_MOZILLA_COMPONENT=
MOZILLA_COMPONENT_CFLAGS=
MOZILLA_COMPONENT_LDFLAGS=
MOZILLA_COMPONENT_LIBS=
_mozilla_lib_place=/usr/lib/mozilla
_mozilla_include_place=/usr/include/mozilla
dnl Add a flag to override the default mozilla lib dir
AC_ARG_WITH(mozilla-lib-place,
[ --with-mozilla-lib-place Set mozilla 'lib' place ],
[ _mozilla_lib_place="$withval" ])
dnl Add a flag to override the default mozilla include dir
AC_ARG_WITH(mozilla-include-place,
[ --with-mozilla-include-place Set mozilla 'include' place ],
[ _mozilla_include_place="$withval" ])
_mozilla_nspr_libs=
_mozilla_plc_libs=
_mozilla_plds_libs=
_mozilla_xpcom_libs=
_mozilla_gtk_moz_embed_libs=
_mozilla_gtk_super_win_libs=
dnl Save flags and compiler
_save_cflags="$CFLAGS"
_save_ldflags="$LDFLAGS"
_save_cc="$CC"
dnl Hack flags to find the mozilla stuff
CFLAGS="$_save_cflags -I$_mozilla_include_place"
LDFLAGS="$_save_ldflags -L$_mozilla_lib_place"
dnl Check for nspr and friends
AC_CHECK_LIB(nspr4, PR_Init, [_mozilla_nspr_libs="-lnspr4"])
LDFLAGS="$LDFLAGS $_mozilla_nspr_libs"
AC_CHECK_LIB(plc4, PL_strcmp, [_mozilla_plc_libs="-lplc4"])
AC_CHECK_LIB(plds4, PL_NewHashTable, [_mozilla_plds_libs="-lplds4"])
_mozilla_all_nspr_flags="$_mozilla_nspr_libs $_mozilla_plc_libs $_mozilla_plds_libs"
dnl Now check for the evil c++ ones "by hand"
CC="g++"
LDFLAGS="$_save_ldflags -L$_mozilla_lib_place $_mozilla_all_nspr_flags -lxpcom"
AC_MSG_CHECKING(for xpcom)
AC_CACHE_VAL(have_xpcom,
[AC_TRY_COMPILE([extern "C" int NS_RegistryGetFactory(void**);]
[],
[NS_RegistryGetFactory(0); return 0;],
[have_xpcom=true],
[have_xpcom=false])])
if test "$have_xpcom" = "true" ; then
_mozilla_xpcom_libs="-lxpcom"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
dnl The next two are pure from evil
CC="$_save_cc"
dnl gtk superwin library
LDFLAGS="$_save_ldflags -L$_mozilla_lib_place $_mozilla_all_nspr_flags -lgtksuperwin"
AC_CHECK_LIB(gtksuperwin, gdk_superwin_get_type, [_mozilla_gtk_super_win_libs="-lgtksuperwin"])
dnl gtk moz embed library
LDFLAGS="$_save_ldflags -L$_mozilla_lib_place $_mozilla_all_nspr_flags -lgtkembedmoz $_mozilla_xpcom_libs"
AC_CHECK_LIB(gtkembedmoz, gtk_moz_embed_get_type, [_mozilla_gtk_moz_embed_libs="-lgtkembedmoz"])
dnl Restore the flags and compiler
CFLAGS="$_save_cflags"
LDFLAGS="$_save_ldflags"
CC="$_save_cc"
dnl Now make sure all the libraries are good
AC_MSG_CHECKING(for Mozilla)
if test -n "$_mozilla_nspr_libs" -a \
-n "$_mozilla_plc_libs" -a \
-n "$_mozilla_plds_libs" -a \
-n "$_mozilla_xpcom_libs" -a \
-n "$_mozilla_gtk_super_win_libs" -a \
-n "$_mozilla_gtk_moz_embed_libs"
then
AC_MSG_RESULT(yes)
AC_PROG_CXX
found_mozilla=true
MOZILLA_COMPONENT_RPATH_FLAGS=-Wl,-rpath=$_mozilla_lib_place
MOZILLA_COMPONENT_CFLAGS="-I$_mozilla_include_place -fno-rtti -fno-exceptions"
MOZILLA_COMPONENT_LDFLAGS=-L$_mozilla_lib_place
MOZILLA_COMPONENT_LIBS="$_mozilla_gtk_moz_embed_libs \
$_mozilla_gtk_super_win_libs \
$_mozilla_xpcom_libs \
$_mozilla_nspr_libs \
$_mozilla_plc_libs \
$_mozilla_plds_libs"
AC_SUBST(MOZILLA_COMPONENT_RPATH_FLAGS)
AC_SUBST(MOZILLA_COMPONENT_CFLAGS)
AC_SUBST(MOZILLA_COMPONENT_LDFLAGS)
AC_SUBST(MOZILLA_COMPONENT_LIBS)
else
AC_MSG_RESULT(no)
found_mozilla=false
fi
fi
AM_CONDITIONAL(BUILD_MOZILLA_COMPONENT, test "x$found_mozilla" = "xtrue")
dnl
dnl EVIL1:
dnl
dnl The mozilla milestone version checks are very un-scientific.
dnl They are based on thing that I know changed between milestones,
dnl but are likely to not be right in the future. Unfortunately, there
dnl doesnt seem to be anything in mozilla (such as #define MOZILLA_VERSION)
dnl thing that we can check. -re
dnl
dnl EVIL2:
dnl
dnl The DEBUG check is a most evil hack. The problem im trying to solve
dnl is that we dont know whether the mozilla binaries we are using are built
dnl in debug mode or not (DEBUG). We need to know this so that we set
dnl appropiate compile flags in the mozilla component. Otherwise we get
dnl undefined symbols. Specifically, the undefined symbols are some
dnl destrcutors (nsCOMPtr_base::~nsCOMPtr_base) which are implemented only
dnl if the debug flag DEBUG is set a certain way.
dnl
if test "x$found_mozilla" = "xtrue"
then
dnl EVIL1:
grep -w gtk_moz_embed_set_profile_path $_mozilla_include_place/gtkmozembed.h > /dev/null 2>&1
if test $? -eq 0
then
MOZILLA_MILESTONE=VERSION_0_8
MOZILLA_PROFILES_CFLAGS="-DMOZILLA_HAVE_PROFILES_SUPPORT"
AC_SUBST(MOZILLA_PROFILES_CFLAGS)
else
grep -w GetName $_mozilla_include_place/nsIRequest.h > /dev/null 2>&1
if test $? -eq 0
then
MOZILLA_MILESTONE=VERSION_0_7
else
MOZILLA_MILESTONE=MILESTONE_17
fi
fi
AC_SUBST(MOZILLA_MILESTONE)
dnl EVIL2:
_xpcom_lib=$_mozilla_lib_place/libxpcom.so
_symbol="nsCOMPtr_base::~nsCOMPtr_base"
_num_symbols=`nm $_xpcom_lib 2> /dev/null | wc -l`
if test $_num_symbols -ne 0
then
nm --demangle $_xpcom_lib | grep $_symbol > /dev/null 2>&1
if test $? -eq 1
then
MOZILLA_COMPONENT_DEBUG_FLAGS="-DDEBUG"
fi
fi
AC_SUBST(MOZILLA_COMPONENT_DEBUG_FLAGS)
if test "$MOZILLA_MILESTONE" != "VERSION_0_8"
then
AC_MSG_ERROR([
*** Mozilla 0.8 or greater is required to build the Nautilus Mozilla component.
*** A package for 0.8 is available here:
*** http://developer.eazel.com/eazel-hacking/updates/mozilla/.])
fi
fi
dnl ====================================
dnl = End mozilla hacks
dnl ====================================
dnl ====================================
dnl = rpmview component support
dnl ====================================
if test "x$EAZEL_SERVICES_ENABLED" = "xyes" ;
then
rpm_libs=
rpm_xlibs=
have_rpm=no
AC_CHECK_LIB(bz2, bzread, [rpm_libs=-lbz2])
dnl <= Check for bzip2 > 1.0.0
AC_CHECK_LIB(bz2, BZ2_bzread, [rpm_libs=-lbz2
dnl <= define the wrapper-functions to get the Bzip2 stuff working .. =>
AC_DEFINE(bzread,BZ2_bzread)
AC_DEFINE(bzopen,BZ2_bzopen)
AC_DEFINE(bzdopen,BZ2_bzdopen)
AC_DEFINE(bzwrite,BZ2_bzwrite)
AC_DEFINE(bzerror,BZ2_bzerror)
AC_DEFINE(bzclose,BZ2_bzclose)
AC_DEFINE(bzflush,BZ2_bzflush)
AC_DEFINE(bzCompress,BZ2_bzCompress)
AC_DEFINE(bzCompressInit,BZ2_bzCompressInit)
AC_DEFINE(bzDecompress,BZ2_bzDecompress)
AC_DEFINE(bzDecompressInit,BZ2_bzDecompressInit)
])
dnl =>
AC_CHECK_LIB(popt, poptParseArgvString, [rpm_libs="$rpm_libs -lpopt"])
AC_CHECK_FUNC(dbopen, [],
AC_CHECK_LIB(db-3.1, __db185_open, [rpm_libs="$rpm_libs -ldb-3.1"],
AC_CHECK_LIB(db-3, __db185_open, [rpm_libs="$rpm_libs -ldb-3"],
AC_CHECK_LIB(db2, dbopen, [rpm_libs="$rpm_libs -ldb2"],
AC_CHECK_LIB(db1, dbopen, [rpm_libs="$rpm_libs -ldb1"],
AC_CHECK_LIB(db, dbopen, [rpm_libs="$rpm_libs -ldb"],
AC_MSG_ERROR([sorry rpm requires a db-1.85 API]))))))
)
AC_CHECK_LIB(rpmio, Fdopen, [rpm_xlibs="-lrpmio"],[rpm_xlibs=""],$rpm_libs)
AC_CHECK_LIB(rpm, rpmRunTransactions,[have_rpm=yes],
[have_rpm=no], [$rpm_libs $rpm_xlibs])
if test "x$have_rpm" = "xyes" ; then
dnl FIXME
dnl Ideally I should check for rpm and where it is
AC_MSG_CHECKING([rpm version])
RPM_VERSION=`rpm --version | awk '{ print $3; }'`
AM_CONDITIONAL(COMPILE_RPM_30, false)
AM_CONDITIONAL(COMPILE_RPM_40, false)
case $RPM_VERSION in
3.0.5|3.0.6)
AC_DEFINE(HAVE_RPM_30)
_found_valid_rpm="yes"
AM_CONDITIONAL(COMPILE_RPM_30, true)
dnl if automake conditionals hadn't been a joke, I
dnl wouldn't need this shite.
PACKAGESYSTEM="libeazelpackagesystem-rpm3.la"
AC_SUBST(PACKAGESYSTEM)
PACKAGE_SYSTEM_OBJECT="eazel-package-system-rpm3.o"
AC_SUBST(PACKAGE_SYSTEM_OBJECT)
PACKAGE_SYSTEM_SOURCE="eazel-package-system-rpm3.c"
AC_SUBST(PACKAGE_SYSTEM_SOURCE)
;;
4.*)
AC_DEFINE(HAVE_RPM_40)
_found_valid_rpm="yes"
AM_CONDITIONAL(COMPILE_RPM_40, true)
PACKAGESYSTEM="libeazelpackagesystem-rpm4.la"
AC_SUBST(PACKAGESYSTEM)
PACKAGE_SYSTEM_OBJECT="eazel-package-system-rpm4.o eazel-package-system-rpm3.o"
AC_SUBST(PACKAGE_SYSTEM_OBJECT)
PACKAGE_SYSTEM_SOURCE="eazel-package-system-rpm4.c eazel-package-system-rpm3.c"
AC_SUBST(PACKAGE_SYSTEM_SOURCE)
;;
esac
if test "x$_found_valid_rpm" = "xyes"; then
AC_MSG_RESULT([found $RPM_VERSION, yes])
AC_DEFINE(HAVE_RPM)
RPM_LIBS="-lrpm -lz $rpm_xlibs $rpm_libs"
AC_SUBST(RPM_VERSION)
build_rpmview=yes
rpmversion="$RPM_VERSION"
else
AC_MSG_RESULT([no])
AC_MSG_WARN([RPM 3.0.5 or higher required, $RPM_VERSION found])
build_rpmview=no
fi
fi
AC_SUBST(RPM_LIBS)
else
build_rpmview=no
fi
AM_CONDITIONAL(BUILD_RPM_COMPONENTS, test "x$build_rpmview" = "xyes")
dnl ====================================
dnl = End rpmview checks
dnl ====================================
dnl Checks for libraries.
AM_PATH_GLIB($GLIB_REQUIRED,,
AC_MSG_ERROR([
*** GLIB $GLIB_REQUIRED or better is required. The latest version of GLIB
*** is always available from ftp://ftp.gtk.org/.]))
AC_SUBST(GLIB_REQUIRED)
AM_PATH_GTK($GTK_REQUIRED,,
AC_MSG_ERROR([
*** Gtk+ $GTK_REQUIRED or better is required. The latest version of GTK
*** is always available from ftp://ftp.gtk.org/.]))
AC_SUBST(GTK_REQUIRED)
AM_PATH_GNOME($GNOME_REQUIRED,,AC_MSG_ERROR([*** GNOME $GNOME_REQUIRED or better is required.]), gnomecanvaspixbuf bonobo bonobox bonobox_print vfs idl)
AC_SUBST(GNOME_REQUIRED)
AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
if test x$GNOME_CONFIG = xno; then
AC_MSG_ERROR(Couldn't find gnome-config. Please install the GNOME package)
fi
EAZEL_VERSION_INSIST(gnome-libs, $GNOME_CONFIG --version | awk '{print $2}', >=, GNOME_LIBS_REQUIRED)
dnl check for gnome_canvas_set_dither existence
_libs="$LIBS"
LIBS=$GNOMEUI_LIBS
AC_CHECK_FUNCS(gnome_canvas_set_dither)
LIBS="$_libs"
dnl Bonobo
EAZEL_VERSION_INSIST(bonobo, $GNOME_CONFIG --modversion bonobo | awk -F- '{print $2}', >=, BONOBO_REQUIRED)
AC_SUBST(GNOMECANVASPIXBUF_LIBS)
AC_SUBST(GNOMECANVASPIXBUF_INCLUDEDIR)
AC_SUBST(BONOBO_CFLAGS)
AC_SUBST(BONOBO_LIBS)
AC_SUBST(BONOBOX_CFLAGS)
AC_SUBST(BONOBOX_LIBS)
AC_SUBST(BONOBO_PRINT_CFLAGS)
AC_SUBST(BONOBO_PRINT_LIBS)
AC_SUBST(VFS_CFLAGS)
AC_SUBST(VFS_LIBS)
IDL_CFLAGS="${IDL_CFLAGS} -I\$(top_srcdir) -I\$(top_builddir)"
echo "IDL_CFLAGS: $IDL_CFLAGS"
AC_SUBST(IDL_CFLAGS)
AM_PATH_OAF($OAF_REQUIRED)
AC_SUBST(OAF_REQUIRED)
AM_PATH_GCONF($GCONF_REQUIRED,,,gconf-gtk)
AC_SUBST(GCONF_REQUIRED)
AC_PATH_PROG(XML_CONFIG,xml-config,no)
if test x$XML_CONFIG = xno; then
AC_MSG_ERROR(Couldn't find xml-config please install the gnome-xml package)
fi
XML_VERSION="`$XML_CONFIG --version`"
case "$XML_VERSION" in
1.*)
:
;;
*)
AC_ERROR(Nautilus needs gnome-xml version 1.x not $XML_VERSION)
;;
esac
XML_LIBS=`$XML_CONFIG --libs`
XML_CFLAGS=`$XML_CONFIG --cflags`
AC_SUBST(XML_LIBS)
AC_SUBST(XML_CFLAGS)
dnl ====================================
dnl = Begin tests for scrollkeeper
dnl ====================================
AC_PATH_PROG(SCROLLKEEPER_CONFIG, scrollkeeper-config,no)
if test x$SCROLLKEEPER_CONFIG = xno; then
AC_MSG_ERROR(Couldn't find scrollkeeper-config, please install the scrollkeeper packaga)
fi
dnl =======================
dnl = End tests for scrollkeeper
dnl =======================
dnl ====================================
dnl = begin gnome-http checks
dnl ====================================
AC_MSG_CHECKING(for gnome-http)
if gnome-config --libs ghttp > /dev/null 2>&1; then
ghttp_ok=true
else
ghttp_ok=false
fi
if $ghttp_ok; then
GHTTP_LIBS=`gnome-config --libs ghttp`
GHTTP_CFLAGS=`gnome-config --cflags ghttp`
AC_SUBST(GHTTP_LIBS)
AC_SUBST(GHTTP_CFLAGS)
AC_MSG_RESULT(found)
else
AC_MSG_ERROR(gnome-http is required to compile Nautilus)
fi
dnl ====================================
dnl = End ghttp checks
dnl ====================================
dnl ====================================
dnl = begin applet checks
dnl ====================================
AC_MSG_CHECKING(for applets)
APPLETS_CFLAGS=
APPLETS_LIBS=
HAVE_APPLETS="no"
gnome-config | grep applets > /dev/null 2>&1
if test $? -eq 0
then
HAVE_APPLETS="yes"
APPLETS_CFLAGS=`gnome-config --cflags applets`
APPLETS_LIBS=`gnome-config --libs applets`
AC_MSG_RESULT(yes)
else
HAVE_APPLETS="no"
AC_MSG_RESULT(no)
fi
AM_CONDITIONAL(HAVE_APPLETS, test "x$HAVE_APPLETS" = "xyes")
AC_SUBST(HAVE_APPLETS)
AC_SUBST(APPLETS_CFLAGS)
AC_SUBST(APPLETS_LIBS)
dnl ====================================
dnl = begin applet checks
dnl ====================================
dnl ====================================
dnl = begin gdk-pixbuf checks
dnl ====================================
AM_PATH_GDK_PIXBUF(0.9.0,,
AC_MSG_ERROR([*** gdk_pixbuf 0.9.0 or better is required.]))
dnl ====================================
dnl = begin gdk-pixbuf checks
dnl ====================================
AC_CHECK_LIB(z, gzopen, [Z_LIBS=-lz
AC_SUBST(Z_LIBS)], AC_MSG_ERROR([*** zlib is required]))
dnl ====================================
dnl = Begin tests for medusa
dnl ====================================
AC_MSG_CHECKING(for Medusa)
case "`medusa-config --libs 2>/dev/null | cut -d ' ' -f1`" in
'')
MEDUSA_CFLAGS=""
MEDUSA_LIBS=""
AC_MSG_RESULT(no)
AC_MSG_WARN(Could not find medusa library. Please get it from GNOME's cvs.)
;;
*)
MEDUSA_CFLAGS=`medusa-config --cflags`
MEDUSA_LIBS=`medusa-config --libs`
AC_DEFINE(HAVE_MEDUSA)
AC_MSG_RESULT(yes)
;;
esac
AC_SUBST(MEDUSA_CFLAGS)
AC_SUBST(MEDUSA_LIBS)
dnl =======================
dnl = End tests for medusa
dnl =======================
dnl ====================================
dnl = Begin tests for ammonite (--enable-eazel-services only)
dnl ====================================
if test "x$EAZEL_SERVICES_ENABLED" = "xyes" ;
then
AC_MSG_CHECKING(for Ammonite >= 0.8.7)
if test -n `gnome-config --libs ammonite | cut -d ' ' -f1`;
then
vers=`gnome-config --modversion ammonite | sed -e "s/[^-]*-//" | \
awk 'BEGIN { FS = "."; } { printf "%d", $1 * 1000 + $2 * 100 + $3;}'`
if test "$vers" -ge 807; then
ammonite_ok=true;
else
ammonite_ok=false
fi
fi
if $ammonite_ok; then
AMMONITE_CFLAGS=`gnome-config --cflags ammonite`
AMMONITE_LIBS=`gnome-config --libs ammonite`
AC_MSG_RESULT(yes)
AC_SUBST(AMMONITE_CFLAGS)
AC_SUBST(AMMONITE_LIBS)
else
AC_MSG_RESULT(no)
AC_MSG_ERROR(Ammonite 0.8.7 or newer is required for Eazel Services. Please obtain it from Eazel's FTP site)
fi
fi
dnl =======================
dnl = End tests for ammonite
dnl =======================
dnl ====================================
dnl = Begin tests for libpng
dnl ====================================
if test -z "$LIBPNG"; then
AC_CHECK_LIB(png, png_read_info,
AC_CHECK_HEADER(png.h,
png_ok=yes,
png_ok=no),
AC_MSG_ERROR(*** (PNG library not found) ***), -lz -lm)
if test "$png_ok" = yes; then
AC_MSG_CHECKING([for png_structp in png.h])
AC_TRY_COMPILE([#include <png.h>],
[png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
png_ok=yes,
png_ok=no)
AC_MSG_RESULT($png_ok)
if test "$png_ok" = yes; then
PNG='png'; LIBPNG='-lpng -lz'
else
AC_MSG_WARN(*** PNG loader will not be built (PNG library is too old) ***)
fi
else
AC_MSG_WARN(*** PNG loader will not be built (PNG header file not found) ***)
fi
fi
AC_SUBST(LIBPNG)
dnl =======================
dnl = End tests for libpng
dnl =======================
dnl Checks for i18n
ALL_LINGUAS="az ca da de el en_GB es fi fr ga gl hu it ja ko nl nn no pl pt_BR ru sk sl sv ta tr uk zh_TW.Big5"
AM_GNOME_GETTEXT
# AM_GNOME_GETTEXT above substs $DATADIRNAME
# this is the directory where the *.{mo,gmo} files are installed
gnomelocaledir='${prefix}/${DATADIRNAME}/locale'
AC_SUBST(gnomelocaledir)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
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
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 -Wsign-promo -Wno-sign-compare; do
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $VFS_CFLAGS $option"
AC_MSG_CHECKING([whether gcc understands $option])
AC_TRY_COMPILE([], [],
has_option=yes,
has_option=no,)
CFLAGS="$SAVE_CFLAGS"
if test $has_option = yes; then
VFS_CFLAGS="$VFS_CFLAGS $option"
fi
AC_MSG_RESULT($has_option)
unset has_option
unset SAVE_CFLAGS
done
unset option
else
AC_MSG_RESULT(no)
fi
dnl
dnl Define the build timestamp if given in the environment.
dnl
if test -n "$EAZEL_BUILD_TIMESTAMP"
then
AC_DEFINE_UNQUOTED(EAZEL_BUILD_TIMESTAMP,"$EAZEL_BUILD_TIMESTAMP")
fi
AC_OUTPUT([
nautilus.spec
nautilus-installer.spec
Makefile
helper-utilities/Makefile
helper-utilities/authenticate/Makefile
helper-utilities/error-dialog/Makefile
helper-utilities/xml-migrate/Makefile
helper-scripts/Makefile
icons/Makefile
icons/ardmore/Makefile
icons/arlo/Makefile
icons/arlo/sidebar_tab_pieces/Makefile
icons/arlo/backgrounds/Makefile
icons/arlo/throbber/Makefile
icons/crux_eggplant/Makefile
icons/crux_eggplant/backgrounds/Makefile
icons/crux_eggplant/sidebar_tab_pieces/Makefile
icons/gnome/Makefile
icons/gnome/throbber/Makefile
icons/sidebar_tab_pieces/Makefile
icons/throbber/Makefile
icons/villanova/Makefile
data/Makefile
data/patterns/Makefile
data/emblems/Makefile
data/linksets/Makefile
data/fonts/Makefile
data/fonts/urw/Makefile
eazel-logos/Makefile
eazel-logos/throbber/Makefile
cut-n-paste-code/Makefile
cut-n-paste-code/widgets/Makefile
cut-n-paste-code/widgets/e-paned/Makefile
cut-n-paste-code/widgets/nautilusclist/Makefile
cut-n-paste-code/widgets/gimphwrapbox/Makefile
librsvg/Makefile
libnautilus/Makefile
libnautilus-adapter/Makefile
libnautilus-extensions/Makefile
nautilus-installer/Makefile
nautilus-installer/package-list.xml
nautilus-installer/libtrilobite/Makefile
nautilus-installer/install-lib/Makefile
nautilus-installer/src/Makefile
src/Makefile
src/file-manager/Makefile
components/Makefile
components/adapter/Makefile
components/hardware/Makefile
components/hardware/icons/Makefile
components/history/Makefile
components/help/Makefile
components/help/converters/Makefile
components/help/converters/gnome-db2html2/Makefile
components/help/converters/gnome-info2html2/Makefile
components/help/converters/gnome-man2html2/Makefile
components/image-viewer/Makefile
components/music/Makefile
components/notes/Makefile
components/rpmview/Makefile
components/sample/Makefile
components/mozilla/Makefile
components/services/Makefile
components/services/trilobite/Makefile
components/services/trilobite/idl/Makefile
components/services/trilobite/libtrilobite/Makefile
components/services/trilobite/libtrilobite/makefile.staticlib
components/services/trilobite/sample/Makefile
components/services/trilobite/sample/idl/Makefile
components/services/trilobite/sample/lib/Makefile
components/services/trilobite/sample/service/Makefile
components/services/trilobite/sample/command-line/Makefile
components/services/trilobite/sample/nautilus-view/Makefile
components/services/trilobite/sample/nautilus-view/icons/Makefile
components/services/trilobite/helper/Makefile
components/services/nautilus-dependent-shared/Makefile
components/services/nautilus-dependent-shared/icons/Makefile
components/services/install/Makefile
components/services/install/lib/Makefile
components/services/install/lib/makefile.staticlib
components/services/install/idl/Makefile
components/services/install/server/Makefile
components/services/install/command-line/Makefile
components/services/inventory/Makefile
components/services/install-view/Makefile
components/services/inventory-view/Makefile
components/services/login/Makefile
components/services/login/nautilus-view/Makefile
components/services/summary/Makefile
components/services/summary/icons/Makefile
components/text/Makefile
components/text/services/Makefile
components/throbber/Makefile
components/loser/Makefile
components/loser/content/Makefile
components/loser/sidebar/Makefile
components/tree/Makefile
po/Makefile.in
intl/Makefile
test/Makefile
user-guide/Makefile
user-guide/gnufdl/Makefile
user-guide/gnugpl/Makefile
help/Makefile
help/nautilus-user-manual/Makefile
help/nautilus-user-manual/C/Makefile
help/nautilus-user-manual/es/Makefile
help/nautilus-user-manual/ko/Makefile
help/nautilus-quick-reference/Makefile
help/nautilus-quick-reference/C/Makefile
help/nautilus-quick-reference/no/Makefile
help/nautilus-quick-reference/es/Makefile
help/nautilus-quick-reference/sv/Makefile
help/nautilus-release-notes/Makefile
help/nautilus-release-notes/C/Makefile
applets/Makefile
applets/launcher/Makefile
applets/preferences-applet/Makefile
omf-install/Makefile
])
dnl <= Configuration summary =>
echo "<= Nautilus configuration summary :"
dnl <= Rpm-view integrated? =>
case x$build_rpmview in
xyes)
echo "
RPMview component : YES ($rpmversion)"
;;
*)
echo "
RPMview component : NO"
;;
esac
dnl <= Mozilla component integrated? =>
case $found_mozilla in
t*)
echo "
Mozilla component : YES
mozilla libraries : $_mozilla_lib_place
mozilla includes : $_mozilla_include_place
MOZILLA_MILESTONE : $MOZILLA_MILESTONE
MOZILLA_PROFILES_CFLAGS : $MOZILLA_PROFILES_CFLAGS
MOZILLA_COMPONENT_RPATH_FLAGS : $MOZILLA_COMPONENT_RPATH_FLAGS
MOZILLA_COMPONENT_DEBUG_FLAGS : $MOZILLA_COMPONENT_DEBUG_FLAGS"
;;
*)
echo "
Mozilla component : NO"
;;
esac
dnl <= Do we want Eazel Services =>
case "X$EAZEL_SERVICES_ENABLED" in
Xyes)
echo "
Eazel Services : YES"
;;
*)
echo "
Eazel Services : NO"
;;
esac
echo "=>"
dnl <= Profile support? =>
case "X$ENABLE_PROFILER" in
X1)
echo "
Enable profiler : YES"
;;
*)
echo "
Enable profiler : NO"
;;
esac
dnl <= FreeType2 =>
echo "
FREETYPE2_CFLAGS : $FREETYPE2_CFLAGS
FREETYPE2_LIBS : $FREETYPE2_LIBS
"
dnl <= CFLAGS and LDFLAGS =>
echo "
CFLAGS : $CFLAGS
LDFLAGS : $LDFLAGS"
echo
dnl <= Snapshot things =>
echo "
EAZEL_BUILD_TIMESTAMP : $EAZEL_BUILD_TIMESTAMP"
echo
echo "
HAVE_APPLETS : $HAVE_APPLETS"
echo
dnl <= End of configuration summary =>