From owner-freebsd-questions@FreeBSD.ORG Mon Jan 26 15:47:38 2015 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B0E47635 for ; Mon, 26 Jan 2015 15:47:38 +0000 (UTC) Received: from smtp.infracaninophile.co.uk (smtp6.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3cd3:cd67:fafa:3d78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.infracaninophile.co.uk", Issuer "ca.infracaninophile.co.uk" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 555E8358 for ; Mon, 26 Jan 2015 15:47:38 +0000 (UTC) Received: from ox-dell39.ox.adestra.com (no-reverse-dns.metronet-uk.com [85.199.232.226] (may be forged)) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.15.1/8.15.1) with ESMTPSA id t0QFlS3C024858 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Mon, 26 Jan 2015 15:47:28 GMT (envelope-from matthew@freebsd.org) Authentication-Results: smtp.infracaninophile.co.uk; dmarc=none header.from=freebsd.org DKIM-Filter: OpenDKIM Filter v2.9.2 smtp.infracaninophile.co.uk t0QFlS3C024858 Authentication-Results: smtp.infracaninophile.co.uk/t0QFlS3C024858; dkim=none reason="no signature"; dkim-adsp=none; dkim-atps=neutral X-Authentication-Warning: lucid-nonsense.infracaninophile.co.uk: Host no-reverse-dns.metronet-uk.com [85.199.232.226] (may be forged) claimed to be ox-dell39.ox.adestra.com Message-ID: <54C66190.5020101@freebsd.org> Date: Mon, 26 Jan 2015 15:47:28 +0000 From: Matthew Seaman User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: freebsd-questions@freebsd.org Subject: Re: Source Build Question References: In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="x4XXeeaPV2mpXcFkPOKFUx52VEeevpWgh" X-Virus-Scanned: clamav-milter 0.98.5 at lucid-nonsense.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lucid-nonsense.infracaninophile.co.uk X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jan 2015 15:47:38 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --x4XXeeaPV2mpXcFkPOKFUx52VEeevpWgh Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 01/26/15 15:11, Rick Miller wrote: > Hi all, >=20 > The output below is an excerpt from 2 source builds of the same source > (releng/10.0) on 2 different hosts. The obvious difference is "all" vs= > "depend", but what exactly does this signify and does it impact the > performance of a build? >=20 > /*** Source build, Host 1 ***/ > =3D=3D=3D> lib/clang/libllvmanalysis (all) > =3D=3D=3D> lib/clang/libllvmarchive (all) > =3D=3D=3D> lib/clang/libllvmasmparser (all) > =3D=3D=3D> lib/clang/libllvmasmprinter (all) > =3D=3D=3D> lib/clang/libllvmbitreader (all) > =3D=3D=3D> lib/clang/libllvmbitwriter (all) >=20 > /*** Source build, Host 2 ***/ > =3D=3D=3D> lib/clang/libllvmanalysis (depend) > =3D=3D=3D> lib/clang/libllvmarchive (depend) > =3D=3D=3D> lib/clang/libllvmasmparser (depend) > =3D=3D=3D> lib/clang/libllvmasmprinter (depend) > =3D=3D=3D> lib/clang/libllvmbitreader (depend) > =3D=3D=3D> lib/clang/libllvmbitwriter (depend) >=20 If you're starting from a pristine, newly checked-out source tree in /usr/src and an empty /usr/obj in both cases, then you should see the 'depend' target getting processed fairly early in the build. It's analysing each file of C code to find what headers each depends on. Once this analysis has been done, and the results saved to '.depend' files scattered around various directories under /usr/obj, then there's no need to repeat that step unless any of the C code files are newer (ie. more recently modified) than the generated .depend files. On second and subsequent builds in the same source tree, you may not see the depends being processed again. A simple 'make clean' doesn't (IIRC) remove the generated .depend files -- for that you need to run 'make cleandir ; make cleandir' (Yes, the same thing twice.) or destroying and recreating /usr/obj some other way. It's often faster to have that as a separate partition, and then drop and recreate the filesystem on it than to go around deleting all the files in that directory tree. Cheers, Matthew --x4XXeeaPV2mpXcFkPOKFUx52VEeevpWgh Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJUxmGQXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxOUYxNTRFQ0JGMTEyRTUwNTQ0RTNGMzAw MDUxM0YxMEUwQTlFNEU3AAoJEABRPxDgqeTnsJsP/3L8XWWcht1faMjGmqmgM5CW qytXnwMcngan109n7Oh3LD9hclnQ5tsGQHeLbNeq0IRh8gHYtlj4Xstuz4kPCbK5 m439bARw1BPoHaaIbSrJXwRUl70KXVpiOJ0y8KTJ5d/lmqkoKZ3R6gb7Lvl/+y/i 1rMaZDfkb6K9UbFfYa5pwGHK+5Lj6E+1f8YZjFb+/YfCZrdcROmRPj3PKeK6RGw1 LDoOvrWBglYK8qnxvQ/0Y2Bq4u5q/rjgYxC03DpDYHhiyjrZyPuAzeATMDVuLk3s JIEMnVMzbGE27iMR/LI+Mz/+dVcOiKN+bPn180in/xrwhY2CzSdciUKKNnW6bJSc Ze5/cdE0xAstWOvSaVEe9y16u5DQgqcACwbtvbEH/B9QPsFi/d513Xn/5kYTTDiG oEvYQZt+/+KEwlnmvFsO7nmfr8Wn9HQ7pTChGWK3ianV6gx/VF8ASe+C2qrgkbCS WcKZyRqFFAY6Vs9PTYTNoOjFV5ANwYszA7xoKMx0uAAJzBGhGC9UlNDNin7bkVoM z2u4azJMhmzFX0kcA8QxGf6liHFGGtet94RanvOAc1KzeloJS4PlTCXZfCngN4lh 9MXCteI6pt1MHU3o9UMFMmpv/Lqk4fLHclz1unMyYKSJ86akqYQ7ckuXFxDR/CeY +7xr8QFdPPiaZvEK9L++ =M43J -----END PGP SIGNATURE----- --x4XXeeaPV2mpXcFkPOKFUx52VEeevpWgh--