Skip to content

Modula-dev/m

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

m

is a modular cross-compiler interface. It does not contain any frontend or backends on its own, but rather functions as a toolchain that allows installing and interoperating compilers follow m's simple conventions. The purpose of m is to function as the CLI for the garter compiler and its components, but m itself should be simple enough to allow cross-compatibility or incorporation into other projects.

Build dependencies

# https://www.mingw-w64.org/getting-started/debian/
sudo apt install clang llvm
sudo apt-get install mingw-w64
sudo apt install g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64

Windows and MacOS builds also require zig

bsd depends on an entirely different libc, so we need to clone and build that too

mkdir -p ./tmp/bsd
curl -o ./tmp/bsd.txz https://download.freebsd.org/snapshots/amd64/14.2-STABLE/base.txz
tar -xJf ./tmp/bsd.txz -C ./tmp/bsd

Quick-Use

Licenses

m is made available under the copyleft GPLv3 license. Assets used by m, such as the Modula and garter branding, are freely available but proprietary. Modula permits redistribution of those assets alongside the original or modified GPLv3 code so long as the copyright notice for those assets is still included.

Note

The default m license command is sufficient for fufilling this requirement if left as-is