Blame aclocal.m4

Packit Service 82fcde
dnl We require that everyone use exactly the same Autoconf version so that
Packit Service 82fcde
dnl the internal functions defined and used by the main configure script
Packit Service 82fcde
dnl match those expected by the fragments.  When changing this version,
Packit Service 82fcde
dnl install.texi also needs to be updated.
Packit Service 82fcde
m4_define([GLIBC_AUTOCONF_VERSION], [2.69])
Packit Service 82fcde
m4_if(m4_defn([AC_AUTOCONF_VERSION]), GLIBC_AUTOCONF_VERSION, [],
Packit Service 82fcde
      [m4_fatal(m4_flatten(
Packit Service 82fcde
Exactly version GLIBC_AUTOCONF_VERSION of Autoconf is required but you have
Packit Service 82fcde
m4_defn([AC_AUTOCONF_VERSION])
Packit Service 82fcde
), [63])])dnl
Packit Service 82fcde
dnl
Packit Service 82fcde
dnl We define the macro GLIBC_PROVIDES to do an AC_PROVIDE for each macro
Packit Service 82fcde
dnl which appears in configure.ac before the sysdep configure scripts are run.
Packit Service 82fcde
dnl Each sysdep configure.ac does GLIBC_PROVIDES first, to avoid any
Packit Service 82fcde
dnl AC_REQUIREs or AC_BEFOREs duplicating their code.
Packit Service 82fcde
dnl
Packit Service 82fcde
define([GLIBC_PROVIDES], [dnl
Packit Service 82fcde
AC_PROVIDE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
Packit Service 82fcde
AC_PROVIDE([AC_CONFIG_SUBDIRS])dnl
Packit Service 82fcde
AC_PROVIDE([_AS_ECHO_N_PREPARE])dnl
Packit Service 82fcde
AC_PROVIDE([_AS_ECHO_PREPARE])dnl
Packit Service 82fcde
AC_PROVIDE([_AS_CR_PREPARE])dnl
Packit Service 82fcde
AC_PROVIDE([_AS_TR_SH_PREPARE])dnl
Packit Service 82fcde
AC_PROVIDE([_AS_VAR_ARITH_PREPARE])dnl
Packit Service 82fcde
AC_PROVIDE([AC_PROG_INSTALL])dnl
Packit Service 82fcde
AC_PROVIDE([AC_PROG_CC])dnl
Packit Service 82fcde
AC_PROVIDE([AC_PROG_CPP])dnl
Packit Service 82fcde
AC_PROVIDE([_AS_PATH_SEPARATOR_PREPARE])dnl
Packit Service 82fcde
AC_PROVIDE([_AS_TEST_PREPARE])dnl
Packit Service 82fcde
AC_PROVIDE([_AS_BASENAME_PREPARE])dnl
Packit Service 82fcde
AC_PROVIDE([_AS_ME_PREPARE])dnl
Packit Service 82fcde
AC_PROVIDE([_AS_LINENO_PREPARE])dnl
Packit Service 82fcde
AC_PROVIDE([AS_SHELL_FN_as_fn_set_status])dnl
Packit Service 82fcde
AC_PROVIDE([AS_SHELL_FN_as_fn_exit])dnl
Packit Service 82fcde
AC_PROVIDE([AS_SHELL_FN_as_fn_arith])dnl
Packit Service 82fcde
AC_PROVIDE([AS_SHELL_FN_ac_fn_c_try_compile])dnl
Packit Service 82fcde
define([AS_MESSAGE_LOG_FD],5)dnl
Packit Service 82fcde
define([AS_MESSAGE_FD],6)dnl
Packit Service 82fcde
dnl Ripped out of AS_INIT, which does more cruft we do not want.
Packit Service 82fcde
m4_wrap([m4_divert_pop([BODY])[]])
Packit Service 82fcde
m4_divert_push([BODY])[]dnl
Packit Service 82fcde
dnl End of ripped out of AS_INIT.
Packit Service 82fcde
# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
Packit Service 82fcde
define([_AC_LANG], [C])dnl
Packit Service 82fcde
])dnl
Packit Service 82fcde
dnl
Packit Service 82fcde
dnl Check for a symbol
Packit Service 82fcde
dnl
Packit Service 82fcde
AC_DEFUN([AC_CHECK_SYMBOL], [dnl
Packit Service 82fcde
AC_MSG_CHECKING(for $1)
Packit Service 82fcde
AC_CACHE_VAL(ac_cv_check_symbol_$1, [dnl
Packit Service 82fcde
AC_TRY_LINK(,
Packit Service 82fcde
changequote(,)dnl
Packit Service 82fcde
extern char *$1[]; puts(*$1);,
Packit Service 82fcde
changequote([,])dnl
Packit Service 82fcde
	    ac_cv_check_symbol_$1=yes, ac_cv_check_symbol_$1=no)])
Packit Service 82fcde
if test "$ac_cv_check_symbol_$1" = yes; then
Packit Service 82fcde
changequote(,)dnl
Packit Service 82fcde
  ac_tr_symbol=`echo $1 | tr '[a-z]' '[A-Z]'`
Packit Service 82fcde
changequote([,])dnl
Packit Service 82fcde
  AC_DEFINE_UNQUOTED(HAVE_${ac_tr_symbol})
Packit Service 82fcde
fi
Packit Service 82fcde
AC_MSG_RESULT($ac_cv_check_symbol_$1)])dnl
Packit Service 82fcde
dnl
Packit Service 82fcde
Packit Service 82fcde
dnl Locate a program and check that its version is acceptable.
Packit Service 82fcde
dnl AC_PROG_CHECK_VER(var, namelist, version-switch,
Packit Service 82fcde
dnl 		      [version-extract-regexp], version-glob [, do-if-fail])
Packit Service 82fcde
AC_DEFUN([AC_CHECK_PROG_VER],
Packit Service 82fcde
[AC_CHECK_PROGS([$1], [$2])
Packit Service 82fcde
if test -z "[$]$1"; then
Packit Service 82fcde
  ac_verc_fail=yes
Packit Service 82fcde
else
Packit Service 82fcde
  # Found it, now check the version.
Packit Service 82fcde
  AC_MSG_CHECKING([version of [$]$1])
Packit Service 82fcde
changequote(<<,>>)dnl
Packit Service 82fcde
  ac_prog_version=`<<$>>$1 $3 2>&1 ifelse(<<$4>>,,,
Packit Service 82fcde
		   <<| sed -n 's/^.*patsubst(<<$4>>,/,\/).*$/\1/p'>>)`
Packit Service 82fcde
  case $ac_prog_version in
Packit Service 82fcde
    '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
Packit Service 82fcde
    <<$5>>)
Packit Service 82fcde
changequote([,])dnl
Packit Service 82fcde
       ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
Packit Service 82fcde
    *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
Packit Service 82fcde
Packit Service 82fcde
  esac
Packit Service 82fcde
  AC_MSG_RESULT([$ac_prog_version])
Packit Service 82fcde
fi
Packit Service 82fcde
ifelse([$6],,,
Packit Service 82fcde
[if test $ac_verc_fail = yes; then
Packit Service 82fcde
  $6
Packit Service 82fcde
fi])
Packit Service 82fcde
])
Packit Service 82fcde
Packit Service 82fcde
dnl These modifications are to allow for an empty cross compiler tree.
Packit Service 82fcde
define([_AC_COMPILER_EXEEXT], [EXEEXT=
Packit Service 82fcde
])
Packit Service 82fcde
Packit Service 82fcde
AC_DEFUN([LIBC_PROG_FOO_GNU],
Packit Service 82fcde
[# Most GNU programs take a -v and spit out some text including
Packit Service 82fcde
# the word 'GNU'.  Some try to read stdin, so give them /dev/null.
Packit Service 82fcde
if $1 -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then
Packit Service 82fcde
  $2
Packit Service 82fcde
else
Packit Service 82fcde
  $3
Packit Service 82fcde
fi
Packit Service 82fcde
rm -fr contest*])
Packit Service 82fcde
Packit Service 82fcde
AC_DEFUN([LIBC_PROG_BINUTILS],
Packit Service 82fcde
[# Was a --with-binutils option given?
Packit Service 82fcde
if test -n "$path_binutils"; then
Packit Service 82fcde
    # Make absolute; ensure a single trailing slash.
Packit Service 82fcde
    path_binutils=`(cd $path_binutils; pwd) | sed 's%/*$%/%'`
Packit Service 82fcde
    CC="$CC -B$path_binutils"
Packit Service 82fcde
fi
Packit Service 82fcde
AS=`$CC -print-prog-name=as`
Packit Service 82fcde
LD=`$CC -print-prog-name=ld`
Packit Service 82fcde
AR=`$CC -print-prog-name=ar`
Packit Service 82fcde
AC_SUBST(AR)
Packit Service 82fcde
OBJDUMP=`$CC -print-prog-name=objdump`
Packit Service 82fcde
AC_SUBST(OBJDUMP)
Packit Service 82fcde
OBJCOPY=`$CC -print-prog-name=objcopy`
Packit Service 82fcde
AC_SUBST(OBJCOPY)
Packit Service 82fcde
GPROF=`$CC -print-prog-name=gprof`
Packit Service 82fcde
AC_SUBST(GPROF)
Packit Service 82fcde
Packit Service 82fcde
# Determine whether we are using GNU binutils.
Packit Service 82fcde
AC_CACHE_CHECK(whether $AS is GNU as, libc_cv_prog_as_gnu,
Packit Service 82fcde
[LIBC_PROG_FOO_GNU($AS, libc_cv_prog_as_gnu=yes, libc_cv_prog_as_gnu=no)])
Packit Service 82fcde
rm -f a.out
Packit Service 82fcde
gnu_as=$libc_cv_prog_as_gnu
Packit Service 82fcde
Packit Service 82fcde
AC_CACHE_CHECK(whether $LD is GNU ld, libc_cv_prog_ld_gnu,
Packit Service 82fcde
[LIBC_PROG_FOO_GNU($LD, libc_cv_prog_ld_gnu=yes, libc_cv_prog_ld_gnu=no)])
Packit Service 82fcde
gnu_ld=$libc_cv_prog_ld_gnu
Packit Service 82fcde
])
Packit Service 82fcde
Packit Service 82fcde
dnl Run a static link test with -nostdlib -nostartfiles.
Packit Service 82fcde
dnl LIBC_TRY_LINK_STATIC([code], [action-if-true], [action-if-false])
Packit Service 82fcde
AC_DEFUN([LIBC_TRY_LINK_STATIC],
Packit Service 82fcde
[cat > conftest.c <
Packit Service 82fcde
int _start (void) { return 0; }
Packit Service 82fcde
int __start (void) { return 0; }
Packit Service 82fcde
$1
Packit Service 82fcde
EOF
Packit Service 82fcde
AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -o conftest
Packit Service 82fcde
		       conftest.c -static -nostartfiles -nostdlib
Packit Service 82fcde
		       1>&AS_MESSAGE_LOG_FD])],
