You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
2.9 KiB

#!/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
python -c 'import yaml' 2>/dev/null
if [ $? != 0 ]; then
echo "*** Missing Python yaml:"
echo " $ sudo apt-get install python-yaml"
echo ""
ERRORS=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