]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
The rules for uploading releases to gnu.org have been updated, and
authorGary V. Vaughan <gary@gnu.org>
Wed, 12 Nov 2003 18:52:00 +0000 (18:52 +0000)
committerGary V. Vaughan <gary@gnu.org>
Wed, 12 Nov 2003 18:52:00 +0000 (18:52 +0000)
are in fact now rather complicated.  This delta updates the
release instructions to the describe the new process, and updates
the maintainer rules to help automate many of the steps:

* README-alpha: Updated release instructions.
* Makefile.am (GPG): Name of the program for generating signatures
for files to be uploaded.
(XDELTA, XDELTA_OPTIONS): Invocation of xdelta.
(cvs-dist): Run distcheck before tagging the cvs tree incase
distcheck fails, and then generate the gpg signature files.
(cvs-diff): Generate the gpg signature files for the diff.
(xdelta): New rule for generating the xdelta diffs and associated
gpg signature files.
(cvs-release): New rule to do all of the above, if you don't mind
typing your gpg passphrase over and over again. :-)
(fetch): New rule inspired by automakes similar rule for updating
files maintained outside the project.
* config.guess, config.sub, doc/texinfo.tex: Updated with the new
fetch rule.

ChangeLog
Makefile.am
README-alpha
config.guess
config.sub

index f5230a10e05120e2764519d69ca21b6743881f00..a6dd060c9d8ab75dbdf9fe7d0604a5f9ad350294 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2003-11-12  Gary V. Vaughan  <gary@gnu.org>
+
+       The rules for uploading releases to gnu.org have been updated, and
+       are in fact now rather complicated.  This delta updates the
+       release instructions to the describe the new process, and updates
+       the maintainer rules to help automate many of the steps:
+
+       * README-alpha: Updated release instructions.
+       * Makefile.am (GPG): Name of the program for generating signatures
+       for files to be uploaded.
+       (XDELTA, XDELTA_OPTIONS): Invocation of xdelta.
+       (cvs-dist): Run distcheck before tagging the cvs tree incase
+       distcheck fails, and then generate the gpg signature files.
+       (cvs-diff): Generate the gpg signature files for the diff.
+       (xdelta): New rule for generating the xdelta diffs and associated
+       gpg signature files.
+       (cvs-release): New rule to do all of the above, if you don't mind
+       typing your gpg passphrase over and over again. :-)
+       (fetch): New rule inspired by automakes similar rule for updating
+       files maintained outside the project.
+       * config.guess, config.sub, doc/texinfo.tex: Updated with the new
+       fetch rule.
+
 2003-10-16  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
 
        * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): For MinGW, reverted DLL
index e4228012c1c0373662a3d99043917e7922ed2269..d11a84adbb7a6400270e6711ac49cee627dcf1d0 100644 (file)
@@ -95,23 +95,116 @@ uninstall-local:
 ## to anybody else (snarfed from automake/Makefile.am).
 ##
 
-# Tag before making distribution.  Also, don't make a distribution if
-# checks fail.  Also, make sure the NEWS file is up-to-date.
-cvs-dist: distcheck
-       @if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" > /dev/null; then :; else \
+XDELTA = xdelta
+XDELTA_OPTIONS = --pristine -9
+
+GPG = gpg # set it to `:' to avoid gpg operations
+
+.PHONY: cvs-dist cvs-diff xdelta cvs-release
+cvs-dist:
+## Make sure the NEWS file is up-to-date:
+       @if sed '1,2d;3q' $(srcdir)/NEWS | grep -e "$(VERSION)" >/dev/null; \
+       then :; \
+       else \
          echo "NEWS not updated; not releasing" 1>&2; \
-         exit 1;                               \
+         exit 1; \
        fi
