dnl Process this file with autoconf to produce a configure script.
AC_REVISION([$Id: configure.in,v 1.19 2000/05/25 20:23:28 kettenis Exp $])
AC_PREREQ(2.12)			dnl Minimum Autoconf version required.
AC_INIT(hurd/hurd_types.h)	dnl A distinctive file to look for in srcdir.

AC_PREFIX_DEFAULT()		dnl Default to empty prefix, not /usr/local.

AC_CANONICAL_HOST
case "$host_os" in
gnu*) ;;
none) AC_MSG_ERROR([
*** You must specify a host of $host_cpu-gnu or $host_cpu-$host_vendor-gnu
*** to configure; you will need to use the same host specification
*** to configure other packages for the GNU/Hurd system.]) ;;
*) AC_MSG_ERROR([this is the gnu os, host cannot be $host_os
*** Host configuration must be \`MACHINE-gnu' or \`MACHINE-VENDOR-gnu'.
*** To cross-compile, you must specify both --host and --build;
*** for example \`--build=$host --host=$host_cpu-gnu'.
*** Run $0 --help for more information.]) ;;
esac

case "$host_cpu" in
i?86) asm_syntax=i386 ;;
*) AC_MSG_ERROR([unsupported CPU type]) ;;
esac
AC_SUBST(asm_syntax)

AC_ARG_ENABLE(profile,
[  --disable-profile	  do not build profiled libraries and programs])
AC_SUBST(enable_profile)

define([default_static],['ext2fs,ufs'])dnl
AC_ARG_ENABLE(static-progs,
[  --enable-static-progs=PROGRAMS...
                          build statically-linked PROGRAM.static versions
                          of (only) the listed programs ]dnl
changequote(',')[default_static]changequote([,]))
case "$enable_static_progs" in
'no')	enable_static_progs= ;;		# we got --disable-static
'')	enable_static_progs=default_static ;;
esac
# Convert comma/space-separated list into space-separated list.
enable_static_progs=`echo "$enable_static_progs" | sed 's/[[, ]][[, ]]*/ /g'`
AC_SUBST(enable_static_progs)

AC_PROG_INSTALL
AC_PROG_AWK

AC_CHECK_TOOL(CC, gcc)
# That check handles cross-compilation well, but AC_PROG_CC tests for GCC
# and sets default CFLAGS nicely for us, so do that too.
hurd_PROG_CC
# Require GCC.
if test x$GCC != xyes; then
  AC_MSG_ERROR([this code uses GNU C extensions, you must compile with GCC])
fi

AC_CHECK_TOOL(LD, ld)
AC_CHECK_TOOL(OBJCOPY, objcopy)
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(RANLIB, ranlib)
AC_CHECK_TOOL(MIG, mig)

dnl Let these propagate from the environment.
AC_SUBST(CFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(LDFLAGS)

# See if there's a separate libcrypt (many systems put crypt there).
AC_CHECK_LIB(crypt, crypt, LIBCRYPT=-lcrypt)
AC_SUBST(LIBCRYPT)

# See if --version-script is available.
AC_CACHE_CHECK(for ld --version-script, hurd_cv_ld_version_script_option, [dnl
cat > conftest.c <<\EOF
void foobar() {}
EOF
cat > conftest.map <<\EOF
VERS_1 {
	global: sym;
};

VERS_2 {
        global: sym;
} VERS_1;
EOF

if AC_TRY_COMMAND([eval $ac_compile 1>&AC_FD_CC]) &&
   AC_TRY_COMMAND([${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
				    -nostartfiles -nostdlib
				    -Wl,--version-script,conftest.map
		   1>&AC_FD_CC]); then
  hurd_cv_ld_version_script_option=yes
else
  hurd_cv_ld_version_script_option=no
fi
rm -f conftest*])

# See if libc was built with --enable-libio.
AC_CACHE_CHECK([for libio],
  hurd_cv_libio,
  AC_TRY_COMPILE([#include <stdio.h>
#ifndef _STDIO_USES_IOSTREAM
# error No libio found.
#endif],,
    hurd_cv_libio=yes,
    hurd_cv_libio=no))

# The versions of the symbols in libthreads have to match those in
# libc.so.  Since the symbols in a libc that includes libio will be
# versioned differently from the ones in a libc that uses stdio, this
# isn't easy to accomplish.  Instead we leave things unversioned if
# libio isn't found.
if test $hurd_cv_libio = yes; then
  VERSIONING=$hurd_cv_ld_version_script_option
else
  VERSIONING=no
fi
AC_SUBST(VERSIONING)


if test -f ./$ac_unique_file; then
  # Configuring in source directory; don't create any Makefiles.
  makefiles=
else
  # We are configuring in a separate build tree.
  # Create a Makefile in the top-level build directory and
  # one for each subdirectory Makefile in the source.
  makefiles="Makeconf:build.mkcf.in \
	     `cd $srcdir; for file in Makefile */Makefile; do \
			    echo ${file}:build.mk.in; done`"
fi

AC_OUTPUT(config.make ${makefiles})

dnl Local Variables:
dnl comment-start: "dnl "
dnl comment-end: ""
dnl comment-start-skip: "\\bdnl\\b\\s *"
dnl compile-command: "autoconf"
dnl End:
