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 AC_ARG_ENABLE(more-warnings, [--enable-more-warnings Maximum compiler warnings], set_more_warnings="$enableval", set_more_warnings=yes) # Arg is enabled if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then echo "enable compile warnings = $set_more_warnings" CFLAGS="$CFLAGS \ -Wall -Wno-uninitialized \ -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ -Wnested-externs -Wpointer-arith \ -Wno-sign-compare -Wsign-promo" fi if test "$GCC" = "yes"; then WERROR="-Werror" fi AC_SUBST(WERROR) dnl ORBit AM_PATH_ORBIT 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_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_cflags -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" AC_SUBST(MOZILLA_COMPONENT_CFLAGS) AC_SUBST(MOZILLA_COMPONENT_LDFLAGS) AC_SUBST(MOZILLA_COMPONENT_LIBS) else AC_MSG_RESULT(no) found_mozilla=false fi AM_CONDITIONAL(BUILD_MOZILLA_COMPONENT, test "x$found_mozilla" = "xtrue") 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_GNOME(1.0.0,,AC_MSG_ERROR([*** GNOME 1.0.0 or better is required.]), gnomecanvaspixbuf bonobo 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(VFS_CFLAGS) AC_SUBST(VFS_LIBS) 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:]]].//g'` -ge 4 ; then AC_MSG_RESULT([yeah, we are very up-to-date]) GTKHTML_LIBS=`gnome-config --libs gtkhtml` GTKHTML_CFLAGS=`gnome-config --cflags gtkhtml` else AC_MSG_ERROR([Your GtkHTML is not up-to-date enough for nautilus!]) 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 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 gl ja ko no ru sv tr" 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_OUTPUT([ nautilus.spec Makefile icons/Makefile icons/arlo/Makefile icons/eazel/Makefile icons/vector/Makefile data/Makefile data/top/Makefile data/backgrounds/Makefile data/emblems/Makefile data/linksets/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/widgets/nautilus-druid/Makefile librsvg/Makefile libnautilus/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/services/Makefile components/services/trilobite/Makefile components/services/trilobite/idl/Makefile components/services/trilobite/libtrilobite/Makefile 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/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/services/startup/Makefile components/services/startup/lib/Makefile components/services/startup/command-line/Makefile components/services/startup/nautilus-view/Makefile components/services/startup/nautilus-view/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/install/nautilus-view/Makefile components/services/login/Makefile components/services/login/idl/Makefile components/services/login/lib/Makefile components/services/login/service/Makefile components/services/login/nautilus-view/Makefile components/services/login/nautilus-view/icons/Makefile components/services/summary/Makefile components/services/summary/idl/Makefile components/services/summary/lib/Makefile components/services/summary/service/Makefile components/services/summary/nautilus-view/Makefile components/services/summary/nautilus-view/icons/Makefile components/services/inventory/Makefile components/services/inventory/idl/Makefile components/services/inventory/lib/Makefile components/services/inventory/service/Makefile components/services/inventory/nautilus-view/Makefile components/services/inventory/nautilus-view/icons/Makefile components/services/vault/Makefile components/services/vault/idl/Makefile components/services/vault/lib/Makefile components/services/vault/service/Makefile components/services/vault/command-line/Makefile components/services/vault/nautilus-view/Makefile components/services/vault/nautilus-view/icons/Makefile components/loser/Makefile components/loser/content/Makefile components/loser/sidebar/Makefile components/tree/Makefile helper-utilities/Makefile helper-utilities/authenticate/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" ;; *) 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 echo "=>" dnl <= End of configuration summary =>