1cdf0e10cSrcweirpackage oshelper;
2cdf0e10cSrcweir
3*9780544fSAndrew Rist#**************************************************************
4*9780544fSAndrew Rist#
5*9780544fSAndrew Rist#  Licensed to the Apache Software Foundation (ASF) under one
6*9780544fSAndrew Rist#  or more contributor license agreements.  See the NOTICE file
7*9780544fSAndrew Rist#  distributed with this work for additional information
8*9780544fSAndrew Rist#  regarding copyright ownership.  The ASF licenses this file
9*9780544fSAndrew Rist#  to you under the Apache License, Version 2.0 (the
10*9780544fSAndrew Rist#  "License"); you may not use this file except in compliance
11*9780544fSAndrew Rist#  with the License.  You may obtain a copy of the License at
12*9780544fSAndrew Rist#
13*9780544fSAndrew Rist#    http://www.apache.org/licenses/LICENSE-2.0
14*9780544fSAndrew Rist#
15*9780544fSAndrew Rist#  Unless required by applicable law or agreed to in writing,
16*9780544fSAndrew Rist#  software distributed under the License is distributed on an
17*9780544fSAndrew Rist#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18*9780544fSAndrew Rist#  KIND, either express or implied.  See the License for the
19*9780544fSAndrew Rist#  specific language governing permissions and limitations
20*9780544fSAndrew Rist#  under the License.
21*9780544fSAndrew Rist#
22*9780544fSAndrew Rist#**************************************************************
23*9780544fSAndrew Rist
24*9780544fSAndrew Rist
25cdf0e10cSrcweir
26cdf0e10cSrcweiruse English;
27cdf0e10cSrcweiruse warnings;
28cdf0e10cSrcweiruse strict;
29cdf0e10cSrcweir
30cdf0e10cSrcweirBEGIN {
31cdf0e10cSrcweir    use Exporter   ();
32cdf0e10cSrcweir    our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
33cdf0e10cSrcweir
34cdf0e10cSrcweir    $VERSION     = 1.00;
35cdf0e10cSrcweir    # if using RCS/CVS, this may be preferred
36cdf0e10cSrcweir    $VERSION = do { my @r = (q$Revision: 1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker
37cdf0e10cSrcweir    @ISA         = qw(Exporter);
38cdf0e10cSrcweir    @EXPORT      = qw(&getEnvironment &isWindowsEnvironment &isUnixEnvironment &getUsername);
39cdf0e10cSrcweir    %EXPORT_TAGS = ( );     # eg: TAG => [ qw!name1 name2! ],
40cdf0e10cSrcweir    # your exported package globals go here,
41cdf0e10cSrcweir    # as well as any optionally exported functions
42cdf0e10cSrcweir    @EXPORT_OK   = ( ); # qw($Var1 %Hashit &func3);
43cdf0e10cSrcweir}
44cdf0e10cSrcweir
45cdf0e10cSrcweir
46cdf0e10cSrcweir# ------------------------------------------------------------------------------
47cdf0e10cSrcweirsub getEnvironment()
48cdf0e10cSrcweir{
49cdf0e10cSrcweir    my $sEnvironment;
50cdf0e10cSrcweir    if ($OSNAME eq "MSWin32" || $OSNAME eq "cygwin")
51cdf0e10cSrcweir    {
52cdf0e10cSrcweir        $sEnvironment = "wntmsci";
53cdf0e10cSrcweir    }
54cdf0e10cSrcweir    elsif ( $OSNAME eq "linux")
55cdf0e10cSrcweir    {
56cdf0e10cSrcweir        $sEnvironment = "unxlngi";
57cdf0e10cSrcweir    }
58cdf0e10cSrcweir    elsif ( $OSNAME eq "solaris")
59cdf0e10cSrcweir    {
60cdf0e10cSrcweir        $sEnvironment = "unxsoli";
61cdf0e10cSrcweir    }
62cdf0e10cSrcweir    else
63cdf0e10cSrcweir    {
64cdf0e10cSrcweir        print "Unknown Environment please check OSNAME: '$OSNAME'\n";
65cdf0e10cSrcweir        $sEnvironment = "unknown";
66cdf0e10cSrcweir    }
67cdf0e10cSrcweir    return $sEnvironment;
68cdf0e10cSrcweir}
69cdf0e10cSrcweir
70cdf0e10cSrcweir# ------------------------------------------------------------------------------
71cdf0e10cSrcweir
72cdf0e10cSrcweirsub isWindowsEnvironment()
73cdf0e10cSrcweir{
74cdf0e10cSrcweir    if ($OSNAME eq "MSWin32" ||
75cdf0e10cSrcweir        $OSNAME eq "cygwin")
76cdf0e10cSrcweir    {
77cdf0e10cSrcweir        return 1;
78cdf0e10cSrcweir    }
79cdf0e10cSrcweir    return 0;
80cdf0e10cSrcweir}
81cdf0e10cSrcweir
82cdf0e10cSrcweirsub isUnixEnvironment()
83cdf0e10cSrcweir{
84cdf0e10cSrcweir    if ($OSNAME eq "linux" ||
85cdf0e10cSrcweir        $OSNAME eq "solaris")
86cdf0e10cSrcweir    {
87cdf0e10cSrcweir        return 1;
88cdf0e10cSrcweir    }
89cdf0e10cSrcweir    return 0;
90cdf0e10cSrcweir}
91cdf0e10cSrcweir
92cdf0e10cSrcweirsub getUsername()
93cdf0e10cSrcweir{
94cdf0e10cSrcweir    my $sUser = $ENV{USER};
95cdf0e10cSrcweir    if (!$sUser)
96cdf0e10cSrcweir    {
97cdf0e10cSrcweir        $sUser = $ENV{USERNAME};
98cdf0e10cSrcweir    }
99cdf0e10cSrcweir    if (!$sUser)
100cdf0e10cSrcweir    {
101cdf0e10cSrcweir        die "Username not set.\n";
102cdf0e10cSrcweir    }
103cdf0e10cSrcweir    return $sUser;
104cdf0e10cSrcweir}
105cdf0e10cSrcweir
106cdf0e10cSrcweir1;
107