-       cd $(srcdir) && \
-        $(CVS) -q tag `echo "release-$(VERSION)" | sed 's/\./-/g'`
-       $(MAKE) dist
+## Build the distribution:
+       $(MAKE) distcheck
+## Finally, if everything was successful, commit the last changes and tag
+## the release in the repository:
+       cd $(srcdir) \
+         && $(SHELL) ./commit \
+         && $(CVS) -q tag -c `echo "Release-$(VERSION)" | sed 's/\./-/g'`
+## We do want the timestamped version numbers from the CVS keywords in
+## ChangeLog to be correct, so we must rebuild the release tarball after
+## a successfull commit, and then generate the signatures needed for
+## FSF ftp-upload:
+       ofile="$(PACKAGE)-$(VERSION).tar.gz"; \
+       $(MAKE) dist \
+         && $(GPG) --detach-sign $$ofile \
+         && echo "directory: libtool" > $$ofile.directive \
+         && $(GPG) --clearsign $$ofile.directive \
+         && rm -f $$ofile.directive
 
 cvs-diff:
+## Figure out which cvs tags we are diffing, and if the diff works we
+## compress it and then generate the signatures needed for FSF ftp-upload:
        thisver=`echo "release-$(VERSION)" | sed 's/\./-/g'`; \
        if test -z "$$OLDVERSION"; then \
          prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \
        else prevno="$$OLDVERSION"; fi; \
        prevver=release-`echo $$prevno | sed 's/\./-/g'`; \
+       ofile="$(PACKAGE)-$$prevno-$(VERSION).diff.gz"; \
        $(CVS) -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \
