merge from gcc
authorDJ Delorie <dj@redhat.com>
Tue, 22 Jan 2002 20:14:53 +0000 (20:14 +0000)
committerDJ Delorie <dj@redhat.com>
Tue, 22 Jan 2002 20:14:53 +0000 (20:14 +0000)
libiberty/ChangeLog
libiberty/Makefile.in
libiberty/_doprnt.c
libiberty/configure
libiberty/configure.in
libiberty/copysign.c
libiberty/maint-tool
libiberty/mkstemps.c
libiberty/putenv.c
libiberty/setenv.c
libiberty/vsprintf.c

index fdccb59..cb53fb6 100644 (file)
@@ -1,3 +1,27 @@
+2002-01-18  DJ Delorie  <dj@redhat.com>
+
+       * Makefile.in (TESTLIB): New.  This library is for future
+       testsuites.
+       (CFILES, REQUIRED_OFILES, CONFIGURED_OFILES): Re-alphabetize,
+       break down by letter.
+       (REQUIRED_OFILES): List long-to-compile files first.
+       (maint-deps): New, target for updating dependencies.
+       (dependencies): Update.
+       * maint-tool: Add dependency-generating option.
+       * configure.in: Check for _doprnt even if we're not providing it.
+       * configure: Regenerate.
+
+       * _doprnt.c: Modifications to allow compiling on any platform.
+       * copysign.c: Likewise.
+       * putenv.c: Likewise.
+       * setenv.c: Likewise.
+       * vsprintf.c: Likewise.
+
+2002-01-15  Douglas B Rupp  <rupp@gnat.com>
+
+       * mkstemps.c (mkstemps): On VMS, open temp file with option
+       that causes it to be deleted when closed.
+
 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * cp-demangle.c (long_options): Const-ify.
index 093c449..5fa9630 100644 (file)
@@ -64,6 +64,7 @@ PICFLAG =
 MAKEOVERRIDES =
 
 TARGETLIB = libiberty.a
+TESTLIB = testlib.a
 
 LIBOBJS = @LIBOBJS@
 
@@ -116,42 +117,69 @@ COMPILE.c = $(CC) -c @DEFS@ $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiber
        $(COMPILE.c) $<
 
 # NOTE: If you add new files to the library, add them to this list
