* Gary V. Vaughan wrote on Mon, Aug 22, 2005 at 06:26:23PM CEST:
> 
> Ah, yes.  I see what you mean now.  Unfortunately, I don't think your 
> patch will always work -- because of timestamp dependencies between 
> $prefix/share/aclocal, $prefix/share/libtool/libltdl, 
> $prefix/share/libtool/libltdl/libltdl, 
> $prefix/share/libtool/libltdl/loaders and
> $prefix/share/libtool/libltdl/config :-(
> 
> I think we need a giant nobase_libtool_DATA that lists all these files 
> in the right order, and then some directory shuffling in install-hook to
> put everything in the right place in the install tree.  And maybe some 
> libtoolize twiddling to find everything correctly...

Why?  share/aclocal comes first, then libtool/config, then
libtool/libltdl, and the last ones in proper order.

I'm not sure libtoolize should be changed.  While Bob and I agreed that
it was a good idea to have libtoolize update timestamps, this bears a
problem:

On my machine, several of the above files are installed the same second.
So, on the client machine where libtoolize is executed, they will have
the same time.  If libtoolize were to update time stamps, then it would
need to know the order (and could _not_ infer it from timestamps).  But
_then_ it would not matter at all which time the installed files had
anyway.  Not at all.

So in that case you could just leave it all to libtoolize to do the
ordering.  My thought so far was, that it's sufficient to do the
ordering in "make install" as I've mentioned above, and leave the "tar
hack" in libtoolize.

> Ralf Wildenhues wrote:
> >No.  All you need to do is specify all files in the correct order,
> >and then have them installed and uninstalled by Automaken rules
> >(something like `aclocal_DATA = $(aclocalfiles)' should suffice).
> >We might have to forbid parallel "make install".  I don't mind.
> >
> >Oh, well.  If you don't fix this, then I'll just have to put this in
> >my patch as well, I guess.
> 
> I'll leave it for your patch, both to keep mine from getting any bigger, 
> and because of my thoughts above...

OK.  I'll post a first version of it soon after your commit.  In a new
thread.  Let's discuss then.

> >>The attached now passes distcheck.
> >
> >Does it pass `make install'?
> 
> Yes.  This one too.  Also distcheck and installcheck still pass.

Very good.  Thanks.

> >Can you libtoolize and libtoolize --ltdl
> >a client package from the installed?
> 
> Yes.  I've added writing a test for this to my TODO: 
> http://tkd.kicks-ass.net/WebWiki/GnuLibtoolProject/ToDo/LibtoolizeTest

OK.

> >My idea of reviewing is: if I don't allow through a patch with known
> >regressions, things will eventually have to get better.  So I don't
> >approve of this patch, because it introduces regressions.
> 
> Works for me :-D

Well, the missing bit is this, which I sent to you privately (but meant
to send in public, sorry):

| Another regression: on GNU/Linux, after bootstrap, configure, make:
| make[2]: *** No rule to make target `dlopen.la', needed by 
`libltdl/libltdl.la'.  Stop.
| 
| ltdl.m4 needs to be adjusted for this, I guess.  I also guess this
| change will need adjustments in all of Makefile.am, libtoolize.m4sh.

LT_DLLOADERS and LT_DLPREOPEN will have to be created differently
depending on whether libltdl is built from the toplevel Makefile or from
libltdl/Makefile.  (I believe this would be another issue Bob has posted
about a loong time ago, when he tried to build
GraphicsMagick/ltdl/libltdl.la directly from GraphicsMagick/Makefile.)

Other than that, your patch looks quite good now.

Cheers,
Ralf


Reply via email to