Formerly ../hurd/hurdkill.c.~5~
[kopensolaris-gnu/glibc.git] / configure.in
index 0221560..9bc21ac 100644 (file)
@@ -1,8 +1,569 @@
-foo and bar
+dnl Autoconf sets the quotes to [ and ], which hoses shell commands.
+dnl We get rid of the quotes altogether, and turn them on for AC_*.
+changequote(,)dnl
+#! /bin/sh
 
-AC_INIT(features.h)
+# Configuration script for the GNU C Library.
+dnl You can ignore the following line if you are reading this sentence.
+# DO NOT EDIT!  This script is generated from configure.in; edit that instead.
+
+# Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Library General Public License for more details.
+
+# You should have received a copy of the GNU Library General Public
+# License along with the GNU C Library; see the file COPYING.LIB.  If
+# not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+# Cambridge, MA 02139, USA.
+
+#
+#      Configure the GNU C Library.
+#
+
+prog="`basename $0`"
+
+# All the standard GNU configure options are accepted but only
+# --nfp, --with-gnu-ld, and --with-gnu-as are meaningful.
+nfp=
+gnu_ld=
+gnu_as=
+prefix=
+exec_prefix=
+verbose=
+
+next=
+lose=
+for arg in $*; do
+  if [ x$next != x ]; then
+    eval "$next=\$arg"
+    next=
+  else
+    case $arg in
+    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
+       srcdir=`echo $arg | sed 's/-*s[a-z]*=//'`
+       ;;
+    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
+       next=srcdir
+       ;;
+    -target | --target | --targe | --targ | --tar | --ta | --t)
+       next=target
+       ;;
+    -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+       target=`echo $arg | sed 's/-*t[a-z]*=//'`
+       ;; 
+
+    -with-gnu-ld | --with-gnu-ld | --with-gnu-l)
+       gnu_ld=--with-gnu-ld
+       ;;
+
+    -gas | --gas | --ga | --g | -with-gnu-as | --with-gnu-as | -with-gnu-a)
+       gnu_as=--with-gnu-as
+       ;;
+
+    -nfp | --nfp | --nf | --n)
+       nfp=--nfp
+       ;;
+
+    -with-* | --with-*)
+      # For `--with-foo=bar', do "with_foo='bar'".
+      # For `--with-fnord', do "with_fnord=yes".
+      # These variables may be examined by sysdep configure fragments.
+      eval `echo "$arg" | sed '{s/^-*//;s/-/_/g
+s/^\([^=]*\)=\(.*\)$/\1='\''\2'\''/;s/^\([^=]*\)$/\1=yes/;}'`
+      ;;
+
+    -x | --x)
+      ;; # ignored
+
+    # For backward compatibility, also recognize exact --exec_prefix.
+    -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*)
+       exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'`
+       ;;
+    -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
+       next=exec_prefix
+       ;;
+
+    -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+       prefix=`echo $arg | sed 's/[-a-z_]*=//'`
+       ;;
+    -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+       next=prefix
+       ;;
+
+    -v | -verbose | --verbose | --verbos | --verbo | --verb | --ver | --ve | --v)
+      # Autoconf-generated code below will test this.
+      verbose=yes
+      ;;
+
+    -*)
+       echo "Invalid option \`$arg'" 1>&2
+       lose=yes
+       ;;
+    *)
+       if [ ! "$target" ]; then
+        target=$arg
+       else
+        lose=yes
+       fi
+       ;;
+    esac
+  fi
+done
+
+# NEXT will be set iff we have seen an option that wants an arg, but no arg.
+if [ "$next" ]; then
+  echo "$0: the \`--${next}' option requires an argument" >&2
+  lose=yes
+fi
+
+dnl This deals with setting srcdir if it needs to be set.
+changequote([,])
+AC_PREPARE(features.h)
+AC_LANG_C
+changequote(,)
+
+# Decanonicalize srcdir so we can tell when we are configuring in srcdir.
+if [ "`(cd ${srcdir}; pwd)`" = "`pwd`" ]; then
+  srcdir=.
+fi
+
+if [ ! "$target" ]; then
+  target=`$srcdir/config.guess`
+  test -n "$target" && echo "No target given; guessing target is ${target}."
+fi
+
+if [ "$lose" = yes -o ! "$target" ]; then
+  echo "\
+Usage: $prog [--srcdir=DIR] [--prefix=DIR] [--exec-prefix=DIR]
+            [--nfp] [--with-gnu-ld] [--with-gnu-as] TARGET" >&2
+  if [ -r config.status ]; then
+    cat config.status >&2
+  fi
+  exit 1
+fi
+
+# Done parsing the arguments.
+
+# This will get text that should go into config.make.
+config_vars=
+
+# Check for a --with-gmp argument and set gmp-srcdir in config.make.
+case "$with_gmp" in
+yes) echo "$prog: --with-gmp requires an argument; use --with-gmp=DIRECTORY"
+     exit 1 ;;
+'') ;;
+*) config_vars="$config_vars
+gmp-srcdir = $with_gmp" ;;
+esac
+
+# Canonicalize the configuration name.
+config=`$srcdir/config.sub $target`
+if [ ! "$config" ]; then
+  # config.sub has written an error message.
+  exit 1
+fi
+
+sysdep_dir=$srcdir/sysdeps
+
+# machine-vendor-os
+eval "`echo $config | \
+       sed 's/^\(.*\)-\(.*\)-\(.*\)$/\
+config_machine=\1 config_vendor=\2 config_os=\3/'`"
+
+# We keep the original values in `$config_*' and never modify them, so we
+# can write them unchanged into config.make.  Everything else uses
+# $machine, $vendor, and $os, and changes them whenever convenient.
+machine=$config_machine
+vendor=$config_vendor
+os=$config_os
+
+# Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
+os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
+
+case "$machine" in
+i[34]86)
+  machine=i386/$machine ;;
+sparc[6789])
+  machine=sparc/$machine ;;
+m68k)
+  machine=m68k/m68020 ;;
+m680?0)
+  machine=m68k/$machine ;;
+m88k)
+  machine=m88k/m88100 ;;
+m88???)
+  machine=m88k/$machine ;;
+mips|r2000)
+  machine=mips/r3000 ;;
+r[34]000)
+  machine=mips/$machine ;;
+esac
+
+case "$os" in
+gnu*)
+  base_os=mach/hurd ;;
+netbsd* | 386bsd*)
+  base_os=unix/bsd/bsd4.4 ;;
+osf1* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
+  base_os=unix/bsd ;;
+linux* | sysv* | isc* | esix* | sco* | minix* | irix4*)
+  base_os=unix/sysv ;;
+solaris[2-9]*)
+  base_os=unix/sysv/sysv4 ;;
+esac
+
+case "$os:$base_os" in
+gnu* | linux* | bsd4.4* | *:bsd4.4)
+  gnu_ld=--with-gnu-ld
+  gnu_as=--with-gnu-as
+esac
+
+# For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
+tail=$os
+ostry=$os
+while o=`echo $tail | sed 's/\.[^.]*$//'`; [ $o != $tail ]; do
+  ostry="$ostry /$o"
+  tail=$o
+done  
+o=`echo $tail | sed 's/[0-9]*$//'`
+if [ $o != $tail ]; then
+  ostry="$ostry /$o"
+fi
+
+# For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
+base=
+tail=$base_os
+while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; [ "$b" ]; do
+  set $b
+  base="$base /$1"
+  tail="$2"
+done
+
+# For sparc/sparc9, try sparc/sparc9 and then sparc.
+mach=
+tail=$machine
+while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; [ "$m" ]; do
+  set $m
+  mach="$mach /$1"
+  tail="$2"
+done
+
+# Find what sysdep directories exist.
+sysnames=
+for b in $base ''; do
+  for v in /$vendor ''; do
+    for o in /$ostry ''; do
+      for m in $mach ''; do
+        if [ -d $sysdep_dir$b$v$o$m ]; then
+          sysnames="$sysnames $b$v$o$m"
+         [ "$o" -o "$b" ] && os_used=t
+         [ "$m" ] && machine_used=t
+       fi
+      done
+    done
+  done
+done
+
+if [ ! "$os_used" -a "$os" != none ]; then
+  echo Operating system $os is not supported. >&2
+  exit 1
+fi
+if [ ! "$machine_used" -a "$machine" != none ]; then
+  echo The $machine is not supported. >&2
+  exit 1
+fi
+
+# We have now validated the configuration.
+
+PWD=`pwd`
+echo Configuring the GNU C library in $PWD
+echo on `(hostname || uname -n) 2>/dev/null | sed 1q` for ${config}.
+
+# Remove the leading slashes.
+sysnames="`echo $sysnames | sed -e 's@^/@@' -e 's@ /@ @g'`"
+
+# Prepend the machine's FPU directory unless --nfp.
+if [ ! "$nfp" -a -d $sysdep_dir/$machine/fpu ]; then
+  sysnames="${machine}/fpu $sysnames"
+fi
+
+# Expand the list of system names into a full list of directories
+# from each element's parent name and Implies file (if present).
+set $sysnames
+while [ $# -gt 0 ]; do
+  name=$1
+  shift
+
+  if [ -f $sysdep_dir/$name/Implies ]; then
+    # Collect more names from the `Implies' file (removing comments).
+    implied="`sed 's/#.*$//' < $sysdep_dir/$name/Implies`"
+    for x in $implied; do
+      test -d $sysdep_dir/$x || echo "Warning: $name implies nonexistent $x">&2
+    done
+  else
+    implied=
+  fi
+
+  # Add NAME to the list of names.
+  names="$names $name"
+
+  # Find the parent of NAME, using the empty string if it has none.
+  parent="`echo $name | sed -n -e '/\//!q' -e 's=/[^/]*$==p'`"
+
+  # Add the names implied by NAME, and NAME's parent (if it has one), to
+  # the list of names to be processed (the argument list).  We prepend the
+  # implied names to the list and append the parent.  We want implied
+  # directories to come before further directories inferred from the
+  # configuration components; this ensures that for sysv4, unix/common
+  # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
+  # after sysv4).
+  sysnames="`echo $implied $* $parent`"
+  if [ "$sysnames" != "" ]; then
+    set $sysnames
+  fi
+done
+
+# Add the default directories.
+names="$names generic stub"
+
+# Now uniquize the list.
+seen=
+sysnames=
+for name in $names; do
+  if echo "$seen" | fgrep -x $name >/dev/null; then
+    # Already in the list.
+    true;
+  else
+    # A new one.
+    if [ "$seen" = "" ]; then
+      seen="$name" sysnames="$name"
+    else
+      seen="$seen
+$name"
+      sysnames="$sysnames $name"
+    fi
+  fi
+done
+
+echo Using system-dependent files from directories:
+for dir in $sysnames; do echo "        $dir"; done
+
+changequote([,])dnl The world is now safe for m4, and unsafe for shell.
+dnl Be sure to add each macro used here to aclocal.m4 (which see).
+
+dnl Without this hack, AC_PROG_INSTALL will expand ${srcdir} in the name.
+define([AC_PROG_INSTALL_INSTALL_SH], ['$(..)install.sh -c'])
 AC_PROG_INSTALL
 AC_PROG_RANLIB
-AC_HAVE_FUNCS(sys_siglist _sys_siglist _ctype_ __ctype_ __ctype)
 
-bar and baz
+AC_PROG_CC
+AC_PROG_CPP
+
+echo checking for signed size_t type
+echo '#include <stddef.h>
+FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
+eval "$CPP conftest.c 2>/dev/null" \
+| grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null \
+|| {
+  dnl Do this by hand instead of AC_DEFINE so we can use -U to avoid warnings.
+  DEFS="$DEFS -U__SIZE_TYPE__ -D__SIZE_TYPE__=unsigned"
+  (echo '#undef __SIZE_TYPE__';
+   echo '#define __SIZE_TYPE__ unsigned') >> confdefs.h
+  test -n "$verbose" && echo ' using unsigned int for size_t'
+}
+rm -f conftest*
+
+AC_COMPILE_CHECK([libc-friendly stddef.h],
+[#define __need_size_t
+#define __need_wchar_t
+#include <stddef.h>
+#define __need_NULL
+#include <stddef.h>], [size_t size; wchar_t wchar;
+#ifdef offsetof
+#error stddef.h ignored __need_*
+#endif
+if (&size == NULL || &wchar == NULL) abort ();],
+[config_vars="$config_vars
+stddef.h = # The installed <stddef.h> seems to be libc-friendly."
+test -n "$verbose" && echo '   installed stddef.h looks friendly'])
+
+changequote(,)dnl The world is again safe for shell scripts.
+
+echo 'checking for need to use -P to assemble .S files'
+cat > conftest.S <<EOF
+#include "confdefs.h"
+/* Nothing whatsoever.  */
+EOF
+${CC-cc} $CFLAGS -c conftest.S 2>/dev/null || {
+  config_vars="$config_vars
+asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
+  test -n "$verbose" && echo ' using -P flag'
+}
+rm -f conftest*
+
+# Iterate over all the sysdep directories we will use, running their
+# configure fragments, and looking for a uname implementation.
+uname=
+for dir in $sysnames; do
+  if test -r $sysdep_dir/$dir/configure; then
+    echo running configure fragment for $dir
+    . $sysdep_dir/$dir/configure
+  fi
+  test ! "$uname" && \
+  test -r $sysdep_dir/$dir/uname.c -o -r $sysdep_dir/$dir/uname.S && uname=$dir
+done
+
+# If we will use the generic uname implementation, we must figure out what
+# it will say by examining the system, and write the results in config-name.h.
+if [ "$uname" = generic ]; then
+
+  echo trying to guess OS release and version for uname
+
+  kernel_release=
+  kernel_version=
+
+  if [ ! "$release" -o ! "$version" ]; then
+    if [ -r /vmunix ]; then
+      kernel_id=`strings /vmunix | grep UNIX`
+    elif [ -r /dynix ]; then
+      kernel_id=`strings /dynix | grep DYNIX`
+    else
+      kernel_id=
+    fi
+    if [ "$kernel_id" ]; then
+      kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
+      kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
+    fi
+  fi
+
+  sysname=`echo $os | sed 's/[0-9.]*$//'`
+  if [ $sysname != $os ]; then
+    config_release=`echo $os | sed s/$sysname//`
+  fi
+
+  if [ "$release" ]; then
+    # All is well.
+    true
+  elif [ x`echo "$config_release" | sed "s/^$kernel_release//"` \
+        != x$config_release ]; then
+    # The configuration release is a substring of the kernel release.
+    release=$kernel_release
+  elif [ x$config_release != x ]; then
+    release=$config_release
+  elif [ x$kernel_release != x ]; then
+    release=$kernel_release
+  else
+    cat <<END
+I don't know what release of $sysname you are using.  Please enter the
+release number now.  This information is used only for the \`uname' function,
+so it is not critical.
+END
+    read release
+    if [ ! "$release" ]; then
+      release=unknown
+    fi
+  fi
+
+  if [ "$version" ]; then
+    # All is well.
+    true
+  elif [ ! "$kernel_version" ]; then
+    cat <<END
+I don't know what version of $sysname $release you are using.  Please enter
+the version number now.  This information is used only for the uname
+function, so it is not critical.
+END
+    read version
+    if [ ! "$version" ]; then
+      version=unknown
+    fi
+  else
+    version=$kernel_version
+  fi
+
+  cat > config-name.h <<END
+/* This file was generated automatically by configure.  Do not edit.
+   This is used by the generic uname function.  */
+#define UNAME_SYSNAME "${sysname}"
+#define UNAME_RELEASE "${release}"
+#define UNAME_VERSION "${version}"
+#define UNAME_MACHINE "${config_machine}-${config_vendor}"
+END
+
+  system_name="$sysname $release version $version on $vendor $machine"
+else
+  # Not generic uname.  We don't need config-name.h at all.
+  system_name=$config
+fi
+
+if [ "$gnu_ld" ]; then
+  DEFS="$DEFS -DHAVE_GNU_LD"
+fi
+if [ "$gnu_as" ]; then
+  DEFS="$DEFS -DHAVE_GNU_AS"
+fi
+
+(
+  echo '# This file was generated automatically by configure.  Do not edit.'
+  echo '# Put configuration parameters in configparms instead.'
+  echo "config-machine = ${config_machine}"
+  echo "config-vendor = ${config_vendor}"
+  echo "config-os = ${config_os}"
+  echo "config-sysdirs = ${sysnames}"
+  if [ "$prefix" ]; then
+    echo "prefix = ${prefix}"
+  fi
+  if [ "$exec_prefix" ]; then
+    echo "exec_prefix = ${exec_prefix}"
+  fi
+  echo "config-defines = ${DEFS}"
+  for var in INSTALL INSTALL_PROGRAM INSTALL_DATA RANLIB; do
+    eval "echo \"${var} = \${$var}\""
+  done
+  echo "$config_vars"
+) > config.make
+echo "Wrote config.make in $PWD."
+
+if [ $srcdir != . ]; then
+  if [ $srcdir = .. ]; then
+    cwd=`pwd`
+    objdir=`basename $cwd`
+  else
+    objdir=`pwd`
+  fi
+  cat > Makefile <<END
+# This file was generated automatically by configure.  Do not edit.
+srcdir = $srcdir
+
+all .DEFAULT:
+       \$(MAKE) -C \$(srcdir) objdir=\`pwd\` \$@
+END
+
+echo "Wrote Makefile in $PWD."
+fi
+
+cat > config.status <<END
+#!/bin/sh
+# This file was generated automatically by configure.  Do not edit.
+# The GNU C library was configured in $PWD for
+# $system_name as follows:
+release=$release version=$version $0 $configure_args \$*
+END
+chmod a+x config.status
+echo "Wrote config.status in $PWD."
+
+exit 0
+dnl This gets rid of the random stuff autoconf has stuffed in weird places.
+divert(-1)dnl AC_This is here so I can search for `AC_' to find the frobs.
+dnl Local Variables:
+dnl compile-command: "autoconf"
+dnl End: