I broke cygport

Charles Wilson cygwin@cwilson.fastmail.fm
Wed Oct 18 04:02:00 GMT 2006


Yaakov S (Cygwin Ports) wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Charles Wilson wrote:
>> For most purposes, this is transparent.  You run "autoconf" which is the
>> wrapper, and you get "the right" version.  However, cygport explicitly
>> tests for the presence of "autoconf-2.5x" in $PATH.
>>
>> This patch makes cygport's search a little smarter -- and it or
>> something like it is *required* if you want cygport to work after the
>> new autoconf is installed.
> 
> I just checked in autoconf-2.60 support to cygport CVS.  Please test.

Well, it seems to work for bootstrapping cygport itself.  However, it 
fails with libtool (but not for any reason having to do with 
autoconf-2.60.  It's some other change introduced post-cygport-0.2.4 
release).

[[[ Side note: the new libtool cygport doesn't actually use 
cygautoreconf.  libtool-from-CVS must be bootstrapped using its own 
bootstrap script; a regular autoreconf doesn't populate the test 
projects properly.  However, if you DO use autoreconf instead of the 
bootstrap script, you can still build libtool and libltdl -- it's just 
that you can't then run the testsuite.

SO, after fixing the issue with cygautoreconf and autoconf-2.60 -- I 
could at least use it with libtool (as long as I didn't want to run the 
testsuite).

But with the cygport-from-CVS version, I can't do that.
]]]

Here's the problem: libtool (pre-version 2.0) ships with a subproject -- 
separately configured -- called libltdl.  However, the subproject does 
NOT include the GNU "required" files like README, AUTHORS, etc.  Those 
are all up at the top level.  Yet, cygautoreconf complains about it:

 >>> Compiling libtool1.5-1.5.23a-1
touch: cannot touch `[libltdl]/AUTHORS': No such file or directory
touch: cannot touch `[libltdl]/COPYING': No such file or directory
touch: cannot touch `[libltdl]/ChangeLog': No such file or directory
touch: cannot touch `[libltdl]/INSTALL': No such file or directory
touch: cannot touch `[libltdl]/NEWS': No such file or directory
touch: cannot touch `[libltdl]/README': No such file or directory

(That's with src_compile containing the following two lines (among others)

         #./bootstrap
         cygautoreconf

Note that this not a showstopper for libtool -- I actually use 
./bootstrap "in production"

But I could see cases where even if the top-level project is fully GNU- 
(or gnits-) compliant, tightly-coupled subprojects may not be.  OTOH, 
you might want the current behavior for loosely-coupled groupings of 
subprojects...

Bottom Line: the autoconf-2.60 handling in cygport-from-CVS seems to 
work fine.  I discovered a use case for which cygport-from-CVS fails -- 
but this failure is unrelated to the autoconf-2.60 stuff.

--
Chuck



More information about the Cygwin-apps mailing list