6.7.2 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 libsprt4-3-2.so under UNIX, or sprt4-3-2.dll under Windows.

the (extended) runtime library

The saved-state 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 spre.sav instead, which requires a license, available from SICS as an add-on product. See also Managing Extended Runtime License Information in SICStus Prolog Release Notes.

your Prolog code

As a saved-state, ‘.po’ files, 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 located in $SP_PATH/library.

The following two sections describe how to package the above components for UNIX and Windows target machines, i.e. machines that don’t have SICStus Prolog installed, respectively. 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.

Send feedback on this subject.