[Bug 286154] WITHOUT_CLANG overrides WITH_CLANG_BOOTSTRAP

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 17 Apr 2025 10:57:34 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286154

            Bug ID: 286154
           Summary: WITHOUT_CLANG overrides WITH_CLANG_BOOTSTRAP
           Product: Base System
           Version: 15.0-CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: conf
          Assignee: bugs@FreeBSD.org
          Reporter: avg@FreeBSD.org

I observe that a build with WITHOUT_CLANG skips usr.bin/clang/clang directory
even when the build detects that cross-tools are required.

E.g., a build with WITHOUT_CLANG outputs this:
--------------------------------------------------------------
 >>> stage 3: cross tools
--------------------------------------------------------------
===> lib/clang (obj,all,install)
===> lib/clang/libllvm (all)
===> lib/clang/libllvm (install)
===> usr.bin/clang (obj,all,install)
===> usr.bin/clang/lld (obj,all,install)

Comparing to a default build, the following lines are missing:
===> usr.bin/clang/clang (all)
===> usr.bin/clang/clang (install) 

I think that the issue is cased by this check in usr.bin/clang/Makefile:
.if ${MK_CLANG} != "no"
SUBDIR+=        clang
.endif

When building cross-tools and MK_CLANG_BOOTSTRAP is yes, MK_CLANG is still no
because of WITHOUT_CLANG.

Those lines in usr.bin/clang/Makefile come from commit
https://cgit.freebsd.org/src/commit/?id=8e1c989abbd1db4.

Bug 240507 describes a similar problem, but with a different root cause.
The commit in question was made after the bug fix(es), so it broke the
configuration in a different way.
https://cgit.freebsd.org/src/commit/?id=8e1c989abbd1db4

-- 
You are receiving this mail because:
You are the assignee for the bug.