AC_INIT(src) if test -n "$GNOME2_PATH"; then PATH="$GNOME2_PATH/bin:$PATH" export PATH fi AM_INIT_AUTOMAKE(nautilus, 0.1.0) AM_CONFIG_HEADER(config.h) AM_MAINTAINER_MODE AM_DISABLE_STATIC AM_PROG_LIBTOOL AM_SANITY_CHECK AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET AC_ISC_POSIX dnl ORBit AM_PATH_ORBIT dnl Check for "RedHat-style" font setup AM_CONDITIONAL(TYPE1_FONT_DIR_EXISTS, test -d /usr/share/fonts/default/Type1) dnl Check for different mount systems AC_CHECK_FUNCS(setmntent endmntent setenv unsetenv putenv) AC_CHECK_HEADERS(sys/mnttab.h sys/vfstab.h) dnl Tree view build as executable TREE_VIEW_EXE_SERVER=0 AC_ARG_ENABLE(tree-view-exe-server, [ --enable-tree-view-exe-server Build tree as executable component instead of shlib], TREE_VIEW_EXE_SERVER="$enableval", TREE_VIEW_EXE_SERVER=0) AM_CONDITIONAL(TREE_VIEW_EXE_SERVER, test "x$TREE_VIEW_EXE_SERVER" = "x1") dnl EAZEL_SERVICES= AC_ARG_ENABLE(eazel-services, [ --enable-eazel-services Eazel services], EAZEL_SERVICES=1 AC_DEFINE(EAZEL_SERVICES)) AC_SUBST(EAZEL_SERVICES) AM_CONDITIONAL(EAZEL_SERVICES, test "x$EAZEL_SERVICES" = "x1") dnl ==================================== dnl = dnl = authenticate helper dnl = 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 = 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 ==================================== BUILD_MOZILLA_COMPONENT= MOZILLA_COMPONENT_CFLAGS= MOZILLA_COMPONENT_LDFLAGS= MOZILLA_COMPONENT_LIBS= MOZILLA_EAZEL_PROTOCOL_HANDLER_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_cflags -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_cflags -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_cflags -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_PROG_CXX AC_MSG_RESULT(yes) found_mozilla=true MOZILLA_COMPONENT_CFLAGS=-I$_mozilla_include_place 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" MOZILLA_PROTOCOL_HANDLER_LIBS="$_mozilla_xpcom_libs \ $_mozilla_nspr_libs \ $_mozilla_plc_libs \ $_mozilla_plds_libs" AC_SUBST(MOZILLA_COMPONENT_CFLAGS) AC_SUBST(MOZILLA_COMPONENT_LDFLAGS) AC_SUBST(MOZILLA_COMPONENT_LIBS) AC_SUBST(MOZILLA_EAZEL_PROTOCOL_HANDLER_LIBS) else AC_MSG_RESULT(no) found_mozilla=false fi AM_CONDITIONAL(BUILD_MOZILLA_COMPONENT, test "x$found_mozilla" = "xtrue") 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 if test "x$found_mozilla" = "xtrue" then grep -w net_state $_mozilla_include_place/gtkmozembed.h > /dev/null 2>&1 if test $? -eq 0 then MOZILLA_MILESTONE=17 echo "grep -w GetName $_mozilla_include_place/nsIRequest.h" > /tmp/loglog grep -w GetName $_mozilla_include_place/nsIRequest.h > /dev/null 2>&1 if test $? -eq 0 then MOZILLA_MILESTONE=18 fi else MOZILLA_MILESTONE=16 fi AC_SUBST(MOZILLA_MILESTONE) fi dnl ==================================== dnl = end mozilla hacks dnl ==================================== dnl ==================================== dnl = rpmview component support dnl ==================================== rpm_libs= 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_LIB(rpm, rpmRunTransactions,[build_rpmview=true], [build_rpmview=false],-lz $rpm_libs -ldb) LDFLAGS="$save_LDFLAGS" if test "x$build_rpmview" = "xtrue" ; then AC_DEFINE(HAVE_RPM) RPM_LIBS="-lrpm -lz $rpm_libs -ldb" fi AC_SUBST(RPM_LIBS) AM_CONDITIONAL(BUILD_RPMVIEW_COMPONENT, test "x$build_rpmview" = "xtrue") dnl ==================================== dnl = end rpmview checks dnl ==================================== dnl Checks for libraries. AM_PATH_GLIB(1.2.0,, AC_MSG_ERROR([ *** GLIB 1.2.0 or better is required. The latest version of GLIB *** is always available from ftp://ftp.gtk.org/.])) AM_PATH_GTK(1.2.0,, AC_MSG_ERROR([ *** Gtk+ 1.2.0 or better is required. The latest version of GTK *** is always available from ftp://ftp.gtk.org/.])) AM_PATH_GNOME(1.0.0,,AC_MSG_ERROR([*** GNOME 1.0.0 or better is required.]), gnomecanvaspixbuf bonobo bonobox bonobox_print vfs idl) AC_SUBST(GNOMECANVASPIXBUF_LIBS) AC_SUBST(GNOMECANVASPIXBUF_INCLUDEDIR) AC_SUBST(GNORBA_CFLAGS) AC_SUBST(GNORBA_LIBS) 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(0.3.0) dnl GnomeVFS can compile without OAF support, Nautilus depends on OAF. dnl Make USING_OAF be defined AC_DEFINE(USING_OAF) AM_PATH_GCONF(0.5.0,,,gconf-gtk) 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_LIBS=`$XML_CONFIG --libs` XML_CFLAGS=`$XML_CONFIG --cflags` AC_SUBST(XML_LIBS) AC_SUBST(XML_CFLAGS) dnl ==================================== dnl = begin gnome-http checks dnl ==================================== AC_PATH_PROG(GHTTP_CONFIG,gnome-config,no) if test x$GHTTP_CONFIG = xno; then AC_MSG_ERROR(Could not find ghttp libraries.) fi GHTTP_LIBS=`$GHTTP_CONFIG --libs ghttp` GHTTP_CFLAGS=`$GHTTP_CONFIG --cflags ghttp` AC_SUBST(GHTTP_LIBS) AC_SUBST(GHTTP_CFLAGS) dnl ==================================== dnl = end ghttp checks dnl ==================================== dnl ==================================== dnl = begin gdk-pixbuf checks dnl ==================================== AM_PATH_GDK_PIXBUF(0.7.0,, AC_MSG_ERROR([*** gdk_pixbuf 0.7.0 or better is required.])) dnl ==================================== dnl = begin gdk-pixbuf checks dnl ==================================== AC_PATH_PROG(LIBWWW_CONFIG,libwww-config,no) if test x$LIBWWW_CONFIG = xno; then AC_MSG_ERROR(Couldn't find libwww-config try http://www.w3.org/Library/Distribution.html to get a copy of libwww) fi LIBWWW_LIBS=`$LIBWWW_CONFIG --libs` LIBWWW_CFLAGS=`$LIBWWW_CONFIG --cflags` AC_SUBST(LIBWWW_LIBS) AC_SUBST(LIBWWW_CFLAGS) AC_CHECK_LIB(z, gzopen, [Z_LIBS=-lz AC_SUBST(Z_LIBS)], AC_MSG_ERROR([*** zlib is required])) dnl <= check for GtkHTML => AC_MSG_CHECKING(for GtkHTML) if gnome-config --libs gtkhtml > /dev/null 2>&1; then AC_MSG_RESULT(yes) dnl <= check for GtkHTML >= 0.4 AC_MSG_CHECKING(for GtkHTML >= 0.4) if test `gnome-config --modversion gtkhtml|sed -e 's/.*-[[[:digit:]]][[[:digit:]]]*\.\([[[:digit:]]][[[:digit:]]]*\)\(\.[[[:digit:]]][[[:digit:]]]*\)*/\1/'` -ge 4 ; then AC_MSG_RESULT([yes]) GTKHTML_LIBS=`gnome-config --libs gtkhtml` GTKHTML_CFLAGS=`gnome-config --cflags gtkhtml` else AC_MSG_ERROR([*** GtkHTML 0.4 or better is required]) fi dnl => else AC_MSG_ERROR([Not Found]) AC_MSG_ERROR([GtkHTML from the GNOME CVS is required]) fi AC_SUBST(GTKHTML_LIBS) AC_SUBST(GTKHTML_CFLAGS) dnl ======================= dnl begin tests for medusa dnl ======================= MEDUSA_CFLAGS="" MEDUSA_LIBS="" AC_MSG_CHECKING(for Medusa) if test -n `medusa-config --libs | cut -d ' ' -f1` ; then MEDUSA_CFLAGS=`medusa-config --cflags` MEDUSA_LIBS=`medusa-config --libs` AC_MSG_RESULT(yes) else MEDUSA_CFLAGS="" MEDUSA_LIBS="" AC_MSG_RESULT(no) AC_MSG_ERROR(Could not find medusa library. Please, get it from GNOME's cvs.) fi AC_SUBST(MEDUSA_CFLAGS) AC_SUBST(MEDUSA_LIBS) dnl ======================= dnl end tests for medusa dnl ======================= dnl ======================= dnl begin tests for ammonite (--enable-services only) dnl ======================= if test "x$EAZEL_SERVICES" = "x1" ; then AMMONITE_CFLAGS="" AMMONITE_LIBS="" AC_MSG_CHECKING(for Ammonite) if test -n `gnome-config --libs ammonite | cut -d ' ' -f1`; then AMMONITE_CFLAGS=`gnome-config --cflags ammonite` AMMONITE_LIBS=`gnome-config --libs ammonite` AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) AC_MSG_ERROR(Ammonite is required for Eazel Services. Please obtain it from Eazel's FTP site) fi AC_SUBST(AMMONITE_CFLAGS) AC_SUBST(AMMONITE_LIBS) fi dnl ======================= dnl end tests for ammonite dnl ======================= dnl Test for libpng 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 Checks for i18n ALL_LINGUAS="da de fr ga gl it ja ko no pt_BR ru sv 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="$CFLAGS \ -Wall \ -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ -Wnested-externs -Wpointer-arith \ -Werror" 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([], [int test;], 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 Do the timestamp dnl AC_DEFINE_UNQUOTED(NAUTILUS_TIMESTAMP,"`date`") AC_OUTPUT([ nautilus.spec Makefile icons/Makefile icons/arlo/Makefile icons/arlo/sidebar_tab_pieces/Makefile icons/arlo/backgrounds/Makefile icons/eazel/Makefile icons/throbber/Makefile icons/vector/Makefile data/Makefile data/top/Makefile data/backgrounds/Makefile data/emblems/Makefile data/linksets/Makefile data/fonts/Makefile data/fonts/urw/Makefile idl/Makefile cut-n-paste-code/Makefile cut-n-paste-code/widgets/Makefile cut-n-paste-code/widgets/e-paned/Makefile cut-n-paste-code/freetype/Makefile librsvg/Makefile libnautilus/Makefile libnautilus-adapter/Makefile libnautilus-extensions/Makefile src/Makefile src/file-manager/Makefile components/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/html/Makefile components/websearch/Makefile components/music/Makefile components/notes/Makefile components/rpmview/Makefile components/sample/Makefile components/mozilla/Makefile components/mozilla/eazel-protocol-handler/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/startup/Makefile components/services/startup/nautilus-view/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/install/nautilus-view/Makefile components/services/login/Makefile components/services/login/nautilus-view/Makefile components/services/summary/Makefile components/services/summary/lib/Makefile components/services/summary/nautilus-view/Makefile components/services/inventory/Makefile components/services/inventory/lib/Makefile components/services/inventory/nautilus-view/Makefile components/services/vault/Makefile components/services/vault/command-line/Makefile components/services/time/Makefile components/services/time/service/Makefile components/services/time/command-line/Makefile components/services/time/nautilus-view/Makefile components/services/time/idl/Makefile components/loser/Makefile components/loser/content/Makefile components/loser/sidebar/Makefile components/tree/Makefile helper-utilities/Makefile helper-utilities/authenticate/Makefile tools/Makefile tools/leak-checker/Makefile po/Makefile.in intl/Makefile test/Makefile ]) dnl <= Configuration summary => echo "<= Nautilus configuration summary :" dnl <= Rpm-view integrated? => grep -sq HAVE_RPM config.h case $? in 0) echo " RPMview component : YES" ;; *) 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" ;; *) echo " Mozilla component : NO" ;; esac dnl <= Do we want Eazel services => case "X$EAZEL_SERVICES" in X1) echo " Eazel services : YES" ;; *) echo " Eazel services : NO" ;; esac dnl <= Tree view as exe or shlib => case "X$TREE_VIEW_EXE_SERVER" in X1) echo " Tree View : Executable" ;; *) echo " Tree View : Shared Library" ;; esac echo "=>" dnl <= End of configuration summary =>