|
|
|
## Building FreeM
|
|
|
|
|
|
|
|
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 argumentless `DO`
|
|
|
|
* -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()` in `main()`) |
|
|
|
\ No newline at end of file |