* aclocal.m4 (LIB_AC_PROG_CC): Moved here from configure.in.
authorDJ Delorie <dj@redhat.com>
Wed, 29 Nov 2000 19:17:37 +0000 (19:17 +0000)
committerDJ Delorie <dj@redhat.com>
Wed, 29 Nov 2000 19:17:37 +0000 (19:17 +0000)
(AC_DEFINE_NOAUTOHEADER): New - work around bug in autoheader.
* configure.in: Call AC_C_INLINE and AC_C_CONST.  Use three
argument form of AC_DEFINE in dummy definitions block.  Use
AC_DEFINE_NOAUTOHEADER for real definitions of things defined
in dummy block.  Preload cache variables instead of bypassing
tests, where possible.
* acconfig.h: Removed.
* xmalloc.c (xmalloc_failed): New function, does error
reporting on failed allocation.
(xmalloc, xcalloc, xrealloc): Use it.

libiberty/ChangeLog
libiberty/acconfig.h [deleted file]
libiberty/aclocal.m4
libiberty/configure.in
libiberty/xmalloc.c

index 3a735f52b17f3d92498c4f308739396fffb3db8d..1428d4d36af66a9127a5d32340cc5fa15897d249 100644 (file)
@@ -1,3 +1,17 @@
+2000-11-29  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * aclocal.m4 (LIB_AC_PROG_CC): Moved here from configure.in.
+       (AC_DEFINE_NOAUTOHEADER): New - work around bug in autoheader.
+       * configure.in: Call AC_C_INLINE and AC_C_CONST.  Use three
+       argument form of AC_DEFINE in dummy definitions block.  Use
+       AC_DEFINE_NOAUTOHEADER for real definitions of things defined
+       in dummy block.  Preload cache variables instead of bypassing
+       tests, where possible.
+       * acconfig.h: Removed.
+       * xmalloc.c (xmalloc_failed): New function, does error
+       reporting on failed allocation.
+       (xmalloc, xcalloc, xrealloc): Use it.
+       
 2000-11-22  H.J. Lu  <hjl@gnu.org>
 
        * cplus-dem.c (main): Handle gnat_demangling.
diff --git a/libiberty/acconfig.h b/libiberty/acconfig.h
deleted file mode 100644 (file)
index f7c599d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Define if you have the sys_errlist variable.  */
-#undef HAVE_SYS_ERRLIST
-
-/* Define if you have the sys_nerr variable.  */
-#undef HAVE_SYS_NERR
-
-/* Define if you have the sys_siglist variable.  */
-#undef HAVE_SYS_SIGLIST
-
-/* Define if you have the strerror function.  */
-#undef HAVE_STRERROR
index b6c611e132d018f0e9dac75e5a9a4482ff24336e..c5628352773e78e48710751e8d9f4b2eec91b12f 100644 (file)
@@ -83,3 +83,54 @@ then AC_DEFINE(NEED_DECLARATION_ERRNO, 1,
   [Define if errno must be declared even when <errno.h> is included.])
 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])
+fi
+
+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"
+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
+])
index adfbd5ff670edcaa9d734ded6f9688e7bda635cb..6d06c0af2d0ab5f55ca2446d05922cdfd40595c9 100644 (file)
@@ -36,51 +36,11 @@ dnl to call AC_CHECK_PROG.
 AC_CHECK_TOOL(AR, ar)
 AC_CHECK_TOOL(RANLIB, ranlib, :)
 
-# 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])
-fi
-
-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"
-fi
-])
-AC_SUBST(ac_libiberty_warn_cflags)
-
 LIB_AC_PROG_CC
 
 AC_ISC_POSIX
+AC_C_CONST
+AC_C_INLINE
 
 dnl When we start using libtool:
 dnl Default to a non shared library.  This may be overridden by the
@@ -172,11 +132,11 @@ if test "x" = "y"; then
   AC_CHECK_FUNCS(memset putenv random rename rindex sigsetmask strcasecmp)
   AC_CHECK_FUNCS(setenv strchr strdup strncasecmp strrchr strstr strtod strtol)
   AC_CHECK_FUNCS(strtoul tmpnam vasprintf vfprintf vprintf vsprintf waitpid)
-  AC_DEFINE(HAVE_SYS_ERRLIST)
-  AC_DEFINE(HAVE_SYS_NERR)
-  AC_DEFINE(HAVE_SYS_SIGLIST)
   AC_CHECK_FUNCS(getrusage on_exit psignal strerror strsignal sysconf times)
   AC_CHECK_FUNCS(sbrk gettimeofday)
+  AC_DEFINE(HAVE_SYS_ERRLIST, 1, [Define if you have the sys_errlist variable.])
+  AC_DEFINE(HAVE_SYS_NERR,    1, [Define if you have the sys_nerr variable.])
+  AC_DEFINE(HAVE_SYS_SIGLIST, 1, [Define if you have the sys_siglist variable.])
 fi
 
 # For each of these functions, if the host does not provide the
@@ -215,7 +175,7 @@ if test -n "${with_target_subdir}"; then
     # dont have to check them here.
 
     # Of the functions in $checkfuncs, newlib only has strerror.
-    AC_DEFINE(HAVE_STRERROR)
+    AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
 
     setobjs=yes
 
@@ -256,7 +216,7 @@ if test -z "${setobjs}"; then
     # don't have to check them here.
 
     # Of the functions in $checkfuncs, VxWorks only has strerror.
