riva is the name of the main module loader executable. By itself, it can load several different types of module, any of which can register methods for loading additional module types. The following modules are loadable directly:
Name | Description | Filetype |
---|---|---|
Riva | A custom binary file format used for most compiled modules. | *.riva |
Native | Operating system specific dynamic link libraries. | *.so (Linux) or *.dll (Windows) |
FileSet | Loads all the modules in a directory and combines their exports. | directory *.fset/ |
Directory | Loads a directory as a module which exports its contents. | any directory |
In addition, the following additional loaders are currently available:
Name | Description | Filetype | Provided by |
---|---|---|---|
Wrapl | Dynamically compiles Wrapl source code. | *.wrapl | Wrapl.Loader |
Glade | Loads GTK+ UI files as created by Glade. | *.glade | Gtk.Glade.Loader |
The Wrapl loader is automatically loaded by the default riva.conf file, although this can be changed.
When run, riva first reads in a configuration file called riva.conf located in the same directory as the executable. If the riva executable has been renamed to progname, then the file progname.conf is loaded. This file sets the default library search path, specifies which modules to preload and sets any number of key/value pairs, accessible at runtime from Sys.Config.
The following options are avaible in the riva.conf file:
Option | Type | Description |
---|---|---|
library | List of directories | Search path for modules. |
parseargs | Boolean | Controls whether additional options are read from the command line. |
modules | List of module names | List of modules which are loaded automatically. |
config(key, value) | Strings | Sets arbitrary key/value pairs. |
The basic invocation for riva is riva [options] module. If parseargs is set to true in riva.conf then the following options are accepted by the riva executable.
Option | Description |
---|---|
-nogc | Disables the garbage collector. |
-nodelay | Disables delayed linking of text sections in *.riva modules. |
-L directory | Adds directory to the library search path. |
-P module | Preloads module. |
-D key=value | Sets key/value pair. |
-t loader | Selects which loader to use for the initial module. |
-v | Logs descriptive messages to standard output. |