Add vlibc scaffold, build system, and documentation

Establish the repository layout per Vox guidelines (layouts/C.md,
building/C.md): Autotools build (GCC-only, C23), five compatibility
profiles (--enable-onlyposix/--enable-muslmimic/--enable-muslext/
--enable-spoof, default vlibc), alongside/overwrite install methods,
vlibc-gcc/vlibc-clang drivers, static-linking requirement (except
spoof), benchmark harness, and tooling (.clang-format/.clang-tidy/
.clangd + compile_commands.json).
This commit is contained in:
2026-08-31 17:06:01 -04:00
parent 3f63ae1cdd
commit 180c1107b6
25 changed files with 17796 additions and 1 deletions
+24
View File
@@ -0,0 +1,24 @@
#!/bin/sh
# vlibc-clang — compile and link against vlibc using Clang.
#
# Generated by configure from tools/vlibc-clang.in. Do not edit directly.
# This is the compiler driver that vlibc ships for its consumers.
prefix='@prefix@'
install_mode='@vlibc_install_mode@'
profile='@vlibc_profile@'
case "$install_mode" in
overwrite)
vlibc_includedir="$prefix/include"
vlibc_libdir="$prefix/lib"
;;
*)
vlibc_includedir="$prefix/lib/vlibc/include"
vlibc_libdir="$prefix/lib/vlibc/lib"
;;
esac
# TODO: full sysroot handling for `overwrite` installs and cross-compilation,
# and -static/-lvlibc wiring once the library exports its full ABI.
exec clang -isystem "$vlibc_includedir" -L"$vlibc_libdir" "$@"
+24
View File
@@ -0,0 +1,24 @@
#!/bin/sh
# vlibc-gcc — compile and link against vlibc using GCC.
#
# Generated by configure from tools/vlibc-gcc.in. Do not edit directly.
# This is the compiler driver that vlibc ships for its consumers.
prefix='@prefix@'
install_mode='@vlibc_install_mode@'
profile='@vlibc_profile@'
case "$install_mode" in
overwrite)
vlibc_includedir="$prefix/include"
vlibc_libdir="$prefix/lib"
;;
*)
vlibc_includedir="$prefix/lib/vlibc/include"
vlibc_libdir="$prefix/lib/vlibc/lib"
;;
esac
# TODO: full sysroot handling for `overwrite` installs and cross-compilation,
# and -static/-lvlibc wiring once the library exports its full ABI.
exec gcc -isystem "$vlibc_includedir" -L"$vlibc_libdir" "$@"