Sync libiberty sources with gcc master versions.
[deliverable/binutils-gdb.git] / libiberty / aclocal.m4
index c5628352773e78e48710751e8d9f4b2eec91b12f..bf8a907100f9d2107df899e538e6a47f6fcd3058 100644 (file)
@@ -1,3 +1,9 @@
+sinclude(../config/acx.m4)
+sinclude(../config/no-executables.m4)
+sinclude(../config/override.m4)
+sinclude(../config/picflag.m4)
+sinclude(../config/warnings.m4)
+
 dnl See whether strncmp reads past the end of its string parameters.
 dnl On some versions of SunOS4 at least, strncmp reads a word at a time
 dnl but erroneously reads past the end of strings.  This can cause
@@ -47,6 +53,9 @@ main ()
   
   p = (char *) mmap (0, MAP_LEN, PROT_READ|PROT_WRITE,
                     MAP_ANON|MAP_PRIVATE, dev_zero, 0);
+  if (p == (char *)-1)
+    p = (char *) mmap (0, MAP_LEN, PROT_READ|PROT_WRITE,
+                      MAP_ANON|MAP_PRIVATE, -1, 0);
   if (p == (char *)-1)
     exit (2);
   else
@@ -63,10 +72,10 @@ main ()
   exit (0);
 }
 ], ac_cv_func_strncmp_works=yes, ac_cv_func_strncmp_works=no,
-  ac_cv_func_strncmp_works=no)
+  ac_cv_func_strncmp_works=yes)
 rm -f core core.* *.core])
 if test $ac_cv_func_strncmp_works = no ; then
-  LIBOBJS="$LIBOBJS strncmp.o"
+  AC_LIBOBJ([strncmp])
 fi
 ])
 
@@ -84,53 +93,83 @@ then AC_DEFINE(NEED_DECLARATION_ERRNO, 1,
 fi
 ])
 
-# FIXME: We temporarily define our own version of AC_PROG_CC.  This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS.  We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable.  This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN(LIB_AC_PROG_CC,
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_PROVIDE([AC_PROG_CC])
-AC_CHECK_PROG(CC, gcc, gcc)
-if test -z "$CC"; then
-  AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
-  test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+dnl See whether we need a declaration for a function.
+AC_DEFUN(libiberty_NEED_DECLARATION,
+[AC_MSG_CHECKING([whether $1 must be declared])
+AC_CACHE_VAL(libiberty_cv_decl_needed_$1,
+[AC_TRY_COMPILE([
+#include "confdefs.h"
+#include <stdio.h>
+#ifdef HAVE_STRING_H
+#include <string.h>
+#else
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif],
+[char *(*pfn) = (char *(*)) $1],
+libiberty_cv_decl_needed_$1=no, libiberty_cv_decl_needed_$1=yes)])
+AC_MSG_RESULT($libiberty_cv_decl_needed_$1)
+if test $libiberty_cv_decl_needed_$1 = yes; then
+  AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]), 1,
+            [Define if $1 is not declared in system header files.])
 fi
+])dnl
 
-AC_PROG_CC_GNU
-
-if test $ac_cv_prog_gcc = yes; then
-  GCC=yes
-  ac_libiberty_warn_cflags='-W -Wall -Wtraditional -pedantic'
-dnl Check whether -g works, even if CFLAGS is set, in case the package
-dnl plays around with CFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
-  ac_test_CFLAGS="${CFLAGS+set}"
-  ac_save_CFLAGS="$CFLAGS"
-  CFLAGS=
-  AC_PROG_CC_G
-  if test "$ac_test_CFLAGS" = set; then
-    CFLAGS="$ac_save_CFLAGS"
-  elif test $ac_cv_prog_cc_g = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-O2"
-  fi
-else
-  GCC=
-  ac_libiberty_warn_cflags=
-  test "${CFLAGS+set}" = set || CFLAGS="-g"
+# We always want a C version of alloca() compiled into libiberty,
+# because native-compiler support for the real alloca is so !@#$%
+# unreliable that GCC has decided to use it only when being compiled
+# by GCC.  This is the part of AC_FUNC_ALLOCA that calculates the
+# information alloca.c needs.
+AC_DEFUN(libiberty_AC_FUNC_C_ALLOCA,
+[AC_CACHE_CHECK(whether alloca needs Cray hooks, ac_cv_os_cray,
+[AC_EGREP_CPP(webecray,
+[#if defined(CRAY) && ! defined(CRAY2)
+webecray
+#else
+wenotbecray
+#endif
+], ac_cv_os_cray=yes, ac_cv_os_cray=no)])
+if test $ac_cv_os_cray = yes; then
+  for ac_func in _getb67 GETB67 getb67; do
+    AC_CHECK_FUNC($ac_func, 
+      [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func, 
+  [Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP
+   systems. This function is required for alloca.c support on those
+   systems.])  break])
+  done
 fi
-AC_SUBST(ac_libiberty_warn_cflags)
-])
 
-# Work around a bug in autoheader.  This can go away when we switch to
-# autoconf >2.50.  The use of define instead of AC_DEFUN is
-# deliberate.
-define(AC_DEFINE_NOAUTOHEADER,
-[cat >> confdefs.h <<\EOF
-[#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1)
-EOF
+AC_CACHE_CHECK(stack direction for C alloca, ac_cv_c_stack_direction,
+[AC_TRY_RUN([find_stack_direction ()
+{
+  static char *addr = 0;
+  auto char dummy;
+  if (addr == 0)
+    {
+      addr = &dummy;
+      return find_stack_direction ();
+    }
+  else
+    return (&dummy > addr) ? 1 : -1;
+}
+main ()
+{
+  exit (find_stack_direction() < 0);
+}], 
+  ac_cv_c_stack_direction=1,
+  ac_cv_c_stack_direction=-1,
+  ac_cv_c_stack_direction=0)])
+AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction,
+  [Define if you know the direction of stack growth for your system;
+   otherwise it will be automatically deduced at run-time.
+        STACK_DIRECTION > 0 => grows toward higher addresses
+        STACK_DIRECTION < 0 => grows toward lower addresses
+        STACK_DIRECTION = 0 => direction of growth unknown])
 ])
This page took 0.026972 seconds and 4 git commands to generate.