summaryrefslogtreecommitdiff
path: root/solenv/bin/modules/osarch.pm
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/bin/modules/osarch.pm')
-rwxr-xr-xsolenv/bin/modules/osarch.pm195
1 files changed, 195 insertions, 0 deletions
diff --git a/solenv/bin/modules/osarch.pm b/solenv/bin/modules/osarch.pm
new file mode 100755
index 000000000000..205e4c933193
--- /dev/null
+++ b/solenv/bin/modules/osarch.pm
@@ -0,0 +1,195 @@
+#!/usr/bin/perl -w
+
+# ***********************************************************************
+# Description:
+# Filename: osarch.pm
+# Autor: EG
+# Date: 28.10.96
+# $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 $
+# Copyright: STAR DIVISION
+# **********************************************************************/
+
+package osarch;
+
+$m_str = `uname -m`;
+$s_str = `uname -s`;
+chop( $m_str, $s_str );
+
+%osTable = ("SunOS", "solaris",
+ "HP-UX", "hpux",
+ "AIX", "aix",
+ "OS/390", "s390",
+ "Linux", "linux",
+ "FreeBSD", "freebsd",
+ "NetBSD", "netbsd",
+ "OSF1", "decunix",
+ "SCO_SV", "scoosr5",
+# "SCO_SV", "scouw21",
+ "Darwin", "macosxp",
+ "Mac OS", "macosxp",
+ "SINIX-N", "sinix"
+ );
+
+%osDefTable = ("SunOS", "-DSYSV -DSOLARIS",
+ "HP-UX", "-DSYSV -DHPUX",
+ "AIX", "-DSYSV -DAIX",
+ "Linux", "-DLINUX",
+ "FreeBSD", "-DFREEBSD",
+ "NetBSD", "-DNETBSD",
+ "OSF1", "-DSYSV -DDECUNIX",
+ "SCO_SV", "-DSYSV -DSCO -DSCO_OSR5",
+# "SCO_SV", "-DSYSV -DSCO -DSCO_UW21",
+ "Darwin", "-DBSD -DMACOSX",
+ "Mac OS", "-DBSD -DMACOSX",
+ "SINIX-N", "-DSYSV -DSINIX"
+ );
+
+%osDosTable = ("SunOS", "sol",
+ "HP-UX", "hpx",
+ "AIX", "aix",
+ "OS/390", "mvs",
+ "Linux", "lng",
+ "FreeBSD", "fbsd",
+ "NetBSD", "bsd",
+ "SCO_SV", "sco",
+ "Darwin", "macx",
+ "Mac OS", "macx",
+ "SINIX-N", "sni"
+ );
+
+%archTable = ("sun4c", "sparc",
+ "sun4m", "sparc",
+ "sun4u", "sparc",
+ "9000/712", "hp9000",
+ "9000/715", "hp9000",
+ "9000/778", "hp9000",
+ "000029484600", "rs6000", # salsa
+ "000328144600", "rs6000", # lambada
+ "00245D29E000", "rs6000", # segv
+ "00245C46E000", "rs6000", # bus
+ "002012974600", "rs6000", # tango
+ "0006404C4C00", "rs6000", # jive
+ "2003", "g3", # ezopen4
+ "i86pc", "x86", # blauwal
+ "i386", "x86", # SCO_SV, NetBSD, FreeBSD
+ "i486", "x86", # tiger
+ "i586", "x86", # blauwal
+ "i686", "x86",
+ "prep", "ppc", # hooge
+ "ppc", "ppc", # ppc-linux
+ "alpha", "alpha",
+ "RM400", "rm400", # garbo
+ "IP22", "mips", # voyager
+ "IP32", "mips", # giotto
+ "Power Macintosh", "ppc", # NetBSD/arm32
+ "arm32", "arm32" # NetBSD/arm32
+ );
+
+%archDefTable=("sun4c", "-DSPARC -DSUN -DSUN4", # hawai
+ "sun4m", "-DSPARC -DSUN -DSUN4", # broccoli
+ "sun4u", "-DSPARC -DSUN -DSUN4", # broccoli
+ "9000/712", "-DHP9000", # tuborg
+ "9000/715", "-DHP9000", # koepi
+ "9000/778", "-DHP9000", # jever, flens
+ "000029484600", "-DRS6000", # salsa
+ "000328144600", "-DRS6000", # lambada
+ "00245D29E000", "-DRS6000", # segv
+ "00245C46E000", "-DRS6000", # segv
+ "002012974600", "-DRS6000", # tango
+ "0006404C4C00", "-DRS6000", # jive
+ "2003", "-DG3", # ezopen4
+ "i86pc", "-DX86 -DINTEL",# gepard
+ "i386", "-DX86", # SCO_SV, NetBSD, FreeBSD
+ "i486", "-DX86", # tiger
+ "i586", "-DX86", # blauwal
+ "i686", "-DX86", #
+ "prep", "-DPPC", # hooge
+ "ppc", "-DPPC", # ppc-linux
+ "alpha", "-DALPHA", # mars
+ "RM400", "-DMIPS -DRM400", # ekberg, garbo
+ "IP22", "-DMIPS", # voyager
+ "IP32", "-DMIPS", # giotto
+ "Power Macintosh", "-DPPC", # NetBSD/arm32
+ "arm32", "-DARM32" # NetBSD/arm32
+ );
+
+%archDosTable=("sun4c", "s", # hawai
+ "sun4m", "s", # broccoli
+ "sun4u", "s", # broccoli
+ "9000/712", "r", # tuborg
+ "9000/715", "r", # koepi
+ "9000/778", "r", # jever, flens
+ "000029484600", "p", # salsa
+ "000328144600", "p", # lambada
+ "00245D29E000", "p", # segv
+ "00245C46E000", "p", # segv
+ "002012974600", "p", # tango
+ "0006404C4C00", "p", # jive
+ "2003", "g", # ezopen4
+ "i86pc", "i", # gepard
+ "i386", "i", # SCO_SV, NetBSD, FreeBSD
+ "i486", "i", # tiger
+ "i586", "i", # blauwal
+ "i686", "i",
+ "prep", "p", # hooge
+ "ppc", "p", # ppc-linux
+ "alpha", "a", # mars
+ "RM400", "m", # ekberg, garbo
+ "IP22", "m", # voyager
+ "IP32", "m", # giotto
+ "Power Macintosh", "p", # NetBSD/arm32
+ "arm32", "a" # NetBSD/arm32
+ );
+
+$main::solarDef = $osDefTable{ $s_str }.' '.$archDefTable{ $m_str };
+
+$main::solarOS = $osTable{ $s_str };
+$main::solarMT = $archTable{ $m_str };
+
+$main::solarArch = $main::solarOS.$main::solarMT;
+$main::solarOldArch = $main::solarArch; # for compatibility
+
+$main::solarDOS = 'unx'.$osDosTable{ $s_str }. $archDosTable{ $m_str };
+
+sub main::osarch
+{
+ local ( $flag ) = @_;
+
+ $perlFlag = $flag eq 'perl';
+ $defFlag = $flag eq 'def';
+ $oldFlag = $flag eq 'old';
+ $dirFlag = $flag eq 'dir';
+ $dosFlag = $flag eq 'dos';
+
+ local( $result ) = ( '' );
+
+ if ( $perlFlag )
+ {
+ $result .= '$solarDef = '."'$main::solarDef';\n";
+ $result .= '$solarArch = '."'$main::solarArch';\n";
+ $result .= '$solarOldArch = '."'$main::solarOldArch';\n";
+ $result .= '$solarOS = '."'$main::solarOS';\n";
+ $result .= '$solarMT = '."'$main::solarMT';\n";
+ $result .= '$solarDOS = '."'$main::solarDOS';";
+ }
+ elsif ( $defFlag )
+ {
+ $result = $main::solarDef;
+ }
+ elsif ( $dirFlag )
+ {
+ $result = "$main::solarOS-$main::solarMT";
+ }
+ elsif ( $dosFlag )
+ {
+ $result = $main::solarDOS;
+ }
+ else
+ {
+ $result = $oldFlag ? $main::solarOldArch : $main::solarArch;
+ }
+
+ return $result;
+}
+
+1;