From b72c67804a6e0e25b3cc2b3a48a4c1b2e98b7c77 Mon Sep 17 00:00:00 2001 From: Janos Follath Date: Tue, 19 Jul 2016 14:54:17 +0100 Subject: [PATCH] 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 --- scripts/output_env.sh | 109 ++++++++++++++++++++++++++++++ tests/scripts/all.sh | 3 + tests/scripts/basic-build-test.sh | 4 ++ 3 files changed, 116 insertions(+) create mode 100755 scripts/output_env.sh diff --git a/scripts/output_env.sh b/scripts/output_env.sh new file mode 100755 index 000000000..0b7c153c2 --- /dev/null +++ b/scripts/output_env.sh @@ -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 diff --git a/tests/scripts/all.sh b/tests/scripts/all.sh index a2b0995ba..5c18f4dd0 100755 --- a/tests/scripts/all.sh +++ b/tests/scripts/all.sh @@ -121,6 +121,9 @@ fi # # Indicative running times are given for reference. +msg "info: output_env.sh" +scripts/output_env.sh + msg "test: recursion.pl" # < 1s tests/scripts/recursion.pl library/*.c diff --git a/tests/scripts/basic-build-test.sh b/tests/scripts/basic-build-test.sh index 9fab39637..9b8bd3c82 100755 --- a/tests/scripts/basic-build-test.sh +++ b/tests/scripts/basic-build-test.sh @@ -39,6 +39,10 @@ fi CONFIG_H='include/mbedtls/config.h' 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 export CFLAGS=' --coverage -g3 -O0 ' make clean