W Wrapl, The Programming Language

riva

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:

NameDescriptionFiletype
RivaA custom binary file format used for most compiled modules.*.riva
NativeOperating system specific dynamic link libraries.*.so (Linux) or *.dll (Windows)
FileSetLoads all the modules in a directory and combines their exports.directory *.fset/
DirectoryLoads a directory as a module which exports its contents.any directory

In addition, the following additional loaders are currently available:

NameDescriptionFiletypeProvided by
WraplDynamically compiles Wrapl source code.*.wraplWrapl.Loader
GladeLoads GTK+ UI files as created by Glade.*.gladeGtk.Glade.Loader

The Wrapl loader is automatically loaded by the default riva.conf file, although this can be changed.

Configuration Files

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:

OptionTypeDescription
libraryList of directoriesSearch path for modules.
parseargsBooleanControls whether additional options are read from the command line.
modulesList of module namesList of modules which are loaded automatically.
config(key, value)StringsSets arbitrary key/value pairs.

Command Line Options

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.

OptionDescription
-nogcDisables the garbage collector.
-nodelayDisables delayed linking of text sections in *.riva modules.
-L directoryAdds directory to the library search path.
-P modulePreloads module.
-D key=valueSets key/value pair.
-t loaderSelects which loader to use for the initial module.
-vLogs descriptive messages to standard output.