forked from svaarala/duktape
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcheck_setup.sh
executable file
·120 lines (104 loc) · 2.77 KB
/
check_setup.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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/sh
#
# Check prerequisites for using the Duktape makefile. Exit with an error
# and a useful error message for missing prerequisites.
#
ERRORS=0
WARNINGS=0
uname -a | grep -ni linux >/dev/null
RET=$?
if [ "x$RET" != "x0" ]; then
echo "*** Based on uname, you're not running on Linux. Duktape developer"
echo " makefile is intended for Linux only; YMMV on other platforms."
echo ""
sleep 1
fi
NODEJS_VERSION=`nodejs -v 2>/dev/null`
if [ $? != 0 ]; then
echo "*** Missing NodeJS:"
echo " $ sudo apt-get install nodejs nodejs-legacy npm # may also be 'node'"
echo ""
ERRORS=1
fi
#echo "NodeJS version: $NODEJS_VERSION"
# some tools like uglifyjs require 'node', not 'nodejs'
NODE_VERSION=`node -v 2>/dev/null`
if [ $? != 0 ]; then
echo "*** Missing NodeJS legacy ('node' command):"
echo " $ sudo apt-get install nodejs-legacy"
echo ""
ERRORS=1
fi
#echo "NodeJS 'node' version: $NODE_VERSION"
GIT_VERSION=`git --version 2>/dev/null`
if [ $? != 0 ]; then
echo "*** Missing git:"
echo " $ sudo apt-get install git"
echo ""
ERRORS=1
fi
#echo "Git version: $GIT_VERSION"
UNZIP_VERSION=`unzip -v 2>/dev/null`
if [ $? != 0 ]; then
echo "*** Missing unzip:"
echo " $ sudo apt-get install unzip"
echo ""
ERRORS=1
fi
#echo "UNZIP_VERSION: $UNZIP_VERSION"
PERL_VERSION=`perl -version 2>/dev/null`
if [ $? != 0 ]; then
echo "*** Missing perl:"
echo " $ sudo apt-get install perl"
echo ""
ERRORS=1
fi
#echo "PERL_VERSION: $PERL_VERSION"
JAVA_VERSION=`java -version 2>&1`
if [ $? != 0 ]; then
echo "*** Missing java:"
echo " $ sudo apt-get install openjdk-7-jre"
echo ""
ERRORS=1
fi
#echo "JAVA_VERSION: $JAVA_VERSION"
CLANG_VERSION=`clang -v 2>&1`
if [ $? != 0 ]; then
echo "*** Missing clang (affects emscripten tests):"
echo " $ sudo apt-get install clang"
echo ""
WARNINGS=1
fi
LLVM_LINK_VERSION=`llvm-link --version 2>&1` # exit code will be 1
which llvm-link 2>/dev/null >/dev/null
if [ $? != 0 ]; then
echo "*** Missing llvm (affects emscripten tests):"
echo " $ sudo apt-get install llvm"
echo ""
WARNINGS=1
fi
python -c 'from bs4 import BeautifulSoup, Tag' 2>/dev/null
if [ $? != 0 ]; then
echo "*** Missing BeautifulSoup (affects website build)"
echo " $ sudo apt-get install python-bs4"
echo ""
WARNINGS=1
fi
SOURCE_HIGHLIGHT_VERSION=`source-highlight --version`
if [ $? != 0 ]; then
echo "*** Missing source-highlight (affects website build)"
echo " $ sudo apt-get install source-highlight"
echo ""
WARNINGS=1
fi
if [ "x$ERRORS" != "x0" ]; then
echo "*** Errors found in system setup, see error messages above!"
exit 1
fi
if [ "x$WARNINGS" != "x0" ]; then
echo "*** Warnings found in system setup, see warnings above"
exit 0
fi
# 'tidy' is intentionally not checked as it only relates to website development
# and is not mandatory to website build.
exit 0