Normalize the names for NeXT’s operating systems consistently.
The version number bump from 2 to 3 went along with a marketing
name change from “nextstep” to “openstep”, which was being honored,
or not, depending on what shorthand you put in and what CPU you
selected (!)

Consistent with the treatment of “Solaris 1” as an alias for sunos4
and “SunOS 5” as an alias for solaris2, and also with what config.guess
appears to do on these machines (which I do not have), config.sub will
now emit CPU-next-nextstep, -nextstep2, -openstep3, -openstep4 no
matter how it was spelled on input.

These OSes historically were used with several other CPUs besides m68k
and sparc, but I think one CPU for which they have a single-component
shorthand, and one for which they don’t, is enough testing.
---
 config.sub                | 32 +++++++++++++++++---------------
 testsuite/config-sub.data | 23 +++++++++++++++++++++++
 2 files changed, 40 insertions(+), 15 deletions(-)

diff --git a/config.sub b/config.sub
index 41f5d79..3f667ea 100755
--- a/config.sub
+++ b/config.sub
@@ -885,18 +885,6 @@ case $basic_machine in
        next | m*-next)
                cpu=m68k
                vendor=next
-               case $basic_os in
-                   openstep*)
-                       ;;
-                   nextstep*)
-                       ;;
-                   ns2*)
-                     basic_os=nextstep2
-                       ;;
-                   *)
-                     basic_os=nextstep3
-                       ;;
-               esac
                ;;
        np1)
                cpu=np1
@@ -1543,6 +1531,23 @@ case $os in
        unixware*)
                os=sysv4.2uw
                ;;
+       # The marketing names for NeXT's operating systems were
+       # NeXTSTEP, NeXTSTEP 2, OpenSTEP 3, OpenSTEP 4.  'openstep' is
+       # mapped to 'openstep3', but 'openstep1' and 'openstep2' are
+       # mapped to 'nextstep' and 'nextstep2', consistent with the
+       # treatment of SunOS/Solaris.
+       ns | ns1 | nextstep | nextstep1 | openstep1)
+               os=nextstep
+               ;;
+       ns2 | nextstep2 | openstep2)
+               os=nextstep2
+               ;;
+       ns3 | nextstep3 | openstep | openstep3)
+               os=openstep3
+               ;;
+       ns4 | nextstep4 | openstep4)
+               os=openstep4
+               ;;
        # es1800 is here to avoid being matched by es* (a different OS)
        es1800*)
                os=ose
@@ -1635,9 +1640,6 @@ case $os in
        nova*)
                os=rtmk-nova
                ;;
-       ns2)
-               os=nextstep2
-               ;;
        # Preserve the version number of sinix5.
        sinix5.*)
                os=`echo "$os" | sed -e 's|sinix|sysv|'`
diff --git a/testsuite/config-sub.data b/testsuite/config-sub.data
index c4c092c..568778d 100644
--- a/testsuite/config-sub.data
+++ b/testsuite/config-sub.data
@@ -425,6 +425,19 @@ m68k                                               
m68k-unknown-none
 m68k-bull                                      m68k-bull-sysv3
 m68k-es1800                                    m68k-unknown-ose
 m68k-mint                                      m68k-atari-mint
+m68k-next-nextstep                             m68k-next-nextstep
+m68k-next-nextstep1                            m68k-next-nextstep
+m68k-next-nextstep2                            m68k-next-nextstep2
+m68k-next-nextstep3                            m68k-next-openstep3
+m68k-next-nextstep4                            m68k-next-openstep4
+m68k-next-ns                                   m68k-next-nextstep
+m68k-next-ns1                                  m68k-next-nextstep
+m68k-next-ns2                                  m68k-next-nextstep2
+m68k-next-ns3                                  m68k-next-openstep3
+m68k-next-ns4                                  m68k-next-openstep4
+m68k-next-openstep                             m68k-next-openstep3
+m68k-next-openstep1                            m68k-next-nextstep
+m68k-next-openstep2                            m68k-next-nextstep2
 m68k-next-openstep3                            m68k-next-openstep3
 m68k-next-openstep4                            m68k-next-openstep4
 m68knommu                                      m68k-unknown-linux-gnu
@@ -800,6 +813,16 @@ shle-elf                                   shle-unknown-elf
 simso-wrs                                      sparclite-wrs-vxworks
 sparc                                          sparc-sun-sunos4.1.1
 sparc-haiku                                    sparc-unknown-haiku
+sparc-nextstep                                 sparc-unknown-nextstep
+sparc-nextstep1                                        sparc-unknown-nextstep
+sparc-nextstep2                                        sparc-unknown-nextstep2
+sparc-nextstep3                                        sparc-unknown-openstep3
+sparc-nextstep4                                        sparc-unknown-openstep4
+sparc-openstep                                 sparc-unknown-openstep3
+sparc-openstep1                                        sparc-unknown-nextstep
+sparc-openstep2                                        sparc-unknown-nextstep2
+sparc-openstep3                                        sparc-unknown-openstep3
+sparc-openstep4                                        sparc-unknown-openstep4
 sparc-solaris                                  sparc-sun-solaris2
 sparc-solaris1                                 sparc-sun-sunos4
 sparc-sunos                                    sparc-sun-sunos
-- 
2.43.2


Reply via email to