Conversation
Notices
-
Embed this notice
kind of fucked part is that microcontroller coding is still stuck in the 90s or something. i think some people have started using docker builds though.
i'd be curious to see how well bazel clones work here. cause one thing they like doing is pinning tooling to set versions.
although i kind of dislike bazel builds in one way that they do a LOT of copying. please.build has to copy the whole workspace for each artifact, and they use this to enforce hermetic builds, so builds start to bog down if you do things like include the compiler in the workspace, though it does try to use reflinks in the sandbox to help.
i wonder if you could do something with FUSE to do the same job (i think faceboogle actually do exactly this, using virtual filesystems internally, but the public versions don't because they won't publish that code)
-
Embed this notice
@whiteline cross compiling shouldn't suck in theory but gcc can be a bitch about it
-
Embed this notice
@icedquinn
i've been doing some ESP32 programming and it's just straight up C via gcc, then the manufacturer tool flashes the binary w/openrtos to memory via usb
the libraries are good though
-
Embed this notice
@whiteline am still really mixed about bazels. i did like please.build, have not tried buck2 (but its better than buck now), because the sandboxing is a bit :blobcathuh: with how it relies on copious reflinking. that means for say a c file or a nim package it reflinks all the .nim files for each build, which is a little gross, on top of all the hashing it does.
the hashing is nice in some ways but you can tell Thought Machine really is doing a lot of tiny go packages and the like, not chungus codebases, because it doesn't have any adaptions for dealing with huge slow jobs.