aboutsummaryrefslogtreecommitdiff
path: root/lib/mlibc/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/scripts')
-rwxr-xr-xlib/mlibc/scripts/abi-link.sh12
-rw-r--r--lib/mlibc/scripts/check-options-header-include.sh18
-rw-r--r--lib/mlibc/scripts/hdoc.toml.in15
3 files changed, 45 insertions, 0 deletions
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 <mlibc-config.h>" "$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"