home *** CD-ROM | disk | FTP | other *** search
- Short: CLISP release 30.5.96 construction kit
- Requires: OS 2.04 or newer, GNU linker (ld)
- Author: Joerg.Hoehle@gmd.de
- Uploader: Joerg.Hoehle@gmd.de
- Type: dev/lang
-
-
- This archive contains both a ready-to-run Amiga-CLISP binary and a link kit
- with which to build an extended CLISP containing your own C (or whatever
- language) functions.
-
- This archive contains a link kit with which to build an extended CLISP
- containing your own C (or whatever language) functions.
-
- This archive corresponds to the -high version of Amiga-CLISP (i.e. 68020 or
- better, addresses upto 0x7fffffff). It is the only distributed binary
- archive that contains the standard CLISP FFI (which is different from the
- AFFI common to all Amiga versions).
-
- The FFI is huge but more powerful than the AFFI. It can call arbitrary C
- functions. It allows callbacks (not yet with parameters in registers)
- foreign structure and type definitions. It is documented in FOREIGN.TXT.
- However, its support for calling Amiga shared library functions is
- incomplete. Therefore FOREIGN.D and FOREIGN1.(LSP|FAS) are provided as well
- for reference purposes and extensions.
-
- Extending CLISP is done by adding another module definition in MODULES.H (a
- line saying MODULE(<name>)) and building a new LISP.RUN binary. An
- interesting feature of modules is that an old image file generated by a
- LISP.RUN without a given module is accepted by an extended LISP.RUN. Thus,
- you can use the supplied LISPINIT.MEM file even after building a LISP.RUN
- that contains QUEENS.
-
- The GNU linker (ld) is required to build an own lisp.run binary from the
- supplied link libraries. GCC is required for adding compiling modules.
-
- After extracting the archive and setting a large stack,
- make -f Makefile.kit KITOBJECTS= lisp.run
- will generate an executable containing no additional module, as the initial
- MODULES.H only contains the line
- MODULE(affi)
- The lisp.run I then generate is 694448 bytes in size (not stripped).
-
- QUEENS is provided as a module demo. It's module interface (QUEENS-FFI.C)
- is generated by compiling QUEENS-FFI.LSP.
- lisp.run -M lispinit.mem -c queens-ffi.lsp
- Add a line saying MODULE(queens_ffi) to MODULES.H.
- If "make -f Makefile.kit" works, after (LOAD "queens-ffi"),
- (FFI-DEMOS::QUEENS 8) will return 92.
-
- Note that CLISP has been built with my tiny startup code and without any
- standard C library stdio or malloc() functions, so if you need them you may
- run into trouble as they may not be initialized when CLISP's main() is
- entered.
-
- Note that this CLISP has been compiled with Gcc-2.5.8 using the
- non-reentrant static struct return convention whereas newer Gcc-2.7.2 have
- finally been switched to stack struct return (like Gcc-2.3.3). This will
- cause problems with struct return types or arguments (but not with pointers
- to structures).
-