Improve check_tools again, check for almost everything

This commit is contained in:
Gautier Pelloux-Prayer 2014-12-23 12:28:48 +01:00
parent 3296ca83f1
commit 0f4de68059
2 changed files with 24 additions and 12 deletions

View file

@ -64,7 +64,7 @@ APP_STL=stlport_static
# Checks # Checks
CHECK_MSG=$(shell ./check_tools.sh) CHECK_MSG=$(shell ./check_tools.sh)
ifneq ($(CHECK_MSG),) ifneq ($(CHECK_MSG),)
$(error $(CHECK_MSG)) $(error Some tools are missing.)
endif endif
include check_tools.mk include check_tools.mk

View file

@ -1,37 +1,49 @@
#!/bin/sh #!/bin/sh
rm -f check_tools.mk
touch check_tools.mk
error_on_quit=0 error_on_quit=0
echo_err() {
echo "$@" >&2
}
check_installed() { check_installed() {
if [ -z "$(which $1)" ]; then if [ -z "$(which $1)" ]; then
echo "Could not find $1. Please install $2." echo_err "Could not find $1. Please install $2."
error_on_quit=1 error_on_quit=1
return 1 return 1
fi fi
return 0 return 0
} }
for prog in automake autoconf pkg-config java ant yasm nasm wget; do
check_installed "java" "it" check_installed "$prog" "it"
check_installed "ant" "it" done
check_installed "yasm" "it" check_installed "libtoolize" "libtool"
check_installed "nasm" "it"
check_installed "ndk-build" "android NDK" check_installed "ndk-build" "android NDK"
if check_installed "android" "android SDK"; then if check_installed "android" "android SDK"; then
check_installed "adb" "android SDK platform tools" check_installed "adb" "android SDK platform tools"
# check that at least one target is installed # check that at least one target is installed
if [ -z "$(android list target -c)" ]; then if [ -z "$(android list target -c)" ]; then
echo "Install at least one android target in android SDK" echo_err "Install at least one android target in the android SDK"
error_on_quit=1 error_on_quit=1
fi fi
fi fi
if nasm -f elf32 2>&1 | grep -q "fatal: unrecognised output format"; then
echo_err "Invalid version of nasm: your version does not support elf32 output format. If you have installed nasm, please check that your PATH env variable is set correctly."
error_on_quit=1
fi
if ! (find submodules/linphone/mediastreamer2 -mindepth 1 2>/dev/null | grep -q . \
|| find submodules/linphone/oRTP -mindepth 1 2>/dev/null | grep -q .); then
echo_err "Missing some git submodules. Did you run 'git submodule update --init --recursive'?"
fi
if [ $error_on_quit = 0 ]; then if [ $error_on_quit = 0 ]; then
rm -f check_tools.mk
touch check_tools.mk
echo "JAVA=\"$(which java)\"" >> check_tools.mk echo "JAVA=\"$(which java)\"" >> check_tools.mk
echo "ANTLR=\"$(which java)\" -jar \"submodules/externals/antlr3/antlr-3.2.jar\"" >> check_tools.mk echo "ANTLR=\"$(which java)\" -jar \"submodules/externals/antlr3/antlr-3.2.jar\"" >> check_tools.mk
else
echo "Failed to detect required tools, aborting."
fi fi
exit $error_on_quit exit $error_on_quit