Packit Service 82fcde
      [$2], [$3])
Packit Service 82fcde
rm -f conftest*])
Packit Service 82fcde
Packit Service 82fcde
dnl Test a compiler option or options with an empty input file.
Packit Service 82fcde
dnl LIBC_TRY_CC_OPTION([options], [action-if-true], [action-if-false])
Packit Service 82fcde
AC_DEFUN([LIBC_TRY_CC_OPTION],
Packit Service 82fcde
[AS_IF([AC_TRY_COMMAND([${CC-cc} $1 -xc /dev/null -S -o /dev/null])],
Packit Service 82fcde
	[$2], [$3])])
Packit Service 82fcde
Packit Service 82fcde
dnl Find and source sysdeps/*/preconfigure.
Packit Service 82fcde
dnl LIBC_PRECONFIGURE([$srcdir], [for])
Packit Service 82fcde
AC_DEFUN([LIBC_PRECONFIGURE], [dnl
Packit Service 82fcde
if frags=`ls -d $1/sysdeps/*/preconfigure 2> /dev/null`
Packit Service 82fcde
then
Packit Service 82fcde
  AC_MSG_CHECKING($2 preconfigure fragments)
Packit Service 82fcde
  for frag in $frags; do
Packit Service 82fcde
    name=`echo "$frag" | sed 's@/[[^/]]*[$]@@;s@^.*/@@'`
Packit Service 82fcde
    echo $ECHO_N "$name $ECHO_C" >&AS_MESSAGE_FD
Packit Service 82fcde
    . "$frag"
Packit Service 82fcde
  done
Packit Service 82fcde
  AC_MSG_RESULT()
Packit Service 82fcde
fi])
Packit Service 82fcde
Packit Service 82fcde
# These two macros are taken from GCC's config/acx.m4.
Packit Service 82fcde
dnl Support the --with-pkgversion configure option.
Packit Service 82fcde
dnl ACX_PKGVERSION(default-pkgversion)
Packit Service 82fcde
AC_DEFUN([ACX_PKGVERSION],[
Packit Service 82fcde
  AC_ARG_WITH(pkgversion,
Packit Service 82fcde
    AS_HELP_STRING([--with-pkgversion=PKG],
Packit Service 82fcde
                   [Use PKG in the version string in place of "$1"]),
Packit Service 82fcde
    [case "$withval" in
Packit Service 82fcde
      yes) AC_MSG_ERROR([package version not specified]) ;;
Packit Service 82fcde
      no)  PKGVERSION= ;;
Packit Service 82fcde
      *)   PKGVERSION="($withval) " ;;
Packit Service 82fcde
     esac],
Packit Service 82fcde
    PKGVERSION="($1) "
Packit Service 82fcde
  )
Packit Service 82fcde
  PKGVERSION_TEXI=`echo "$PKGVERSION" | sed 's/@/@@/g'`
Packit Service 82fcde
  AC_SUBST(PKGVERSION)
Packit Service 82fcde
  AC_SUBST(PKGVERSION_TEXI)
Packit Service 82fcde
])
Packit Service 82fcde
Packit Service 82fcde
dnl Support the --with-bugurl configure option.
Packit Service 82fcde
dnl ACX_BUGURL(default-bugurl)
Packit Service 82fcde
AC_DEFUN([ACX_BUGURL],[
Packit Service 82fcde
  AC_ARG_WITH(bugurl,
Packit Service 82fcde
    AS_HELP_STRING([--with-bugurl=URL],
Packit Service 82fcde
                   [Direct users to URL to report a bug]),
Packit Service 82fcde
    [case "$withval" in
Packit Service 82fcde
      yes) AC_MSG_ERROR([bug URL not specified]) ;;
Packit Service 82fcde
      no)  BUGURL=
Packit Service 82fcde
	   ;;
Packit Service 82fcde
      *)   BUGURL="$withval"
Packit Service 82fcde
	   ;;
Packit Service 82fcde
     esac],
Packit Service 82fcde
     BUGURL="$1"
Packit Service 82fcde
  )
Packit Service 82fcde
  case ${BUGURL} in
Packit Service 82fcde
  "")
Packit Service 82fcde
    REPORT_BUGS_TO=
Packit Service 82fcde
    REPORT_BUGS_TEXI=
Packit Service 82fcde
    ;;
Packit Service 82fcde
  *)
Packit Service 82fcde
    REPORT_BUGS_TO="<$BUGURL>"
Packit Service 82fcde
    REPORT_BUGS_TEXI=@uref{`echo "$BUGURL" | sed 's/@/@@/g'`}
Packit Service 82fcde
    ;;
Packit Service 82fcde
  esac;
Packit Service 82fcde
  AC_SUBST(REPORT_BUGS_TO)
Packit Service 82fcde
  AC_SUBST(REPORT_BUGS_TEXI)
Packit Service 82fcde
])
Packit Service 82fcde
Packit Service 82fcde
dnl Check linker option support.
Packit Service 82fcde
dnl LIBC_LINKER_FEATURE([ld_option], [cc_option], [action-if-true], [action-if-false])
Packit Service 82fcde
AC_DEFUN([LIBC_LINKER_FEATURE],
Packit Service 82fcde
[AC_MSG_CHECKING([for linker that supports $1])
Packit Service 82fcde
libc_linker_feature=no
Packit Service 82fcde
if test x"$gnu_ld" = x"yes"; then
Packit Service 82fcde
  libc_linker_check=`$LD -v --help 2>/dev/null | grep "\$1"`
Packit Service 82fcde
  if test -n "$libc_linker_check"; then
Packit Service 82fcde
    cat > conftest.c <
Packit Service 82fcde
int _start (void) { return 42; }
Packit Service 82fcde
EOF
Packit Service 82fcde
    if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
Packit Service 82fcde
				$2 -nostdlib -nostartfiles
Packit Service 82fcde
				-fPIC -shared -o conftest.so conftest.c
Packit Service 82fcde
				1>&AS_MESSAGE_LOG_FD])
Packit Service 82fcde
    then
Packit Service 82fcde
      libc_linker_feature=yes
Packit Service 82fcde
    fi
Packit Service 82fcde
    rm -f conftest*
Packit Service 82fcde
  fi
Packit Service 82fcde
fi
Packit Service 82fcde
if test $libc_linker_feature = yes; then
Packit Service 82fcde
  $3
Packit Service 82fcde
else
Packit Service 82fcde
  $4
Packit Service 82fcde
fi
Packit Service 82fcde
AC_MSG_RESULT($libc_linker_feature)])
Packit Service 82fcde
Packit Service 82fcde
dnl Add a makefile variable, with value set from a shell string
Packit Service 82fcde
dnl (expanded by the shell inside double quotes), to config.make.
Packit Service 82fcde
dnl LIBC_CONFIG_VAR(make-variable, shell-value)
Packit Service 82fcde
AC_DEFUN([LIBC_CONFIG_VAR],
Packit Service 82fcde
[config_vars="$config_vars
Packit Service 82fcde
$1 = $2"])
Packit Service 82fcde
Packit Service 82fcde
dnl Check that function FUNC was inlined as a builtin.  The code fragment
Packit Service 82fcde
dnl CODE is compiled with additional options CC_OPTION.  If FUNC is
Packit Service 82fcde
dnl not found in the assembly then it is assumed the compiler has support
Packit Service 82fcde
dnl for this builtin and has inlined the call.  If the compiler has the
Packit Service 82fcde
dnl feature then ACTION-IF-TRUE is called, otherwise ACTION-IF-FALSE.
Packit Service 82fcde
dnl It is up to the caller to provide a CC_OPTION that ensures the
Packit Service 82fcde
dnl builtin is inlined if present.
Packit Service 82fcde
dnl Warning: This may not work for some machines. For example on ARM the
Packit Service 82fcde
dnl ABI dictates that some functions should not be inlined and instead
Packit Service 82fcde
dnl should be provided by a compiler helper library e.g. __aeabi_memcpy.
Packit Service 82fcde
dnl This is done to reduce code size.
Packit Service 82fcde
dnl LIBC_COMPILER_BUILTIN([func], [code], [cc_option], [action-if-true], [action-if-false])
Packit Service 82fcde
AC_DEFUN([LIBC_COMPILER_BUILTIN_INLINED],
Packit Service 82fcde
[AC_MSG_CHECKING([for compiler support of inlined builtin function $1])
Packit Service 82fcde
libc_compiler_builtin_inlined=no
Packit Service 82fcde
cat > conftest.c <
Packit Service 82fcde
int _start (void) { $2 return 0; }
Packit Service 82fcde
EOF
Packit Service 82fcde
if ! AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
Packit Service 82fcde
		     $3 -nostdlib -nostartfiles
Packit Service 82fcde
		     -S conftest.c -o - | fgrep "$1"
Packit Service 82fcde
		     1>&AS_MESSAGE_LOG_FD])
Packit Service 82fcde
then
Packit Service 82fcde
  libc_compiler_builtin_inlined=yes
Packit Service 82fcde
fi
Packit Service 82fcde
rm -f conftest*
Packit Service 82fcde
if test $libc_compiler_builtin_inlined = yes; then
Packit Service 82fcde
  $4
Packit Service 82fcde
else
Packit Service 82fcde
  $5
Packit Service 82fcde
fi
Packit Service 82fcde
AC_MSG_RESULT($libc_compiler_builtin_inlined)])
Packit Service 82fcde
Packit Service 82fcde
dnl Default to slibdir named SLIBDIR instead of "lib", and rtlddir
Packit Service 82fcde
dnl named RTLDDIR instead of "lib".  This is used to put 64-bit
Packit Service 82fcde
dnl libraries in /lib64.
Packit Service 82fcde
dnl LIBC_SLIBDIR_RTLDDIR([slibdir], [rtlddir])
Packit Service 82fcde
AC_DEFUN([LIBC_SLIBDIR_RTLDDIR],
Packit Service 82fcde
[test -n "$libc_cv_slibdir" ||
Packit Service 82fcde
case "$prefix" in
Packit Service 82fcde
/usr | /usr/)
Packit Service 82fcde
  libc_cv_slibdir='/$1'
Packit Service 82fcde
  libc_cv_rtlddir='/$2'
Packit Service 82fcde
  if test "$libdir" = '${exec_prefix}/lib'; then
Packit Service 82fcde
    libdir='${exec_prefix}/$1';
Packit Service 82fcde
    # Locale data can be shared between 32-bit and 64-bit libraries.
Packit Service 82fcde
    libc_cv_complocaledir='${exec_prefix}/lib/locale'
Packit Service 82fcde
  fi
Packit Service 82fcde
  ;;
Packit Service 82fcde
esac])