AC_INIT(src) dnl ========================================================================== dnl dnl If you add a version number here, you *must* add an AC_SUBST line for dnl it too, or it will never make it into the spec file! dnl dnl ========================================================================== GNOME_REQUIRED=1.2.8 GNOME_LIBS_REQUIRED=1.2.11 GTK_REQUIRED=1.2.9 GLIB_REQUIRED=1.2.9 BONOBO_REQUIRED=0.37 OAF_REQUIRED=0.6.5 GCONF_REQUIRED=0.12 GDK_PIXBUF_REQUIRED=0.10.0 CONTROL_CENTER_REQUIRED=1.3 IMLIB_REQUIRED=1.9.8 LIBXML_REQUIRED=1.8.10 ORBIT_REQUIRED=0.5.7 GNOME_VFS_REQUIRED=1.0 POPT_REQUIRED=1.5 FREETYPE_REQUIRED=2.0 MEDUSA_REQUIRED=0.5 ESOUND_REQUIRED=0.2.22 LIBGHTTP_REQUIRED=1.0.9 SCROLLKEEPER_REQUIRED=0.1.4 AMMONITE_REQUIRED=1.0.0 AC_SUBST(IMLIB_REQUIRED) AC_SUBST(LIBXML_REQUIRED) AC_SUBST(ORBIT_REQUIRED) AC_SUBST(GNOME_VFS_REQUIRED) AC_SUBST(POPT_REQUIRED) AC_SUBST(FREETYPE_REQUIRED) AC_SUBST(MEDUSA_REQUIRED) AC_SUBST(ESOUND_REQUIRED) AC_SUBST(LIBGHTTP_REQUIRED) AC_SUBST(SCROLLKEEPER_REQUIRED) 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, 1.0) 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 ==================================== 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)) AC_CHECK_FILES( /proc/1, AC_DEFINE(HAVE_PROC_PROCESS_FILES)) 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 = Bzip2 dnl ==================================== BZ_LIBS= AC_CHECK_LIB(bz2, bzread, [AC_DEFINE(HAVE_LIBBZ2) BZ_LIBS="-lbz2"]) dnl <= Check for bzip2 > 1.0.0 AC_CHECK_LIB(bz2, BZ2_bzread, [AC_DEFINE(HAVE_LIBBZ2) BZ_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_SUBST(BZ_LIBS) dnl ==================================== dnl = rpmview component support dnl ==================================== if test "x$EAZEL_SERVICES_ENABLED" = "xyes" ; then rpm_libs=$BZ_LIBS rpm_xlibs= have_rpm=no 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 control center EAZEL_VERSION_INSIST(control-center, gnomecc --version | awk '{print $3}', >=, CONTROL_CENTER_REQUIRED) 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) dnl Bug 7315: Rediscover CFLAGS for GTK, because gnome-config won't know dnl all the necessary flags if GTK has been upgraded more recently than dnl it has. AC_PATH_PROG(GTK_CONFIG,gtk-config,false) AC_MSG_CHECKING(for gtk-config cflags) GTK_CFLAGS=`$GTK_CONFIG --cflags` AC_MSG_RESULT($GTK_CFLAGS) GNOMEUI_CFLAGS="$GNOMEUI_CFLAGS $GTK_CFLAGS" AC_SUBST(GNOMEUI_CFLAGS) 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 eazel-logos check dnl ==================================== if test -d eazel-logos then HAVE_EAZEL_LOGOS=yes EAZEL_LOGOS_PNG='%{prefix}/share/pixmaps/nautilus/eazel-logos/*.png' EAZEL_LOGOS_XML='%{prefix}/share/pixmaps/nautilus/eazel-logos/*.xml' EAZEL_LOGOS_LICENSE='%{prefix}/share/pixmaps/nautilus/eazel-logos/LICENSE' EAZEL_LOGOS_THROB='%{prefix}/share/pixmaps/nautilus/eazel-logos/throbber/*.png' fi AM_CONDITIONAL(HAVE_EAZEL_LOGOS, test "x$HAVE_EAZEL_LOGOS" = "xyes") AC_SUBST(EAZEL_LOGOS_PNG) AC_SUBST(EAZEL_LOGOS_XML) AC_SUBST(EAZEL_LOGOS_LICENSE) AC_SUBST(EAZEL_LOGOS_THROB) dnl ==================================== dnl = end eazel-logos check dnl ==================================== dnl ==================================== dnl = begin gdk-pixbuf checks dnl ==================================== AM_PATH_GDK_PIXBUF($GDK_PIXBUF_REQUIRED,, AC_MSG_ERROR([*** gdk_pixbuf $GDK_PIXBUF_REQUIRED or better is required.])) AC_SUBST(GDK_PIXBUF_REQUIRED) dnl ==================================== dnl = end 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 EAZEL_VERSION_INSIST(ammonite, $GNOME_CONFIG --modversion ammonite | awk -F- '{print $2}', >=, AMMONITE_REQUIRED) AMMONITE_CFLAGS=`$GNOME_CONFIG --cflags ammonite` AMMONITE_LIBS=`$GNOME_CONFIG --libs ammonite` AC_SUBST(AMMONITE_CFLAGS) AC_SUBST(AMMONITE_LIBS) 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_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 AC_C_BIGENDIAN 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 -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 message (used in the Nautilus about box) dnl CVSVERSION overrides dnl NAUTILUS_BUILD_MESSAGE="" AC_ARG_WITH(build-message, [ --with-build-message=MESSAGE Build (about box) message], NAUTILUS_BUILD_MESSAGE=$withval) if test -n "$is_cvs_version" then NAUTILUS_BUILD_MESSAGE="Development Build" fi AC_DEFINE_UNQUOTED(NAUTILUS_BUILD_MESSAGE, "$NAUTILUS_BUILD_MESSAGE") 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/crux_eggplant/throbber/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 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 " NAUTILUS_BUILD_MESSAGE : $NAUTILUS_BUILD_MESSAGE" echo echo " HAVE_APPLETS : $HAVE_APPLETS" echo dnl <= End of configuration summary =>