From bd5969fc876a10b18613302db7087ef3c40f18e1 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 7 Mar 2024 17:28:00 -0500 Subject: lib: Add mlibc Signed-off-by: Ian Moffett --- lib/mlibc/scripts/abi-link.sh | 12 ++++++++++++ lib/mlibc/scripts/check-options-header-include.sh | 18 ++++++++++++++++++ lib/mlibc/scripts/hdoc.toml.in | 15 +++++++++++++++ 3 files changed, 45 insertions(+) create mode 100755 lib/mlibc/scripts/abi-link.sh create mode 100644 lib/mlibc/scripts/check-options-header-include.sh create mode 100644 lib/mlibc/scripts/hdoc.toml.in (limited to 'lib/mlibc/scripts') diff --git a/lib/mlibc/scripts/abi-link.sh b/lib/mlibc/scripts/abi-link.sh new file mode 100755 index 0000000..fdd0a5c --- /dev/null +++ b/lib/mlibc/scripts/abi-link.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# USAGE: put files and ports in the arrays below and export the abi you want to use + + +declare -a files=() +declare -a ports=() + +for file in "${files[@]}"; do + for port in "${ports[@]}"; do + ln -rsiv abis/$abi/$file sysdeps/$port/include/abi-bits/$file + done +done diff --git a/lib/mlibc/scripts/check-options-header-include.sh b/lib/mlibc/scripts/check-options-header-include.sh new file mode 100644 index 0000000..7f951c8 --- /dev/null +++ b/lib/mlibc/scripts/check-options-header-include.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +shopt -s lastpipe + +errors_found=0 + +find . -wholename '*include/*.h' -print0 | while read -rd $'\0' file; do + uses=$(grep -c -E "__MLIBC_(ANSI|BSD|POSIX|LINUX|INTL|ICONV|GLIBC|CRYPT)_OPTION" "$file") + if [ "$uses" -ne 0 ]; then + does_include=$(grep -c "#include " "$file") + if [ "$does_include" -eq 0 ]; then + echo "'$file' does not include mlibc-config.h while it does use mlibc option macros" + errors_found+=1 + fi + fi +done + +exit $errors_found diff --git a/lib/mlibc/scripts/hdoc.toml.in b/lib/mlibc/scripts/hdoc.toml.in new file mode 100644 index 0000000..eb51611 --- /dev/null +++ b/lib/mlibc/scripts/hdoc.toml.in @@ -0,0 +1,15 @@ +[project] +name = "mlibc" +use_system_includes = false +git_repo_url = "https://github.com/managarm/mlibc/" +git_default_branch = "master" + +[ignore] +paths = [ + "options/ansi/musl-generic-math/" +] + +[paths] +input_dir = "@source_root@" +output_dir = "@build_root@/docs/" +compile_commands = "@build_root@/compile_commands.json" -- cgit v1.2.3