automake-patches
[Top][All Lists]
Advanced

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

Re: distcleancheck.patch


From: Bruce Korb
Subject: Re: distcleancheck.patch
Date: Fri, 23 Nov 2001 19:03:47 -0800

Hi Alexandre,

> That's really DISTCLEANFILES.  If you have seen DIST_CLEAN_FILES
> somewhere it's a bug.

I was remembering "CONFIG_CLEAN_FILES".  Based on my reading
of the Makefile, it seemed like I need to make sure that
generated sources get listed in this list.

>  Bruce> @exemple
>  Bruce> distcleancheck_ignores_rebuilt_files = true
>  Bruce> @end example
> 
>  Bruce> and massage it into doing the right thing.
> 
> That means adding yet another cruftin automake, and then someone
> will ask Automake to handle another hint like
>   distcleancheck_ignore_these_files = foo bar baz

Yes.  Good.

> or whatever else, which means yet another special hack.

No, Bad.

> IMHO, there are already too many `if's in automake.

That's only because they are generally ad-hoc.
What is needed is a general purpose mechanism
that makes it easy to do text selection without
requiring changes to the "automake" engine.

>  Bruce> I am _very_much_ a believer in making things easy to use
>  Bruce> for end users (e.g., me).
> 
> Is it really important to provide polished support for such an
> uncommon need?

Yes.  Not for this one in particular, of course, but
for the general need of solving uncommon needs without
rehacking automake and without burdening users with
having to understand the internal mechanisms of automake.
It _should_ be possible to implement the text selection
by tweaking am/distdir.am.  e.g.:

  if %?VALUE_SET distcleancheck_ignores_rebuilt_files%
    ...<<do it the way that ignores rebuilt files>>...
  else
    ...<<do it the other way>>...
  endif

automake should not need to know that
``distcleancheck_ignores_rebuilt_files'' is special.
Or, you can require that such names _be_ special
with a special prefix.  (e.g., ``$'' ?)

>  I still would like to see a case where it's
> *necessary* for a freshly unpacked package to rebuild a
> distributed file.  IMHO, such a package is probably tricky
> enough so that hacking this particular definition is not a big
> deal for the maintainer (e.g., you).

It actually isn't necessary for my package.  I suppose if I
spent enough time picking apart generated dependencies I could
figure out why it is that ``make all'' doesn't build the
generated but distributed files, whereas ``make check'' does.

I don't take any joy in stubbing my toe and wandering through
a labyrinth of perl, m4, make and shell scripting only to discover
that someone somewhere deep in the bowels of the thing made
an assumption that ``make distclean'' would purge all files
constructed in a VPATH make.  It is not fun even for, e.g., me.  ;-)

>  Bruce> If it turns out that it is "hard" to make alternate text
>  Bruce> based on clues like the above, then I have two
>  Bruce> proposals:
> 
>  Bruce> 1.  do it as you suggest
>  Bruce> 2.  add infrastructure so that it becomes easy.
> 
> Bruce, are you tired or what?  How can you write "make alternate
> text based on clues like the above" and yet forget the ultimate
> proposal: 3. use Autogen :)

Oh!  That's right!  I forgot that using AutoGen for the automake
engin _would_ make such output selections trivial.  Yes, that is
the best way to "add infrastructure so that it becomes easy [to do]."
But it is a tad more work that we have been discussing.



reply via email to

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