Camm Maguire <[email protected]> writes:
> Greetings!  Just a followup on my last note:
>
> Raymond Toy <[email protected]> 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

Attachment: pgpHoPm65S9mA.pgp
Description: PGP signature

_______________________________________________
Gcl-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gcl-devel

Reply via email to