autoconf/TODO
David MacKenzie d11bd8ab28 doc tweaks
1994-09-28 17:08:55 +00:00

119 lines
4.4 KiB
Plaintext

-*- outline -*-
Things it might be nice to do someday:
------------------------------------------------------------------------------
* Make AC_CHECK_LIB check whether the function is already available
before checking for the library. This might involve adding another
kind of cache variable to indicate whether a given function needs a
given library. The current ac_cv_func_ variables are intended to
indicate whether the function is in the default libraries, but
actually also take into account whatever value LIBS had when they
were checked for.
------------------------------------------------------------------------------
* Add AC_PROG_CC_POSIX to replace the current ad-hoc macros for AIX,
Minix, ISC, etc.
------------------------------------------------------------------------------
* Use AC_EGREP_CPP instead of AC_TRY_LINK to detect structures and members.
------------------------------------------------------------------------------
* Make AC_CHECK_FUNC[S] automatically use any particular macros for the
listed functions.
------------------------------------------------------------------------------
* Select the right CONFIG_SHELL automatically (for Ultrix, Lynx especially.)
------------------------------------------------------------------------------
* Doc: Add index of concepts.
------------------------------------------------------------------------------
* Doc: Centralize information on POSIX, MS-DOS, cross-compiling, and
other important topics.
------------------------------------------------------------------------------
* Doc: Discuss what Autoconf doesn't do: Makefile rules and
boilerplate, providing replacement C headers and library functions
(a consistent ANSI C/POSIX.1 environment). Lessons learned.
Advantages to not requiring special external libraries or config
files or programs.
------------------------------------------------------------------------------
* Make autoconf diagnose giving too few or too many arguments to macros.
Maybe even use a scheme that supports naming the formals.
------------------------------------------------------------------------------
* Split up AC_SUBST substitutions using a loop to accomodate shells
with severely limited here document sizes, if it turns out to be a problem.
I'm not sure whether the limit is on lines or bytes; if bytes, it
will be less of a problem than it was with the long lines used for
creating a header file.
------------------------------------------------------------------------------
* Allow [ and ] in egrep patterns and AC_DEFINE args.
------------------------------------------------------------------------------
* Supply a template Makefile.in that people can adapt (what GNU hello
was going to be).
** Have CC, DEFS, etc. substitutions.
** Support all of the GNU standard targets.
** Parameterize with make variables to require as little modification
as necessary. Maybe via m4? (Eww, sounds like imake.)
** Make it usable both with and without a header file.
------------------------------------------------------------------------------
* Mike Haertel's suggestions.
** Provide a file containing decls for alloca, strings, etc. acdecls.h?
** Cross compiling:
*** Error messages include instructions for overriding defaults using
config.site.
*** Distribute a config.site corresponding to a hypothetical bare POSIX system with c89.
*** Cache consistency checking: ignore cache if environment
(CC or PATH) differs.
** Site defaults:
*** Convention for consistency checking of env vars and options in config.site so config.site can print obnoxious messages if it doesn't like options or env vars that users use.
------------------------------------------------------------------------------
* autoscan: Tell the files that caused inclusion of each macro,
in a dnl comment. (Seems to be hard.)
------------------------------------------------------------------------------
* Look at user contributed macros: prototypes, IEEE double precision math,
shared libraries, various other things.
------------------------------------------------------------------------------
* Test suite: more things to test:
** That the shell scripts produce correct output on some simple data.
** Configuration header files. That autoheader does the right thing,
and so does AC_CONFIG_HEADER when autoconf is run.
------------------------------------------------------------------------------