1*953605d5SPedro Giffuni#!/usr/bin/perl -w 2bb113e63SAndrew Rist# ************************************************************* 3bb113e63SAndrew Rist# 4bb113e63SAndrew Rist# Licensed to the Apache Software Foundation (ASF) under one 5bb113e63SAndrew Rist# or more contributor license agreements. See the NOTICE file 6bb113e63SAndrew Rist# distributed with this work for additional information 7bb113e63SAndrew Rist# regarding copyright ownership. The ASF licenses this file 8bb113e63SAndrew Rist# to you under the Apache License, Version 2.0 (the 9bb113e63SAndrew Rist# "License"); you may not use this file except in compliance 10bb113e63SAndrew Rist# with the License. You may obtain a copy of the License at 11bb113e63SAndrew Rist# 12bb113e63SAndrew Rist# http://www.apache.org/licenses/LICENSE-2.0 13bb113e63SAndrew Rist# 14bb113e63SAndrew Rist# Unless required by applicable law or agreed to in writing, 15bb113e63SAndrew Rist# software distributed under the License is distributed on an 16bb113e63SAndrew Rist# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17bb113e63SAndrew Rist# KIND, either express or implied. See the License for the 18bb113e63SAndrew Rist# specific language governing permissions and limitations 19bb113e63SAndrew Rist# under the License. 20bb113e63SAndrew Rist# 21bb113e63SAndrew Rist# ************************************************************* 22cdf0e10cSrcweir 23cdf0e10cSrcweir# *********************************************************************** 24cdf0e10cSrcweir# Description: 25cdf0e10cSrcweir# Filename: osarch.pm 2686e1cf34SPedro Giffuni# Author: EG 27cdf0e10cSrcweir# Date: 28.10.96 28cdf0e10cSrcweir# $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/solenv/bin/modules/osarch.pm,v 1.3 2008-08-18 13:11:04 vg Exp $ 29cdf0e10cSrcweir# Copyright: STAR DIVISION 30cdf0e10cSrcweir# **********************************************************************/ 31cdf0e10cSrcweir 32cdf0e10cSrcweirpackage osarch; 33cdf0e10cSrcweir 34cdf0e10cSrcweir$m_str = `uname -m`; 35cdf0e10cSrcweir$s_str = `uname -s`; 36cdf0e10cSrcweirchop( $m_str, $s_str ); 37cdf0e10cSrcweir 38cdf0e10cSrcweir%osTable = ("SunOS", "solaris", 39cdf0e10cSrcweir "HP-UX", "hpux", 40cdf0e10cSrcweir "AIX", "aix", 41cdf0e10cSrcweir "OS/390", "s390", 42cdf0e10cSrcweir "Linux", "linux", 43cdf0e10cSrcweir "FreeBSD", "freebsd", 44cdf0e10cSrcweir "NetBSD", "netbsd", 45cdf0e10cSrcweir "OSF1", "decunix", 46cdf0e10cSrcweir "SCO_SV", "scoosr5", 47cdf0e10cSrcweir# "SCO_SV", "scouw21", 48cdf0e10cSrcweir "Darwin", "macosxp", 49cdf0e10cSrcweir "Mac OS", "macosxp", 50cdf0e10cSrcweir "SINIX-N", "sinix" 51cdf0e10cSrcweir ); 52cdf0e10cSrcweir 53cdf0e10cSrcweir%osDefTable = ("SunOS", "-DSYSV -DSOLARIS", 54cdf0e10cSrcweir "HP-UX", "-DSYSV -DHPUX", 55cdf0e10cSrcweir "AIX", "-DSYSV -DAIX", 56cdf0e10cSrcweir "Linux", "-DLINUX", 57cdf0e10cSrcweir "FreeBSD", "-DFREEBSD", 58cdf0e10cSrcweir "NetBSD", "-DNETBSD", 59cdf0e10cSrcweir "OSF1", "-DSYSV -DDECUNIX", 60cdf0e10cSrcweir "SCO_SV", "-DSYSV -DSCO -DSCO_OSR5", 61cdf0e10cSrcweir# "SCO_SV", "-DSYSV -DSCO -DSCO_UW21", 62cdf0e10cSrcweir "Darwin", "-DBSD -DMACOSX", 63cdf0e10cSrcweir "Mac OS", "-DBSD -DMACOSX", 64cdf0e10cSrcweir "SINIX-N", "-DSYSV -DSINIX" 65cdf0e10cSrcweir ); 66cdf0e10cSrcweir 67cdf0e10cSrcweir%osDosTable = ("SunOS", "sol", 68cdf0e10cSrcweir "HP-UX", "hpx", 69cdf0e10cSrcweir "AIX", "aix", 70cdf0e10cSrcweir "OS/390", "mvs", 71cdf0e10cSrcweir "Linux", "lng", 72cdf0e10cSrcweir "FreeBSD", "fbsd", 73cdf0e10cSrcweir "NetBSD", "bsd", 74cdf0e10cSrcweir "SCO_SV", "sco", 75cdf0e10cSrcweir "Darwin", "macx", 76cdf0e10cSrcweir "Mac OS", "macx", 77cdf0e10cSrcweir "SINIX-N", "sni" 78cdf0e10cSrcweir ); 79cdf0e10cSrcweir 80cdf0e10cSrcweir%archTable = ("sun4c", "sparc", 81cdf0e10cSrcweir "sun4m", "sparc", 82cdf0e10cSrcweir "sun4u", "sparc", 83cdf0e10cSrcweir "9000/712", "hp9000", 84cdf0e10cSrcweir "9000/715", "hp9000", 85cdf0e10cSrcweir "9000/778", "hp9000", 86cdf0e10cSrcweir "000029484600", "rs6000", # salsa 87cdf0e10cSrcweir "000328144600", "rs6000", # lambada 88cdf0e10cSrcweir "00245D29E000", "rs6000", # segv 89cdf0e10cSrcweir "00245C46E000", "rs6000", # bus 90cdf0e10cSrcweir "002012974600", "rs6000", # tango 91cdf0e10cSrcweir "0006404C4C00", "rs6000", # jive 92cdf0e10cSrcweir "2003", "g3", # ezopen4 93cdf0e10cSrcweir "i86pc", "x86", # blauwal 94cdf0e10cSrcweir "i386", "x86", # SCO_SV, NetBSD, FreeBSD 95cdf0e10cSrcweir "i486", "x86", # tiger 96cdf0e10cSrcweir "i586", "x86", # blauwal 97cdf0e10cSrcweir "i686", "x86", 98cdf0e10cSrcweir "prep", "ppc", # hooge 99cdf0e10cSrcweir "ppc", "ppc", # ppc-linux 100cdf0e10cSrcweir "alpha", "alpha", 101cdf0e10cSrcweir "RM400", "rm400", # garbo 102cdf0e10cSrcweir "IP22", "mips", # voyager 103cdf0e10cSrcweir "IP32", "mips", # giotto 104cdf0e10cSrcweir "Power Macintosh", "ppc", # NetBSD/arm32 105cdf0e10cSrcweir "arm32", "arm32" # NetBSD/arm32 106cdf0e10cSrcweir ); 107cdf0e10cSrcweir 108cdf0e10cSrcweir%archDefTable=("sun4c", "-DSPARC -DSUN -DSUN4", # hawai 109cdf0e10cSrcweir "sun4m", "-DSPARC -DSUN -DSUN4", # broccoli 110cdf0e10cSrcweir "sun4u", "-DSPARC -DSUN -DSUN4", # broccoli 111cdf0e10cSrcweir "9000/712", "-DHP9000", # tuborg 112cdf0e10cSrcweir "9000/715", "-DHP9000", # koepi 113cdf0e10cSrcweir "9000/778", "-DHP9000", # jever, flens 114cdf0e10cSrcweir "000029484600", "-DRS6000", # salsa 115cdf0e10cSrcweir "000328144600", "-DRS6000", # lambada 116cdf0e10cSrcweir "00245D29E000", "-DRS6000", # segv 117cdf0e10cSrcweir "00245C46E000", "-DRS6000", # segv 118cdf0e10cSrcweir "002012974600", "-DRS6000", # tango 119cdf0e10cSrcweir "0006404C4C00", "-DRS6000", # jive 120cdf0e10cSrcweir "2003", "-DG3", # ezopen4 121cdf0e10cSrcweir "i86pc", "-DX86 -DINTEL",# gepard 122cdf0e10cSrcweir "i386", "-DX86", # SCO_SV, NetBSD, FreeBSD 123cdf0e10cSrcweir "i486", "-DX86", # tiger 124cdf0e10cSrcweir "i586", "-DX86", # blauwal 125cdf0e10cSrcweir "i686", "-DX86", # 126cdf0e10cSrcweir "prep", "-DPPC", # hooge 127cdf0e10cSrcweir "ppc", "-DPPC", # ppc-linux 128cdf0e10cSrcweir "alpha", "-DALPHA", # mars 129cdf0e10cSrcweir "RM400", "-DMIPS -DRM400", # ekberg, garbo 130cdf0e10cSrcweir "IP22", "-DMIPS", # voyager 131cdf0e10cSrcweir "IP32", "-DMIPS", # giotto 132cdf0e10cSrcweir "Power Macintosh", "-DPPC", # NetBSD/arm32 133cdf0e10cSrcweir "arm32", "-DARM32" # NetBSD/arm32 134cdf0e10cSrcweir ); 135cdf0e10cSrcweir 136cdf0e10cSrcweir%archDosTable=("sun4c", "s", # hawai 137cdf0e10cSrcweir "sun4m", "s", # broccoli 138cdf0e10cSrcweir "sun4u", "s", # broccoli 139cdf0e10cSrcweir "9000/712", "r", # tuborg 140cdf0e10cSrcweir "9000/715", "r", # koepi 141cdf0e10cSrcweir "9000/778", "r", # jever, flens 142cdf0e10cSrcweir "000029484600", "p", # salsa 143cdf0e10cSrcweir "000328144600", "p", # lambada 144cdf0e10cSrcweir "00245D29E000", "p", # segv 145cdf0e10cSrcweir "00245C46E000", "p", # segv 146cdf0e10cSrcweir "002012974600", "p", # tango 147cdf0e10cSrcweir "0006404C4C00", "p", # jive 148cdf0e10cSrcweir "2003", "g", # ezopen4 149cdf0e10cSrcweir "i86pc", "i", # gepard 150cdf0e10cSrcweir "i386", "i", # SCO_SV, NetBSD, FreeBSD 151cdf0e10cSrcweir "i486", "i", # tiger 152cdf0e10cSrcweir "i586", "i", # blauwal 153cdf0e10cSrcweir "i686", "i", 154cdf0e10cSrcweir "prep", "p", # hooge 155cdf0e10cSrcweir "ppc", "p", # ppc-linux 156cdf0e10cSrcweir "alpha", "a", # mars 157cdf0e10cSrcweir "RM400", "m", # ekberg, garbo 158cdf0e10cSrcweir "IP22", "m", # voyager 159cdf0e10cSrcweir "IP32", "m", # giotto 160cdf0e10cSrcweir "Power Macintosh", "p", # NetBSD/arm32 161cdf0e10cSrcweir "arm32", "a" # NetBSD/arm32 162cdf0e10cSrcweir ); 163cdf0e10cSrcweir 164cdf0e10cSrcweir$main::solarDef = $osDefTable{ $s_str }.' '.$archDefTable{ $m_str }; 165cdf0e10cSrcweir 166cdf0e10cSrcweir$main::solarOS = $osTable{ $s_str }; 167cdf0e10cSrcweir$main::solarMT = $archTable{ $m_str }; 168cdf0e10cSrcweir 169cdf0e10cSrcweir$main::solarArch = $main::solarOS.$main::solarMT; 170cdf0e10cSrcweir$main::solarOldArch = $main::solarArch; # for compatibility 171cdf0e10cSrcweir 172cdf0e10cSrcweir$main::solarDOS = 'unx'.$osDosTable{ $s_str }. $archDosTable{ $m_str }; 173cdf0e10cSrcweir 174cdf0e10cSrcweirsub main::osarch 175cdf0e10cSrcweir{ 176cdf0e10cSrcweir local ( $flag ) = @_; 177cdf0e10cSrcweir 178cdf0e10cSrcweir $perlFlag = $flag eq 'perl'; 179cdf0e10cSrcweir $defFlag = $flag eq 'def'; 180cdf0e10cSrcweir $oldFlag = $flag eq 'old'; 181cdf0e10cSrcweir $dirFlag = $flag eq 'dir'; 182cdf0e10cSrcweir $dosFlag = $flag eq 'dos'; 183cdf0e10cSrcweir 184cdf0e10cSrcweir local( $result ) = ( '' ); 185cdf0e10cSrcweir 186cdf0e10cSrcweir if ( $perlFlag ) 187cdf0e10cSrcweir { 188cdf0e10cSrcweir $result .= '$solarDef = '."'$main::solarDef';\n"; 189cdf0e10cSrcweir $result .= '$solarArch = '."'$main::solarArch';\n"; 190cdf0e10cSrcweir $result .= '$solarOldArch = '."'$main::solarOldArch';\n"; 191cdf0e10cSrcweir $result .= '$solarOS = '."'$main::solarOS';\n"; 192cdf0e10cSrcweir $result .= '$solarMT = '."'$main::solarMT';\n"; 193cdf0e10cSrcweir $result .= '$solarDOS = '."'$main::solarDOS';"; 194cdf0e10cSrcweir } 195cdf0e10cSrcweir elsif ( $defFlag ) 196cdf0e10cSrcweir { 197cdf0e10cSrcweir $result = $main::solarDef; 198cdf0e10cSrcweir } 199cdf0e10cSrcweir elsif ( $dirFlag ) 200cdf0e10cSrcweir { 201cdf0e10cSrcweir $result = "$main::solarOS-$main::solarMT"; 202cdf0e10cSrcweir } 203cdf0e10cSrcweir elsif ( $dosFlag ) 204cdf0e10cSrcweir { 205cdf0e10cSrcweir $result = $main::solarDOS; 206cdf0e10cSrcweir } 207cdf0e10cSrcweir else 208cdf0e10cSrcweir { 209cdf0e10cSrcweir $result = $oldFlag ? $main::solarOldArch : $main::solarArch; 210cdf0e10cSrcweir } 211cdf0e10cSrcweir 212cdf0e10cSrcweir return $result; 213cdf0e10cSrcweir} 214cdf0e10cSrcweir 215cdf0e10cSrcweir1; 216