1*62562Selan#!/bin/sh 2*62562Selan# Configuration validation subroutine script, version 1.0. 3*62562Selan# Copyright (C) 1991, 1992 Free Software Foundation, Inc. 4*62562Selan 5*62562Selan#This file is free software; you can redistribute it and/or modify 6*62562Selan#it under the terms of the GNU General Public License as published by 7*62562Selan#the Free Software Foundation; either version 2 of the License, or 8*62562Selan#(at your option) any later version. 9*62562Selan 10*62562Selan#This program is distributed in the hope that it will be useful, 11*62562Selan#but WITHOUT ANY WARRANTY; without even the implied warranty of 12*62562Selan#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13*62562Selan#GNU General Public License for more details. 14*62562Selan 15*62562Selan#You should have received a copy of the GNU General Public License 16*62562Selan#along with this program; if not, write to the Free Software 17*62562Selan#Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 18*62562Selan 19*62562Selan 20*62562Selan# Configuration subroutine to validate and canonicalize a configuration type. 21*62562Selan# Supply the specified configuration type as an argument. 22*62562Selan# If it is invalid, we print an error message on stderr and exit with code 1. 23*62562Selan# Otherwise, we print the canonical config type on stdout and succeed. 24*62562Selan 25*62562Selan# This file is supposed to be the same for all GNU packages 26*62562Selan# and recognize all the CPU types, system types and aliases 27*62562Selan# that are meaningful with *any* GNU software. 28*62562Selan# Each package is responsible for reporting which valid configurations 29*62562Selan# it does not support. The user should be able to distinguish 30*62562Selan# a failure to support a valid configuration from a meaningless 31*62562Selan# configuration. 32*62562Selan 33*62562Selan# The goal of this file is to map all the various variations of a given 34*62562Selan# machine specification into a single specification in the form: 35*62562Selan# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 36*62562Selan# it is wrong to echo any other type of specification 37*62562Selan 38*62562Selanif [ x$1 = x ] 39*62562Selanthen 40*62562Selan echo Configuration name missing. 1>&2 41*62562Selan echo "Usage: $0 CPU-MFR-OPSYS" 1>&2 42*62562Selan echo "or $0 ALIAS" 1>&2 43*62562Selan echo where ALIAS is a recognized configuration type. 1>&2 44*62562Selan exit 1 45*62562Selanfi 46*62562Selan 47*62562Selan# First pass through any local machine types. 48*62562Selancase $1 in 49*62562Selan *local*) 50*62562Selan echo $1 51*62562Selan exit 0 52*62562Selan ;; 53*62562Selan *) 54*62562Selan ;; 55*62562Selanesac 56*62562Selan 57*62562Selan# Separate what the user gave into CPU-COMPANY and OS (if any). 58*62562Selanbasic_machine=`echo $1 | sed 's/-[^-][^-]*$//'` 59*62562Selanif [ $basic_machine != $1 ] 60*62562Selanthen os=`echo $1 | sed 's/.*-/-/'` 61*62562Selanelse os=; fi 62*62562Selan 63*62562Selan# Lets recognize common machines as not being OS so that things like 64*62562Selan# config.subr decstation-3100 as legal. 65*62562Selancase $os in 66*62562Selan -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 67*62562Selan -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 68*62562Selan -unicom* | -ibm* | -next* | -hp | -isi* | -apollo | -altos* | \ 69*62562Selan -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -osf* | \ 70*62562Selan -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 71*62562Selan -harris | -sim) 72*62562Selan os= 73*62562Selan basic_machine=$1 74*62562Selan ;; 75*62562Selan -scout) 76*62562Selan ;; 77*62562Selan -sco*) 78*62562Selan os=-scosysv322 79*62562Selan basic_machine=i386-unknown 80*62562Selan ;; 81*62562Selan -OSE68k | -ose68k | -OSE | -ose | -es1800) 82*62562Selan os=-ose 83*62562Selan basic_machine=m68k-ericsson 84*62562Selan ;; 85*62562Selan -OSE68000 | -ose68000) 86*62562Selan os=-ose 87*62562Selan basic_machine=m68000-ericsson 88*62562Selan ;; 89*62562Selan -isc*) 90*62562Selan os=-iscsysv 91*62562Selan basic_machine=i386-unknown 92*62562Selan ;; 93*62562Selanesac 94*62562Selan 95*62562Selan# Decode aliases for certain CPU-COMPANY combinations. 96*62562Selancase $basic_machine in 97*62562Selan # Recognize the basic CPU types with without company name. 98*62562Selan tahoe | i386 | i486 | i860 | m68k | m680[01234]0 | m683?2 \ 99*62562Selan | m88k | ns32k | arm | pyramid \ 100*62562Selan | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 | we32k\ 101*62562Selan | v70 | we32k | z8k) 102*62562Selan basic_machine=$basic_machine-unknown 103*62562Selan ;; 104*62562Selan # Recognize the basic CPU types with with company name. 105*62562Selan vax-* | tahoe-* | i386-* | i486-* | i860-* | m68k-* \ 106*62562Selan | m680[01234]0-* | m683?2-* | m88k-* \ 107*62562Selan | sparc-* | ns32k-* | alliant-* | arm-* | c[123]* \ 108*62562Selan | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ 109*62562Selan | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \ 110*62562Selan | hppa1.0-* | hppa1.1-* | we32k-* | z8k-*) 111*62562Selan ;; 112*62562Selan # Recognize the various machine names and aliases which stand 113*62562Selan # for a CPU type and a company and sometimes even an OS. 114*62562Selan 115*62562Selan 116*62562Selan vaxv) 117*62562Selan basic_machine=vax-dec 118*62562Selan os=-sysv 119*62562Selan ;; 120*62562Selan vms) 121*62562Selan basic_machine=vax-dec 122*62562Selan os=-vms 123*62562Selan ;; 124*62562Selan i386mach) 125*62562Selan basic_machine=i386-mach 126*62562Selan os=-mach 127*62562Selan ;; 128*62562Selan i386v32) 129*62562Selan basic_machine=i386-unknown 130*62562Selan os=-sysv32 131*62562Selan ;; 132*62562Selan i386-sco* | i386sco | sco) 133*62562Selan basic_machine=i386-unknown 134*62562Selan os=-scosysv322 135*62562Selan ;; 136*62562Selan go32 | i386-go32) 137*62562Selan basic_machine=i386-unknown 138*62562Selan os=-go32 139*62562Selan ;; 140*62562Selan i386-isc* | isc) 141*62562Selan basic_machine=i386-unknown 142*62562Selan os=-iscsysv 143*62562Selan ;; 144*62562Selan i386-linux* | linux) 145*62562Selan basic_machine=i386-unknown 146*62562Selan os=-linux 147*62562Selan ;; 148*62562Selan i386v4*) 149*62562Selan basic_machine=i386-unknown 150*62562Selan os=-sysv4 151*62562Selan ;; 152*62562Selan i486v4*) 153*62562Selan basic_machine=i486-unknown 154*62562Selan os=-sysv4 155*62562Selan ;; 156*62562Selan i386v) 157*62562Selan basic_machine=i386-unknown 158*62562Selan os=-sysv 159*62562Selan ;; 160*62562Selan i486v) 161*62562Selan basic_machine=i486-unknown 162*62562Selan os=-sysv 163*62562Selan ;; 164*62562Selan 386bsd) 165*62562Selan basic_machine=i386-unknown 166*62562Selan os=-bsd 167*62562Selan ;; 168*62562Selan spur) 169*62562Selan basic_machine=spur-unknown 170*62562Selan ;; 171*62562Selan alliant) 172*62562Selan basic_machine=alliant-alliant 173*62562Selan ;; 174*62562Selan convex-c1) 175*62562Selan basic_machine=c1-convex 176*62562Selan os=-sysv 177*62562Selan ;; 178*62562Selan convex-c2) 179*62562Selan basic_machine=c2-convex 180*62562Selan os=-sysv 181*62562Selan ;; 182*62562Selan convex-c32) 183*62562Selan basic_machine=c32-convex 184*62562Selan os=-sysv 185*62562Selan ;; 186*62562Selan convex-c34) 187*62562Selan basic_machine=c34-convex 188*62562Selan os=-sysv 189*62562Selan ;; 190*62562Selan convex-c38) 191*62562Selan basic_machine=c38-convex 192*62562Selan os=-sysv 193*62562Selan ;; 194*62562Selan m88k-omron*) 195*62562Selan basic_machine=m88k-omron 196*62562Selan ;; 197*62562Selan merlin) 198*62562Selan basic_machine=ns32k-utek 199*62562Selan os=-sysv 200*62562Selan ;; 201*62562Selan crds | unos) 202*62562Selan basic_machine=m68k-crds 203*62562Selan ;; 204*62562Selan encore | umax | mmax) 205*62562Selan basic_machine=ns32k-encore 206*62562Selan os=-sysv 207*62562Selan ;; 208*62562Selan genix) 209*62562Selan basic_machine=ns32k-ns 210*62562Selan ;; 211*62562Selan iris | iris3 | iris4d) 212*62562Selan basic_machine=mips-sgi 213*62562Selan os=-irix3 214*62562Selan ;; 215*62562Selan iris4) 216*62562Selan basic_machine=mips-sgi 217*62562Selan os=-irix4 218*62562Selan ;; 219*62562Selan news | news700 | news800 | news900) 220*62562Selan basic_machine=m68k-sony 221*62562Selan os=-newsos 222*62562Selan ;; 223*62562Selan 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 224*62562Selan basic_machine=m68k-att 225*62562Selan ;; 226*62562Selan 3b* | we32k* ) 227*62562Selan basic_machine=we32k-att 228*62562Selan os=-sysv 229*62562Selan ;; 230*62562Selan delta | 3300 | motorola-3300 | motorola-delta \ 231*62562Selan | 3300-motorola | delta-motorola) 232*62562Selan basic_machine=m68k-motorola 233*62562Selan ;; 234*62562Selan balance) 235*62562Selan basic_machine=ns32k-sequent 236*62562Selan os=-dynix 237*62562Selan ;; 238*62562Selan pc532) 239*62562Selan basic_machine=ns32k-pc532 240*62562Selan ;; 241*62562Selan symmetry) 242*62562Selan basic_machine=i386-sequent 243*62562Selan os=-dynix 244*62562Selan ;; 245*62562Selan sun2) 246*62562Selan basic_machine=m68000-sun 247*62562Selan ;; 248*62562Selan sun2os3) 249*62562Selan basic_machine=m68000-sun 250*62562Selan os=-sunos3 251*62562Selan ;; 252*62562Selan sun2os4) 253*62562Selan basic_machine=m68000-sun 254*62562Selan os=-sunos4 255*62562Selan ;; 256*62562Selan sun3os3) 257*62562Selan basic_machine=m68k-sun 258*62562Selan os=-sunos3 259*62562Selan ;; 260*62562Selan sun3os4) 261*62562Selan basic_machine=m68k-sun 262*62562Selan os=-sunos4 263*62562Selan ;; 264*62562Selan sun4os3) 265*62562Selan basic_machine=sparc-sun 266*62562Selan os=-sunos3 267*62562Selan ;; 268*62562Selan sun4os4) 269*62562Selan basic_machine=sparc-sun 270*62562Selan os=-sunos4 271*62562Selan ;; 272*62562Selan sun4sol2) 273*62562Selan basic_machine=sparc-sun 274*62562Selan os=-solaris2 275*62562Selan ;; 276*62562Selan z8ksim) 277*62562Selan basic_machine=z8k-unknown 278*62562Selan os=-sim 279*62562Selan ;; 280*62562Selan sun3) 281*62562Selan basic_machine=m68k-sun 282*62562Selan ;; 283*62562Selan sun4) 284*62562Selan basic_machine=sparc-sun 285*62562Selan ;; 286*62562Selan msdos) 287*62562Selan basic_machine=i386-unknown 288*62562Selan os=-msdos 289*62562Selan ;; 290*62562Selan pbd) 291*62562Selan basic_machine=sparc-unicom 292*62562Selan ;; 293*62562Selan sun386 | sun386i | roadrunner) 294*62562Selan basic_machine=i386-sun 295*62562Selan ;; 296*62562Selan ps2) 297*62562Selan basic_machine=i386-ibm 298*62562Selan ;; 299*62562Selan next) 300*62562Selan basic_machine=m68k-next 301*62562Selan os=-bsd 302*62562Selan ;; 303*62562Selan hp9k3[2-9][0-9]) 304*62562Selan basic_machine=m68k-hp 305*62562Selan ;; 306*62562Selan hp9k31[0-9] | hp9k2[0-9][0-9]) 307*62562Selan basic_machine=m68000-hp 308*62562Selan ;; 309*62562Selan hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) 310*62562Selan basic_machine=hppa1.1-hp 311*62562Selan ;; 312*62562Selan hp9k8[0-9][0-9] | hp8[0-9][0-9]) 313*62562Selan basic_machine=hppa1.0-hp 314*62562Selan ;; 315*62562Selan isi68 | isi) 316*62562Selan basic_machine=m68k-isi 317*62562Selan os=-sysv 318*62562Selan ;; 319*62562Selan apollo68) 320*62562Selan basic_machine=m68k-apollo 321*62562Selan os=-sysv 322*62562Selan ;; 323*62562Selan apollo68bsd) 324*62562Selan basic_machine=m68k-apollo 325*62562Selan os=-bsd 326*62562Selan ;; 327*62562Selan altos | altos3068) 328*62562Selan basic_machine=m68k-altos 329*62562Selan ;; 330*62562Selan miniframe) 331*62562Selan basic_machine=m68000-convergent 332*62562Selan ;; 333*62562Selan tower | tower-32) 334*62562Selan basic_machine=m68k-ncr 335*62562Selan ;; 336*62562Selan news-3600 | risc-news) 337*62562Selan basic_machine=mips-sony 338*62562Selan os=-newsos 339*62562Selan ;; 340*62562Selan st2000) 341*62562Selan basic_machine=m68k-tandem 342*62562Selan ;; 343*62562Selan decstation-dec | decstation | decstation-3100 | pmax | pmin | dec3100 | decstatn) 344*62562Selan basic_machine=mips-dec 345*62562Selan ;; 346*62562Selan magnum | m3230) 347*62562Selan basic_machine=mips-mips 348*62562Selan os=-sysv 349*62562Selan ;; 350*62562Selan gmicro) 351*62562Selan basic_machine=tron-gmicro 352*62562Selan os=-sysv 353*62562Selan ;; 354*62562Selan rtpc | rtpc-*) 355*62562Selan basic_machine=romp-ibm 356*62562Selan ;; 357*62562Selan am29k) 358*62562Selan basic_machine=a29k-none 359*62562Selan os=-bsd 360*62562Selan ;; 361*62562Selan amdahl) 362*62562Selan basic_machine=580-amdahl 363*62562Selan os=-sysv 364*62562Selan ;; 365*62562Selan amigados) 366*62562Selan basic_machine=m68k-cbm 367*62562Selan os=-amigados 368*62562Selan ;; 369*62562Selan amigaunix | amix) 370*62562Selan basic_machine=m68k-cbm 371*62562Selan os=-sysv4 372*62562Selan ;; 373*62562Selan stratus) 374*62562Selan basic_machine=i860-stratus 375*62562Selan os=-sysv4 376*62562Selan ;; 377*62562Selan cray | ymp) 378*62562Selan basic_machine=ymp-cray 379*62562Selan os=-unicos 380*62562Selan ;; 381*62562Selan cray2) 382*62562Selan basic_machine=cray2-cray 383*62562Selan os=-unicos 384*62562Selan ;; 385*62562Selan xmp) 386*62562Selan basic_machine=xmp-cray 387*62562Selan os=-unicos 388*62562Selan ;; 389*62562Selan delta88) 390*62562Selan basic_machine=m88k-motorola 391*62562Selan os=-m88kbcs 392*62562Selan ;; 393*62562Selan dpx2) 394*62562Selan basic_machine=m68k-bull 395*62562Selan os=-sysv 396*62562Selan ;; 397*62562Selan ebmon29k) 398*62562Selan basic_machine=a29k-amd 399*62562Selan os=-ebmon 400*62562Selan ;; 401*62562Selan 402*62562Selan h8300hms) 403*62562Selan basic_machine=h8300-hitachi 404*62562Selan os=-hms 405*62562Selan ;; 406*62562Selan udi29k) 407*62562Selan basic_machine=a29k-amd 408*62562Selan os=-udi 409*62562Selan ;; 410*62562Selan a29khif) 411*62562Selan basic_machine=a29k-amd 412*62562Selan os=-udi 413*62562Selan ;; 414*62562Selan sa29200) 415*62562Selan basic_machine=a29k-amd 416*62562Selan os=-udi 417*62562Selan ;; 418*62562Selan h8300xray) 419*62562Selan basic_machine=h8300-hitachi 420*62562Selan os=-xray 421*62562Selan ;; 422*62562Selan harris) 423*62562Selan basic_machine=m88k-harris 424*62562Selan os=-m88kbcs 425*62562Selan ;; 426*62562Selan hp300bsd) 427*62562Selan basic_machine=m68k-hp 428*62562Selan os=-bsd 429*62562Selan ;; 430*62562Selan hp300hpux) 431*62562Selan basic_machine=m68k-hp 432*62562Selan os=-hpux 433*62562Selan ;; 434*62562Selan hp9k2[0-9][0-9] | hp9k31[0-9]) 435*62562Selan basic_machine=m68000-hp 436*62562Selan os=-hpux 437*62562Selan ;; 438*62562Selan hp9k3[2-9][0-9]) 439*62562Selan basic_machine=m68k-hp 440*62562Selan os=-hpux 441*62562Selan ;; 442*62562Selan hppabsd) 443*62562Selan basic_machine=hppa-hp 444*62562Selan os=-bsd 445*62562Selan ;; 446*62562Selan hppahpux) 447*62562Selan basic_machine=hppa-hp 448*62562Selan os=-hpux 449*62562Selan ;; 450*62562Selan ncr3000) 451*62562Selan basic_machine=i486-ncr 452*62562Selan os=-sysv4 453*62562Selan ;; 454*62562Selan necv70) 455*62562Selan basic_machine=v70-nec 456*62562Selan os=-sysv 457*62562Selan ;; 458*62562Selan news1000) 459*62562Selan basic_machine=m68030-sony 460*62562Selan os=-newsos 461*62562Selan ;; 462*62562Selan nindy960) 463*62562Selan basic_machine=i960-intel 464*62562Selan os=-nindy 465*62562Selan ;; 466*62562Selan pn) 467*62562Selan basic_machine=pn-gould 468*62562Selan os=-sysv 469*62562Selan ;; 470*62562Selan np1) 471*62562Selan basic_machine=np1-gould 472*62562Selan os=-sysv 473*62562Selan ;; 474*62562Selan ultra3) 475*62562Selan basic_machine=a29k-nyu 476*62562Selan os=-sym1 477*62562Selan ;; 478*62562Selan vxworks960) 479*62562Selan basic_machine=i960-wrs 480*62562Selan os=-vxworks 481*62562Selan ;; 482*62562Selan vxworks68) 483*62562Selan basic_machine=m68k-wrs 484*62562Selan os=-vxworks 485*62562Selan ;; 486*62562Selan es1800 | OSE68k | ose68k) 487*62562Selan basic_machine=m68k-ericsson 488*62562Selan os=-ose 489*62562Selan ;; 490*62562Selan OSE68000 | ose68000) 491*62562Selan basic_machine=m68000-ericsson 492*62562Selan os=-ose 493*62562Selan ;; 494*62562Selan os68k) 495*62562Selan basic_machine=m68k-none 496*62562Selan os=-os68k 497*62562Selan ;; 498*62562Selan sparclite) 499*62562Selan basic_machine=sparclite-fujitsu 500*62562Selan os=-none 501*62562Selan ;; 502*62562Selan sparclite-wrs) 503*62562Selan basic_machine=sparclite-wrs 504*62562Selan os=-vxworks 505*62562Selan ;; 506*62562Selan sparcfrw) 507*62562Selan basic_machine=sparcfrw-sun 508*62562Selan os=-sunos4 509*62562Selan ;; 510*62562Selan sparcfrwcompat) 511*62562Selan basic_machine=sparcfrwcompat-sun 512*62562Selan os=-sunos4 513*62562Selan ;; 514*62562Selan sparclitefrw) 515*62562Selan basic_machine=sparclitefrw-fujitsu 516*62562Selan os=-none 517*62562Selan ;; 518*62562Selan sparclitefrwcompat) 519*62562Selan basic_machine=sparclitefrwcompat-fujitsu 520*62562Selan os=-none 521*62562Selan ;; 522*62562Selan adobe68k) 523*62562Selan basic_machine=m68010-adobe 524*62562Selan os=-scout 525*62562Selan ;; 526*62562Selan 527*62562Selan none) 528*62562Selan basic_machine=none-none 529*62562Selan os=-none 530*62562Selan ;; 531*62562Selan 532*62562Selan# Here we handle the default manufacturer of certain CPU types. It is in 533*62562Selan# some cases the only manufacturer, in others, it is the most popular. 534*62562Selan mips) 535*62562Selan basic_machine=mips-mips 536*62562Selan ;; 537*62562Selan romp) 538*62562Selan basic_machine=romp-ibm 539*62562Selan ;; 540*62562Selan rs6000) 541*62562Selan basic_machine=rs6000-ibm 542*62562Selan ;; 543*62562Selan vax) 544*62562Selan basic_machine=vax-dec 545*62562Selan ;; 546*62562Selan sparc) 547*62562Selan basic_machine=sparc-sun 548*62562Selan ;; 549*62562Selan fx2800) 550*62562Selan basic_machine=i860-alliant 551*62562Selan ;; 552*62562Selan *) 553*62562Selan echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 554*62562Selan exit 1 555*62562Selan ;; 556*62562Selanesac 557*62562Selan 558*62562Selan# Decode manufacturer-specific aliases for certain operating systems. 559*62562Selan 560*62562Selanif [ "$os" ] 561*62562Selanthen 562*62562Selancase $os in 563*62562Selan # First accept the basic system types. 564*62562Selan # The portable systems comes first. 565*62562Selan # Each alternative must end in a *, to match a version number. 566*62562Selan -bsd* | -sysv* | -mach* | -minix* | -genix* | -ultrix* \ 567*62562Selan | -aout | -coff | -elf \ 568*62562Selan | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \ 569*62562Selan | -unos* | -osf* | -v88r* | -luna* | -dgux* | -solaris* | -sym* \ 570*62562Selan | -newsos | -amigados* | -msdos* | -none* | -os68k* | -irix* \ 571*62562Selan | -nindy* | -vxworks* | -ebmon* | -udi | -hms* | -xray \ 572*62562Selan | -m88kbcs* | -go32 | -linux* | -sim | -es1800*) 573*62562Selan ;; 574*62562Selan 575*62562Selan# Note that readline checks for newsos 576*62562Selan# -newsos*) 577*62562Selan# os=-bsd 578*62562Selan# ;; 579*62562Selan -osfrose*) 580*62562Selan os=-osf 581*62562Selan ;; 582*62562Selan -osf*) 583*62562Selan os=-bsd 584*62562Selan ;; 585*62562Selan -dynix*) 586*62562Selan os=-bsd 587*62562Selan ;; 588*62562Selan -aos*) 589*62562Selan os=-bsd 590*62562Selan ;; 591*62562Selan -386bsd) 592*62562Selan os=-bsd 593*62562Selan ;; 594*62562Selan -ctix* | -uts*) 595*62562Selan os=-sysv 596*62562Selan ;; 597*62562Selan -svr4) 598*62562Selan os=-sysv4 599*62562Selan ;; 600*62562Selan -svr3) 601*62562Selan os=-sysv3 602*62562Selan ;; 603*62562Selan -ose*) 604*62562Selan os=-ose 605*62562Selan ;; 606*62562Selan -es1800*) 607*62562Selan os=-ose 608*62562Selan ;; 609*62562Selan *) 610*62562Selan # Get rid of the `-' at the beginning of $os. 611*62562Selan os=`echo $1 | sed 's/[^-]*-//'` 612*62562Selan echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 613*62562Selan exit 1 614*62562Selan ;; 615*62562Selanesac 616*62562Selanelse 617*62562Selan 618*62562Selan# Here we handle the default operating systems that come with various machines. 619*62562Selan# The value should be what the vendor currently ships out the door with their 620*62562Selan# machine or put another way, the most popular os provided with the machine. 621*62562Selancase $basic_machine in 622*62562Selan *-dec | vax-*) 623*62562Selan os=-ultrix42 624*62562Selan ;; 625*62562Selan i386-sun) 626*62562Selan os=-sunos402 627*62562Selan ;; 628*62562Selan m68000-sun) 629*62562Selan os=-sunos3 630*62562Selan # This also exists in the configure program, but was not the 631*62562Selan # default. 632*62562Selan # os=-sunos4 633*62562Selan ;; 634*62562Selan sparc-* | *-sun) 635*62562Selan os=-sunos411 636*62562Selan ;; 637*62562Selan romp-*) 638*62562Selan os=-bsd 639*62562Selan ;; 640*62562Selan *-ibm) 641*62562Selan os=-aix 642*62562Selan ;; 643*62562Selan *-hp) 644*62562Selan os=-hpux 645*62562Selan ;; 646*62562Selan *-sgi | i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 647*62562Selan os=-sysv 648*62562Selan ;; 649*62562Selan *-dg) 650*62562Selan os=-dgux 651*62562Selan ;; 652*62562Selan m88k-omron*) 653*62562Selan os=-luna 654*62562Selan ;; 655*62562Selan *-crds) 656*62562Selan os=-unos 657*62562Selan ;; 658*62562Selan *-ns) 659*62562Selan os=-genix 660*62562Selan ;; 661*62562Selan i386-*) 662*62562Selan os=-scosysv322 663*62562Selan ;; 664*62562Selan *) 665*62562Selan os=-none 666*62562Selan ;; 667*62562Selanesac 668*62562Selanfi 669*62562Selan 670*62562Selan# Here we handle the case where we know the os, and the CPU type, but not the 671*62562Selan# manufacturer. We pick the logical manufacturer. 672*62562Selanvendor=unknown 673*62562Selancase $basic_machine in 674*62562Selan *-unknown) 675*62562Selan case $os in 676*62562Selan -sunos*) 677*62562Selan vendor=sun 678*62562Selan ;; 679*62562Selan -aix*) 680*62562Selan vendor=ibm 681*62562Selan ;; 682*62562Selan -hpux*) 683*62562Selan vendor=hp 684*62562Selan ;; 685*62562Selan -unos*) 686*62562Selan vendor=crds 687*62562Selan ;; 688*62562Selan -dgux*) 689*62562Selan vendor=dg 690*62562Selan ;; 691*62562Selan -luna*) 692*62562Selan vendor=omron 693*62562Selan ;; 694*62562Selan -genix*) 695*62562Selan vendor=ns 696*62562Selan ;; 697*62562Selan -vxworks*) 698*62562Selan vendor=wrs 699*62562Selan ;; 700*62562Selan esac 701*62562Selan basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 702*62562Selan ;; 703*62562Selanesac 704*62562Selan 705*62562Selanecho $basic_machine$os 706