--- /dev/null
+Fix building the :mod:`math` module on FreeBSD.
+Define ``_ISOC23_SOURCE`` to make the C23 library declarations
+(such as ``sinpi()`` in ``math.h``) visible.
printf "%s\n" "#define _POSIX_C_SOURCE 202405L" >>confdefs.h
+
+ # Defining _POSIX_C_SOURCE and _XOPEN_SOURCE hides C23 library
+ # declarations on FreeBSD (e.g. sinpi() in math.h) when compiling
+ # with -std=c11. Defining _ISOC23_SOURCE makes them visible again.
+
+printf "%s\n" "#define _ISOC23_SOURCE 1" >>confdefs.h
+
fi
# On HP-UX mbstate_t requires _INCLUDE__STDC_A1_SOURCE
AC_DEFINE([_POSIX_C_SOURCE], [202405L],
[Define to activate features from IEEE Std 1003.1-2024])
+
+ # Defining _POSIX_C_SOURCE and _XOPEN_SOURCE hides C23 library
+ # declarations on FreeBSD (e.g. sinpi() in math.h) when compiling
+ # with -std=c11. Defining _ISOC23_SOURCE makes them visible again.
+ AC_DEFINE([_ISOC23_SOURCE], [1],
+ [Define to activate ISO C23 library declarations])
fi
# On HP-UX mbstate_t requires _INCLUDE__STDC_A1_SOURCE
/* Define to include mbstate_t for mbrtowc */
#undef _INCLUDE__STDC_A1_SOURCE
+/* Define to activate ISO C23 library declarations */
+#undef _ISOC23_SOURCE
+
/* This must be defined on some systems to enable large file support. */
#undef _LARGEFILE_SOURCE