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
+27
View File
@@ -0,0 +1,27 @@
# vlibc — benchmark harnesses (musts/BENCHMARKING.md).
AM_CPPFLAGS = -I$(top_srcdir)/include
AM_CFLAGS = @VLIBC_CFLAGS@
# Built only on demand (via `make bench`), so `make all` does not need the
# library to be built first.
EXTRA_PROGRAMS = bench_vlibc
bench_vlibc_SOURCES = bench_vlibc.c
# By default benchmarks link against vlibc itself. --with-libc=glibc links the
# same harness against the system glibc; --with-libc=musl builds it with
# musl-gcc for the musl reference.
if BENCH_LINK_VLIBC
bench_vlibc_LDADD = ../libvlibc.la
else
bench_vlibc_LDADD =
endif
if BENCH_LINK_MUSL
CC = $(MUSL_CC)
endif
bench: bench_vlibc
./bench_vlibc
.PHONY: bench