mc/mc-aclocal.m4
2000-08-02 01:05:08 +00:00

1164 lines
33 KiB
Plaintext
Raw Blame History

dnl
dnl XView & SlingShot library checking
dnl (c) 1995 Jakub Jelinek
dnl
dnl Set xview_includes, xview_libraries, and no_xview (initially yes).
dnl Also sets xview_no_private_headers to yes if there are no xview_private
dnl headers in the system.
AC_DEFUN(AC_PATH_XVIEW,
[
no_xview=yes
AC_ARG_WITH(xview, [--with-xview Use the XView toolkit],no_xview=)
AC_ARG_WITH(xview-includes, [--with-xview-includes=path Specifies XView includes directory],
[
if test x$withval = xyes; then
AC_MSG_WARN(Usage is: --with-xview-includes=path)
xview_includes=NONE
no_xview=
else
xview_includes=$withval
fi
],
[
xview_includes=NONE
])dnl
AC_ARG_WITH(xview-libraries, [--with-xview-libraries=path Specifies XView libraries directory],
[
if test x$withval = xyes; then
AC_MSG_WARN(Usage is: --with-xview-libraries=path)
xview_libraries=NONE
no_xview=
else
xview_libraries=$withval
fi
],
[
xview_libraries=NONE
])dnl
if test "$no_xview" != yes; then
if test "$no_x" = yes; then
no_xview=yes
fi
fi
if test "$no_xview" != yes; then
AC_MSG_CHECKING(for XView)
if test x$xview_libraries = xNONE; then
if test x$xview_includes = xNONE; then
AC_CACHE_VAL(ac_cv_path_xview,
[
no_xview=yes
AC_PATH_XVIEW_XMKMF
if test "x$no_xview" = xyes; then
AC_PATH_XVIEW_DIRECT
fi
if test "x$no_xview" = xyes; then
ac_cv_path_xview="no_xview=yes"
else
ac_cv_path_xview="no_xview= ac_xview_includes=$ac_xview_includes ac_xview_libraries=$ac_xview_libraries ac_xview_no_private_headers=$ac_xview_no_private_headers"
fi
])dnl
eval "$ac_cv_path_xview"
fi
fi
if test "x$no_xview" = xyes; then
AC_MSG_RESULT(no)
else
if test "x$xview_includes" = x || test "x$xview_includes" = xNONE; then
xview_includes=$ac_xview_includes
fi
if test "x$xview_libraries" = x || test "x$xview_libraries" = xNONE; then
xview_libraries=$ac_xview_libraries
fi
xview_no_private_headers=$ac_xview_no_private_headers
ac_cv_path_xview="no_xview= ac_xview_includes=$xview_includes ac_xview_libraries=$xview_libraries ac_xview_no_private_headers=$ac_xview_no_private_headers"
if test "x$xview_libraries" != x; then
ac_msg_xview="libraries $xview_libraries"
else
ac_msg_xview=""
fi
if test "x$xview_includes" != x; then
if test "x$ac_msg_xview" != x; then
ac_msg_xview="$ac_msg_xview, "
fi
ac_msg_xview="${ac_msg_xview}headers $xview_includes"
fi
if test "x$xview_no_private_headers" = xyes; then
if test "x$ac_msg_xview" != x; then
ac_msg_xview="$ac_msg_xview, "
fi
ac_msg_xview="${ac_msg_xview}without xview_private headers"
fi
AC_MSG_RESULT([$ac_msg_xview])
fi
fi
])
dnl Internal subroutine of AC_PATH_XVIEW
dnl Set ac_xview_includes, ac_xview_libraries, and no_xview (initially yes).
AC_DEFUN(AC_PATH_XVIEW_XMKMF,
[rm -fr conftestdir
if mkdir conftestdir; then
cd conftestdir
# Make sure to not put "make" in the Imakefile rules, since we grep it out.
cat > Imakefile <<'EOF'
#include <XView.tmpl>
acfindxv:
@echo 'ac_im_library_dest="${LIBRARY_DEST}"; ac_im_header_dest="${HEADER_DEST}"'
EOF
if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
no_xview=
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
eval `make acfindxv 2>/dev/null | grep -v make`
# Screen out bogus values from the imake configuration.
if test -f "$ac_im_header_dest/xview/xview.h"; then
ac_xview_includes="$ac_im_header_dest"
else
no_xview=yes
fi
if test -d "$ac_im_library_dest"; then
ac_xview_libraries="$ac_im_library_dest"
else
no_xview=yes
fi
fi
if test "x$no_xview" != xyes; then
if test -f "$ac_xview_includes/xview_private/draw_impl.h"; then
ac_xview_no_private_headers=
else
ac_xview_no_private_headers=yes
fi
fi
cd ..
rm -fr conftestdir
fi
])
dnl Internal subroutine of AC_PATH_XVIEW
dnl Set ac_xview_includes, ac_xview_libraries, and no_xview (initially yes).
AC_DEFUN(AC_PATH_XVIEW_DIRECT,
[test -z "$xview_direct_test_library" && xview_direct_test_library=xview
test -z "$xview_direct_test_function" && xview_direct_test_function=xv_unique_key
test -z "$xview_direct_test_include" && xview_direct_test_include=xview/xview.h
AC_TRY_CPP([#include <$xview_direct_test_include>],
[no_xview= ac_xview_includes=],
[ for ac_dir in \
$OPENWINHOME/include \
/usr/openwin/include \
/usr/openwin/share/include \
\
/usr/X11R6/include \
/usr/X11R5/include \
/usr/X11R4/include \
\
/usr/include/X11R6 \
/usr/include/X11R5 \
/usr/include/X11R4 \
\
/usr/local/X11R6/include \
/usr/local/X11R5/include \
/usr/local/X11R4/include \
\
/usr/local/include/X11R6 \
/usr/local/include/X11R5 \
/usr/local/include/X11R4 \
\
/usr/X11/include \
/usr/include/X11 \
/usr/local/X11/include \
/usr/local/include/X11 \
\
/usr/X386/include \
/usr/x386/include \
/usr/XFree86/include/X11 \
\
/usr/include \
/usr/local/include \
/usr/unsupported/include \
/usr/athena/include \
/usr/local/x11r5/include \
/usr/lpp/Xamples/include \
; \
do
if test -r "$ac_dir/$xview_direct_test_include"; then
no_xview= ac_xview_includes=$ac_dir
break
fi
done])
if test "x$no_xview" != xyes; then
if test "x$ac_xview_includes" != x; then
if test -f "$ac_xview_includes/xview_private/draw_impl.h"; then
ac_xview_no_private_headers=
else
ac_xview_no_private_headers=yes
fi
else
AC_TRY_CPP([#include <xview_private/draw_impl.h>],
[ac_xview_no_private_headers=],[ac_xview_no_private_headers=yes])
fi
fi
# Check for the libraries.
# See if we find them without any special options.
# Don't add to $LIBS permanently.
ac_save_LIBS="$LIBS"
ac_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $X_LIBS"
LIBS="-l$xview_direct_test_library -lolgx $X_EXTRA_LIBS -lX11 $X_PRE_LIBS $LIBS"
AC_TRY_LINK([#include <$xview_direct_test_include>
], [${xview_direct_test_function}()],
[LIBS="$ac_save_LIBS" LDFLAGS="$ac_save_LDFLAGS" no_xview= ac_xview_libraries=],
[LIBS="$ac_save_LIBS" LDFLAGS="$ac_save_LDFLAGS"
# First see if replacing the include by lib works.
for ac_dir in `echo "$ac_xview_includes" | sed s/include/lib/` \
$OPENWINHOME/lib \
$OPENWINHOME/share/lib \
/usr/openwin/lib \
/usr/openwin/share/lib \
\
/usr/X11R6/lib \
/usr/X11R5/lib \
/usr/X11R4/lib \
\
/usr/lib/X11R6 \
/usr/lib/X11R5 \
/usr/lib/X11R4 \
\
/usr/local/X11R6/lib \
/usr/local/X11R5/lib \
/usr/local/X11R4/lib \
\
/usr/local/lib/X11R6 \
/usr/local/lib/X11R5 \
/usr/local/lib/X11R4 \
\
/usr/X11/lib \
/usr/lib/X11 \
/usr/local/X11/lib \
/usr/local/lib/X11 \
\
/usr/X386/lib \
/usr/x386/lib \
/usr/XFree86/lib/X11 \
\
/usr/lib \
/usr/local/lib \
/usr/unsupported/lib \
/usr/athena/lib \
/usr/local/x11r5/lib \
/usr/lpp/Xamples/lib \
; \
do
for ac_extension in a so sl; do
if test -r $ac_dir/lib${xview_direct_test_library}.$ac_extension; then
no_xview= ac_xview_libraries=$ac_dir
break 2
fi
done
done])])
dnl Substitute XVIEW_LIBS and XVIEW_CFLAGS and
dnl HAVE_XVIEW, which is either yes or no.
dnl Both contain X_LIBS resp. X_CFLAGS inside
dnl Also substitutes HAVE_XVIEW_PRIVATE_HEADERS
dnl if there are xview_private headers in the system
AC_DEFUN(AC_PATH_XVIEW_XTRA,
[AC_REQUIRE([AC_PATH_XVIEW])dnl
if test "$no_xview" = yes; then
# Not all programs may use this symbol, but it does not hurt to define it.
XVIEW_CFLAGS="$X_CFGLAGS $XVIEW_CFLAGS -DXVIEW_MISSING"
else
if test -n "$xview_includes"; then
XVIEW_CFLAGS="$X_CFLAGS $XVIEW_CFGLAGS"
if test "$xview_includes" != "$x_includes"; then
XVIEW_CPPFLAGS="-I$xview_includes"
fi
fi
# It would be nice to have a more robust check for the -R ld option than
# just checking for Solaris.
# It would also be nice to do this for all -L options, not just this one.
if test -n "$xview_libraries"; then
if test "$xview_libraries" = "$x_libraries"; then
XVIEW_LIBS="$X_LIBS $XVIEW_LIBS"
else
XVIEW_LIBS="$X_LIBS $XVIEW_LIBS -L$xview_libraries"
if test "`(uname) 2>/dev/null`" = SunOS &&
uname -r | grep '^5' >/dev/null; then
XVIEW_LIBS="$XVIEW_LIBS -R$xview_libraries"
fi
fi
fi
fi
if test "x$no_xview" = xyes; then
HAVE_XVIEW=no
else
HAVE_XVIEW=yes
fi
if test "x$xview_no_private_headers" = xyes; then
HAVE_XVIEW_PRIVATE_HEADERS=no
else
HAVE_XVIEW_PRIVATE_HEADERS=yes
fi
AC_SUBST(XVIEW_CFLAGS)dnl
AC_SUBST(XVIEW_CPPFLAGS)dnl
AC_SUBST(XVIEW_LIBS)dnl
AC_SUBST(HAVE_XVIEW)dnl
AC_SUBST(HAVE_XVIEW_PRIVATE_HEADERS)dnl
])dnl
dnl Internal subroutine of AC_PATH_SLINGSHOT
AC_DEFUN(AC_PATH_SLINGSHOT_DIRECT,
[
AC_TRY_CPP([#include <sspkg/rectobj.h>],[no_ss= ac_ss_includes=],
[ for ac_dir in \
$OPENWINHOME/include \
/usr/openwin/include \
/usr/openwin/share/include \
\
/usr/X11R6/include \
/usr/X11R5/include \
/usr/X11R4/include \
\
/usr/include/X11R6 \
/usr/include/X11R5 \
/usr/include/X11R4 \
\
/usr/local/X11R6/include \
/usr/local/X11R5/include \
/usr/local/X11R4/include \
\
/usr/local/include/X11R6 \
/usr/local/include/X11R5 \
/usr/local/include/X11R4 \
\
/usr/X11/include \
/usr/include/X11 \
/usr/local/X11/include \
/usr/local/include/X11 \
\
/usr/X386/include \
/usr/x386/include \
/usr/XFree86/include/X11 \
\
/usr/include \
/usr/local/include \
/usr/unsupported/include \
/usr/athena/include \
/usr/local/x11r5/include \
/usr/lpp/Xamples/include \
; \
do
if test -r "$ac_dir/sspkg/rectobj.h"; then
no_ss= ac_ss_includes=$ac_dir
break
fi
done])
# Check for the libraries.
# See if we find them without any special options.
# Don't add to $LIBS permanently.
ac_save_LIBS="$LIBS"
ac_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $XVIEW_LIBS"
LIBS="-lsspkg -lm -lxview -lolgx $X_EXTRA_LIBS -lX11 $X_PRE_LIBS $LIBS"
AC_TRY_LINK([#include <sspkg/rectobj.h>
], [rectobj_get_selected_list()],
[LIBS="$ac_save_LIBS" LDFLAGS="$ac_save_LDFLAGS" no_ss= ac_ss_libraries=],
[LIBS="$ac_save_LIBS" LDFLAGS="$ac_save_LDFLAGS"
# First see if replacing the include by lib works.
for ac_dir in `echo "$ac_ss_includes" | sed s/include/lib/` \
$OPENWINHOME/lib \
$OPENWINHOME/share/lib \
/usr/openwin/lib \
/usr/openwin/share/lib \
\
/usr/X11R6/lib \
/usr/X11R5/lib \
/usr/X11R4/lib \
\
/usr/lib/X11R6 \
/usr/lib/X11R5 \
/usr/lib/X11R4 \
\
/usr/local/X11R6/lib \
/usr/local/X11R5/lib \
/usr/local/X11R4/lib \
\
/usr/local/lib/X11R6 \
/usr/local/lib/X11R5 \
/usr/local/lib/X11R4 \
\
/usr/X11/lib \
/usr/lib/X11 \
/usr/local/X11/lib \
/usr/local/lib/X11 \
\
/usr/X386/lib \
/usr/x386/lib \
/usr/XFree86/lib/X11 \
\
/usr/lib \
/usr/local/lib \
/usr/unsupported/lib \
/usr/athena/lib \
/usr/local/x11r5/lib \
/usr/lpp/Xamples/lib \
; \
do
for ac_extension in a so sl; do
if test -r $ac_dir/libsspkg.$ac_extension; then
no_ss= ac_ss_libraries=$ac_dir
break 2
fi
done
done])])
dnl Set ss_includes, ss_libraries, and no_ss (initially yes).
AC_DEFUN(AC_PATH_SLINGSHOT,
[AC_REQUIRE([AC_PATH_XVIEW_XTRA])dnl
AC_MSG_CHECKING(for SlingShot)
AC_ARG_WITH(ss, [--with-ss Use the SlingShot extension])
AC_ARG_WITH(ss-includes, [--with-ss-includes=path Specifies SlingShot includes directory],
[
if test x$withval = xyes; then
AC_MSG_WARN(Usage is: --with-ss-includes=path)
ss_includes=NONE
else
ss_includes=$withval
fi
],
[
ss_includes=NONE
])dnl
AC_ARG_WITH(ss-libraries, [--with-ss-libraries=path Specifies SlingShot libraries directory],
[
if test x$withval = xyes; then
AC_MSG_WARN(Usage is: --with-ss-libraries=path)
ss_libraries=NONE
else
ss_libraries=$withval
fi
],
[
ss_libraries=NONE
])dnl
if test "x$with_ss" = xno; then
no_ss=yes
else
if test "x$ss_includes" != xNONE && test "x$ss_libraries" != xNONE; then
no_ss=
else
AC_CACHE_VAL(ac_cv_path_ss,
[
no_ss=yes
AC_PATH_SLINGSHOT_DIRECT
if test "x$no_ss" = xyes; then
ac_cv_path_ss="ac_noss=yes"
else
ac_cv_path_ss="ac_ss_includes=$ac_ss_includes ac_ss_libraries=$ac_ss_libraries"
fi
])dnl
eval "$ac_cv_path_ss"
fi
fi
fi
if test "x$no_ss" = xyes; then
AC_MSG_RESULT(no)
else
if test "x$ss_includes" = x || test "x$ss_includes" = xNONE; then
ss_includes=$ac_ss_includes
fi
if test "x$ss_libraries" = x || test "x$ss_libraries" = xNONE; then
ss_libraries=$ac_ss_libraries
fi
ac_cv_path_ss="no_ss= ac_ss_includes=$ss_includes ac_ss_libraries=$ss_libraries"
if test "x$ss_libraries" = x; then
if test "x$ss_includes" = x; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT([headers $ss_includes])
fi
else
if test "x$ss_includes" = x; then
AC_MSG_RESULT([libraries $ss_libraries])
else
AC_MSG_RESULT([libraries $ss_libraries, headers $ss_includes])
fi
fi
fi
])
dnl Substitute SLINGSHOT_LIBS and SLINGSHOT_CFLAGS and
dnl HAVE_SLINGSHOT, which is either yes or no.
dnl Both contain XVIEW_LIBS resp. XVIEW_CFLAGS inside
AC_DEFUN(AC_PATH_SLINGSHOT_XTRA,
[AC_REQUIRE([AC_PATH_SLINGSHOT])dnl
if test "$no_ss" = yes; then
# Not all programs may use this symbol, but it does not hurt to define it.
SLINGSHOT_CFLAGS="$XVIEW_CFGLAGS $SLINGSHOT_CFLAGS -DSLINGSHOT_MISSING"
else
if test -n "$ss_includes"; then
SLINGSHOT_CFLAGS="$XVIEW_CFLAGS $SLINGSHOT_CFGLAGS -I$ss_includes"
fi
# It would be nice to have a more robust check for the -R ld option than
# just checking for Solaris.
# It would also be nice to do this for all -L options, not just this one.
if test -n "$ss_libraries"; then
SLINGSHOT_LIBS="$XVIEW_LIBS $SLINGSHOT_LIBS -L$ss_libraries"
if test "`(uname) 2>/dev/null`" = SunOS &&
uname -r | grep '^5' >/dev/null; then
SLINGSHOT_LIBS="$SLINGSHOT_LIBS -R$ss_libraries"
fi
fi
fi
if test "x$no_ss" = xyes; then
HAVE_SLINGSHOT=no
else
HAVE_SLINGSHOT=yes
fi
AC_SUBST(SLINGSHOT_CFLAGS)dnl
AC_SUBST(SLINGSHOT_LIBS)dnl
AC_SUBST(HAVE_SLINGSHOT)dnl
])dnl
dnl
dnl XView library checking end
dnl
dnl
dnl Check for size of d_name dirent member
dnl
AC_DEFUN(AC_SHORT_D_NAME_LEN, [
AC_MSG_CHECKING(filename fits on dirent.d_name)
AC_CACHE_VAL(ac_cv_dnamesize, [
OCFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -I$srcdir"
AC_TRY_RUN([
#include <src/fs.h>
main ()
{
struct dirent ddd;
if (sizeof (ddd.d_name) < 12)
exit (0);
else
exit (1);
}
],[
ac_cv_dnamesize="no"
], [
ac_cv_dnamesize="yes"
], [
# Cannot find out, so assume no
ac_cv_dnamesize="no"
])
CFLAGS="$OCFLAGS"
])
if test x$ac_cv_dnamesize = xno; then
AC_DEFINE(NEED_EXTRA_DIRENT_BUFFER)
fi
AC_MSG_RESULT($ac_cv_dnamesize)
])
dnl
dnl Filesystem information detection
dnl
dnl To get information about the disk, mount points, etc.
dnl
AC_DEFUN(AC_GET_FS_INFO, [
AC_CHECK_HEADERS(fcntl.h sys/dustat.h sys/param.h sys/statfs.h sys/fstyp.h)
AC_CHECK_HEADERS(mnttab.h mntent.h utime.h sys/statvfs.h sys/vfs.h)
AC_CHECK_HEADERS(sys/mount.h sys/filsys.h sys/fs_types.h)
AC_CHECK_FUNCS(getmntinfo)
dnl This configure.in code has been stolen from GNU fileutils-3.12. Its
dnl job is to detect a method to get list of mounted filesystems.
AC_MSG_CHECKING([for d_ino member in directory struct])
AC_CACHE_VAL(fu_cv_sys_d_ino_in_dirent,
[AC_TRY_LINK([
#include <sys/types.h>
#ifdef HAVE_DIRENT_H
# include <dirent.h>
#else /* not HAVE_DIRENT_H */
# define dirent direct
# ifdef HAVE_SYS_NDIR_H
# include <sys/ndir.h>
# endif /* HAVE_SYS_NDIR_H */
# ifdef HAVE_SYS_DIR_H
# include <sys/dir.h>
# endif /* HAVE_SYS_DIR_H */
# ifdef HAVE_NDIR_H
# include <ndir.h>
# endif /* HAVE_NDIR_H */
#endif /* HAVE_DIRENT_H */
],
[struct dirent dp; dp.d_ino = 0;],
fu_cv_sys_d_ino_in_dirent=yes,
fu_cv_sys_d_ino_in_dirent=no)])
AC_MSG_RESULT($fu_cv_sys_d_ino_in_dirent)
if test $fu_cv_sys_d_ino_in_dirent = yes; then
AC_DEFINE(D_INO_IN_DIRENT)
fi
# Determine how to get the list of mounted filesystems.
list_mounted_fs=
# If the getmntent function is available but not in the standard library,
# make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
AC_FUNC_GETMNTENT
if test $ac_cv_func_getmntent = yes; then
# This system has the getmntent function.
# Determine whether it's the one-argument variant or the two-argument one.
if test -z "$list_mounted_fs"; then
# SVR4
AC_MSG_CHECKING([for two-argument getmntent function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
[AC_EGREP_HEADER(getmntent, sys/mnttab.h,
fu_cv_sys_mounted_getmntent2=yes,
fu_cv_sys_mounted_getmntent2=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
if test $fu_cv_sys_mounted_getmntent2 = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTENT2)
fi
fi
if test -z "$list_mounted_fs"; then
# 4.3BSD, SunOS, HP-UX, Dynix, Irix
AC_MSG_CHECKING([for one-argument getmntent function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
[test $ac_cv_header_mntent_h = yes \
&& fu_cv_sys_mounted_getmntent1=yes \
|| fu_cv_sys_mounted_getmntent1=no])
AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
if test $fu_cv_sys_mounted_getmntent1 = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTENT1)
fi
fi
if test -z "$list_mounted_fs"; then
AC_MSG_WARN([could not determine how to read list of mounted fs])
CPPFLAGS="$CPPFLAGS -DNO_INFOMOUNT"
fi
fi
if test -z "$list_mounted_fs"; then
# DEC Alpha running OSF/1.
AC_MSG_CHECKING([for getfsstat function])
AC_CACHE_VAL(fu_cv_sys_mounted_getsstat,
[AC_TRY_LINK([
#include <sys/types.h>
#include <sys/mount.h>
#include <sys/fs_types.h>],
[struct statfs *stats;
numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); ],
fu_cv_sys_mounted_getsstat=yes,
fu_cv_sys_mounted_getsstat=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getsstat)
if test $fu_cv_sys_mounted_getsstat = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETFSSTAT)
fi
fi
if test -z "$list_mounted_fs"; then
# AIX.
AC_MSG_CHECKING([for mntctl function and struct vmount])
AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
[AC_TRY_CPP([#include <fshelp.h>],
fu_cv_sys_mounted_vmount=yes,
fu_cv_sys_mounted_vmount=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
if test $fu_cv_sys_mounted_vmount = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_VMOUNT)
fi
fi
if test -z "$list_mounted_fs"; then
# SVR3
AC_MSG_CHECKING([for existence of three headers])
AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
[AC_TRY_CPP([
#include <sys/statfs.h>
#include <sys/fstyp.h>
#include <mnttab.h>],
fu_cv_sys_mounted_fread_fstyp=yes,
fu_cv_sys_mounted_fread_fstyp=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
if test $fu_cv_sys_mounted_fread_fstyp = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_FREAD_FSTYP)
fi
fi
if test -z "$list_mounted_fs"; then
# 4.4BSD and DEC OSF/1.
AC_MSG_CHECKING([for getmntinfo function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
[
ok=
if test $ac_cv_func_getmntinfo = yes; then
AC_EGREP_HEADER(f_type;, sys/mount.h,
ok=yes)
fi
test -n "$ok" \
&& fu_cv_sys_mounted_getmntinfo=yes \
|| fu_cv_sys_mounted_getmntinfo=no
])
AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
if test $fu_cv_sys_mounted_getmntinfo = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNTINFO)
AC_MSG_CHECKING([if struct statfs has f_fstypename])
AC_CACHE_VAL(fu_cv_sys_mounted_f_fstypename,
[
AC_EGREP_HEADER(f_type;, sys/mount.h, ok=yes, ok=)
test -n "$ok" \
&& fu_cv_sys_mounted_f_fstypename=yes \
|| fu_cv_sys_mounted_f_fstypename=no
])
AC_MSG_RESULT($fu_cv_sys_mounted_f_fstypename)
if test $fu_cv_sys_mounted_f_fstypename = yes; then
AC_DEFINE(HAVE_F_FSTYPENAME)
fi
fi
fi
if test -z "$list_mounted_fs"; then
# Ultrix
AC_MSG_CHECKING([for getmnt function])
AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
[AC_TRY_CPP([
#include <sys/fs_types.h>
#include <sys/mount.h>],
fu_cv_sys_mounted_getmnt=yes,
fu_cv_sys_mounted_getmnt=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
if test $fu_cv_sys_mounted_getmnt = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_GETMNT)
fi
fi
if test -z "$list_mounted_fs"; then
# SVR2
AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
AC_CACHE_VAL(fu_cv_sys_mounted_fread,
[AC_TRY_CPP([#include <mnttab.h>],
fu_cv_sys_mounted_fread=yes,
fu_cv_sys_mounted_fread=no)])
AC_MSG_RESULT($fu_cv_sys_mounted_fread)
if test $fu_cv_sys_mounted_fread = yes; then
list_mounted_fs=found
AC_DEFINE(MOUNTED_FREAD)
fi
fi
if test -z "$list_mounted_fs"; then
AC_MSG_WARN([could not determine how to read list of mounted fs])
CPPFLAGS="$CPPFLAGS -DNO_INFOMOUNT"
# FIXME -- no need to abort building the whole package
# Can't build mountlist.c or anything that needs its functions
fi
dnl This configure.in code has been stolen from GNU fileutils-3.12. Its
dnl job is to detect a method to get file system information.
AC_CHECKING(how to get filesystem space usage)
space=no
# Here we'll compromise a little (and perform only the link test)
# since it seems there are no variants of the statvfs function.
if test $space = no; then
# SVR4
AC_CHECK_FUNCS(statvfs)
if test $ac_cv_func_statvfs = yes; then
space=yes
AC_DEFINE(STAT_STATVFS)
fi
fi
if test $space = no; then
# DEC Alpha running OSF/1
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
[AC_TRY_RUN([
#include <sys/param.h>
#include <sys/types.h>
#include <sys/mount.h>
main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
exit (statfs (".", &fsd, sizeof (struct statfs)));
}],
fu_cv_sys_stat_statfs3_osf1=yes,
fu_cv_sys_stat_statfs3_osf1=no,
fu_cv_sys_stat_statfs3_osf1=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
space=yes
AC_DEFINE(STAT_STATFS3_OSF1)
fi
fi
if test $space = no; then
# AIX
AC_MSG_CHECKING([for two-argument statfs with statfs.bsize member (AIX, 4.3BSD)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
[AC_TRY_RUN([
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
#ifdef HAVE_SYS_VFS_H
#include <sys/vfs.h>
#endif
main ()
{
struct statfs fsd;
fsd.f_bsize = 0;
exit (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_bsize=yes,
fu_cv_sys_stat_statfs2_bsize=no,
fu_cv_sys_stat_statfs2_bsize=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
space=yes
AC_DEFINE(STAT_STATFS2_BSIZE)
fi
fi
if test $space = no; then
# SVR3
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
[AC_TRY_RUN([#include <sys/types.h>
#include <sys/statfs.h>
main ()
{
struct statfs fsd;
exit (statfs (".", &fsd, sizeof fsd, 0));
}],
fu_cv_sys_stat_statfs4=yes,
fu_cv_sys_stat_statfs4=no,
fu_cv_sys_stat_statfs4=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
if test $fu_cv_sys_stat_statfs4 = yes; then
space=yes
AC_DEFINE(STAT_STATFS4)
fi
fi
if test $space = no; then
# 4.4BSD and NetBSD
AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
member (4.4BSD and NetBSD)])
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
[AC_TRY_RUN([#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
main ()
{
struct statfs fsd;
fsd.f_fsize = 0;
exit (statfs (".", &fsd));
}],
fu_cv_sys_stat_statfs2_fsize=yes,
fu_cv_sys_stat_statfs2_fsize=no,
fu_cv_sys_stat_statfs2_fsize=no)])
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
space=yes
AC_DEFINE(STAT_STATFS2_FSIZE)
fi
fi
if test $space = no; then
# Ultrix
AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
[AC_TRY_RUN([
#include <sys/types.h>
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#ifdef HAVE_SYS_MOUNT_H
#include <sys/mount.h>
#endif
#ifdef HAVE_SYS_FS_TYPES_H
#include <sys/fs_types.h>
#endif
main ()
{
struct fs_data fsd;
/* Ultrix's statfs returns 1 for success,
0 for not mounted, -1 for failure. */
exit (statfs (".", &fsd) != 1);
}],
fu_cv_sys_stat_fs_data=yes,
fu_cv_sys_stat_fs_data=no,
fu_cv_sys_stat_fs_data=no)])
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
if test $fu_cv_sys_stat_fs_data = yes; then
space=yes
AC_DEFINE(STAT_STATFS2_FS_DATA)
fi
fi
dnl Not supported
dnl if test $space = no; then
dnl # SVR2
dnl AC_TRY_CPP([#include <sys/filsys.h>],
dnl AC_DEFINE(STAT_READ_FILSYS) space=yes)
dnl fi
])
dnl AC_CHECK_HEADER_IN_PATH(HEADER-FILE, ADDITIONAL_PATH, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND])
AC_DEFUN(AC_CHECK_HEADER_IN_PATH,
[dnl Do the transliteration at runtime so arg 1 can be a shell variable.
ac_safe=`echo "$1" | tr './\055' '___'`
AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(ac_cv_header_in_path_$ac_safe,
[AC_TRY_CPP([#include <$1>], ac_header_in_path=yes, [
ac_header_in_path_found=no
for ac_header_in_path_value in [$2]; do
ac_in_path_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS -I$ac_header_in_path_value"
AC_TRY_CPP([#include <$1>], [
ac_header_in_path_found=yes
ac_header_in_path=$ac_header_in_path_value
], )
CPPFLAGS=$ac_in_path_save_CPPFLAGS
if test x$ac_header_in_path_found = xyes; then
break
fi
done
if test $ac_header_in_path_found = xno; then
ac_header_in_path=no
fi
])
eval "ac_cv_header_in_path_$ac_safe=$ac_header_in_path"
])dnl
eval "ac_header_in_path=`echo '$ac_cv_header_in_path_'$ac_safe`"
if test "$ac_header_in_path" = no; then
AC_MSG_RESULT(no)
ifelse([$4], , , [$4
])dnl
else
if test -n "$ac_header_in_path"; then
AC_MSG_RESULT($ac_header_in_path)
else
AC_MSG_RESULT(yes)
fi
if test x$ac_header_in_path = xyes; then
ac_header_in_path=
eval "ac_cv_header_in_path_$ac_safe="
fi
ifelse([$3], , , [$3
])dnl
fi
])
dnl Hope I can check for libXpm only in the X11 library directory
AC_DEFUN(AC_LIB_XPM, [
AC_MSG_CHECKING(for -lXpm)
AC_CACHE_VAL(ac_cv_has_xpm, [
ac_cv_has_xpm=no
if test x$no_x = xyes; then
:
else
has_xpm_save_LIBS=$LIBS
LIBS="-lXpm $X_EXTRA_LIBS -lX11 $X_PRE_LIBS $LIBS"
has_xpm_save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $X_LIBS"
has_xpm_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $X_CFLAGS"
AC_TRY_LINK([
#include <X11/Xlib.h>
#include <X11/xpm.h>
], [XpmLibraryVersion();], ac_cv_has_xpm=yes)
CFLAGS="$has_xpm_save_CFLAGS"
LDFLAGS="$has_xpm_save_LDFLAGS"
LIBS="$has_xpm_save_LIBS"
fi
])
AC_MSG_RESULT($ac_cv_has_xpm)
])
dnl Hope I can check for libXext only in the X11 library directory
dnl and shape.h will be in X11/extensions/shape.h
AC_DEFUN(AC_X_SHAPE_EXTENSION, [
AC_MSG_CHECKING(for X11 non-rectangular shape extension)
AC_CACHE_VAL(ac_cv_has_shape, [
ac_cv_has_shape=no
if test x$no_x = xyes; then
:
else
has_shape_save_LIBS=$LIBS
LIBS="-lXext $X_EXTRA_LIBS -lX11 $X_PRE_LIBS $LIBS"
has_shape_save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $X_LIBS"
has_shape_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $X_CFLAGS"
AC_TRY_LINK([
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/extensions/shape.h>
], [
Display *dpy = (Display *)NULL;
int a, b;
XShapeQueryVersion(dpy,&a,&b);
], ac_cv_has_shape=yes)
CFLAGS="$has_shape_save_CFLAGS"
LDFLAGS="$has_shape_save_LDFLAGS"
LIBS="$has_shape_save_LIBS"
fi
])
AC_MSG_RESULT($ac_cv_has_shape)
])
dnl AC_TRY_WARNINGS(INCLUDES, FUNCTION-BODY,
dnl ACTION-IF-NO-WARNINGS [, ACTION-IF-WARNINGS-OR-ERROR])
AC_DEFUN(AC_TRY_WARNINGS,
[cat > conftest.$ac_ext <<EOF
dnl This sometimes fails to find confdefs.h, for some reason.
dnl [#]line __oline__ "[$]0"
[#]line __oline__ "configure"
#include "confdefs.h"
[$1]
int main() { return 0; }
int t() {
[$2]
; return 0; }
EOF
ac_compile_warn='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 2>&1'
if { if eval $ac_compile_warn; then :; else echo arning; fi; } | grep arning 1>&AC_FD_CC 2>&AC_FD_CC; then
ifelse([$4], , :, [rm -rf conftest*
$4])
ifelse([$3], , , [else
rm -rf conftest*
$3
])dnl
fi
rm -f conftest*]
)
dnl Find if make is GNU make.
AC_DEFUN(AC_PROG_GNU_MAKE,
[AC_MSG_CHECKING(whether we are using GNU make)
set dummy ${MAKE-make}; ac_make=[$]2
AC_CACHE_VAL(ac_cv_prog_gnu_make,
[cat > conftestmake <<\EOF
all:
@echo ' '
EOF
if ${MAKE-make} --version -f conftestmake 2>/dev/null | grep GNU >/dev/null 2>&1; then
ac_cv_prog_gnu_make=yes
else
ac_cv_prog_gnu_make=no
fi
rm -f conftestmake])dnl
if test $ac_cv_prog_gnu_make = yes; then
AC_MSG_RESULT(yes)
GNU_MAKE="GNU_MAKE=yes"
else
AC_MSG_RESULT(no)
GNU_MAKE=
fi
AC_SUBST([GNU_MAKE])dnl
])
dnl
dnl Local additions to Autoconf macros.
dnl Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
dnl Fran<61>ois Pinard <pinard@iro.umontreal.ca>, 1992.
dnl ## ----------------------------------------- ##
dnl ## ANSIfy the C compiler whenever possible. ##
dnl ## ----------------------------------------- ##
dnl @defmac AC_PROG_CC_STDC
dnl @maindex PROG_CC_STDC
dnl @ovindex CC
dnl If the C compiler in not in ANSI C mode by default, try to add an option
dnl to output variable @code{CC} to make it so. This macro tries various
dnl options that select ANSI C on some system or another. It considers the
dnl compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and
dnl handles function prototypes correctly.
dnl
dnl If you use this macro, you should check after calling it whether the C
dnl compiler has been set to accept ANSI C; if not, the shell variable
dnl @code{ac_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
dnl code in ANSI C, you can make an un-ANSIfied copy of it by using the
dnl program @code{ansi2knr}, which comes with Ghostscript.
dnl @end defmac
dnl Unixware 2.1 defines __STDC__ to 1 only when some useful extensions are
dnl turned off. They are on by default and turned off with the option -Xc.
dnl The consequence is that __STDC__ is defined but e.g. struct sigaction
dnl is not defined. -- Norbert
dnl Below all tests but the one for HP-UX are removed. They caused more
dnl problems than they soved, sigh. -- Norbert
AC_DEFUN(MC_HPUX_PROG_CC_STDC,
[AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
AC_CACHE_VAL(ac_cv_prog_cc_stdc,
[ac_cv_prog_cc_stdc=no
ac_save_CFLAGS="$CFLAGS"
dnl Don't try gcc -ansi; that turns off useful extensions and
dnl breaks some systems' header files.
dnl AIX -qlanglvl=ansi (removed -- Norbert)
dnl Ultrix and OSF/1 -std1 (removed -- Norbert)
dnl HP-UX -Aa -D_HPUX_SOURCE
dnl SVR4 -Xc (removed -- Norbert)
for ac_arg in "" "-Aa -D_HPUX_SOURCE"
do
CFLAGS="$ac_save_CFLAGS $ac_arg"
AC_TRY_COMPILE(
[#include <signal.h>
#if !defined(__STDC__) || __STDC__ != 1
choke me
#endif
], [int test (int i, double x);
struct sigaction sa;
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};],
[ac_cv_prog_cc_stdc="$ac_arg"; break])
done
CFLAGS="$ac_save_CFLAGS"
])
AC_MSG_RESULT($ac_cv_prog_cc_stdc)
case "x$ac_cv_prog_cc_stdc" in
x|xno) ;;
*) CC="$CC $ac_cv_prog_cc_stdc" ;;
esac
])