# 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], [huntedbytheirs@example.com]) 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