Re: Fix the locale issue
Hallo Ralf, Ralf Wildenhues wrote: > This patch restores the environment for mode=execute. Unfortunately, > it also means more overhead for every libtool invocation. :-( > (At least no fork&exec.) Negligible time overhead... but an unfortunate ugliness all the same. > OK to apply? Yes, nice fix, thankyou! > I think sometime post-2.0 I will want to throw out AS_SHELL_SANITIZE > again, trade that in for AS_BOURNE_COMPATIBLE and some hand-written > parts: most of the overhead is lost in this initialization. :( LT_SHELL_SANITIZE eh? :-) Agreed. > And we really have the chance to do that portably: we can detect $unset, > basename, and dirname and such all at configure time, not needing this > at runtime. And then we can go back to saving/restoring only those > locale variables that we care about: now AS_SHELL_SANITIZE overwrites > them all, so we _have_ to store them all. > > I am thinking a bit, though, whether there is something we could get > Autoconf to do, before their next release (so we don't have to wait > three years until we can use features from their next but one release). ACK. It would be nice to push the solution back into Autoconf so that everyone can benefit from it. Cheers, Gary. > * libltdl/config/ltmain.m4sh (startup): save all locale specific > environment, variables:, LANG, LANGUAGE, LC_ADDRESS, LC_ALL > LC_COLLATE, LC_CTYPE, LC_IDENTIFICATION, LC_MEASUREMENT, > LC_MESSAGES LC_MONETARY, LC_NAME, LC_NUMERIC, LC_PAPER, > LC_TELEPHONE, LC_TIME. > (func_mode_execute): Restore them. -- Gary V. Vaughan ())_. [EMAIL PROTECTED],gnu.org} Research Scientist ( '/ http://tkd.kicks-ass.net GNU Hacker / )= http://www.gnu.org/software/libtool Technical Author `(_~)_ http://sources.redhat.com/autobook signature.asc Description: OpenPGP digital signature
Re: PGI Compiler patch for cygwin
* Eric Blake wrote on Fri, Feb 24, 2006 at 02:51:07PM CET: > According to Christopher Hulbert on 2/22/2006 5:56 AM: > > > > Actually it seems the problem is that a unix-style path is passed to > > lib as the library name. This is probably not the correct fix, but > > what I did was add the following to the func_extract_archives function > > between the *-darwin* and * case. > > *-cygwin*) > > my_xdir=`cygpath -m $my_xdir` > > my_xabs=`cygpath -m $my_xabs` > > func_extract_an_archive "$my_xdir" "$my_xabs" > > ;; > > Missing some proper quoting - consider if my_xabs contained something like > '/dir with 2 spaces/file'. Furthermore, I don't think this should this > be done globally for cygwin because it penalizes compilers that do > understand POSIX paths (gcc). Certainly all uses of `cygpath' in ltmain are best replaced with uses of the `fix_srcfile_path' variable. We may need more variables like that, to indicate the necessity of fixing for - the compiler - the archiver - maybe even the linker separately from the compiler (hopefully not), - possibly the name lister (NM). Cheers, Ralf
Re: Fix the locale issue
Hi Gary, * Gary V. Vaughan wrote on Thu, Feb 23, 2006 at 11:53:39PM CET: > Ralf Wildenhues wrote: > > This patch restores the environment for mode=execute. Unfortunately, > > it also means more overhead for every libtool invocation. :-( > > (At least no fork&exec.) > > Negligible time overhead... but an unfortunate ugliness all the same. The corresponding Autoconf code is not negligible in overhead. > > OK to apply? > > Yes, nice fix, thankyou! Applied. But I also added an `export $lt_var' for good measure, at the right position. > > I am thinking a bit, though, whether there is something we could get > > Autoconf to do, before their next release (so we don't have to wait > > three years until we can use features from their next but one release). > > ACK. It would be nice to push the solution back into Autoconf so that > everyone can benefit from it. Let's see about that. Cheers, Ralf > > * libltdl/config/ltmain.m4sh (startup): save all locale specific > > environment, variables:, LANG, LANGUAGE, LC_ADDRESS, LC_ALL > > LC_COLLATE, LC_CTYPE, LC_IDENTIFICATION, LC_MEASUREMENT, > > LC_MESSAGES LC_MONETARY, LC_NAME, LC_NUMERIC, LC_PAPER, > > LC_TELEPHONE, LC_TIME. > > (func_mode_execute): Restore them.
Re: PGI Compiler patch for cygwin
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 According to Christopher Hulbert on 2/22/2006 5:56 AM: > > Actually it seems the problem is that a unix-style path is passed to > lib as the library name. This is probably not the correct fix, but > what I did was add the following to the func_extract_archives function > between the *-darwin* and * case. > *-cygwin*) > my_xdir=`cygpath -m $my_xdir` > my_xabs=`cygpath -m $my_xabs` > func_extract_an_archive "$my_xdir" "$my_xabs" > ;; Missing some proper quoting - consider if my_xabs contained something like '/dir with 2 spaces/file'. Furthermore, I don't think this should this be done globally for cygwin because it penalizes compilers that do understand POSIX paths (gcc). When using cygwin as a compilation environment, but targetting a compiler that does not understand POSIX paths, it is usually better to wrap the compiler inside a script that does the command-line conversion, and use that script as the compiler. So you were correct that it is not the correct fix, but it is a good indication of the problem that needs to be resolved. - -- Life is short - so eat dessert first! Eric Blake [EMAIL PROTECTED] -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFD/w9L84KuGfSFAYARAreSAJ951956g75zOA+4VOy1D7ejXLOX5wCgvzj0 Oz2Q8wFWaDHgHs74Bzkefs0= =k4Ov -END PGP SIGNATURE-
Re: PGI Compiler patch for cygwin
On 2/24/06, Eric Blake <[EMAIL PROTECTED]> wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > According to Christopher Hulbert on 2/22/2006 5:56 AM: > > > > Actually it seems the problem is that a unix-style path is passed to > > lib as the library name. This is probably not the correct fix, but > > what I did was add the following to the func_extract_archives function > > between the *-darwin* and * case. > > *-cygwin*) > > my_xdir=`cygpath -m $my_xdir` > > my_xabs=`cygpath -m $my_xabs` > > func_extract_an_archive "$my_xdir" "$my_xabs" > > ;; > > Missing some proper quoting - consider if my_xabs contained something like > '/dir with 2 spaces/file'. Furthermore, I don't think this should this > be done globally for cygwin because it penalizes compilers that do > understand POSIX paths (gcc). When using cygwin as a compilation > environment, but targetting a compiler that does not understand POSIX > paths, it is usually better to wrap the compiler inside a script that does > the command-line conversion, and use that script as the compiler. So you > were correct that it is not the correct fix, but it is a good indication > of the problem that needs to be resolved. Correct, I'm not familiar enough with all the details and repurcussions which is why I indicated it probably was not a proper fix, but did the job for my particular case which should indicate to the persons who do know the details to create the proper fix :)! I don't know if I like wrapping the compiler in script or I'm not fully understanding what you are saying. I guess if it's transparent to the user compiling the code it's not a big deal, but I think a better solution would be to have a test when in the cygwin environment for posix path acceptance. This could easily be done by trying to compile a simple test source file in the compiler's language where the compile line used the absolute posix path which would either fail or pass. Chris > > - -- > Life is short - so eat dessert first! > > Eric Blake [EMAIL PROTECTED] > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.1 (Cygwin) > Comment: Public key at home.comcast.net/~ericblake/eblake.gpg > Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org > > iD8DBQFD/w9L84KuGfSFAYARAreSAJ951956g75zOA+4VOy1D7ejXLOX5wCgvzj0 > Oz2Q8wFWaDHgHs74Bzkefs0= > =k4Ov > -END PGP SIGNATURE- >
Re: PGI Compiler patch for cygwin
On 2/18/06, Ralf Wildenhues <[EMAIL PROTECTED]> wrote: > Hi Christopher, > > * Christopher Hulbert wrote on Wed, Feb 15, 2006 at 04:08:33PM CET: > > The attached patch fixes the empty wl variable and the MS toolchain > > assumption of -link -dll. > > The patch is ok, could you be bothered to run the testsuite once, > verbosely > make check VERBOSE=x TESTSUITE_FLAGS=-V > make check-local > > and send (packed) the output and tests/testsuite.log, so we could hash > out any other simple issues for decent support? > > Thanks, > Ralf > pgi_patch_testsuite.tar.bz2 Description: BZip2 compressed data