libtool-patches
[Top][All Lists]
Advanced

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

Re: [PATCH] [cygwin|mingw] fix dlpreopen with --disable-static (take 8?)


From: Charles Wilson
Subject: Re: [PATCH] [cygwin|mingw] fix dlpreopen with --disable-static (take 8?)
Date: Sat, 03 Jul 2010 11:34:58 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666

On 6/28/2010 3:23 AM, Gary V. Vaughan wrote:
> Hi Chuck,
> 
> Thanks for persevering with the Windows support in Libtool.
> 
> Regarding our patch review process, I honestly find the tough reviews
> valuable in keeping up the quality of my patches, not least because it
> makes me more careful not to leave loose ends in my submissions.

Sure. Tough reviews are fine.

It's non-timely and off-point "reviews" that I tire of.

The non-timely bit is just a reflection of the manpower and free time
issues that all open source projects are subject to, so that kinda goes
with the territory.  Nobody likes it, but...you just gotta live with it.

By "off-point" I mean discussing non-germane or wishlist items as part
of a review.  If the reviewer isn't VERY careful, such off-topic dicta
can appear to imply that acceptance of a particular patch is predicated
on solving longstanding wishlist items or software design misfeatures
that long predate the patch in question.

Most potential contributors -- myself included -- are scratching their
own itch: X doesn't work, and I want to fix it.  It's discouraging to be
told (or THINK you are told) "we won't fix X until you or somebody else
fixes huge, gaping, gargantuan problems Y and Z. Those problems are
really hard to solve, and have existed for years. They are SO hard that
none of US experts have even tried to tackle it.  BUT...we won't accept
your patch for X until somebody steps up to the plate for Y and Z"

Which...sounds a whole lot like "We appreciate the submission of your
manuscript "The Life and Times of an New York Meter Maid". However, at
this time there are no opportunities for additional entries in our New
York True Life book series. Thank you for your interest in Bob's
Publishing Company, and Keep Writing!"

Unless the contributor of patch X goes off to scratch YOUR itch
regarding Y and Z. That's not the way free software contributors are
best motivated.

> Nevertheless, please do remember that it is a *review*, and if you find
> yourself disagreeing with something (excepting an outright veto of course),
> Ralf and I are both acutely aware that you are the one doing the work on
> these patches and the last thing we want to do is retard the progress of
> Libtool on Windows, so please don't be afraid to say "on balance, I'd
> rather see this patch move Libtool forward in some small way without
> addressing issue X right now".  Often, we'll concede in exchange for a
> TODO item! :)

That's an...interesting take.  I've never assumed that ANY contribution
would be acceptable unless it received an actual approval by a
maintainer.  I mean, really: here's this patch, and no single maintainer
has endorsed it without some significant objection -- and I should feel
free as a non-maintainer to say "well, I disagree, so I'm pushing anyway"??

That seems like a fast way to lose committer status, IMO.

Maybe you mean "after a few more rounds of negotiation on the mailing
list, maintainers may acquiesce with reservation to an un-revised
version of particular patch"...

> On 28 Jun 2010, at 13:10, Ralf Wildenhues wrote:
>> * Charles Wilson wrote on Mon, Jun 28, 2010 at 12:05:40AM CEST:
>>> On 6/27/2010 4:43 PM, Ralf Wildenhues wrote:
>>>> I don't see this method as the new method of choice.  We already have a
>>>> mechanism for years to transport values to the libtool script with
>>>> _LT_DECLs and _LT_TAGDECLs, and at least for small code snippets,
>>>
>>> Yeah, that's the problem.
> 
> I wrote _LT_DECL and _LT_TAGDECL to propagate shell variable declarations to
> the libtool script, and I fear it will behave badly if we try to use that
> mechanism for shoehorning anything else through, especially because it works
> by doing a *lot* of booking-keeping at m4 time.

That's what I thought.  Windows postinstall_cmds is pretty much the
outer limit, IMO:

postinstall_cmds="base_file=\\\`basename \\\${file}\\\`~
      dlpath=\\\`\$SHELL 2>&1 -c '. \$dir/'\\\${base_file}'i; echo
\\\$dlname'\\\`~
      dldir=\$destdir/\\\`dirname \\\$dlpath\\\`~
      test -d \\\$dldir || mkdir -p \\\$dldir~
      \$install_prog \$dir/\$dlname \\\$dldir/\$dlname~
      chmod a+x \\\$dldir/\$dlname~
      if test -n '\$stripme' && test -n '\$striplib'; then
        eval '\$striplib \\\$dldir/\$dlname' || exit \\\$?;
      fi"

> _LT_PROG_XSI_REPLACE is designed for swapping out fallback implementations
> of full functions (suitably decorated) for more efficient implementations
> based on the build-time environment.  I think that is exactly what you're
> trying to do, but it seems to me like you might be able to work more
> effectively in reverse: by putting the full Windows required implementations
> into ltmain.m4sh, and using _LT_PROG_XSI_REPLACE to replace them with
> stubs when configure is not building on (or for!!) a Windows machine?

Well, my version _LT_PROG_FUNCTION_REPLACE is pretty slow: given the
issues I had with using sed to "insert" really complex function bodies
with internal quoting and their own sed scripts, I had to use the old
"copy part of the lt output, insert the new content, copy the rest of
the lt output" method.

Since that's really slow...I figured only windows $hosts should pay that
penalty (even if the penalty only occurs during LT_OUTPUT).

> (At that point, we should come up with a better name, and changing the
> decorator strings to match. The "XSI" is already a misnomer now that I'm
> using it for `+=' and ${foo:n:m} constructions.)

Ack -- that's why my version was named _LT_PROG_FUNCTION_REPLACE (the
other was that I needed a different internal implementation of that
macro, as described above).

But...according to Ralf's message, this discussion is OBE. I'll revert
back to a revised version of the 'take 7' patch.

--
Chuck



reply via email to

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