[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] sys-proclaims.lisp
From: |
Rupert Swarbrick |
Subject: |
Re: [Gcl-devel] sys-proclaims.lisp |
Date: |
Sun, 29 Jun 2014 23:18:05 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Camm Maguire <address@hidden> writes:
> Greetings! Just a followup on my last note:
>
> Raymond Toy <address@hidden> writes:
>
>> Perhaps things have changed, but sys-proclaim isn't supposed to be
>> generated on every build. Or perhaps my memory of how this all works
>> is wrong; I don't build with gcl nearly as often as I used to.
>
> On investigating further, I see that the --enable-sys-proclaim configure
> switch is required to build the sys-proclaims.lisp file automatically.
> We had this turned on in the Debian package build, so I had overlooked
> this previously -- my apologies! I think the rest of my comments
> regarding maxima's use of this file are still worth discussing.
I made the changes to sys-proclaim generation maybe a year or so ago,
after introducing a subtle bug by changing a function so that it no
longer matched the declaration in sys-proclaim.lisp. The only lisp that
saw the bug was GCL (where SLIME doesn't work and the repl is painful to
use). Very frustrating to track down, so I wanted to make sure that it
doesn't happen again.
We no longer have a sys-proclaim.lisp checked in to the actual
repository, since it's automatically generated. When a user builds with
GCL, we first load src/generate-sys-proclaim.lisp, which builds all of
Maxima and then generates the sys-proclaim.lisp. We then delete the
Maxima we just built and build it again, this time with the declarations
From the sys-proclaim.lisp. For all the gory details, look in
src/Makefile.am.
Obviously, this is a tad slow. If you're doing Maxima development using
GCL for some reason, you can configure with something like
./configure --with-gcl --enable-sys-proclaim=no
Your copy of Maxima will then run a few percent slower, but you only
have to build it once.
I think we decided to ship sys-proclaim.lisp in release tarballs because
users that are building Maxima aren't mostly going to be hacking on
function definitions. (That bit wasn't my decision, but it sounds like a
plausible reason: check with Robert(?) for details)
Rupert
pgpeKwsaVqbSm.pgp
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Gcl-devel] sys-proclaims.lisp,
Rupert Swarbrick <=