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.
Tags
None
Referenced Files
F80136821: D16767.diff
Thu, Mar 28, 10:25 AM
Unknown Object (File)
Fri, Mar 8, 9:13 PM
Unknown Object (File)
Feb 24 2024, 1:21 PM
Unknown Object (File)
Jan 14 2024, 8:57 AM
Unknown Object (File)
Jan 10 2024, 8:43 PM
Unknown Object (File)
Jan 10 2024, 8:43 PM
Unknown Object (File)
Jan 10 2024, 8:43 PM
Unknown Object (File)
Dec 29 2023, 11:01 PM
Subscribers
None

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

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 32838
Build 30248: arc lint + arc unit

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
154

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.