forked from radareorg/radare2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathuser.sh
executable file
·100 lines (89 loc) · 1.79 KB
/
user.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
#!/bin/sh
MAKE=make
export CFLAGS="${CFLAGS} -fPIC"
gmake --help >/dev/null 2>&1
[ $? = 0 ] && MAKE=gmake
${MAKE} --help 2>&1 | grep -q gnu
if [ $? != 0 ]; then
echo "You need GNU Make to build me"
exit 1
fi
# find root
cd "$(dirname "$0")" ; cd ..
export WITHOUT_PULL=0
ROOT=
abspath() {
echo "$1" | grep -q ^/
if [ $? = 0 ]; then
echo "$1"
else
echo "`pwd`/$1"
fi
}
while [ $# -gt 0 ]
do
case "$1" in
"--without-pull")
WITHOUT_PULL=1
;;
"--install-path")
shift
if [ -n "$1" ]; then
ROOT="`abspath $1`"
BINDIR="$ROOT/bin"
else
echo "ERROR: install-path must not be empty"
exit 1
fi
;;
*)
echo "WARNING: unknown argument \"$1\""
esac
shift
done
# update
if [ $WITHOUT_PULL -eq 0 ]; then
if [ -d .git ]; then
git branch | grep "^\* master" > /dev/null
if [ $? = 0 ]; then
echo "WARNING: Updating from remote repository"
# Attempt to update from an existing remote
UPSTREAM_REMOTE=$(git remote -v | grep 'radareorg/radare2\(\.git\)\? (fetch)' | cut -f1 | head -n1)
if [ -n "$UPSTREAM_REMOTE" ]; then
git pull "$UPSTREAM_REMOTE" master
else
git pull https://github.com/radareorg/radare2 master
fi
fi
fi
fi
if [ -z "${ROOT}" ]; then
if [ -z "${HOME}" ]; then
echo "HOME not set"
exit 1
fi
if [ ! -d "${HOME}" ]; then
echo "HOME is not a directory"
exit 1
fi
ROOT="${HOME}/bin/prefix/radare2"
BINDIR="${HOME}/bin"
fi
mkdir -p "${ROOT}/lib"
if [ "${M32}" = 1 ]; then
./sys/build-m32.sh "${ROOT}" && ${MAKE} symstall
elif [ "${HARDEN}" = 1 ]; then
./sys/build-harden.sh "${ROOT}" && ${MAKE} symstall
else
./sys/build.sh "${ROOT}" && ${MAKE} symstall
fi
if [ $? != 0 ]; then
echo "Oops"
exit 1
fi
${MAKE} user-install
echo
echo "radare2 is now installed in ${BINDIR}"
echo
echo "Now add ${BINDIR} to your PATH"
echo