clisp

FIXME: Add proper info

Changelog

clisp-2.46.p7 (Michael Abshoff, August 25th, 2008)

clisp-2.46.p6 (Michael Abshoff, July 29th, 2008)

clisp-2.46.p5 (Michael Abshoff, July 29th, 2008)

clisp-2.46.p2 (William Stein, July 7th, 2008)

clisp-2.46.p1 (Michael Abshoff, July 7th, 2008)

clisp-2.46.p0 (Michael Abshoff, July 7th, 2008)

clisp-2.46 (Michael Abshoff, July 3rd, 2008)

clisp-2.41.p14 (Michael Abshoff, April 21st, 2008)

clisp-2.41.p13 (Michael Abshoff, March 28th, 2008)

clisp-2.41.p12

ToDo:

===========================================================

Here is how to make a new clisp package for SAGE:

1. Download clisp from

2. Put SAGE.txt spkg-dist spkg-install and sage from the old

3. modify src/makemake.in to build with "-O0" everywhere

4. None of the other patches in the patches directory are used - those are there for historical reasons

============================================================== SOME NOTES:

* Made some changes to src/makemake.in so it would build on

0. The clisp path is hardcoded into the binary. Strangely, this *does* not affect maxima, though it means maxima won't build unless clisp was built in place. So one can't upgrade maxima without rebuilding clisp. Hence whenever the maxima package is upgraded make sure to always upgrade clisp.

Also there is an OPTIon to run clisp that avoids this hardcoding issue, which we use.

1. I replaced some documentation files by empty ones to save space:

cd doc echo "" > impnotes.html echo "" > mop-spec.pdf echo "" > mop.xml echo "" > impbody.xml echo "" > impext.xml echo "" > clhs-ent.xml echo "" > impbyte.xml echo "" > impent.xml

Same remarks for src/ChangeLog:

2. I removed the ffcall directory which is quite large and only needed for the foreign function interface, which we don't need for SAGE/Maxima.

3. I removed the tests directory.


4. In order to build Clisp on Cygwin, I had to do the following:

  1. add --ignore-absence-of-libsigsegv to the ./configure options of spkg-install for clisp
  2. go into src/unix.d and make the following modification near the end of the file: (this was only for version 2.40 -- not needed for 2.41)

    #ifdef UNIX_CYGWIN32

    • #define WIN32_LEAN_AND_MEAN

      #include <windows.h> extern long time_t_from_filetime (const FILETIME * ptr); extern void time_t_to_filetime (time_t time_in, FILETIME * out);

      #if defined(UNIX_CYGWIN32)

      • #ifdef WIN32
        • #undef WIN32
        #endif
      #endif

    #endif

windows.h defines WIN32 and that causes several items to be used in both UNIX and WIN32 forms later on.


NOTE. I had included libsigsegv, but couldn't get it to build on OS X

==================================================

Here's a Solaris-related note from Wilson Cheung:

Note that the only reason lisp is needed for SAGE is in order to build maxima.

> Regarding clisp/maxima -- this shouldn't be too hard, in that > > another option is to use a different lisp interpreter, if clisp > > won't compile. E.g., gcl might work. Or maybe there is a > > pre-compiled clisp for Solaris, or even a maxima?

Alright, I tinkered some more with sage 0.10.3 today...commented out the clisp section in spkg/install and maxima actually did find the already-installed system installation of gcl 2.5.3 but said it needed to be rebuilt with "--enable-ansi".

So I upgraded the system installation of gcl to the newer gcl 2.6.7 version and added the "--enable-ansi" flag and now sage builds maxima OK.