From owner-freebsd-current@FreeBSD.ORG Fri Sep 29 09:49:38 2006 Return-Path: X-Original-To: current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 94D0F16A403 for ; Fri, 29 Sep 2006 09:49:38 +0000 (UTC) (envelope-from ru@rambler-co.ru) Received: from relay0.rambler.ru (relay0.rambler.ru [81.19.66.187]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0E1DC43D46 for ; Fri, 29 Sep 2006 09:49:37 +0000 (GMT) (envelope-from ru@rambler-co.ru) Received: from relay0.rambler.ru (localhost [127.0.0.1]) by relay0.rambler.ru (Postfix) with ESMTP id BF8CE5EBB; Fri, 29 Sep 2006 13:49:35 +0400 (MSD) Received: from edoofus.park.rambler.ru (unknown [81.19.65.108]) by relay0.rambler.ru (Postfix) with ESMTP id 9D5075D9E; Fri, 29 Sep 2006 13:49:35 +0400 (MSD) Received: (from ru@localhost) by edoofus.park.rambler.ru (8.13.8/8.13.8) id k8T9naQB003526; Fri, 29 Sep 2006 13:49:36 +0400 (MSD) (envelope-from ru) Date: Fri, 29 Sep 2006 13:49:36 +0400 From: Ruslan Ermilov To: John-Mark Gurney Message-ID: <20060929094936.GH86237@rambler-co.ru> References: <20060928231816.GI80527@funkthat.com> <20060929082713.GD86237@rambler-co.ru> <20060929083959.GG86237@rambler-co.ru> <20060929092233.GO80527@funkthat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="TKYYegg/GYAC5JIZ" Content-Disposition: inline In-Reply-To: <20060929092233.GO80527@funkthat.com> User-Agent: Mutt/1.5.13 (2006-08-11) X-Virus-Scanned: No virus found Cc: current@FreeBSD.org Subject: Re: better way to build libraries.. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Sep 2006 09:49:38 -0000 --TKYYegg/GYAC5JIZ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Sep 29, 2006 at 02:22:33AM -0700, John-Mark Gurney wrote: > So as I had a big argument w/ Kris about this, are you saying that > we should go ahead and remove all the -I../../sys in places like > pciconf because building standalone isn't supported? >=20 Yes, we've been doing this (removing them) for years now. pciconf is special -- it needs this because we don't install sys/dev/pci/pcireg.h into /usr/include. > My point is > that either we continue to attempt to support building things stand > alone, or we don't even pretend we attempt to... >=20 Removing -I's doesn't generally affect standalone building, but it does affect stanalone upgrading. That's the difference. If your sources match your installed bits, you can still chdir into a directory and type "make", and it will generally be built. Yes, we should stop pretending we support standalone upgrades -- because in this case you need to handle it properly: track dependencies, build and install dependencies (other headers and libraries, this library's headers if this is a library) in the correct order, etc. Some of them depend on the src.conf (or make.conf) options, there's a lot to track. > Everyone points that oh, buildworld does that prefectly fine, but no > one wants to expand support of being able to build FreeBSD piecemeal > on a system.... >=20 I think you misunderstand the difference between upgrades and standalone builds. > Take my 5.4-R box... I was unable to build libcrypto due to not > having done a make includes... I could do a make includes, but then > if either a) I forget to make and install the library, or b) the > library fails to build, I now have a broken install... It is > much better to do a build the library, then install both the new > library and includes... >=20 This approach is doomed. You were lucky (or not, haven't actually checked) that this particular upgrade didn't update .h files. Because if it did, you'd still be forced to rebuild other bits that use an updated header -- other crypto libraries, other stuff that uses crypto, statically linked programs if there are any. Well, if you absolutely want to, you could installed the headers into a temporary location using DESTDIR, make includes DESTDIR=3D/foo then rebuilt the library with DEBUG_FLAGS=3D-I/foo. In any case, even this broken approach doesn't require modifications to makefiles. Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --TKYYegg/GYAC5JIZ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFHOwwqRfpzJluFF4RAsWBAJ9CaLOqQr1nlDsDL/5l5xE/WBp1yACfXo+l jms8raZKih37DnfNOhuawfo= =96Sw -----END PGP SIGNATURE----- --TKYYegg/GYAC5JIZ--