bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Trying to bootstrap my project, distcheck doesn't configure


From: Bruce Korb
Subject: Re: Trying to bootstrap my project, distcheck doesn't configure
Date: Tue, 15 Sep 2020 07:16:45 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

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
}




reply via email to

[Prev in Thread] Current Thread [Next in Thread]