Jeroen van Rijn dbefee8905 Fix broken asan on Windows. 3 maanden geleden
..
llvm dbefee8905 Fix broken asan on Windows. 3 maanden geleden
nasm ffd7ca57f1 Move nasm.exe to windows/nasm.exe, etc 3 jaren geleden
RAD-LICENSE b5a9b8b6c3 Add radlink.exe 8 maanden geleden
README.md fd56b48825 Add `ODIN_ROOT` information 4 jaren geleden
lld-link.exe d209af5094 Update to LLVM 20.1.0 4 maanden geleden
radlink.exe 8f845c7f73 Update radlink.exe 8 maanden geleden
wasm-ld.exe d209af5094 Update to LLVM 20.1.0 4 maanden geleden

README.md

The Odin Programming Language

Setup

Odin currently supports x86-64 and ARM64 at the moment (64-bit), relies on LLVM for code generation and an external linker.

In addition, the following platform-specific steps are necessary:

  • Windows

    • Have Visual Studio installed (MSVC 2010 or later, for the linker)
    • Open a valid command prompt:
      • Basic: run the x64 Native Tools Command Prompt for VS2017 shortcut bundled with VS 2017, or
      • Advanced: run vcvarsall.bat x64 from a blank cmd session
  • MacOS

    • Have LLVM explicitly installed (brew install llvm)
    • Have XCode installed (version X.X or later, for linking)
    • Make sure the LLVM binaries and the linker are added to your $PATH environmental variable
  • GNU/Linux

    • Have Clang installed (version X.X or later, for linking)
    • Make sure the LLVM binaries and the linker are added to your $PATH environmental variable

Then build the compiler by calling build.bat (Windows) or make (Linux/MacOS). This will automatically run the demo program if successful.

Notes for *Nix Systems:: The compiler currently relies on the core and shared library collection being relative to the compiler executable, by default. Installing the compiler in the usual sense (to /usr/local/bin or similar) is therefore not as straight forward as you need to make sure the mentioned libraries are available. As a result, it is recommended to either simply explicitly invoke the compiler with /path/to/odin in your preferred build system, or set ODIN_ROOT=/path/to/odin_root.

Please read the Getting Started Guide for more information.