Hi Simon, On 11 Jan 2012, at 21:35, Gary V. Vaughan wrote: > On 11 Jan 2012, at 20:57, Simon Josefsson wrote: >> [[...]] for some reason, my projects >> often follow a pattern where they need to have multiple gnulib >> instances. > > [[...]] I think this setup is a fairly common requirement > for any project that installs libraries and a binary or two, so I > was rather surprised at how difficult it was to tease that functionality > out of the gnulib bootstrap. > > [[...]] If you decide to go ahead and try my bootstrap script, and get stuck > anywhere, I'd be happy to help write the bootstrap.conf parts for you > since I can also use them to move M4 master to my saner script. > > If you decide to go ahead and try my bootstrap script, and finish the > multi-gnulib instance hook function without any help, please ping > me afterwards if you don't mind me adopting it for M4 too :)
Now that I think about it, I'd like to put the multi-gnulib support directly into my bootstrap script so that it can be called by setting some configuration variables in bootstrap.conf rather than proliferating a hook function among all the projects that need this particular functionality. Otherwise the pattern for extending bootstrap.conf is something like this: my_gnulibize_again () { $func_debug $require_gnulib_tool ( docbase=... gnulib_mk=... gnulib_name=... local_gl_dir=... source_base=... tests_base=... gnulib_tool_options='...' gnulib_modules='...' gnulib_non_module_files='...' gnulib_cmd=`echo $gnulib_tool $gnulib_tool_options $gnulib_modules` func_show_eval "$gnulib_cmd" 'exit $?' ) || exit 1 } func_add_hook func_gnulib_tool my_gnulibize_again What project did you have in mind? I'll compare the needs of yours and GNU M4, and bake in that functionality to the next version of my bootstrap script. Cheers, -- Gary V. Vaughan (gary AT gnu DOT org)