chicken-users
[Top][All Lists]
Advanced

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

Re: [Chicken-users] CMake cygwin can't do -0


From: John Cowan
Subject: Re: [Chicken-users] CMake cygwin can't do -0
Date: Wed, 2 Aug 2006 14:53:34 -0400
User-agent: Mutt/1.3.28i

Brandon J. Van Every scripsit:

> If symlinks are supposed to work on your system, but don't, then I want 
> to know why.  If symlinks aren't supposed to work on my system, but do, 
> I want to know why.  Open source is about giving the right bug report to 
> someone.  Perhaps your method will prove to be a workaround for a 
> symlink bug.  If so, we'll use it, but it'll be marked as a workaround, 
> to be changed or removed when things get better.

But why symlinks at all?  The files named "lib(u)chicken-0.dll.a" just
aren't what *anyone* uses in Cygwin or otherwise, so there is no point
in keeping them.  Do the rename (i.e. copy+delete) to arrange for the
file to have the correct name.

FWIU, the next version of CMake will do the Right Thing on Cygwin:
cygfoo-0.dll in $PREFIX/bin, libfoo.dll.a in $PREFIX/lib.  That's what
we should emulate.

> I have a sinking feeling that all these approaches are going to prove to 
> be wrong in the long run.  That really, getting down to the level of ld 
> is what's needed.

*shrug*

I'm not a big fan of "sinking feelings" without evidence.

> Do you mean, you're sending it to the Chicken repository?  That wouldn't 
> be very useful to me.  I don't put things into the Chicken repository 
> until I've vetted them locally in my own repository.  I'm not very 
> familiar with "darcs send."  If you can send it as an e-mail to me, I'll 
> figure out how it works.

Okay, here's what "darcs diff" says:

==============cut here===============
1116c1116
< # symlink it here.  This workaround courtesy of John Cowan.
---
> # copy it here.  This workaround courtesy of John Cowan.
1119c1119
<     EXECUTE_PROCESS(COMMAND \${CMAKE_COMMAND} -E create_symlink
---
>     EXECUTE_PROCESS(COMMAND \${CMAKE_COMMAND} -E copy
1122c1122,1124
<     EXECUTE_PROCESS(COMMAND \${CMAKE_COMMAND} -E create_symlink
---
>     EXECUTE_PROCESS(COMMAND \${CMAKE_COMMAND} -E remove
>       \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/lib/libchicken-0.dll.a)
>     EXECUTE_PROCESS(COMMAND \${CMAKE_COMMAND} -E copy
1124a1127,1128
>     EXECUTE_PROCESS(COMMAND \${CMAKE_COMMAND} -E remove
>       \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/lib/libuchicken-0.dll.a)
==============cut here===============

This approach is very simple, no more of a kludge than what you have,
and *works*, *works*, *works*.

-- 
If you have ever wondered if you are in hell,         John Cowan
it has been said, then you are on a well-traveled     http://www.ccil.org/~cowan
road of spiritual inquiry.  If you are absolutely     address@hidden
sure you are in hell, however, then you must be
on the Cross Bronx Expressway.          --Alan Feuer, NYTimes, 2002-09-20




reply via email to

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