-           | GZIP=$(GZIP_ENV) gzip -c \
-           > $(PACKAGE)-$$prevno-$(VERSION).diff.gz
+           | GZIP=$(GZIP_ENV) gzip -c > $$ofile; \
+         && $(GPG) --detach-sign $$ofile \
+         && echo "directory: libtool" > $$ofile.directive \
+         && $(GPG) --clearsign $$ofile.directive \
+         && rm -f $$ofile.directive
+
+xdelta:
+## Make sure xdelta exists;
+       @if ($(XDELTA) --version 2>&1 | grep version)>/dev/null 2>/dev/null; \
+       then :;\
+       else \
+         echo "Get xdelta from http://sourceforge.net/projects/xdelta."; \
+         exit 1; \
+       fi
+## Generate the delta file (xdelta has wierd exit statuses, so we need to
+## add some shell code to keep make happy), and then generate the signatures
+## for FSF ftp-upload:
+       if test -z "$$OLDVERSION"; then \
+         prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \
+       else prevno="$$OLDVERSION"; fi; \
+       ofile="$(PACKAGE)-$$prevno-$(VERSION).xdelta"; \
+       ( test -z `$(XDELTA) delta $(XDELTA_OPTIONS) \
+           $(PACKAGE)-$$prevno.tar.gz $(PACKAGE)-$(VERSION).tar.gz \
+           $$ofile 2>&1` \
+         && : ) \
+       && $(GPG) --detach-sign $$ofile \
+       && echo "directory: libtool" > $$ofile.directive \
+       && $(GPG) --clearsign $$ofile.directive \
+       && rm -f $$ofile.directive
+
+cvs-release: cvs-dist cvs-diff xdelta
+
+## Program to use to fetch files.
+WGET = wget
+WGETSGO = $(WGET) http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~
+
+## Files that we fetch and which we compare against.
+## FIXME should be a lot more here
+FETCHFILES = \
+./INSTALL \
+./config.guess \
+libltdl/config.guess \
+./config.sub \
+libltdl/config.sub \
+doc/texinfo.tex
+
+## Fetch the latest versions of files we care about.
+fetch:
+       rm -rf Fetchdir > /dev/null 2>&1
+       mkdir Fetchdir
+## If a get fails then that is a problem.
+       (cd Fetchdir && \
+       $(WGETSGO)/autoconf/autoconf/INSTALL; \
+       $(WGETSGO)/config/config/config.guess; \
+       $(WGETSGO)/config/config/config.sub; \
+       $(WGETSGO)/texinfo/texinfo/doc/texinfo.tex )
+## Don't exit after test because we want to give as many errors as
+## possible.
+       @stat=0; for file in $(FETCHFILES); do \
+         fetchedfile=Fetchdir/`echo $$file | sed 's,.*/,,g'`; \
+         if diff -u $(srcdir)/$$file $$fetchedfile \
+           >>Fetchdir/update.patch 2>/dev/null; then :; \
+         else \
+           stat=1; \
+           echo "Updating $(srcdir)/$$file..."; \
+           cp $$fetchedfile $(srcdir)/$$file; \
+         fi; \
+       done; \
+       test $$stat = 1 && \
+         echo "See Fetchdir/update.patch for a log of the changes."; \
+       exit $$stat
index 2c7aee8c5c9cca89b970e211c38bde0ac75f4986..f3d0be70e2865d83e9aa61d9b7296eb1cdc04946 100644 (file)
@@ -35,9 +35,25 @@ using (by typing `libtool --version').
   and check everything in.
 
 * Some files in the libtool package are not owned by libtool.  These
-  files should never be edited here.  These files are COPYING, INSTALL,
-  config.guess, config.sub, install-sh, mdate-sh, mkinstalldirs,
-  texinfo.tex.
+  files should never be edited here.  These files are:
+       COPYING
+       INSTALL
+       config/
+           + config.guess
+           + config.sub
+           + depcomp
+           + install-sh
+           + mdate-sh
+           + missing
+           + texinfo.tex
+       doc/
+           + fdl.texi
+       libltdl/
+           + COPYING.LESSER
+           + config.guess
+           + config.sub
+           + install-sh
+           + missing
 
 * Changes other than bug fixes must be mentioned in NEWS
 
@@ -51,37 +67,56 @@ using (by typing `libtool --version').
 ================================================================
 = Release procedure
 
-* Fetch new versions of the files that are maintained by the FSF.
-  config.guess and config.sub are available via ftp from
-  ftp://ftp.gnu.org/gnu/config/, and texinfo.tex is available from
-  ftp://ftp.gnu.org/gnu/GNUinfo/.
+* If you are a libtool maintainer, but have not yet registered your
+  gpg public key and (preferred) email address with the FSF, send an
+  email, preferably GPG-signed, to <ftp-upload@gnu.org> that includes
+  the following:
 
-* Update NEWS.
+    (a) name of package(s) that you are the maintainer for, and your
+        preferred email address.
 
-* Update the version number in configure.ac.
-  (The idea is that every other alpha number will be a net release.
-  The repository will always have its own "odd" number so we can easily
-  distinguish net and repo versions.)
+    (b) an ASCII armored copy of your GnuPG key, as an attachment.
+       ("gpg --export -a YOUR_KEY_ID > mykey.asc" should give you
+       this.)
 
-* Configure, build, and install.
+  When you have received acknowledgement of your message, the proper GPG
+  keys will be registered on ftp-upload.gnu.org and only then will you be
+  authorized to upload files to the FSF ftp machines.
 
-* Commit
+* Update NEWS, ChangeLog.
 
-* Run `make cvs-dist' which will tag the tree with release-maj-min<alpha>.
+* Update the version number in configure.ac.
+  See http://www.gnu.org/software/libtool/contribute.html for details of
+  the numbering scheme.
 
-* Run `make cvs-diff' which will create a diff file against the previous
-  release tag (set OLDVERSION=min.maj<alpha> in the environment beforehand
-  if necessary).
+* Run ./bootstrap.
 
-* Download a copy of the previous release tarball and generate an
-  xdelta with:
+* Run `make fetch', which will fetch new versions of the files that are
+  maintained outside of libtool.
 
-    xdelta delta libtool-<prev>.tar.gz libtool-<version>.tar.gz > \
-    libtool-<prev>-<version>.tar.xdp.gz'
+* Run ./configure and then make.
 
-* Upload release tarball, diff file and xdelta file 
-  scp gnudist.gnu.org/~ftp/gnu/libtool and send announcement to
-  libtool@gnu.org.
+* Run `make cvs-dist' which will build a release tarball (with `make
+  distcheck'), commit the last NEWS, ChangeLog and configure.ac changes,
+  tag the tree with release-$(VERSION), and generate gpg signature files.
+
+* Run `make cvs-diff' which will create a diff file against the previous
+  release tag (set OLDVERSION=min.maj[.mic[alpha]] in the environment
+  beforehand if necessary), and generate gpg signature files.
+
+* Make sure you have a copy of xdelta installed, and a copy of the previous
+  release tarball in the build directory, then run `make xdelta', which will
+  create an xdelta file between this and the previous release tarballs (set
+  OLDVERSION=min.maj[.mic[alpha]] in the environment beforehand if necessary),
+  and generate gpg signature files.
+
+* Upload release tarball, diff file and xdelta file, plus their associated
+  detached gpg signature files and clear signed directive files to
+  ftp-upload.gnu.org. If the upload is destined for ftp.gnu.org, then the
+  files should be placed in the /incoming/ftp directory.  If the upload is
+  an alpha release destined for alpha.gnu.org, then the files should be
+  placed in the /incoming/alpha directory.incoming/ftp/gnu/libtool.  Then send
+  announcement to libtool@gnu.org and autotools-announce@gnu.org.
 
 * If not an alpha, announcement must also go to info-gnu@gnu.org, and an
   upload request be sent to ftp-upload@gnu.org requesting files be transferred
@@ -97,26 +132,45 @@ using (by typing `libtool --version').
 ================================================================
 = Alpha release note template
 
-To: libtool@gnu.org
+To: libtool@gnu.org, autotools-announce@gnu.org
 
 The Libtool Team is pleased to announce alpha release @VERSION@ of GNU
 Libtool.
 
 GNU Libtool hides the complexity of using shared libraries behind a
 consistent, portable interface. GNU Libtool ships with GNU libltdl,
-which hides the comlexity of loading dynamic runtime libraries
+which hides the complexity of loading dynamic runtime libraries
 (modules) behind a consistent, portable interface.
 
-This release has @SUMMARY_OF_IMPROVEMENTS_SINCE_LAST_RELEASE_ON_THIS_BRANCH@.
+Here are the compressed sources:
 
-New in @VERSION@: @RELEASE_DATE@
+  ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz
+  ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2
 
-  @EXCERPT_FROM_NEWS_FILE@
+Here are the xdeltas and diffs against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@:
 
-libtool-@VERSION@ is available now from
-ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz, along with
-diffs and xdeltas against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@
-that are also available from ftp://alpha.gnu.org/gnu/libtool.
+  ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz
+  ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta
+
+Here are the gpg detached signatures:
+
+  ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz.sig
+  ftp://alpha.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2.sig
+  ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz.sig
+  ftp://alpha.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta.sig
+
+Here are the MD5 and SHA1 checksums:
+
+  @MD5SUM@ libtool-@VERSION@.tar.gz
+  @MD5SUM@ libtool-@VERSION@.tar.bz2
+  @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz
+  @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta
+  @SHA1SUM@ libtool-@VERSION@.tar.gz
+  @SHA1SUM@ libtool-@VERSION@.tar.bz2
+  @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz
+  @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta
+
+This release has @SUMMARY_OF_IMPROVEMENTS_SINCE_LAST_RELEASE_ON_THIS_BRANCH@.
 
 This release was bootstrapped with @BOOTSTRAP_TOOLS_WITH_VERSIONS@,
 but is useable with @COMPATIBLE_AUTOTOOL_VERSIONS@ in your own
@@ -135,13 +189,17 @@ You will then need to have recent (possibly as yet unreleased) versions
 of Automake and Autoconf installed to bootstrap the checked out
 sources yourself.
 
+New in @VERSION@: @RELEASE_DATE@
+
+  @EXCERPT_FROM_NEWS_FILE@
+
 Please report bugs to <bug-libtool@gnu.org>.
 
 ================================================================
 = Full release note template
 
 To: info-gnu@gnu.org
-Cc: libtool@gnu.org, autoconf@gnu.org, automake@gnu.org
+Cc: libtool@gnu.org, autotools-announce@gnu.org
 
 The Libtool Team is pleased to announce the release of GNU Libtool
 @VERSION@.
@@ -157,14 +215,41 @@ New in @VERSION@: @RELEASE_DATE@
 
   @EXCERPT_FROM_NEWS_FILE@
 
-libtool-@VERSION@ is available now from
-ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz, along with
+libtool-@VERSION@ is available now from ftp.gnu.org, along with
 diffs and xdeltas against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@
-that are also available from ftp://ftp.gnu.org/gnu/libtool.  Please
+that are also available from ftp.gnu.org.  Please
 use a mirror to reduce stress on the main gnu machine:
 
   http://www.gnu.org/order/ftp.html
 
+Here are the compressed sources:
+
+  ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz
+  ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2
+
+Here are the xdeltas and diffs against libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@:
+
+  ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz
+  ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta
+
+Here are the gpg detached signatures:
+
+  ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.gz.sig
+  ftp://ftp.gnu.org/gnu/libtool/libtool-@VERSION@.tar.bz2.sig
+  ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz.sig
+  ftp://ftp.gnu.org/gnu/libtool/libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta.sig
+
+Here are the MD5 and SHA1 checksums:
+
+  @MD5SUM@ libtool-@VERSION@.tar.gz
+  @MD5SUM@ libtool-@VERSION@.tar.bz2
+  @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz
+  @MD5SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta
+  @SHA1SUM@ libtool-@VERSION@.tar.gz
+  @SHA1SUM@ libtool-@VERSION@.tar.bz2
+  @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.diff.gz
+  @SHA1SUM@ libtool-@PREV_RELEASE_VERSION_ON_THIS_BRANCH@-@VERSION@.xdelta
+
 This release was bootstrapped with @BOOTSTRAP_TOOLS_WITH_VERSIONS@,
 but is useable with @COMPATIBLE_AUTOTOOL_VERSIONS@ in your own
 projects.
index 0e30d56e94e09336675d596da079d04cc520d257..193e328202ab22ee8f3f3c7652f80d2231f97fff 100755 (executable)
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-timestamp='2003-07-02'
+timestamp='2003-10-16'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -221,6 +221,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     mvmeppc:OpenBSD:*:*)
        echo powerpc-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
+    pegasos:OpenBSD:*:*)
+       echo powerpc-unknown-openbsd${UNAME_RELEASE}
+       exit 0 ;;
     pmax:OpenBSD:*:*)
        echo mipsel-unknown-openbsd${UNAME_RELEASE}
        exit 0 ;;
@@ -307,6 +310,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:OS/390:*:*)
        echo i370-ibm-openedition
        exit 0 ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+       exit 0 ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
        echo arm-acorn-riscix${UNAME_RELEASE}
        exit 0;;
@@ -734,7 +740,7 @@ EOF
        echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
     *:UNICOS/mp:*:*)
-       echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
+       echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
        exit 0 ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
        FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@@ -742,6 +748,11 @@ EOF
         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
         exit 0 ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit 0 ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
        echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
        exit 0 ;;
@@ -751,7 +762,7 @@ EOF
     *:BSD/OS:*:*)
        echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
        exit 0 ;;
-    *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
+    *:FreeBSD:*:*)
        # Determine whether the default compiler uses glibc.
        eval $set_cc_for_build
        sed 's/^        //' << EOF >$dummy.c
@@ -763,7 +774,7 @@ EOF
        #endif
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
-       # GNU/FreeBSD systems have a "k" prefix to indicate we are using
+       # GNU/KFreeBSD systems have a "k" prefix to indicate we are using
        # FreeBSD's kernel, but not the complete OS.
        case ${LIBC} in gnu) kernel_only='k' ;; esac
        echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
@@ -799,8 +810,13 @@ EOF
        echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
        exit 0 ;;
     *:GNU:*:*)
+       # the GNU system
        echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
        exit 0 ;;
+    *:GNU/*:*:*)
+       # other systems with GNU libc and userland
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       exit 0 ;;
     i*86:Minix:*:*)
        echo ${UNAME_MACHINE}-pc-minix
        exit 0 ;;
@@ -948,6 +964,9 @@ EOF
        LIBC=gnuaout
        #endif
        #endif
+       #ifdef __dietlibc__
+       LIBC=dietlibc
+       #endif
 EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
        test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
@@ -1049,7 +1068,7 @@ EOF
        exit 0 ;;
     M68*:*:R3V[567]*:*)
        test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
        OS_REL=''
        test -r /etc/.relid \
        && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1164,7 +1183,7 @@ EOF
     *:QNX:*:4*)
        echo i386-pc-qnx
        exit 0 ;;
-    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
+    NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*)
        echo nsr-tandem-nsk${UNAME_RELEASE}
        exit 0 ;;
     *:NonStop-UX:*:*)
index c8a01bed986dccd59db49c022d37eda82e30da73..e1e455b776e002a285f2b509eebacce95be1c15d 100755 (executable)
@@ -3,7 +3,7 @@
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-timestamp='2003-07-04'
+timestamp='2003-11-03'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -118,7 +118,8 @@ esac
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -228,13 +229,14 @@ case $basic_machine in
        | a29k \
        | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
        | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
        | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
        | c4x | clipper \
        | d10v | d30v | dlx | dsp16xx \
        | fr30 | frv \
        | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
        | i370 | i860 | i960 | ia64 \
-       | ip2k \
+       | ip2k | iq2000 \
        | m32r | m68000 | m68k | m88k | mcore \
        | mips | mipsbe | mipseb | mipsel | mipsle \
        | mips16 \
@@ -247,6 +249,7 @@ case $basic_machine in
        | mipsisa32 | mipsisa32el \
        | mipsisa32r2 | mipsisa32r2el \
        | mipsisa64 | mipsisa64el \
+       | mipsisa64r2 | mipsisa64r2el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
        | mipstx39 | mipstx39el \
@@ -304,7 +307,7 @@ case $basic_machine in
        | h8300-* | h8500-* \
        | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
        | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* \
+       | ip2k-* | iq2000-* \
        | m32r-* \
        | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
        | m88110-* | m88k-* | mcore-* \
@@ -319,6 +322,7 @@ case $basic_machine in
        | mipsisa32-* | mipsisa32el-* \
        | mipsisa32r2-* | mipsisa32r2el-* \
        | mipsisa64-* | mipsisa64el-* \
+       | mipsisa64r2-* | mipsisa64r2el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
        | mipstx39-* | mipstx39el-* \
@@ -740,6 +744,10 @@ case $basic_machine in
                basic_machine=or32-unknown
                os=-coff
                ;;
+       os400)
+               basic_machine=powerpc-ibm
+               os=-os400
+               ;;
        OSE68000 | ose68000)
                basic_machine=m68000-ericsson
                os=-ose
@@ -960,6 +968,10 @@ case $basic_machine in
        tower | tower-32)
                basic_machine=m68k-ncr
                ;;
+       tpf)
+               basic_machine=s390x-ibm
+               os=-tpf
+               ;;
        udi29k)
                basic_machine=a29k-amd
                os=-udi
@@ -1128,13 +1140,13 @@ case $os in
              | -aos* \
              | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
              | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
+             | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
              | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
              | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
              | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
              | -chorusos* | -chorusrdb* \
              | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
              | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
              | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
              | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
@@ -1164,6 +1176,9 @@ case $os in
        -mac*)
                os=`echo $os | sed -e 's|mac|macos|'`
                ;;
+       -linux-dietlibc)
+               os=-linux-dietlibc
+               ;;
        -linux*)
                os=`echo $os | sed -e 's|linux|linux-gnu|'`
                ;;
@@ -1176,6 +1191,9 @@ case $os in
        -opened*)
                os=-openedition
                ;;
+        -os400*)
+               os=-os400
+               ;;
        -wince*)
                os=-wince
                ;;
@@ -1219,6 +1237,9 @@ case $os in
        -sinix*)
                os=-sysv4
                ;;
+        -tpf*)
+               os=-tpf
+               ;;
        -triton*)
                os=-sysv3
                ;;
@@ -1467,9 +1488,15 @@ case $basic_machine in
                        -mvs* | -opened*)
                                vendor=ibm
                                ;;
+                       -os400*)
+                               vendor=ibm
+                               ;;
                        -ptx*)
                                vendor=sequent
                                ;;
+                       -tpf*)
+                               vendor=ibm
+                               ;;
                        -vxsim* | -vxworks* | -windiss*)
                                vendor=wrs
                                ;;