gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] GCL on Cygwin


From: Jim Babcock
Subject: [Gcl-devel] GCL on Cygwin
Date: Tue, 08 Jun 2004 00:58:19 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113

After failing to compile on Cygwin, I looked through the old mailing lists
to see what's been said about supporting Cygwin. Apparently, the reasoning
for not supporting Cygwin is that the MinGW port is good enough for Windows
users, and that a Cygwin program would be hard to package. These are both
false.

I'm using 2.5.3,

The MinGW port is completely useless to me, as a Cygwin user. Invoking the
executable directly, it crashes with:
  address@hidden bin]$ ./gcl
  export: C:/usr/local/bin:: bad variable name
  exec: /C/BIN/Devel/GCL/lib/gcl-2.6.1/unixport/saved_gcl.exe: not found
(It sees the Unix-style path and panics.)
Invoking it through the batch file, it opens a separate window! Not exactly
suitable for batch compilation. This can be partially fixed by taking the
'start' out of the batch file, but already it's rediculous; it's not
behaving at all like a Unix program.

Distributing a Cygwin program is actually quite easy, because no one
expects you to make or distribute binaries. In the Windows world people
expect installers, but Cygwin is part of the Unix world, including the
mentality; Cygwin users have no problem compiling themselves. And if it
compiles, it's likely to be integrated into Cygwin's package management
system, where it will be easily available.

Now, as far as actual portability issues, I ran into three. One of them is
a critical issue which will affect every version very soon,.

The GCC maintainers have collectively lost their minds and started pulling
out everything which isn't explicitly in the standards documents. Until a
fork comes around to stop the madness, you need to work around their
idiocy. In particular: they've removed <varargs.h> in 3.3, and they've
removed -fwritable-strings in 3.5. The varargs.h problem can be worked
around by copying the header from an older version, and stdarg.h should be
used anyways, but assuming you're passing -fwritable-strings for a reason,
major changes are urgently needed to fix that problem. (And yes, after I
finish this I'm going to have a good long yell at the GCC developers.)

Ok, now the Cygwin-specific stuff.

The biggest problem is unixsave.c, which, well, I haven't a clue what to do
with it. I got rid of unexnt.c, since that was obviously wrong and had
compilation issues galore, but unixsave.c in general is a problem: it's
extremely nonportable. How did you manage to get that working on MinGW?

There's also an issue with unixtime.c, but there was a fix on this list
some time ago and it's easy enough to stub out. I'm not sure why it's not
in.

Anyways, I'm off trying other lisps. I'll be back in awhile to see how
things are.




reply via email to

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