nautilus/configure.in
Maciej Stachowiak e017d70143 Don't call oaf_plugin_unuse for now, it kills stuff.
* components/tree/libmain.c (tree_shlib_object_destroyed): Don't
	call oaf_plugin_unuse for now, it kills stuff.

	* components/tree/nautilus-tree-model.c:
	(nautilus_tree_model_destroy,
	nautilus_tree_model_for_each_postorder): Bug fixes to avoid crashing.

	* components/tree/nautilus-tree-view.c: (insert_hack_node,
	remove_hack_node, freeze_if_have_hack_node): Assorted fixes to
	avoid crashing or locking up when in-process.

	* configure.in: Fix configure text for in-proc tree view.
2000-09-01 20:58:33 +00:00

607 lines
16 KiB
Text

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 Tree view build as executable
TREE_VIEW_EXE_SERVER=1
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=1)
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_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"
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")
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
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_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)
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.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 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 -Wno-uninitialized \
-Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
-Wnested-externs -Wpointer-arith \
-Wno-sign-compare -Wsign-promo \
-Werror"
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
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-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/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 =>