Hi Bruno,
On 9/14/20 3:53 PM, Bruno Haible wrote:
Hi Bruce,
It would help if you would give a pointer to the source code you are
trying to bootstrap. Because a single line in Makefile.am or configure.ac
can have a big effect.
It lives on my home machine while I try to get it ready for prime time.
As you may recollect, autogen is a monster. You can pull a copy from
GNU's git repo, if you're interested:
https://savannah.gnu.org/git/?group=autogen
It is documented here:
https://www.gnu.org/software/gnulib/manual/html_node/Modified-build-rules.html
Apparently, somewhere along the line I added "--lib=do_not_make_me".
That had to have been years ago and I have no recollection of adding
that. Anyway, that triggered some do_not_make_me_la_SOURCE += whatever
stuff, which was not added previously. I have no idea how those names
get selected, but after a grep, sed and unique sort, I came up with this
list:
EXTRA_do_not_make_me_la_SOURCES =
do_not_make_me_la_DEPENDENCIES =
do_not_make_me_la_LIBADD =
do_not_make_me_la_SOURCES =
These aren't documented on that page. I googled for "do_not_make_me" and
got no results, tho were I to do it today, I'd likely get this email
thread. :) Anyway, I am gathering from reading what you've pointed to
that the grep/sed/sort accommodation is the right solution. Thank you.
Regards, Bruce
For your possible (unlikely?) entertainment:
fix_do_not_make_me() {
local fix_list=$(
grep -l FIX-DO-NOT-MAKE-ME \
$(find * -type f -name 'Makefile.am'))
local sedcmd= vlist= f= v=
for f in $fix_list
do
sedcmd=$'/^##* *FIX-DO-NOT-MAKE-ME/ {\ns/.*//\n'
vlist=$(sed -n '/do_not_make_me/s/ *[+=].*//p' $f | \
sort -u)
if test ${#vlist} -gt 1
then
sedcmd+=$'i\\\n'
for v in $vlist
do
sedcmd+="$(printf '%-32s=' $v)"$'\\\n'
done
sedcmd+=$'\n'
fi
sedcmd+='}'
sed "$sedcmd" $f > $f.make-me-fixed
mv -f $f.make-me-fixed $f
done
}