Introduction

Welcome to Magnolia, a mostly compatible re-implementation of ML3, this time for Windows* and Linux* platforms.

Magnolia comes with two major parts:
  • The runtime (MagRuntime.exe)
  • The compiler and IDE

Only the developer version will include the compiler. The compiler is licensed separately from the runtime. If you want to distribute the runtime, you must obtain a runtime license for your customers. The compiler license is only available directly through the authorized Magnolia distributors.

Obtaining Magnolia

You can obtain Magnolia from the current authorized distributor:

Hofstaedtler IE GmbH, Wiener Neustadt, Austria
www.hofstaedtler.com

License file management

Magnolia will look for a license file, which must be present during all times while Magnolia is running.

The license file is called runtime.maglic. It is looked for in the following locations:
  • current working directory
  • %APPDATA%\Magnolia
  • path of the Magnolia executable files
  • path as set in Registry Key HKEY_LOCAL_MACHINE\SOFTWARE\Magnolia (note that this is in the 32-bit tree on 64-bit machines)

Compiling a program

You use the compiler MagProjectBuild.exe to compile a program into executable code.

Example:

MagProjectBuild main.mod

The compiler will check your program, generate executable code, and write the resulting code into a file named the same as the input file, but with the file extension set to IMD. This file extension was chosen to be compatible with ML3, but the file contents is specific to Magnolia.

Magnolia assumes that all input files are in utf-8 encoding. If this is not the case, you can specify the option -E to set a different encoding for all input files.

Example:

MagProjectBuild -E CP437 main.mod

We recommend converting all files to utf-8 encoding when you no longer need source level file exchange with ML3.

Running a compiled program

You instruct the runtime MagRuntime.exe to start your main program.

Example:

MagRuntime main.imd

Magnolia will load your program into memory, establish a database connection, and then start executing your program.

Magnolia will look for the configuration file app.cfg before starting. See Configuring the Magnolia Runtime for details on this file.