[Top][All Lists]

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

Re: [Chicken-hackers] ☎PATCH☎ C-object compo nents

From: felix . winkelmann
Subject: Re: [Chicken-hackers] ☎PATCH☎ C-object compo nents
Date: Fri, 28 Dec 2018 12:32:34 +0100

> 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.

I must say that I don't quite understand: if "a" is used on all platforms,
then my assumtption of using "lib" is wrong and we should use"a" consistentl,
without any need for special casing (I was under the impression that we use
"lib" on Windows, but this seems to be false, no?)


reply via email to

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