-    AC_DEFINE(HAVE_STRERROR)
+    AC_DEFINE_NOAUTOHEADER(HAVE_STRERROR)
 
     setobjs=yes
     ;;
@@ -294,9 +254,8 @@ if test -z "${setobjs}"; then
   *-*-mingw32*)
     # Under mingw32, sys_nerr and sys_errlist exist, but they are
     # macros, so the test below won't find them.
-    vars="`echo $vars | sed -e 's/sys_nerr//' -e 's/sys_errlist//'`"
-    AC_DEFINE(HAVE_SYS_NERR)
-    AC_DEFINE(HAVE_SYS_ERRLIST)
+    libiberty_cv_var_sys_nerr=yes
+    libiberty_cv_var_sys_errlist=yes
     ;;
 
   *-*-uwin*)
@@ -307,8 +266,8 @@ if test -z "${setobjs}"; then
     # Under uwin 2.0+, sys_nerr and sys_errlist exist, but they are
     # macros (actually, these are imported from a DLL, but the end effect 
     # is the same), so the test below won't find them.
-    AC_DEFINE(HAVE_SYS_NERR)
-    AC_DEFINE(HAVE_SYS_ERRLIST)
+    libiberty_cv_var_sys_nerr=yes
+    libiberty_cv_var_sys_errlist=yes
     ;;
 
   esac
index 08c23f8126eab20e217ee889ccda3278a0690607..3ea2d4afc06e3edf4546cc96f677cac0744f3c9f 100644 (file)
@@ -64,6 +64,31 @@ xmalloc_set_program_name (s)
 #endif /* HAVE_SBRK */
 }
 
+void
+xmalloc_failed (size)
+     size_t size;
+{
+#ifdef HAVE_SBRK
+  extern char **environ;
+  size_t allocated;
+
+  if (first_break != NULL)
+    allocated = (char *) sbrk (0) - first_break;
+  else
+    allocated = (char *) sbrk (0) - (char *) &environ;
+  fprintf (stderr,
+          "\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n",
+          name, *name ? ": " : "",
+          (unsigned long) size, (unsigned long) allocated);
+#else /* HAVE_SBRK */
+  fprintf (stderr,
+          "\n%s%sCannot allocate %lu bytes\n",
+          name, *name ? ": " : "",
+          (unsigned long) size);
+#endif /* HAVE_SBRK */
+  xexit (1);
+}  
+
 PTR
 xmalloc (size)
     size_t size;
@@ -74,27 +99,8 @@ xmalloc (size)
     size = 1;
   newmem = malloc (size);
   if (!newmem)
-    {
-#ifdef HAVE_SBRK
-      extern char **environ;
-      size_t allocated;
-
-      if (first_break != NULL)
-       allocated = (char *) sbrk (0) - first_break;
-      else
-       allocated = (char *) sbrk (0) - (char *) &environ;
-      fprintf (stderr,
-              "\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n",
-              name, *name ? ": " : "",
-              (unsigned long) size, (unsigned long) allocated);
-#else /* HAVE_SBRK */
-      fprintf (stderr,
-              "\n%s%sCannot allocate %lu bytes\n",
-              name, *name ? ": " : "",
-              (unsigned long) size);
-#endif /* HAVE_SBRK */
-      xexit (1);
-    }
+    xmalloc_failed (size);
+
   return (newmem);
 }
 
@@ -109,27 +115,8 @@ xcalloc (nelem, elsize)
 
   newmem = calloc (nelem, elsize);
   if (!newmem)
-    {
-#ifdef HAVE_SBRK
-      extern char **environ;
-      size_t allocated;
-
-      if (first_break != NULL)
-       allocated = (char *) sbrk (0) - first_break;
-      else
-       allocated = (char *) sbrk (0) - (char *) &environ;
-      fprintf (stderr,
-              "\n%s%sCannot allocate %lu bytes after allocating %lu bytes\n",
-              name, *name ? ": " : "",
-              (unsigned long) (nelem * elsize), (unsigned long) allocated);
-#else /* HAVE_SBRK */
-      fprintf (stderr,
-              "\n%s%sCannot allocate %lu bytes\n",
-              name, *name ? ": " : "",
-              (unsigned long) (nelem * elsize));
-#endif /* HAVE_SBRK */
-      xexit (1);
-    }
+    xmalloc_failed (nelem * elsize);
+
   return (newmem);
 }
 
@@ -147,26 +134,7 @@ xrealloc (oldmem, size)
   else
     newmem = realloc (oldmem, size);
   if (!newmem)
-    {
-#ifdef HAVE_SBRK
-      extern char **environ;
-      size_t allocated;
-
-      if (first_break != NULL)
-       allocated = (char *) sbrk (0) - first_break;
-      else
-       allocated = (char *) sbrk (0) - (char *) &environ;
-      fprintf (stderr,
-              "\n%s%sCannot reallocate %lu bytes after allocating %lu bytes\n",
-              name, *name ? ": " : "",
-              (unsigned long) size, (unsigned long) allocated);
-#else /* HAVE_SBRK */
-      fprintf (stderr,
-              "\n%s%sCannot reallocate %lu bytes\n",
-              name, *name ? ": " : "",
-              (unsigned long) size);
-#endif /* HAVE_SBRK */
-      xexit (1);
-    }
+    xmalloc_failed (size);
+
   return (newmem);
 }