-# (alphabetical), and add them to REQUIRED_OFILES or funcs in
-# configure.in.
-CFILES = asprintf.c alloca.c argv.c atexit.c basename.c bcmp.c bcopy.c       \
-       bsearch.c bzero.c calloc.c choose-temp.c clock.c concat.c cplus-dem.c \
-        cp-demangle.c dyn-string.c fdmatch.c fnmatch.c ffs.c getcwd.c        \
-       getpwd.c getopt.c getopt1.c getpagesize.c getruntime.c                \
-       floatformat.c hashtab.c hex.c index.c insque.c lbasename.c            \
-       md5.c make-temp-file.c memchr.c                                       \
-       memcmp.c memcpy.c memmove.c memset.c mkstemps.c objalloc.c obstack.c  \
-       partition.c pexecute.c putenv.c random.c                              \
-       regex.c rename.c rindex.c setenv.c                                    \
-       sigsetmask.c safe-ctype.c sort.c spaces.c splay-tree.c strcasecmp.c   \
-       strncasecmp.c strchr.c strdup.c strerror.c strncmp.c strrchr.c        \
-       strsignal.c strstr.c strtod.c strtol.c strtoul.c tmpnam.c vasprintf.c \
-       vfork.c vfprintf.c vprintf.c vsprintf.c waitpid.c xatexit.c xexit.c   \
-       xmalloc.c xmemdup.c xstrdup.c xstrerror.c ternary.c fibheap.c
-
-# These are always included in the library.
-REQUIRED_OFILES = argv.o alloca.o choose-temp.o concat.o cplus-dem.o          \
-       cp-demangle.o dyn-string.o fdmatch.o fnmatch.o getopt.o getopt1.o     \
-       getpwd.o getruntime.o hashtab.o hex.o floatformat.o lbasename.o       \
-        md5.o make-temp-file.o objalloc.o                                    \
-       obstack.o partition.o pexecute.o regex.o safe-ctype.o sort.o spaces.o \
-       splay-tree.o strerror.o strsignal.o xatexit.o xexit.o xmalloc.o       \
-       xmemdup.o xstrdup.o xstrerror.o ternary.o fibheap.o
+# (alphabetical), and add them to REQUIRED_OFILES, or
+# CONFIGURED_OFILES and funcs in configure.in.
+CFILES = alloca.c argv.c asprintf.c atexit.c                           \
+       basename.c bcmp.c bcopy.c bsearch.c bzero.c                     \
+       calloc.c choose-temp.c clock.c concat.c cp-demangle.c           \
+        cplus-dem.c                                                    \
+       dyn-string.c                                                    \
+       fdmatch.c ffs.c fibheap.c floatformat.c fnmatch.c               \
+       getcwd.c getopt.c getopt1.c getpagesize.c getpwd.c getruntime.c \
+       hashtab.c hex.c                                                 \
+       index.c insque.c                                                \
+       lbasename.c                                                     \
+       make-temp-file.c md5.c memchr.c memcmp.c memcpy.c memmove.c     \
+        memset.c mkstemps.c                                            \
+       objalloc.c obstack.c                                            \
+       partition.c pexecute.c putenv.c                                 \
+       random.c regex.c rename.c rindex.c                              \
+       safe-ctype.c setenv.c sigsetmask.c sort.c spaces.c              \
+        splay-tree.c strcasecmp.c strchr.c strdup.c strerror.c         \
+        strncasecmp.c strncmp.c strrchr.c strsignal.c strstr.c         \
+        strtod.c strtol.c strtoul.c                                    \
+       ternary.c tmpnam.c                                              \
+       vasprintf.c vfork.c vfprintf.c vprintf.c vsprintf.c             \
+       waitpid.c                                                       \
+       xatexit.c xexit.c xmalloc.c xmemdup.c xstrdup.c xstrerror.c
+
+# These are always included in the library.  The first four are listed
+# first and by compile time to optimize parallel builds.
+REQUIRED_OFILES = regex.o cplus-dem.o cp-demangle.o md5.o              \
+       alloca.o argv.o                                                 \
+       choose-temp.o concat.o                                          \
+       dyn-string.o                                                    \
+       fdmatch.o fibheap.o floatformat.o fnmatch.o                     \
+       getopt.o getopt1.o getpwd.o getruntime.o                        \
+       hashtab.o hex.o                                                 \
+       lbasename.o                                                     \
+       make-temp-file.o                                                \
+       objalloc.o obstack.o                                            \
+       partition.o pexecute.o                                          \
+       safe-ctype.o sort.o spaces.o splay-tree.o strerror.o            \
+        strsignal.o                                                    \
+       ternary.o                                                       \
+       xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o
 
 # These are all the objects that configure may add to the library via
-# $funcs.  This list exists here only for "make maint-missing".
-CONFIGURED_OFILES = asprintf.o atexit.o basename.o bcmp.o bcopy.o      \
-       bsearch.o bzero.o calloc.o clock.o ffs.o getcwd.o               \
-       getpagesize.o index.o insque.o memchr.o memcmp.o memcpy.o       \
-       memmove.o memset.o mkstemps.o putenv.o random.o rename.o        \
-       rindex.o setenv.o sigsetmask.o strcasecmp.o strchr.o strdup.o   \
-       strncasecmp.o strncmp.o strrchr.o strstr.o strtod.o strtol.o    \
-       strtoul.o tmpnam.o vasprintf.o vfork.o vfprintf.o vprintf.o     \
-       vsprintf.o waitpid.o
+# $funcs or EXTRA_OFILES.  This list exists here only for "make
+# maint-missing" and "make check".
+CONFIGURED_OFILES = asprintf.o atexit.o                                        \
+       basename.o bcmp.o bcopy.o bsearch.o bzero.o                     \
+       calloc.o clock.o copysign.o                                     \
+       _doprnt.o                                                       \
+       ffs.o                                                           \
+       getcwd.o getpagesize.o                                          \
+       index.o insque.o                                                \
+       memchr.o memcmp.o memcpy.o memmove.o memset.o mkstemps.o        \
+       putenv.o                                                        \
+       random.o rename.o rindex.o                                      \
+       setenv.o sigsetmask.o strcasecmp.o strchr.o strdup.o            \
+        strncasecmp.o strncmp.o strrchr.o strstr.o strtod.o strtol.o   \
+        strtoul.o                                                      \
+       tmpnam.o                                                        \
+       vasprintf.o vfork.o vfprintf.o vprintf.o vsprintf.o             \
+       waitpid.o
 
 $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
        -rm -f $(TARGETLIB) pic/$(TARGETLIB)
@@ -166,6 +194,12 @@ $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
          cd ..; \
        else true; fi
 
