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