Re: I broke cygport
Yaakov S (Cygwin Ports) wrote: I just checked in a fix for this; please test. Yep. That fixed it. -- Chuck
Re: I broke cygport
Thanks for your feedback. Yaakov S (Cygwin Ports) wrote: cygconf is intended only for autoconf-based configure scripts. I'm not familiar with XEmacs, but I do know that autoconf-based configures will just ignore unknown arguments, so I will guess that XEmacs' configure is not autoconf-based. Well XEmacs 21.4 is based on autoconf 2.13 and 21.5 is based on autoconf 2.59. Neither configure script ignores unknown arguments: $ ../cvsroot/xemacs-21.4/configure --datarootdir=/foo ../cvsroot/xemacs-21.4/configure: Usage error: Unrecognized option: --datarootdir=/foo Use `../cvsroot/xemacs-21.4/configure --help' to show usage. $ ../cvsroot/xemacs-21.5/configure --datarootdir=/foo configure: error: unrecognized option: --datarootdir=/foo Try `../cvsroot/xemacs-21.5/configure --help' for more information. Non-autoconf-based configure scripts should do something like: lndirs cd ${B} ./configure args || error configure failed cygmake Fair enough. For the record, attached is a patch against CVS head. This patch allows overriding the individual components of the default configure arguments in the cygconf() function. In addition, I fixed some minor typos in README unrelated to the cygconf() change; you may find those useful in their own right. BTW, your ChangeLog format is different from what I'm used to; I'm used to including an identifier of who made the change. See http://www.gnu.org/prep/standards/html_node/Change-Logs.html for details. Thanks again for cygport. Regards, Vin Shelton -- The Journey by Mary Oliver http://www.poemhunter.com/p/m/poem.asp?poet=6771poem=30506 cygport2.diffs Description: Binary data
Re: I broke cygport
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
Re: I broke cygport
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Charles Wilson wrote: 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 CVS cygport touches the standard files not only in the top directory, but in AC_CONFIG_SUBDIRS as well, to prevent automake errors when those files are missing. The problem is that my parsing didn't support m4 square-bracket quoting. I just checked in a fix for this; please test. Yaakov -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2.1 (Cygwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFNa5lpiWmPGlmQSMRAu72AKDrPKGkUGcIoiWE2mcXiM0NyF+bbgCghtyH 1mb5aFsGQ2P+Y55wnJAGLrs= =ochm -END PGP SIGNATURE-
Re: I broke cygport
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Vin Shelton wrote: Have you had a chance to look at my patch which allows over-riding the individual configure arguments in cygconf()? The patch is a definitely a brute force approach, but something like it is necessary to support XEmacs (or other packages that don't fully comply with autoconf conventions). cygconf is intended only for autoconf-based configure scripts. I'm not familiar with XEmacs, but I do know that autoconf-based configures will just ignore unknown arguments, so I will guess that XEmacs' configure is not autoconf-based. Non-autoconf-based configure scripts should do something like: lndirs cd ${B} ./configure args || error configure failed cygmake Note that this is consistent with Portage; the current xemacs ebuild[1] does not use econf either. [1] http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/app-editors/xemacs/xemacs-21.4.19.ebuild I will update the patch to the latest version of cygport if you want. In general, all patches for cygport should be made against CVS HEAD, but I don't think this needs a patch. Yaakov -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2.1 (Cygwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFNbKVpiWmPGlmQSMRAtVVAKCb6iENVw1jvzKCVi/OTKAYvJK24ACbBKf3 mKabIE3D0eCb44O9KhBAuo0= =QAXo -END PGP SIGNATURE-
Re: I broke cygport
-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. Yaakov -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2.1 (Cygwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFNG2dpiWmPGlmQSMRAuknAKC2zz7YDX9Rk4wVvDwWq4wckVDq9ACdHSce ykZGSQxm8l4Xl0RRjYV7+oQ= =X0N+ -END PGP SIGNATURE-