+$(TESTLIB): $(REQUIRED_OFILES) $(CONFIGURED_OFILES)
+       -rm -f $(TESTLIB)
+       $(AR) $(AR_FLAGS) $(TESTLIB) \
+         $(REQUIRED_OFILES) $(CONFIGURED_OFILES)
+       $(RANLIB) $(TESTLIB)
+
 info: libiberty.info info-subdir
 install-info: install-info-subdir
 clean-info: clean-info-subdir
@@ -268,6 +302,9 @@ maint-buildall : $(REQUIRED_OFILES) $(CONFIGURED_OFILES)
 maint-undoc : $(srcdir)/functions.texi
        @$(PERL) $(srcdir)/maint-tool -s $(srcdir) undoc
 
+maint-deps :
+       @$(PERL) $(srcdir)/maint-tool -s $(srcdir) deps $(INCDIR)
+
 # Need to deal with profiled libraries, too.
 
 # Cleaning has to be done carefully to ensure that we don't clean our SUBDIRS
@@ -323,53 +360,92 @@ maintainer-clean-subdir: config.h
        done
 
 $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS): stamp-picdir
+$(CONFIGURED_OFILES): stamp-picdir
+
+# The dependencies in the remainder of this file are automatically
+# generated by "make maint-deps".  Manual edits will be lost.
 
-alloca.o: config.h $(INCDIR)/libiberty.h
+_doprnt.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
+alloca.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+argv.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+asprintf.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
 atexit.o: config.h
-argv.o: config.h $(INCDIR)/libiberty.h
-basename.o: $(INCDIR)/libiberty.h
-choose-temp.o: config.h
+basename.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+       $(INCDIR)/safe-ctype.h
+bsearch.o: config.h $(INCDIR)/ansidecl.h
+calloc.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+choose-temp.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
 clock.o: config.h
-concat.o: config.h $(INCDIR)/libiberty.h
-cplus-dem.o: config.h $(INCDIR)/demangle.h
-cp-demangle.o: config.h $(INCDIR)/dyn-string.h $(INCDIR)/demangle.h
-dyn-string.o: config.h $(INCDIR)/dyn-string.h
-fdmatch.o: $(INCDIR)/libiberty.h
-fibheap.o: config.h $(INCDIR)/libiberty.h $(INCDIR)/fibheap.h
-fnmatch.o: config.h $(INCDIR)/fnmatch.h
+concat.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+copysign.o: $(INCDIR)/ansidecl.h
+cp-demangle.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/demangle.h \
+       $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h $(INCDIR)/libiberty.h
+cplus-dem.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/demangle.h \
+       $(INCDIR)/getopt.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
+dyn-string.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/dyn-string.h \
+       $(INCDIR)/libiberty.h
+fdmatch.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+fibheap.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/fibheap.h \
+       $(INCDIR)/libiberty.h
+floatformat.o: $(INCDIR)/ansidecl.h $(INCDIR)/floatformat.h
+fnmatch.o: config.h $(INCDIR)/fnmatch.h $(INCDIR)/safe-ctype.h
 getcwd.o: config.h
 getopt.o: config.h $(INCDIR)/getopt.h
 getopt1.o: config.h $(INCDIR)/getopt.h
 getpagesize.o: config.h
-getpwd.o: config.h $(INCDIR)/libiberty.h
-getruntime.o: config.h $(INCDIR)/libiberty.h
-hex.o: $(INCDIR)/libiberty.h
-floatformat.o: $(INCDIR)/floatformat.h
-lbasename.o: $(INCDIR)/libiberty.h
-make-temp-file.o: config.h
-mkstemps.o: config.h
-md5.o: config.h
-objalloc.o: config.h $(INCDIR)/objalloc.h
+getpwd.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+getruntime.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+hashtab.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/hashtab.h \
+       $(INCDIR)/libiberty.h
+hex.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+lbasename.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+       $(INCDIR)/safe-ctype.h
+make-temp-file.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+md5.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h
+memchr.o: $(INCDIR)/ansidecl.h
+memcmp.o: $(INCDIR)/ansidecl.h
+memcpy.o: $(INCDIR)/ansidecl.h
+memmove.o: $(INCDIR)/ansidecl.h
+memset.o: $(INCDIR)/ansidecl.h
+mkstemps.o: config.h $(INCDIR)/ansidecl.h
+objalloc.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/objalloc.h
 obstack.o: config.h $(INCDIR)/obstack.h
