9.8.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
$SP_PATH/../libsprt312.so under UNIX, or
%SP_PATH%\..\sprt312.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 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 do not
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.