forked from pcbend/GRUTinizer
-
Notifications
You must be signed in to change notification settings - Fork 1
/
thisgrut.sh
executable file
·107 lines (92 loc) · 2.82 KB
/
thisgrut.sh
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# Source this script to set up the grutSort build that this script is part of.
#
# Conveniently an alias like this can be defined in .bashrc:
# alias thisgrut=". bin/thisgrut.sh"
#
# This script if for the bash like shells, see thisgrut.csh for csh like shells.
#
# Author: Fons Rademakers, 18/8/2006
# Adapted by Ryan Dunlop, 8/9/2015
drop_from_path()
{
# Assert that we got enough arguments
if test $# -ne 2 ; then
echo "drop_from_path: needs 2 arguments"
return 1
fi
p=$1
drop=$2
newpath=`echo $p | sed -e "s;:${drop}:;:;g" \
-e "s;:${drop};;g" \
-e "s;${drop}:;;g" \
-e "s;${drop};;g"`
}
if [ -n "${GRUTSYS}" ] ; then
old_grutsys=${GRUTSYS}
fi
if [ "x${BASH_ARGV[0]}" = "x" ]; then
if [ ! -f thisgrut.sh ]; then
echo ERROR: must "cd where/grut/is" before calling ". thisgrut.sh" for this version of bash!
GRUTSYS=; export GRUTSYS
return 1
fi
GRUTSYS="$PWD"; export GRUTSYS
else
# get param to "."
thisgrut=$(dirname ${BASH_ARGV[0]})
GRUTSYS=$(cd ${thisgrut};pwd); export GRUTSYS
fi
if [ -n "${old_grutsys}" ] ; then
if [ -n "${PATH}" ]; then
drop_from_path "$PATH" ${old_grutsys}/bin
PATH=$newpath
fi
if [ -n "${LD_LIBRARY_PATH}" ]; then
drop_from_path $LD_LIBRARY_PATH ${old_grutsys}/lib
LD_LIBRARY_PATH=$newpath
fi
if [ -n "${DYLD_LIBRARY_PATH}" ]; then
drop_from_path $DYLD_LIBRARY_PATH ${old_grutsys}/lib
DYLD_LIBRARY_PATH=$newpath
fi
if [ -n "${MANPATH}" ]; then
drop_from_path $MANPATH ${old_grutsys}/man
MANPATH=$newpath
fi
fi
if [ -z "${MANPATH}" ]; then
# Grab the default man path before setting the path to avoid duplicates
if `which manpath > /dev/null 2>&1` ; then
default_manpath=`manpath`
else
default_manpath=`man -w 2> /dev/null`
fi
fi
if [ -z "${PATH}" ]; then
PATH=$GRUTSYS/bin; export PATH
else
PATH=$GRUTSYS/bin:$PATH; export PATH
fi
if [ -z "${LD_LIBRARY_PATH}" ]; then
LD_LIBRARY_PATH=$GRUTSYS/lib; export LD_LIBRARY_PATH # Linux, ELF HP-UX
else
LD_LIBRARY_PATH=$GRUTSYS/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
fi
if [ -z "${DYLD_LIBRARY_PATH}" ]; then
DYLD_LIBRARY_PATH=$GRUTSYS/lib; export DYLD_LIBRARY_PATH # Mac OS X
else
DYLD_LIBRARY_PATH=$GRUTSYS/lib:$DYLD_LIBRARY_PATH; export DYLD_LIBRARY_PATH
fi
if [ -z "${MANPATH}" ]; then
MANPATH=`dirname $GRUTSYS/man/man1`:${default_manpath}; export MANPATH
else
MANPATH=`dirname $GRUTSYS/man/man1`:$MANPATH; export MANPATH
fi
#if [ "x`grut-config --arch | grep -v win32gcc | grep -i win32`" != "x" ]; then
# GRUTSYS="`cygpath -w $GRUTSYS`"
#fi
#if [ "x`grut-config --arch | grep -v win64gcc | grep -i win64`" != "x" ]; then
# GRUTSYS="`cygpath -w $GRUTSYS`"
#fi
unset old_grutsys
unset thisgrut