Files

18 lines
600 B
Bash
Executable File

#!/bin/bash
# jsmn v1.1.0 — header-only tokenizer。许可 MIT。编译一个最小 TU 以量测其代码体积。
. ./libs_common.sh
D="$OUT/jsmn/mipsel"; mkdir -p "$D"
cat > "$D/jsmn_measure.c" <<'C'
#include "jsmn.h"
#include <string.h>
unsigned long jsmn_count(const char *js) {
jsmn_parser p; jsmn_init(&p);
unsigned n = jsmn_parse(&p, js, strlen(js), NULL, 0);
return n;
}
C
$CC_MIPS -Os -I"$VENDOR/jsmn" -fno-stack-protector -c "$D/jsmn_measure.c" -o "$D/jsmn.o" || exit 1
$AR_MIPS rcs "$D/libjsmn.a" "$D/jsmn.o"
echo "jsmn (mipsel, header-only):"
measure_archive "$D/libjsmn.a"