Some details can be recorded in a header file for inclusion throughout the package (typically, config.h). This is handled by a combination of autoheader and autoconf.
Some information becomes flags to the compiler, linker and other processors: include file paths, some definitions that cannot go into config.h. This is handled by autoconf and automake.