build: add autotools bootstrap skeleton with C23 flags

This commit is contained in:
2026-08-28 19:42:33 -04:00
parent ea9ca79d48
commit 238db8b484
9 changed files with 145 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
# configure.ac - stupidtools bootstrap (autotools, C23).
#
# This is the *bootstrap* build only: stupidtools will later generate its
# own ./configure (self-hosting, todo 23). Only Makefile.am inputs are
# tracked in git; configure/Makefile* are generated and gitignored.
AC_PREREQ([2.71])
AC_INIT([stupidtools], [1.0.0], [[email protected]])
AM_INIT_AUTOMAKE([foreign subdir-objects])
AC_CONFIG_SRCDIR([src/main.c])
AC_PROG_CC
# Require a compiler that actually accepts C23 (ISO/IEC 9899:2024).
# -std=c23: GCC >= 14, Clang >= 18. Never -std=c2y (next draft, not ratified).
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -std=c23 -Werror"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 202311L
#error "C23 (__STDC_VERSION__ >= 202311L) required"
#endif]],
[[_Static_assert(1, "ok");]])],
[],
[AC_MSG_ERROR([a C compiler with C23 support (GCC >= 14 or Clang >= 18) is required])])
CFLAGS="$save_CFLAGS"
AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT