X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=aclocal.m4;h=08fa1ac6d05323fd0bac1f0d8820ba78ba6cf9a0;hb=6e8ba7fd574f530afb9681f21604475d5756d773;hp=042a7e3c38c0ef9184e27e3ac31ac123e1259c39;hpb=bef0b507497a019ae2a3f56b625e106d2b433629;p=thirdparty%2Fglibc.git diff --git a/aclocal.m4 b/aclocal.m4 index 042a7e3c38c..08fa1ac6d05 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,7 +1,8 @@ dnl We require that everyone use exactly the same Autoconf version so that dnl the internal functions defined and used by the main configure script -dnl match those expected by the fragments. -m4_define([GLIBC_AUTOCONF_VERSION], [2.68]) +dnl match those expected by the fragments. When changing this version, +dnl install.texi also needs to be updated. +m4_define([GLIBC_AUTOCONF_VERSION], [2.69]) m4_if(m4_defn([AC_AUTOCONF_VERSION]), GLIBC_AUTOCONF_VERSION, [], [m4_fatal(m4_flatten( Exactly version GLIBC_AUTOCONF_VERSION of Autoconf is required but you have @@ -9,8 +10,8 @@ m4_defn([AC_AUTOCONF_VERSION]) ), [63])])dnl dnl dnl We define the macro GLIBC_PROVIDES to do an AC_PROVIDE for each macro -dnl which appears in configure.in before the sysdep configure scripts are run. -dnl Each sysdep configure.in does GLIBC_PROVIDES first, to avoid any +dnl which appears in configure.ac before the sysdep configure scripts are run. +dnl Each sysdep configure.ac does GLIBC_PROVIDES first, to avoid any dnl AC_REQUIREs or AC_BEFOREs duplicating their code. dnl define([GLIBC_PROVIDES], [dnl @@ -39,7 +40,7 @@ dnl Ripped out of AS_INIT, which does more cruft we do not want. m4_wrap([m4_divert_pop([BODY])[]]) m4_divert_push([BODY])[]dnl dnl End of ripped out of AS_INIT. -# This file is generated from configure.in by Autoconf. DO NOT EDIT! +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! define([_AC_LANG], [C])dnl ])dnl dnl @@ -120,6 +121,8 @@ OBJDUMP=`$CC -print-prog-name=objdump` AC_SUBST(OBJDUMP) OBJCOPY=`$CC -print-prog-name=objcopy` AC_SUBST(OBJCOPY) +GPROF=`$CC -print-prog-name=gprof` +AC_SUBST(GPROF) # Determine whether we are using GNU binutils. AC_CACHE_CHECK(whether $AS is GNU as, libc_cv_prog_as_gnu, @@ -140,7 +143,7 @@ int _start (void) { return 0; } int __start (void) { return 0; } $1 EOF -AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest +AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp -o conftest conftest.c -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])], [$2], [$3]) @@ -225,7 +228,7 @@ if test x"$gnu_ld" = x"yes"; then cat > conftest.c <&AS_MESSAGE_LOG_FD]) @@ -248,3 +251,54 @@ dnl LIBC_CONFIG_VAR(make-variable, shell-value) AC_DEFUN([LIBC_CONFIG_VAR], [config_vars="$config_vars $1 = $2"]) + +dnl Check that function FUNC was inlined as a builtin. The code fragment +dnl CODE is compiled with additional options CC_OPTION. If FUNC is +dnl not found in the assembly then it is assumed the compiler has support +dnl for this builtin and has inlined the call. If the compiler has the +dnl feature then ACTION-IF-TRUE is called, otherwise ACTION-IF-FALSE. +dnl It is up to the caller to provide a CC_OPTION that ensures the +dnl builtin is inlined if present. +dnl Warning: This may not work for some machines. For example on ARM the +dnl ABI dictates that some functions should not be inlined and instead +dnl should be provided by a compiler helper library e.g. __aeabi_memcpy. +dnl This is done to reduce code size. +dnl LIBC_COMPILER_BUILTIN([func], [code], [cc_option], [action-if-true], [action-if-false]) +AC_DEFUN([LIBC_COMPILER_BUILTIN_INLINED], +[AC_MSG_CHECKING([for compiler support of inlined builtin function $1]) +libc_compiler_builtin_inlined=no +cat > conftest.c <&AS_MESSAGE_LOG_FD]) +then + libc_compiler_builtin_inlined=yes +fi +rm -f conftest* +if test $libc_compiler_builtin_inlined = yes; then + $4 +else + $5 +fi +AC_MSG_RESULT($libc_compiler_builtin_inlined)]) + +dnl Default to slibdir named SLIBDIR instead of "lib", and rtlddir +dnl named RTLDDIR instead of "lib". This is used to put 64-bit +dnl libraries in /lib64. +dnl LIBC_SLIBDIR_RTLDDIR([slibdir], [rtlddir]) +AC_DEFUN([LIBC_SLIBDIR_RTLDDIR], +[test -n "$libc_cv_slibdir" || +case "$prefix" in +/usr | /usr/) + libc_cv_slibdir='/$1' + libc_cv_rtlddir='/$2' + if test "$libdir" = '${exec_prefix}/lib'; then + libdir='${exec_prefix}/$1'; + # Locale data can be shared between 32-bit and 64-bit libraries. + libc_cv_complocaledir='${exec_prefix}/lib/locale' + fi + ;; +esac])