Can't update CLang-based system
Alexander Best
arundel at freebsd.org
Mon Feb 28 12:34:10 UTC 2011
On Mon Feb 28 11, Dimitry Andric wrote:
> On 2011-02-28 04:30, Tim Kientzle wrote:
> >I have a FreeBSD-CURRENT AMD64 system here that was last updated at
> >r215029.
> >
> >I'm trying to update it to r219079, but the build fails in lib/libz when
> >it tries to compile gvmat64.S. It looks like the Makefile here has a
> >workaround for clang on AMD64, but it doesn't seem to actually be working
> >in this case.
>
> For this to work, you must put the following fragment in /etc/make.conf,
> *not* in /etc/src.conf.
... or one could use something like this:
diff --git a/share/mk/sys.mk b/share/mk/sys.mk
index 1760573..3a817a5 100644
--- a/share/mk/sys.mk
+++ b/share/mk/sys.mk
@@ -355,6 +355,13 @@ __MAKE_CONF?=/etc/make.conf
.include "${__MAKE_CONF}"
.endif
+.if !defined(_WITHOUT_SRCCONF)
+SRCCONF?=/etc/src.conf
+.if exists(${SRCCONF})
+.include "${SRCCONF}"
+.endif
+.endif
+
.if defined(__MAKE_SHELL) && !empty(__MAKE_SHELL)
SHELL= ${__MAKE_SHELL}
.SHELL: path=${__MAKE_SHELL}
cheers.
alex
>
> .if !defined(CC) || ${CC} == "cc"
> CC=clang
> .endif
> .if !defined(CXX) || ${CXX} == "c++"
> CXX=clang++
> .endif
> # Don't die on warnings
> NO_WERROR=
> WERROR=
>
> The problem with src.conf is that is only read when make encounters a
> .include <bsd.lib.mk> or <bsd.prog.mk> statement, which usually is at
> the end of a Makefile. Thus, any checks done on ${CC} or ${CXX} in the
> beginning of a Makefile pick up only the default value.
--
a13x
More information about the freebsd-current
mailing list