Node:Runtime Systems on Target Machines, Next:, Previous:Runtime Systems, Up:Stand-alone Executables



Runtime Systems on Target Machines

When a runtime system is delivered to the end user, chances are that the user does not have an existing SICStus installation. To deliver such an executable, you need:

the executable
This is your executable program, usually created by spld (see The Application Builder).
the runtime kernel
This is a shared object or a DLL, usually $SP_PATH/../libsprt39.so under UNIX, or %SP_PATH%\..\sprt39.dll under Windows.
the (extended) runtime library
The saved state $SP_PATH/bin/sprt.sav contains the built-in predicates written in Prolog. It is restored into the program at runtime by the function SP_initialize(). Extended runtime systems restore $SP_PATH/bin/spre.sav instead, available from SICS as an add-on product.
your Prolog code
As a saved state, .po files, .ql, or source code (.pl files). They must be explicitly loaded by the program at runtime (see Loading Prolog Code).
your linked foreign resources
Any dynamically linked foreign resources, including any linked foreign resources for library modules which are located in $SP_PATH/library.

See Launching Runtime Systems on Target Machines, for more information about runtime systems on Target Machines.

It is also possible to package all the above components into a single executable file, an all-in-one executable. See All-in-one Executables.