Runtime Systems on Windows Target Machines

In order to locate all relevant files, the following directory structure should be used.

     myapp.exe
     sprt311.dll
     sp311\
     +--- bin\
     |    +--- sprt.sav
     +--- library\
          +--- <files from %SP_PATH%\library>
     

If support for multiple SICStus instances is needed, then the run-times named e.g. sprt311_instance_01_.dll, need to be available as well, in the same place as sprt311.dll.

myapp.exe is typically created by a call to spld:

     % spld --main=user [...] -o ./myapp.exe
     

If the directory containing sprt311.dll contains a directory called sp311, SICStus assumes that it is part of a runtime system as described in the picture. The (extended) runtime library, sprt.sav (spre.sav), is then looked up in the directory (sp311/bin), as in the picture. Furthermore, the initial library_directory/1 fact will be set to the same directory with sp311/library appended.

The directory structure under library/ should look like in a regular installed SICStus, including the platform-specific subdirectory (x86-win32-nt-4 in this case). If your application needs to use library(system) and library(random), your directory structure may look like:

     myapp.exe
     sprt311.dll
     sp311\
     +--- bin\
     |    +--- sprt.sav
     +--- library\
          +--- random.po
          +--- system.po
          +--- x86-win32-nt-4 \
               +--- random.dll
               +--- system.dll
     

The sp* files can also be put somewhere else in order to be shared by several applications provided the sprt311.dll can be located by the DLL search.

Naming the files with version number enables applications using different SICStus versions to install the sp* files in the same directory.

When a runtime system is redistributed to third parties, only the following files may be included in the distribution. All filenames are relative to %SP_PATH%:

bin\sprt.sav

bin\spre.sav

bin\jasper.jar

bin\*.dll

bin\*.po

library\*.{tcl,po,pl,bas}
Except license.pl!
library\*\*.dll

library\*\*.{po,pl}