18 lines
600 B
Bash
Executable File
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"
|