quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

output_env.sh (4021B)


      1 #! /usr/bin/env sh
      2 
      3 # output_env.sh
      4 #
      5 # Copyright The Mbed TLS Contributors
      6 # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
      7 #
      8 # Purpose
      9 #
     10 # To print out all the relevant information about the development environment.
     11 #
     12 # This includes:
     13 #   - architecture of the system
     14 #   - type and version of the operating system
     15 #   - version of make and cmake
     16 #   - version of armcc, clang, gcc-arm and gcc compilers
     17 #   - version of libc, clang, asan and valgrind if installed
     18 #   - version of gnuTLS and OpenSSL
     19 
     20 print_version()
     21 {
     22     BIN="$1"
     23     shift
     24     ARGS="$1"
     25     shift
     26     VARIANT="$1"
     27     shift
     28 
     29     if [ -n "$VARIANT" ]; then
     30         VARIANT=" ($VARIANT)"
     31     fi
     32 
     33     if ! type "$BIN" > /dev/null 2>&1; then
     34         echo " * ${BIN##*/}$VARIANT: Not found."
     35         return 0
     36     fi
     37 
     38     BIN=`which "$BIN"`
     39     VERSION_STR=`$BIN $ARGS 2>&1`
     40 
     41     # Apply all filters
     42     while [ $# -gt 0 ]; do
     43         FILTER="$1"
     44         shift
     45         VERSION_STR=`echo "$VERSION_STR" | $FILTER`
     46     done
     47 
     48     if [ -z "$VERSION_STR" ]; then
     49         VERSION_STR="Version could not be determined."
     50     fi
     51 
     52     echo " * ${BIN##*/}$VARIANT: ${BIN} : ${VERSION_STR} "
     53 }
     54 
     55 echo "** Platform:"
     56 echo
     57 
     58 if [ `uname -s` = "Linux" ]; then
     59     echo "Linux variant"
     60     lsb_release -d -c
     61 else
     62     echo "Unknown Unix variant"
     63 fi
     64 
     65 echo
     66 
     67 print_version "uname" "-a" ""
     68 
     69 echo
     70 echo
     71 echo "** Tool Versions:"
     72 echo
     73 
     74 print_version "make" "--version" "" "head -n 1"
     75 echo
     76 
     77 print_version "cmake" "--version" "" "head -n 1"
     78 echo
     79 
     80 if [ "${RUN_ARMCC:-1}" -ne 0 ]; then
     81     : "${ARMC6_CC:=armclang}"
     82     print_version "$ARMC6_CC" "--vsn" "" "head -n 2"
     83     echo
     84 fi
     85 
     86 print_version "arm-none-eabi-gcc" "--version" "" "head -n 1"
     87 echo
     88 
     89 print_version "gcc" "--version" "" "head -n 1"
     90 echo
     91 
     92 if [ -n "${GCC_EARLIEST+set}" ]; then
     93     print_version "${GCC_EARLIEST}" "--version" "" "head -n 1"
     94 else
     95     echo " GCC_EARLIEST : Not configured."
     96 fi
     97 echo
     98 
     99 if [ -n "${GCC_LATEST+set}" ]; then
    100     print_version "${GCC_LATEST}" "--version" "" "head -n 1"
    101 else
    102     echo " GCC_LATEST : Not configured."
    103 fi
    104 echo
    105 
    106 print_version "clang" "--version" "" "head -n 2"
    107 echo
    108 
    109 if [ -n "${CLANG_EARLIEST+set}" ]; then
    110     print_version "${CLANG_EARLIEST}" "--version" "" "head -n 2"
    111 else
    112     echo " CLANG_EARLIEST : Not configured."
    113 fi
    114 echo
    115 
    116 if [ -n "${CLANG_LATEST+set}" ]; then
    117     print_version "${CLANG_LATEST}" "--version" "" "head -n 2"
    118 else
    119     echo " CLANG_LATEST : Not configured."
    120 fi
    121 echo
    122 
    123 print_version "ldd" "--version" "" "head -n 1"
    124 echo
    125 
    126 print_version "valgrind" "--version" ""
    127 echo
    128 
    129 print_version "gdb" "--version" "" "head -n 1"
    130 echo
    131 
    132 print_version "perl" "--version" "" "head -n 2" "grep ."
    133 echo
    134 
    135 print_version "python" "--version" "" "head -n 1"
    136 echo
    137 
    138 print_version "python3" "--version" "" "head -n 1"
    139 echo
    140 
    141 # Find the installed version of Pylint. Installed as a distro package this can
    142 # be pylint3 and as a PEP egg, pylint. In test scripts We prefer pylint over
    143 # pylint3
    144 if type pylint >/dev/null 2>/dev/null; then
    145     print_version "pylint" "--version" "" "sed /^.*config/d" "grep pylint"
    146 elif type pylint3 >/dev/null 2>/dev/null; then
    147     print_version "pylint3" "--version" "" "sed /^.*config/d" "grep pylint"
    148 else
    149     echo " * pylint or pylint3: Not found."
    150 fi
    151 echo
    152 
    153 : ${OPENSSL:=openssl}
    154 print_version "$OPENSSL" "version" "default"
    155 echo
    156 
    157 if [ -n "${OPENSSL_NEXT+set}" ]; then
    158     print_version "$OPENSSL_NEXT" "version" "next"
    159 else
    160     echo " * openssl (next): Not configured."
    161 fi
    162 echo
    163 
    164 : ${GNUTLS_CLI:=gnutls-cli}
    165 print_version "$GNUTLS_CLI" "--version" "default" "head -n 1"
    166 echo
    167 
    168 : ${GNUTLS_SERV:=gnutls-serv}
    169 print_version "$GNUTLS_SERV" "--version" "default" "head -n 1"
    170 echo
    171 
    172 echo " * Installed asan versions:"
    173 if type dpkg-query >/dev/null 2>/dev/null; then
    174     if ! dpkg-query -f '${Status} ${Package}: ${Version}\n' -W 'libasan*' |
    175          awk '$3 == "installed" && $4 !~ /-/ {print $4, $5}' |
    176          grep .
    177     then
    178         echo "   No asan versions installed."
    179     fi
    180 else
    181     echo "  Unable to determine the asan version without dpkg."
    182 fi
    183 echo