Page MenuHomeFreeBSD

meta mode share/mk changes
ClosedPublic

Authored by sjg on Jun 7 2015, 2:36 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Sep 17, 5:00 AM
Unknown Object (File)
Thu, Sep 11, 4:52 AM
Unknown Object (File)
Wed, Sep 10, 10:33 AM
Unknown Object (File)
Mon, Sep 8, 1:36 PM
Unknown Object (File)
Mon, Sep 8, 9:58 AM
Unknown Object (File)
Mon, Sep 8, 9:57 AM
Unknown Object (File)
Mon, Sep 8, 9:49 AM
Unknown Object (File)
Jul 16 2025, 10:22 AM
Subscribers

Details

Summary

This patch shows projects/bmake share/mk vs head
Most of the changes revolve around "staging" files (think auto-install to DESTDIR, but with cookies for tracking dependencies).
sys.mk needs to enable a small number of options
others that depend on META_MODE can be enabled in bsd.opts.mk

Test Plan

Normal buildworld etc work
buildworld -DWITH_META_FILES builds normally but produces .meta files which can be useful for debugging

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

sjg retitled this revision from to meta mode share/mk changes.
sjg updated this object.
sjg edited the test plan for this revision. (Show Details)
sjg added reviewers: imp, brooks.
eadler added inline comments.
share/mk/bsd.compiler.mk
28

what is common here?

share/mk/bsd.dep.mk
150

this is to check "if bmake, not fmake", right?

bdrewery edited edge metadata.
bdrewery removed a subscriber: bdrewery.

I'll review all of this in the next week or two. I've been planning some big changes for Isilon's build system and considering projects/bmake as a solution for some of it.

These changes look OK, though some things lack documentation. Maybe that's in a different review?

share/mk/bsd.compiler.mk
28

These patches introduce 'magic' MACHINE types, without defining them. Please define them.

share/mk/bsd.obj.mk
168

I don't see where all these destroy targets are documented.

share/mk/sys.mk
345

I think the local.sys.mk vs src.sys.mk is backwards in these diffs, like we talked about.

I don't see any significant problems with this change.

When you are staging, is a METALOG currently generated by the install commands? It would be really nice to have ownership and permissions recorded alongside the files.

The change to bsd.crunchgen.mk seems standalone and should probably just be committed on it's own.

The bsd.own.mk change (s/_gid/_gn/) appears gratuitous.

share/mk/bsd.compiler.mk
28

common is a pseudo machine we use in Junos to for machine independent generated files can get consumed for multiple architectures.
host is the other pseudo machine we use so we can specify dependencies on things being built for build host (tools etc)
Will add a comment

share/mk/bsd.dep.mk
150

Yes, I think this can be removed now, bapt has committed a lot of stuff that precludes building with fmake

share/mk/sys.mk
345

My current thinking is that sys.mk should not know about src.sys.mk, but get it via local.sys.mk

sjg updated this object.
sjg edited the test plan for this revision. (Show Details)
sjg edited edge metadata.

reflect some review comments

brooks edited edge metadata.

accept revision so it can be closed.

This revision is now accepted and ready to land.Jul 23 2015, 5:32 PM