tree 01a72df66df11f801f08600ab6f75fa01fd5136f
parent 7b21a6df8dbbdb04bb01c66ae3fd53a53b7d943c
author Johnathan Van Why <jrvanwhy@google.com> 1612495111 -0800
committer Johnathan Van Why <jrvanwhy@google.com> 1612495111 -0800

Migrate the assembler invocation into build.rs, and deal with the fallout.

Review feedback indicated I should build libtock_runtime's external assembly files in build.rs rather than checking in a compiled binary. I added the compilation logic to build.rs and removed the assembly script and GitHub workflow.

Adding the compilation logic exposed a layout configuration bug: rust-lld was still picking up generic_layout.ld from the root of the repository! I realize now that the linker script namespace is global rather than relative. As such, I renamed the file to "libtock_layout.ld", so as to prevent collisions with libtock-rs' generic_layout and application repositorys' files. This revealed that I never updated the per-board layout scripts to work with the new layout, so I made that change as well.

Now that `build.rs` correctly fails when you try to build `libtock_runtime` for unsupported architectures (e.g. x86_64), the clippy and miri invocations in `make test` fail. I reconfigured them so they pass and test all platform-independent crates.

Last, I added a Mac OS workflow to see if the changes are compatible with Mac OS. I expect this to take some more revision.
