Add script to print build environment info. (#539)

* Add script to print build environment info.

The new script is also included in:
- all.sh
- basic-build-test.sh

* Tidy up environment reporting script.

Changes include:
- making the echo calls portable
- removing unnecessary brackets
- using more efficient checks for the existance of commands
- correcting typos and copyright year

* Update references to output_env.sh
This commit is contained in:
Janos Follath 2016-07-19 14:54:17 +01:00 committed by Simon Butcher
parent 4dcae421a9
commit b72c67804a
3 changed files with 116 additions and 0 deletions

109
scripts/output_env.sh Executable file
View file

@ -0,0 +1,109 @@
#!/bin/sh
#
# output_env.sh
#
# This file is part of mbed TLS (https://tls.mbed.org)
#
# Copyright (c) 2016, ARM Limited, All Rights Reserved
#
# Purpose
#
# To print out all the relevant information about the development environment.
#
# This includes:
# - architecture of the system
# - type and version of the operating system
# - version of armcc, gcc-arm and gcc compilers
# - version of libc, clang, asan and valgrind
# - version of gnuTLS and OpenSSL
echo
echo "1) Operating system and architecture:"
uname -a
echo
if `hash armcc` > /dev/null; then
echo "2) armcc:"
armcc --vsn | head -n 2
else
echo "2) armcc not found!"
fi
echo
if `hash arm-none-eabi-gcc` > /dev/null; then
echo
echo "3) gcc-arm:"
arm-none-eabi-gcc --version | head -n 1
else
echo
echo "3) gcc-arm not found!"
fi
echo
if `hash gcc` > /dev/null; then
echo "4) gcc:"
gcc --version | head -n 1
else
echo "4) gcc not found!"
fi
echo
if `hash clang` > /dev/null; then
echo "5) clang:"
clang --version | head -n 2
clang -v 2>&1 | grep Selected
else
echo "5) clang not found!"
fi
echo
if `hash ldd` > /dev/null; then
echo "6) libc:"
ldd --version | head -n 1
else
echo "6) No ldd present: can't determine libc version!"
fi
echo
if `hash valgrind` > /dev/null; then
echo "7) valgrind:"
valgrind --version
else
echo "7) valgrind not found!"
fi
echo
if `hash openssl` > /dev/null; then
echo "8) openssl:"
openssl version
else
echo "8) openssl not found!"
fi
echo
if `hash gnutls-cli` > /dev/null; then
echo "9) gnuTLS client:"
gnutls-cli --version | head -n 1
else
echo "9) gnuTLS client not found!"
fi
echo
if `hash gnutls-serv` > /dev/null; then
echo "10) gnuTLS server:"
gnutls-serv --version | head -n 1
else
echo "10) gnuTLS server not found!"
fi
echo
if `hash dpkg` > /dev/null; then
echo "11) asan:"
dpkg -s libasan2 2> /dev/null | grep -i version
dpkg -s libasan1 2> /dev/null | grep -i version
dpkg -s libasan0 2> /dev/null | grep -i version
else
echo "11) No dpkg present: can't determine asan version!"
fi
echo

View file

@ -121,6 +121,9 @@ fi
# #
# Indicative running times are given for reference. # Indicative running times are given for reference.
msg "info: output_env.sh"
scripts/output_env.sh
msg "test: recursion.pl" # < 1s msg "test: recursion.pl" # < 1s
tests/scripts/recursion.pl library/*.c tests/scripts/recursion.pl library/*.c

View file

@ -39,6 +39,10 @@ fi
CONFIG_H='include/mbedtls/config.h' CONFIG_H='include/mbedtls/config.h'
CONFIG_BAK="$CONFIG_H.bak" CONFIG_BAK="$CONFIG_H.bak"
# Step 0 - print build environment info
scripts/output_env.sh
echo
# Step 1 - Make and instrumented build for code coverage # Step 1 - Make and instrumented build for code coverage
export CFLAGS=' --coverage -g3 -O0 ' export CFLAGS=' --coverage -g3 -O0 '
make clean make clean