This directory contains additional M4 macros for the build system.

Currently, these are all from Autoconf Archive. While many distributions have
an Autoconf Archive package, which autogen.sh can use if present, it’s a
little uncommon to have installed, and we keep running into boxen where we
want to run autogen.sh, but Autoconf Archive is not installed and we can’t
install it promptly.

There is a licensing exception for these macros that lets us redistribute
them: “Every single one of those macros can be re-used without imposing any
restrictions whatsoever on the licensing of the generated configure script. In
particular, it is possible to use all those macros in configure scripts that
are meant for non-free software.” [1]

To add a macro:

1. Browse the Autoconf Archive documentation [1] and select the macro you want
   to use.

2. Download the macro file from the "m4" directory of the GitHub source code
   mirror [2] and put it in this directory. Use a release tag rather than a
   random Git commit. You can "wget" the URL you get with the "raw" button.

   (You could also use the master Git repo on Savannah [3], but GitHub is a
   lot easier to use.)

3. Record the macro and its last updated version in the list below.

Macros in use:

  v2021.02.19  AX_CHECK_COMPILE_FLAG
  v2023.02.20  AX_CHECK_LINK_FLAG
  v2023.02.20  AX_CHECK_PREPROC_FLAG
  v2021.02.19  AX_COMPARE_VERSION
  v2021.02.19  AX_PTHREAD
  v2021.02.19  AX_WITH_PROG

[1]: https://www.gnu.org/software/autoconf-archive/
[2]: https://github.com/autoconf-archive/autoconf-archive
[3]: http://savannah.gnu.org/projects/autoconf-archive/
