Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jan 2006 19:07:30 +0200
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        scottl@samsco.org, src-committers@FreeBSD.org, flz@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org, obrien@FreeBSD.org
Subject:   Re: cvs commit: src/usr.sbin/config main.c
Message-ID:  <20060116170730.GC79731@ip.net.ua>
In-Reply-To: <20060116.092610.122288991.imp@bsdimp.com>
References:  <20060115.231029.62233420.imp@bsdimp.com> <43CB42A9.8090601@samsco.org> <20060116083922.GD81316@ip.net.ua> <20060116.092610.122288991.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--4jXrM3lyYWu4nBt5
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Jan 16, 2006 at 09:26:10AM -0700, M. Warner Losh wrote:
> In message: <20060116083922.GD81316@ip.net.ua>
>             Ruslan Ermilov <ru@FreeBSD.org> writes:
> : On Sun, Jan 15, 2006 at 11:52:25PM -0700, Scott Long wrote:
> : > M. Warner Losh wrote:
> : >=20
> : > >In message: <20060116041146.GA23438@dragon.NUXI.org>
> : > >            "David O'Brien" <obrien@FreeBSD.org> writes:
> : > >: On Sat, Jan 14, 2006 at 08:12:25AM +0000, Florent Thoumie wrote:
> : > >: >   Modified files:
> : > >: >     usr.sbin/config      main.c=20
> : > >: >   Log:
> : > >: >   - Change the exit message from "make cleandepend; make depend"=
 to
> : > >: >   "make cleandepend && make depend".
> : > >:=20
> : > >: I still think we should go back to the traditional:
> : > >:     "Don't forget to do ``make depend''\n"
> : > >:=20
> : > >: The 'make cleandepend' step was to work around brokeness in 'make=
=20
> : > >depend'.
> : > >: If 'make depend' is still so broken that one must do 'make cleande=
pend'
> : > >: first, then 'make depend' should just blow away all the .depend fi=
les
> : > >: first.
> : > >
> : > >Sadly, that won't work.
> : > >
> : > >Warner
> : >=20
> : > Not that I don't believe you, but can you explain why it won't work?=
=20
> : > What happened that caused 10+ years of 'working' to turn to 'not work=
ing'?
> : >=20
> : Several reasons:
> :=20
> : -  Before we were always regenerating the kernel .depend file, even if
> :    nothing has changed.  This was contrary to other .depend files that
> :    are only regenerated if some of the sources or their known dependenc=
ies
> :    have changed.  The config/main.c commit log said this on the subject:
> :    : Ask that "make cleandepend" be run before "make depend", now that
> :    : we don't do this automatically.
> :=20
> : - "make cleandepend" wasn't to work around brokenness in "make depend".
> :   Instead, it's to make things work when make(1) cannot figure out by
> :   itself that it should regenerate .depend, e.g. when supporting .mk
> :   files change (kern.{pre,post}.mk, Makefile.<arch>, Makefile built by
> :   config(8), etc.).
> :=20
> : In short, not runnign "make cleandepend" is equivalent to building world
> : with -DNO_CLEAN, which is often possible but not guaranteed to work, and
> : for the same set of reasons.
>=20
> The problem with removing .depend in the depend target happens too
> late.  Before we get to the meat of the depend target, the error
> happens.  The error happens, btw, when a .h file is deleted, which the
> .depend file depends on...  There might be other clever ways around this.
>=20
Ah yes.  Removing a .h file that some file from ${SRCS} depends on is
the most easy way to demonstrate the need to remove .depend first, in
the general case.


Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--4jXrM3lyYWu4nBt5
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQFDy9LSqRfpzJluFF4RAh/zAJ9YasSEPm+Qvq6NoTEM0ydvAR/DJQCcDlaI
kU3kg6FbFzTX/TMoQpnw098=
=5xsE
-----END PGP SIGNATURE-----

--4jXrM3lyYWu4nBt5--



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