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:
@@ -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
|
||||
Reference in New Issue
Block a user