-partition.o: config.h $(INCDIR)/partition.h
-pexecute.o: config.h $(INCDIR)/libiberty.h
+partition.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+       $(INCDIR)/partition.h
+pexecute.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+       $(INCDIR)/safe-ctype.h
+putenv.o: config.h $(INCDIR)/ansidecl.h
+random.o: $(INCDIR)/ansidecl.h
 regex.o: config.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h
 rename.o: config.h
-setenv.o: config.h
-sort.o: config.h $(INCDIR)/sort.h $(INCDIR)/ansidecl.h
-spaces.o: $(INCDIR)/libiberty.h
-splay-tree.o: config.h $(INCDIR)/libiberty.h $(INCDIR)/splay-tree.h $(INCDIR)/ansidecl.h
-strerror.o: config.h $(INCDIR)/libiberty.h
-strsignal.o: config.h $(INCDIR)/libiberty.h
-strtol.o: config.h
-strtoul.o: config.h
-ternary.o: config.h $(INCDIR)/ternary.h $(INCDIR)/libiberty.h
-vasprintf.o: config.h
-xatexit.o: $(INCDIR)/libiberty.h
-xexit.o: config.h $(INCDIR)/libiberty.h
-xmalloc.o: config.h $(INCDIR)/libiberty.h
-xmemdup.o: config.h $(INCDIR)/libiberty.h
-xstrdup.o: config.h $(INCDIR)/libiberty.h
-xstrerror.o: config.h $(INCDIR)/libiberty.h
+safe-ctype.o: $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
+setenv.o: config.h $(INCDIR)/ansidecl.h
+sigsetmask.o: $(INCDIR)/ansidecl.h
+sort.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+       $(INCDIR)/sort.h
+spaces.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+splay-tree.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+       $(INCDIR)/splay-tree.h
+strcasecmp.o: $(INCDIR)/ansidecl.h
+strchr.o: $(INCDIR)/ansidecl.h
+strerror.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+strncasecmp.o: $(INCDIR)/ansidecl.h
+strncmp.o: $(INCDIR)/ansidecl.h
+strrchr.o: $(INCDIR)/ansidecl.h
+strsignal.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+strtod.o: $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
+strtol.o: config.h $(INCDIR)/safe-ctype.h
+strtoul.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
+ternary.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+       $(INCDIR)/ternary.h
+vasprintf.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+vfork.o: $(INCDIR)/ansidecl.h
+vprintf.o: $(INCDIR)/ansidecl.h
+vsprintf.o: $(INCDIR)/ansidecl.h
 waitpid.o: config.h
-hashtab.o: config.h $(INCDIR)/libiberty.h $(INCDIR)/hashtab.h $(INCDIR)/ansidecl.h
+xatexit.o: $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+xexit.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+xmalloc.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+xmemdup.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+xstrdup.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+xstrerror.o: config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
index a91e27f..8ce1415 100644 (file)
@@ -1,5 +1,5 @@
 /* Provide a version of _doprnt in terms of fprintf.
-   Copyright (C) 1998, 1999, 2000, 2001   Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002   Free Software Foundation, Inc.
    Contributed by Kaveh Ghazi  (ghazi@caip.rutgers.edu)  3/29/98
 
 This program is free software; you can redistribute it and/or modify it
@@ -29,9 +29,16 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #ifdef HAVE_STRING_H
 #include <string.h>
 #endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
 
 #undef _doprnt
 
+#ifdef HAVE__DOPRNT
+#define TEST
+#endif
+
 #ifdef TEST /* Make sure to use the internal one.  */
 #define _doprnt my_doprnt
 #endif
index 8ddd98d..be1fa94 100755 (executable)
@@ -2734,23 +2734,79 @@ fi
 done
 
 
+  else
+    for ac_func in _doprnt
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2742: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2747 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
   fi
 
   for v in $vars; do
     echo $ac_n "checking for $v""... $ac_c" 1>&6
-echo "configure:2742: checking for $v" >&5
+echo "configure:2798: checking for $v" >&5
     if eval "test \"`echo '$''{'libiberty_cv_var_$v'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2747 "configure"
+#line 2803 "configure"
 #include "confdefs.h"
 int *p;
 int main() {
 extern int $v; p = &$v;
 ; return 0; }
 EOF
