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