chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] ☎PATCH☎ C-object components


From: Evan Hanson
Subject: Re: [Chicken-hackers] ☎PATCH☎ C-object components
Date: Fri, 28 Dec 2018 18:59:03 +1300

Hi Felix,

On 2018-12-09 13:34, address@hidden wrote:
> I have only tested this on OpenBSD and MacOS, so if someone could test
> this on Windows, I'd much appreciate that.

I've tried this on Windows and there's just one issue: the patch uses
the ".lib" file extension for archive files on Windows, and ".a" on
other platforms (csc.scm:106). However, we currently build the static
version of the CHICKEN library as "libchicken.a" on all platforms, so
when you use `csc -static` the library "C:/path/to/libchicken.lib" is
passed and you hit an error since that doesn't exist. This happens on
all three Windows platforms (Cygwin, MinGW, MSYS). This is probably
unintentional since the code that builds the path to libchicken didn't
change in your patch, just the value that it uses as the file extension.

I think the cleanest way to address this would probably be to call the
static library "libchicken.lib" on Windows. I've tried this and it works
fine, it's just a matter of setting the $(A) variable to ".lib" in the
Makefile for those platforms.

Another option would be to special-case libchicken so that it's always
called "libchicken.a" (csc.scm:129). This also works, and it's less
invasive since it doesn't rename any installed files, although it feels
like more of a hack. Maybe that's better for a minor release, though. We
could even make the library name a constant in chicken-config.h so
there's no confusion.

Thoughts?

Evan



reply via email to

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