-if { (eval echo configure:2754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "libiberty_cv_var_$v=yes"
 else
@@ -2776,12 +2832,12 @@ EOF
   for ac_func in $checkfuncs
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2780: checking for $ac_func" >&5
+echo "configure:2836: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2785 "configure"
+#line 2841 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2804,7 +2860,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2830,21 +2886,21 @@ done
 
 fi
 
-for ac_hdr in unistd.h
+for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2838: checking for $ac_hdr" >&5
+echo "configure:2894: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2843 "configure"
+#line 2899 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2904: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2873,12 +2929,12 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2877: checking for $ac_func" >&5
+echo "configure:2933: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2882 "configure"
+#line 2938 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2901,7 +2957,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2926,7 +2982,7 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:2930: checking for working mmap" >&5
+echo "configure:2986: checking for working mmap" >&5
 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2934,7 +2990,7 @@ else
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 2938 "configure"
+#line 2994 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -2962,11 +3018,24 @@ else
 #include <fcntl.h>
 #include <sys/mman.h>
 
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#if HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
 /* This mess was copied from the GNU getpagesize.h.  */
 #ifndef HAVE_GETPAGESIZE
-# ifdef HAVE_UNISTD_H
-#  include <unistd.h>
-# endif
 
 /* Assume that all systems that can run configure have sys/param.h.  */
 # ifndef HAVE_SYS_PARAM_H
@@ -3074,7 +3143,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:3078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_mmap_fixed_mapped=yes
 else
@@ -3098,7 +3167,7 @@ fi
 
 
 echo $ac_n "checking for working strncmp""... $ac_c" 1>&6
-echo "configure:3102: checking for working strncmp" >&5
+echo "configure:3171: checking for working strncmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_strncmp_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3106,7 +3175,7 @@ else
   ac_cv_func_strncmp_works=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 3110 "configure"
+#line 3179 "configure"
 #include "confdefs.h"
 
 /* Test by Jim Wilson and Kaveh Ghazi.
@@ -3170,7 +3239,7 @@ main ()
 }
 
 EOF
-if { (eval echo configure:3174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_strncmp_works=yes
 else
index 3357370..0160edf 100644 (file)
@@ -358,6 +358,8 @@ if test -z "${setobjs}"; then
      || test $ac_cv_func_vfprintf != yes \
      || test $ac_cv_func_vsprintf != yes; then
     AC_REPLACE_FUNCS(_doprnt)
+  else
+    AC_CHECK_FUNCS(_doprnt)
   fi
 
   for v in $vars; do
index 0b5f8c3..5c48a54 100644 (file)
@@ -129,6 +129,7 @@ typedef union
 } __ieee_float_shape_type;
 #endif
 
+#if defined(__IEEE_BIG_ENDIAN) || defined(__IEEE_LITTLE_ENDIAN)
 
 double DEFUN(copysign, (x, y), double x AND double y)
 {
@@ -138,3 +139,14 @@ double DEFUN(copysign, (x, y), double x AND double y)
   a.number.sign =b.number.sign;
   return a.value;
 }
+
+#else
+
+double DEFUN(copysign, (x, y), double x AND double y)
+{
+  if ((x < 0 && y > 0) || (x > 0 && y < 0))
+    return -x;
+  return x;
+}
+
+#endif
index 75b0c50..ceeb48d 100644 (file)
@@ -36,6 +36,7 @@ if ($mode eq "-s") {
 
 &missing() if $mode eq "missing";
 &undoc() if $mode eq "undoc";
+&deps() if $mode eq "deps";
 
 exit 0;
 
@@ -178,3 +179,100 @@ sub undoc {
        write;
     }
 }
+
+######################################################################
+
+sub deps_for {
+    my($f) = @_;
+    my(%d);
+    open(F, $f);
+    %d = ();
+    while (<F>) {
+       if (/^#\s*include\s+["<](.*)[">]/) {
+           $d{$1} = 1;
+       }
+    }
+    close(F);
+    return keys %d;
+}
+
+sub canonicalize {
+    my ($p) = @_;
+    0 while $p =~ s@/\./@/@g;
+    0 while $p =~ s@^\./@@g;
+    0 while $p =~ s@/[^/]+/\.\./@/@g;
+    return $p;
+}
+
+sub locals_first {
+    my ($a,$b) = @_;
+    return -1 if $a eq "config.h";
+    return  1 if $b eq "config.h";
+    return $a cmp $b;
+}
+
+sub deps {
+
+    $incdir = shift @ARGV;
+
+    opendir(INC, $incdir);
+    while ($f = readdir INC) {
+       next unless $f =~ /\.h$/;
+       $mine{$f} = "\$(INCDIR)/$f";
+       $deps{$f} = join(' ', &deps_for("$incdir/$f"));
+    }
+    $mine{'config.h'} = "config.h";
+
+    open(IN, "$srcdir/Makefile.in");
+    open(OUT, ">$srcdir/Makefile.tmp");
+    while (<IN>) {
+       last if /remainder of this file/;
+       print OUT;
+    }
+    print OUT "# The dependencies in the remainder of this file are automatically\n";
+    print OUT "# generated by \"make maint-deps\".  Manual edits will be lost.\n\n";
+
+    opendir(S, $srcdir);
+    for $f (sort readdir S) {
+       if ($f =~ /\.c$/) {
+
+           %scanned = ();
+           @pending = &deps_for("$srcdir/$f");
+           while (@pending) {
+               @tmp = @pending;
+               @pending = ();
+               for $p (@tmp) {
+                   next unless $mine{$p};
+                   if (!$scanned{$p}) {
+                       push(@pending, split(' ', $deps{$p}));
+                       $scanned{$p} = 1;
+                   }
+               }
+           }
+           @deps = sort { &locals_first($a,$b) } keys %scanned;
+           $obj = $f;
+           $obj =~ s/\.c$/.o/;
+           $obj = "$obj:";
+           if ($#deps >= 0) {
+               print OUT $obj;
+               $len = length($obj);
+               for $dt (@deps) {
+                   $d = $mine{$dt};
+                   if ($len + length($d) > 70) {
+                       printf OUT " \\\n\t$d";
+                       $len = 8 + length($d);
+                   } else {
+                       print OUT " $d";
+                       $len += length($d) + 1;
+                   }
+               }
+               print OUT "\n";
+           }
+       }
+    }
+    closedir(S);
+    close(IN);
+    close(OUT);
+
+    rename("$srcdir/Makefile.tmp", "$srcdir/Makefile.in");
+}
index 8fe5784..1f6600a 100644 (file)
@@ -121,7 +121,11 @@ mkstemps (template, suffix_len)
       v /= 62;
       XXXXXX[5] = letters[v % 62];
 
+#ifdef VMS
+      fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600, "fop=tmd");
+#else
       fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600);
+#endif
       if (fd >= 0)
        /* The file does not exist.  */
        return fd;
index 58012fc..6d027dc 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1994, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1994, 1995, 1996, 2002 Free Software Foundation, Inc.
    This file based on putenv.c in the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -39,6 +39,8 @@ name is unset/removed.
 
 #include "ansidecl.h"
 
+#define putenv libiberty_putenv
+
 #if HAVE_STDLIB_H
 # include <stdlib.h>
 #endif
@@ -58,6 +60,8 @@ extern char *alloca ();
 # endif /* alloca */
 #endif /* HAVE_ALLOCA_H */
 
+#undef putenv
+
 /* Below this point, it's verbatim code from the glibc-2.0 implementation */
 
 
index 79e38ed..8394faf 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    This file based on setenv.c in the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -36,6 +36,9 @@ environment.  This implementation is not safe for multithreaded code.
 # include <config.h>
 #endif
 
+#define setenv libiberty_setenv
+#define unsetenv libiberty_unsetenv
+
 #include "ansidecl.h"
 #include <sys/types.h> /* For `size_t' */
 #include <stdio.h>     /* For `NULL' */
@@ -61,6 +64,9 @@ extern int errno;
 extern char **environ;
 #endif
 
+#undef setenv
+#undef unsetenv
+
 /* LOCK and UNLOCK are defined as no-ops.  This makes the libiberty
  * implementation MT-Unsafe. */
 #define LOCK
index bf0760c..b69e9bc 100644 (file)
@@ -3,7 +3,7 @@
    implementations of stdio; newer ones should already have vsprintf.
    Written by Per Bothner of Cygnus Support.
    Based on libg++'s "form" (written by Doug Lea; dl@rocky.oswego.edu).
-   Copyright (C) 1991, 1995 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1995, 2002 Free Software Foundation, Inc.
 
 This file is part of the libiberty library.  This library is free
 software; you can redistribute it and/or modify it under the
@@ -31,6 +31,8 @@ the executable file might be covered by the GNU General Public License. */
 #include <ansidecl.h>
 #undef vsprintf
 
+#if defined _IOSTRG && defined _IOWRT
+
 int
 vsprintf (buf, format, ap)
      char *buf;
@@ -53,3 +55,5 @@ vsprintf (buf, format, ap)
   return ret;
 
 }
+
+#endif