| #!/bin/sh |
| |
| set -eu |
| |
| CONFIG_H='include/mbedtls/config.h' |
| |
| if [ -r $CONFIG_H ]; then :; else |
| echo "$CONFIG_H not found" >&2 |
| exit 1 |
| fi |
| |
| if grep -i cmake Makefile >/dev/null; then |
| echo "Not compatible with CMake" >&2 |
| exit 1 |
| fi |
| |
| doit() |
| { |
| NAME="$1" |
| FILE="$2" |
| |
| echo "$NAME:" |
| |
| cp $CONFIG_H ${CONFIG_H}.bak |
| cp "$FILE" include/mbedtls/config.h |
| |
| { |
| scripts/config.pl unset MBEDTLS_NET_C || true |
| scripts/config.pl unset MBEDTLS_TIMING_C || true |
| scripts/config.pl unset MBEDTLS_FS_IO || true |
| } >/dev/null 2>&1 |
| |
| CC=arm-none-eabi-gcc AR=arm-none-eabi-ar LD=arm-none-eabi-ld \ |
| CFLAGS='-Wa,--noexecstack -Os -march=armv7-m -mthumb' \ |
| make clean lib >/dev/null |
| |
| OUT="size-${NAME}.txt" |
| arm-none-eabi-size -t library/libmbed*.a > "$OUT" |
| head -n1 "$OUT" |
| tail -n1 "$OUT" |
| |
| cp ${CONFIG_H}.bak $CONFIG_H |
| } |
| |
| # creates the yotta config |
| yotta/create-module.sh >/dev/null |
| |
| doit default include/mbedtls/config.h.bak |
| doit yotta yotta/module/mbedtls/config.h |
| doit thread configs/config-thread.h |
| doit ecc configs/config-suite-b.h |
| doit psk configs/config-ccm-psk-tls1_2.h |