On 04/12/2013 05:30 AM, Bob Rossi wrote: > Hi, > > I'm creating a new project and using autotools. I've done this before, > but for some reason this time I've noticed how many files autotools > creates. It totally pollutes the top level of my project. > > lib <- Mine originally > aclocal.m4 Ask automake if that can be moved. Autoconf does not create it. > AUTHORS GNU Coding Standards requires this in the top level; but you can tell automake that you don't want to comply to GNU Coding Standards if you want to omit it. Autoconf does not create it. > autom4te.cache Autoconf creates this, but it is local only; it is not packaged into your tarballs. If you don't like it, you can use autom4te's --no-cache option (your runs of autoconf will be slightly slower). > bootstrap Autotools don't create this. That must be your doing, or else you are using gnulib. > build-aux This is a subdirectory, precisely to hold a lot more files rather than polluting the top level directory. > ChangeLog GNU Coding Standards requires this in the top level. Same comments as AUTHORS. > config.h.in This does not have to live at the top level. Use AC_CONFIG_HEADERS([dir/config.h]) to stick it in a subdirectory instead. > configure Mandatory at the top level, for your package to be configured by end users. > configure.in That name is obsolete. You should be using configure.ac these days. This file has to exist for you to create configure; and you need to ship it to the user to comply with the rules of open source. No easy way to stick it in a subdirectory. > COPYING GNU Coding Standards requires this in the top level. Same comments as AUTHORS. > INSTALL GNU Coding Standards requires this in the top level. Same comments as AUTHORS. > m4 This is a subdirectory so that you don't have to pollute the top level with helper .m4 files. > Makefile.am If you use automake, this is mandatory to comply with the rules of open source. You don't have to use automake, in which case you can get away without this file. > Makefile.in Mandatory if you want your use to do './configure && make' - configure has to create a Makefile from something, after all. > NEWS GNU Coding Standards requires this in the top level. Same comments as AUTHORS. > README GNU Coding Standards requires this in the top level. Same comments as AUTHORS. > > I understand why configure, Makefile.am and bootstrap (autoreconf script) > need to exist in this directory. > > Is it possible to configure the autotools so that everything else gets > put somewhere else (like in a nested directory)? It's possible to configure automake to not enforce GNU Coding Standards and drop some of the files, and to use AC_CONFIG_HEADERS to bury config.h[.in] in a subdirectory. Beyond that, it's already a pretty minimal list, and nothing listed above is really autoconf's fault except for autom4te.cache (which can be disabled), so you are better off complaining to other lists. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Autoconf mailing list Autoconf@xxxxxxx https://lists.gnu.org/mailman/listinfo/autoconf