As someone who maintains several different autoconf macros and several different software packages that share the macros, I'd like to find a better way of distributing my macros for use. Currently, I need to copy each macro I maintain into the aclocal.m4 file of each package that needs to use the macro. This is a bit inconvenient and can introduce problems keeping all of the copies in sync.
I propose that we modify autoconf to have a system-wide site macro directory (analogous to emacs's site-lisp directory or perl's site_perl directory) where third-party macros can be installed and maintained. The idea is that I'd publish my autoconf macros as independent packages, which people could download and install into their system's site macro directory (which would be something like "${prefix}/share/autoconf/site_macros"). If one of my packages uses one of these macros, I'd put a note in the README file that says "if you need to regenerate configure, you'll need autoconf (available from ...) and macro package foo (available from ...)". The only semantic problem that I see with this is how autoconf would decide which files in the site macro directory to read. I can see two possible ways for autoconf to handle this: * It could read them all. This would be the easiest for people to use, but it might cause namespace conflicts or potential speed problems if a large number of macros are defined. * We could add a macro called AC_INCLUDE (or something like that) to include individual macro files (analogously to cpp's `#include'). For example, package maintainers could use "AC_INCLUDE([foo.m4])" to include the file "${prefix}/share/autoconf/site_macros/foo.m4". Anyway, if we could introduce something like this, it would make it much easier for people to share autoconf macros, which IMHO would make autoconf a much more useful tool. Please let me know what you think. -- Mark D. Roth <[EMAIL PROTECTED]> http://www.feep.net/~roth/