In the following documentation, $DIST_ROOT
refers to the directory created when you cloned the repository. So, if you ran git clone
from your home directory, and your user account was abc
, $DIST_ROOT
would be /home/abc/freem
.
In order to build FreeM, navigate to $DIST_ROOT
and run make
, as show below:
$ cd freem
$ make
This will create the following files in $DIST_ROOT/bin
: gcompact gfix gl glocks grestore gverify mumps
.
The mumps
binary must be run from $DIST_ROOT/bin
.
First Run
When you first run FreeM, it will prompt you to create a namespace, which is a logical container for a set of MUMPS routines and globals. In the below example, we will name this initial namespace USER:
$ cd bin
$ ./mumps
This system has no namespace defined.
Do you want to create a namespace? <Y> y
Name ..........: USER
Ok to create? <Y> y
Done.
Full Screen Editor installed.
To use the editor enter: X ^%E
For more setup options please use the ^%SYSGEN Utility
FreeM 0.1.6
Copyright (C) 2014, 2020 Coherent Logic Development LLC
Copyright (C) 1998 MUG Deutschland
CURRENT NAMESPACE: USER
USER>
From this point forward, the documentation for The FreeM REPL applies.
Compiler Flags
$DIST_ROOT/src/Makefile
contains a line beginning with CFLAGS =
. On this line, you may define any of the following flags:
- -DNEWSTACK (Required for supporting
NEW
and argumentlessDO
- -DDEBUG_NEWSTACK (To have additional debugging information placed on stdout when
NEWSTACK
is defined) - -DOLD_UNIX (To enable support for SCO UNIX; may not be working anymore)
- -DDEBUG_GBL (To enable debugging of MUMPS global operations)
- -DDEBUG_SYM (To enable symbol table debugging for MUMPS local variables)
- -DUSE_GETOPT (To enable the use of
getopt()
inmain()
)