Hello Rhys, * Rhys Ulerich wrote on Thu, Aug 07, 2008 at 07:55:37PM CEST: > > I'm putting together a (hopefully reusable) macro the requires a script in > my AC_CONFIG_AUX_DIR directory: > > AC_DEFUN(AC_FOOBARBAZ,[ > #... > AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) > AC_REQUIRE_AUX_FILE([tex-it]) > AC_SUBST(ac_aux_dir) > # Output a script that will later invoke $(ac_aux_dir)/tex-it during Make > #... > ]) > > This is a little klunky. Is there a better way to get of the configured > AC_CONFIG_AUX_DIR than hijacking ac_aux_dir with AC_SUBST? That is indeed klunky. I'm afraid you won't be able to get by without undocumented Autoconf (or Automake) features at all; but the above is a bit inconvenient. First, please AC_SUBST a different variable (which you initialize from ac_aux_dir), second, without mangling the value is unusable from subdirectories of the build directory. Ideally, I guess Autoconf should provide a public variable that is mangled for each subdir (like it currently does with $INSTALL, $MKDIR_P). Automake does am_aux_dir=`cd $ac_aux_dir && pwd` to absolutify its value. You can do this, but it prevents building from a source directory with spaces in its name. (You can't have both, a possibly relative path but without spaces, and a path that is constant for all Makefiles.) This is a bit tricky code (we've gotten previous instances of similar code wrong repeatedly), and I'm too tired to venture into it right now. * Eric wrote: > > What's wrong with doing this in configure.ac: > > > > AC_CONFIG_AUX_DIR([build-aux]) > > > > then doing this in your Makefile: > > > > aux_dir=$(top_srcdir)/build-aux > > ... > > rule: > > $(SHELL) $(aux_dir)/tex-it Apart from the other items already discussed, this only runs in the toplevel Makefile. > I'm trying to insulate myself against breakage if/when someone changes the > build-aux directory name. It looked like the usual Autoconf missing > install-sh logic used AC_CONFIG_AUX_DIR_DEFAULT to handle this. Just > wondered if there's any public mechanism to handle this. There should be, eventually. > Also, generally, how do people package/distribute support scripts (like my > $(aux_dir)/tex-it) when posting stuff up to the various Autoconf macro > archives? This is another problem that should be solved, eventually. Currently most other packages either just let the user copy a file, or they have extra scripts to install such stuff (libtoolize, gettextize, gnulib-tool, ...), yuck. automake has --add-missing, maybe one should just teach it to look for extra files in a standard place. I'd personally prefer to leave all this stuff to post 2.63. Cheers, Ralf _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf