[LLVMdev] Auto-configuration of llvm/projects directory

Reid Spencer reid at x10sys.com
Thu Sep 23 13:40:46 PDT 2004


Just a note about the change in auto-configuration of the llvm/projects directory.

Previously, if we found any subdirectories of llvm/projects containing a 
configure script, it would be automatically configured by the llvm configure 
script. While this was handy, the necessary specification in the autoconf input 
file (configure.ac) used a deprecated feature of autoconf. This was replaced 
recently by having llvm/configure only automatically configure those 
directories it knows about. We can easily extend this list as new projects come 
along. This change means that our autoconf script is 100% error/warning free. 
This is a good thing.

The details:

The AC_CONFIG_SUBDIRS m4 macro is used in configure.ac to indicate a 
subdirectory that needs to have its configure script run after the main 
llvm/configure script is run. When specifying AC_CONFIG_SUBDIRS, you must 
specify the directory literally. If you use a variable instead of a liberal, 
you currently get a warning. The documentation says that this will, eventually, 
become an error as it is deprecated because using a variable cannot be 
successfully implemented on all platforms. That is, we can't write things like:

if test -r projects/${proj}/configure ; then
   AC_CONFIG_SUBDIRS(${proj})
fi

Instead, autoconf requires us to write:

if test -r projects/llvm-test/configure ; then
   AC_CONFIG_SUBDIRS(projects/llvm-test)
fi

This change was requested by Misha who noted that "one of these things is not 
the same" and because I was uncomfortable with disregarding the autoconf 
warning messages about the misuse of AC_CONFIG_SUBDIRS.  We *could* put it back 
if its really necessary, but I would prefer that we just add known projects to 
the configure.ac script so we can use AC_CONFIG_SUBDIRS properly.

Reid.




More information about the llvm-dev mailing list