Skip to content

Swift on bare metal. Explorations of compiling Swift code without a standard library.

Notifications You must be signed in to change notification settings

While87/barmetal-taylor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Taylor

Swift on bare metal.

Requirements

Obviously, you need the Swift compiler, which should also get you a working Clang. Make sure your Clang supports bare ELF targets. I'm also using yasm for some assembly, and you'll need an ld that can spit out elf_i386.

How it Works

We tell swiftc to spit out LLVM intermediate representation, and then have Clang (which is much more reasonable about retargeting) build it into an object file, and then we link that together with some Multiboot stuff.

Swift standard library

What's in here right now doesn't need any Swift runtime support. That will change very quickly as we try to add support for things like arrays, classes, structs, strings, etc.

About

Swift on bare metal. Explorations of compiling Swift code without a standard library.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 36.0%
  • Makefile 30.1%
  • Swift 20.4%
  • Assembly 9.3%
  • C 4.2%