File: Paths.pm.in

package info (click to toggle)
globus-common 18.15-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,684 kB
  • sloc: ansic: 36,506; sh: 4,534; makefile: 354; perl: 151
file content (73 lines) | stat: -rw-r--r-- 1,810 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright 1999-2010 University of Chicago
# 
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
# http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# 
package Globus::Core::Paths;

use File::Basename qw(dirname);

require Exporter;

@ISA = qw(Exporter);

@EXPORT = qw($exec_prefix $prefix
             $sbindir $bindir
             $libexecdir $includedir
             $datarootdir
             $mandir
             $datadir $sysconfdir $sharedstatedir
             $localstatedir $perlmoduledir);

sub eval_path
{
    my $path = shift;
    my $last = $path;

    while ($path =~ m/\$\{([^}]*)\}/)
    {
        my $varname = $1;
        my $evaluated;
        eval "\$evaluated = \${$1}";

        $path =~ s/\$\{$varname\}/$evaluated/g;
        if ($path eq $last)
        {
            die "Error evaluating $last\n";
        }
        $last = $path;
    }
    return $path;
}

if (exists $ENV{GLOBUS_LOCATION})
{
    $prefix = $ENV{GLOBUS_LOCATION};
}
else
{
    $prefix = "@prefix@";
}
$exec_prefix = "@exec_prefix@";
$sbindir = "@sbindir@";
$bindir = "@bindir@";
$includedir = "@includedir@";
$datarootdir = "@datarootdir@";
$datadir = "@datadir@";
$mandir = "@mandir@";
$libexecdir = "@libexecdir@";
$sysconfdir = "@sysconfdir@";
$sharedstatedir = "@sharedstatedir@";
$localstatedir = "@localstatedir@";
$perlmoduledir = dirname(dirname(dirname(__FILE__)));

1;