Fix loop to be more accuratly timed, and added custom ruby libs inclusion setup

This commit is contained in:
2026-05-20 17:30:38 +01:00
parent 1a337608f3
commit 7d48b226ab
11 changed files with 1117 additions and 27 deletions
+40
View File
@@ -0,0 +1,40 @@
#!/usr/bin/env bash
set -e
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
OUTPUT_TMP=$(mktemp)
OUTPUT="$SCRIPT_DIR/../../include/binding/ruby_compiled.h"
if test "$1" = "clean"; then
rm -f "$OUTPUT"
exit 0
fi
trap 'rm -f "$OUTPUT_TMP"' EXIT
mapfile -t FILES < <(find "$SCRIPT_DIR" -name "*.rb" | sort)
LATEST_FILE_TIME=$(for file in "${FILES[@]}"; do
echo $(stat -c "%Y" "$file")
done | sort -n | tail -1)
OUTPUT_TIME=$(stat -c "%Y" "$OUTPUT" 2>/dev/null || echo 0)
if test "$OUTPUT_TIME" -ge "$LATEST_FILE_TIME"; then
echo "mgems is up to date."
exit 0
fi
"$SCRIPT_DIR/../mruby/bin/mrbc" -o "$OUTPUT_TMP" "${FILES[@]}"
{
echo "#ifndef MGEMS_H"
echo "#define MGEMS_H"
xxd -i -n mgems $OUTPUT_TMP \
| sed -e 's/^unsigned char /constexpr unsigned char /' \
-e 's/^unsigned int /constexpr unsigned int /'
echo "#endif"
} > "$OUTPUT"
echo "Compiled mgems!"
+1010
View File
File diff suppressed because it is too large Load Diff