I have seen that sb-ext:save-lisp-and-die is used to make executables from sourc code, but how do you make the executable for specific systems? e.g. Linux, Windows, Apple.

  • Realistic-Nobody-816@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    `save-lisp-and-die` just saves a core images which has the same global state as the current image, the saved image is executable when the `:EXECUTABLE` is `true`. However, you can only save the image for the underlying OS, eg, if you run `sbcl` in Linux, `save-lisp-and-die` will only save a Linux version.

    The typical usages of `save-lisp-and-die` are, when you want to run this lisp image as a standalone exe, or when you load a lot of libs or large data set, you can save it to another image and run that image afterwards, that will save you a lot of loading time.

  • Shinmera@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    Common Lisp is not a batch compiled language, it relies on having a running program in order to compile your code. As such you must be running on the target platform to deploy for to produce executables.