Page MenuHomeFreeBSD

Add a tools/build/make.py script that bootstraps bmake and then runs the build
ClosedPublic

Authored by arichardson on Aug 17 2018, 1:59 PM.

Details

Summary

This makes it possible to compile on non-FreeBSD systems since make will
usually be GNU make there. Even if they include bmake, it will often
either be a broken version or too old to build FreeBSD.

Test Plan

With this script I've been able to compile on Linux+MacOS (once I've applied
all the other patches from https://github.com/arichardson/cheribsd/tree/crossbuild-aug2018)

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Probably best to save this commit for last as once you commit it, people will try it. The change generally works fine for me.

tools/build/make.py
153 ↗(On Diff #46835)

We should fix bsd.compiler.mk if it isn't too gross. I recently changed it to handle GCC from base/gcc installed as /usr/bin/cc in rS333414.

I've tested the latest in github today on Arch Linux and was able to build world and kernel - however at this moment, I haven't been able to test what has been built anywhere.

Pass -fuse-ld=$XLD when building with clang

I gave this a cursory glance and it seems broadly reasonable. I think it's fine to commit to tools/.

I'll commit this once all the dependent patches have been committed.

Stop setting -fuse-ld=, this should be handled by D26055

This revision was not accepted when it landed; it landed in state Needs Review.Sep 21 2020, 3:49 PM
This revision was automatically updated to reflect the committed changes.