Settings Options

Here are the setting options for the compiler tools:

Compiler Settings

Settings

Description

Compiler.Platform

Platform x86, x64, ARMv8A32

Compiler.BaseAddress

Base address of the compiled application

Compiler.TraceLevel

Trace level for debugging

Compiler.MethodScanner

If true, enable the experimental method scanner

Compiler.Multithreading

If true, enables multithreading during compiling process

Compiler.Multithreading.MaxThreads

Maximum number of threads used by the compiler

Compiler.Binary

If true, emits object file, otherwise no object file is created

Compiler.EmitInline

If true, emits all inlined methods into the object file

Compiler.OutputFile

Filename of the object file

Compiler.SourceFiles

Filename(s) of the source files

Compiler Optimizations Settings

Settings

Description

Optimizations.Basic

If true, enables prebuilt transformation optimizations, like constant folding and strength reduction

Optimizations.SSA

If true, transforms instructions to Single Static Assignment (SSA) form

Optimizations.SCCP

If true, enables Sparse Conditional Constant Propagation (SCCP) optimizations

Optimizations.ValueNumbering

If true, enables the Value Numbering (VN) optimizations

Optimizations.LongExpansion

If true, transforms some 64-bit instructions into 32-bit instructions prior to platform transformations

Optimizations.BitTracker

If true, enables the bit tracker optimizations

Optimizations.LoopInvariantCodeMotion

If true, enables the loop invariant code motion optimizations

Optimizations.Devirtualization

If true, transforms virtual methods calls into static method calls

Optimizations.Platform

If true, enable platform specific optimizations

Optimizations.Inline

If true, small methods can be inlined

Optimizations.Inline.Maximum

Maximun number of instructions that can be inlined within a method

Optimizations.Inline.AggressiveMaximum

Maximun number of instructions that can be inlined when a method is explicited marked to be inlined

Optimizations.Inline.ExplicitOnly

If true, only explicitly marked methods are inlined

Optimizations.TwoPass

If true, some optimization stages are executed twice

Optimizations.Inline.Aggressive

Methods to be aggressively inline

Optimizations.Inline.Exclude

Methods that may not be inlined

Linker Settings

Settings

Description

Linker.Format

Type of ELF object file elf32 or elf64

Linker.Symbols

If true, emits the symbols into the object file

Linker.StaticRelocations

If true, emits static relocation information into the object file

Linker.Drawf

If true, emits DWARF debug information into the object file

Linker.ShortSymbolNames

If true, emits short symbol names into the object file

Linker.CustomSections.{Name}.SectionName

Emits a custom linker section with this section name

Linker.CustomSections.{Name}.SourceFile

Emits a custom linker section using the specific file

Linker.CustomSections.{Name}.Address

Emits a custom linker section with this address

Common Settings

Settings

Description

SearchPaths

Folder to search for files

DefaultFolder

Default folder to output files

TemporaryFolder

Specifies a temporary folder

Compiler Debug Settings

Settings

Description

CompilerDebug.Statistics

If true, enables statistics gathering

CompilerDebug.DebugFile

Filename to emit a MOSA specific debug information

CompilerDebug.MapFile

Filename to emit a map of all symbols

CompilerDebug.CompileTimeFile

Filename to emit compile times for each method

CompilerDebug.AsmFile

Filename to emit ASM disassembly

CompilerDebug.NasmFile

Filename to emit disassembly using the NASM tool

CompilerDebug.InlinedFile

Filename to emit a list of all methods that were inlined

CompilerDebug.PreLinkHashFile

Filename to emit a list of all methods with their hash value prior to linking

CompilerDebug.PostLinkHashFile

Filename to emit a list of all methods with their hash value after linking

Compiler X86 Settings

Settings

Description

X86.InterruptMethodName

Name of the method that handles interrupts

Explorer Settings

Settings

Description

Explorer.Filter

Specifies the default method filter name when Explorer is launched

Launcher Settings

Settings

Description

Launcher.Start

If true, immediately start the compiler upon launch

Launcher.Launch

If true, launch a virtual machine after compiling the application and generating the virtual machine image

Launcher.Exit

If true, exit immediately after launch

Launcher.PlugKorlib

If true, automatically include the plugs for CoreLib

Launcher.HuntForCorLib

If true, search for CoreLib in various directories

Launcher.LaunchGDB

If true, launch the GNU GDB application after VM launch

Launcher.LaunchDebugger

If true, launch the MOSA debugger application after VM launch

Launcher.Test

If true, monitors VM serial for success or failure messages

Image Settings

Settings

Description

Image.Format

Format of the vritual image file BIN, IMG, VHD, VDI, ISO, VMDK

Image.FileSystem

File system of the primary partition in the image file FAT12, FAT16, FAT32, ISO????

Image.BootLoader

Type of bootloader grub0.97, grub2.00, syslinux6.03, syslinux3.72

Image.Destination

Destination directory of the image file

Image.ImageFile

Filename of the image file

Emulator Settings

Settings

Description

Emulator

Type of Emulator Qemu, VMware, Bochs

Emulator.Memory

Amount of memory for the virtual machine in MB

Emulator.Display

If true, show the video display

Emulator.GDB

If true, enables GDB within emulator

Emulator.Serial

Serial Emulation type None, Pipe, TCPServer, TCPClient

Emulator.Serial.Host

Serial Host Name or IP address

Emulator.Serial.Port

Serial Port

Emulator.Serial.Pipe

Serial Pipename

GDB Settings

Settings

Description

GDB.Host

Host IP or Name for GDB

GDB.Port

Port Number for GDB

Multiboot Settings

Settings

Description

Multiboot.Version

Multiboot version none, v1, v2

Multiboot.Video

If true, enable VGA BIOS Extension (VBE)

Multiboot.Video.Width

Video Width

Multiboot.Video.Height

Video Height

Multiboot.Video.Depth

Video Depth

Debugger Settings

Settings

Description

Debugger.WatchFile

Filename of the watch file

Debugger.BreakpointFile

Filename of the breakpoint file

Application Location Settings

Settings

Description

AppLocation.Bochs

Location of the BOCHS application

AppLocation.Qemu

Location of the QEMU application

AppLocation.QemuBIOS

Location of the QEMU BIOS

AppLocation.QemuImg

Location of the QEMUImg application

AppLocation.VmwarePlayer

Location of the VMPlayer application

AppLocation.Ndisasm

Location of the Ndisasm application

AppLocation.Mkisofs

Location of the Mkisofs application

AppLocation.GDB

Location of the QEMU application

Import Settings

Settings

Description

Import

Filename of another settings file to import