Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Jan 2009 17:56:27 +0000
From:      Dmitry Marakasov <amdmi3@amdmi3.ru>
To:        David O'Brien <obrien@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r187132 - head/usr.bin/make
Message-ID:  <20090130175627.GA20856@hades.panopticon>
In-Reply-To: <20090130113402.GB92386@dragon.NUXI.org>
References:  <200901130653.n0D6rrNX092719@svn.freebsd.org> <20090130015518.GA20404@hades.panopticon> <20090130113402.GB92386@dragon.NUXI.org>

next in thread | previous in thread | raw e-mail | index | archive | help
* David O'Brien (obrien@freebsd.org) wrote:

> I'm sorry I disagree.  You're complaining about something that is
> a feature of FreeBSD 1.x, 2.0 - 3.0, 4.4BSD, all NetBSD versions,
> all OpenBSD versions, Sprite, and the Open Group's Open Development
> Environment make.

Nice. Well I've been using FreeBSD since 4.7, and I don't believe I've
seen this once.

> Looking at my CSRG archive for usr.bin/make/job.c, all the back to:
> ----------------------------
> revision 5.1
> date: 1990/03/11 15:27:28;  author: bostic;  state: Exp;
> Initial revision
> ----------------------------
> 
> So I'm not sure how it violates POLA for a BSD user.

Not `BSD user', but just `user'. We can't take somethink that was
used back in FreBSD 3.0 as common and expected thing. By least
astonishment I mean:

- I do not expect to see difference between plain make and parallel
  make.
- I do not expect extra messages
- I do not expect behaviour change compared to previous version

Remember, make is not only used in FreeBSD kernel, but also in ports
(I know -j is not widely used there, but I believe it will someday)
and by users themselves. Common knowledge is that make does echo
commands executed by default. Then command's stdout/stderr may follow.
But there are NO extra messages by default.

> They are quite valuable when you have to unwind a broken parallel build.
> 
> The UNIX way is also not hiding information.  For folks reporting
> build problems, it is valuable to be able to triag their log rather
> than continuously telling folks to re-run their build non -j.
> 
> If you want "silence is golden" then all the multitude of lines of
> compiler invocation must really bug you.  Perhaps we should have the
> quiet out put of the ncftp3 build where every complication takes only
> 1 line:
> 
>     Compiling DStrCat.so:                                     [OK]
>     Compiling DStrFree.so:                                    [OK]
>     Compiling Dynscpy.so:                                     [OK]
>     Compiling Strncpy.so:                                     [OK]
>     Compiling strtokc.so:                                     [OK]
>     ..snip..

Have they modified make to display these? I doubt. I agree that
such logs are more readable, but it should be done in a way that
- does not affect third parties
- still is more customizable and verbose than --- $TARGETNAME ---

That is, change sys.mk:

.c:
        ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.IMPSRC}

.c:
.if defined (KERNEL_BUILDING) || defined (WORLD_BUILDING) # or how's that checked
	@echo "CC	${.TARGET}"
.endif
        ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.IMPSRC}

so it's only conditional for system compilation.

-- 
Dmitry Marakasov   .   55B5 0596 FF1E 8D84 5F56  9510 D35A 80DD F9D2 F77D
amdmi3@amdmi3.ru  ..:  jabber: amdmi3@jabber.ru    http://www.amdmi3.ru



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090130175627.GA20856>