dnl Process this file with autoconf to produce a configure script. AC_REVISION([$Id: configure.in,v 1.27 2002/01/02 02:07:37 roland 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 ;; powerpc) asm_syntax=ppc ;; *) asm_syntax="$host_cpu" ;; esac AC_SUBST(asm_syntax) test -r "$srcdir/libthreads/$asm_syntax/cthreads.h" || { AC_MSG_WARN([unsupported CPU type $host_cpu]) } 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 mig groks `retcode'. AC_CACHE_CHECK(whether $MIG supports the retcode keyword, hurd_cv_mig_retcode, [cat > conftest.defs <<\EOF #include #include subsystem foobar 1000; type reply_port_t = polymorphic | MACH_MSG_TYPE_PORT_SEND_ONCE ctype: mach_port_t; simpleroutine foobar_reply ( reply_port: reply_port_t; err: kern_return_t, RetCode); EOF if AC_TRY_COMMAND([CC="${CC}" ${MIG-false} -n conftest.defs 1>&AC_FD_CC]); then hurd_cv_mig_retcode=yes else hurd_cv_mig_retcode=no fi rm -f conftest*]) if test $hurd_cv_mig_retcode = yes; then AC_DEFINE(HAVE_MIG_RETCODE) fi # 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 #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) # Check if libc contains getgrouplist(). AC_CHECK_FUNCS(getgrouplist) AC_ARG_WITH(parted, dnl [ --without-parted don't try to use GNU Parted libraries], , with_parted=yes) # Check if we have the necessary stuff to build against GNU Parted libraries. parted=$with_parted save_LIBS= LIBS= test $parted = no || { AC_CHECK_HEADER(parted/parted.h, [AC_DEFINE(HAVE_PARTED_PARTED_H)], parted=no) } test $parted = no || { AC_CHECK_LIB(uuid, uuid_generate, , parted=no) } test $parted = no || { AC_CHECK_LIB(parted, ped_device_read, , parted=no) } PARTED_LIBS=$LIBS LIBS=$save_LIBS AC_SUBST(PARTED_LIBS) 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: