From owner-freebsd-current@FreeBSD.ORG Sun Oct 1 23:54:13 2006 Return-Path: X-Original-To: freebsd-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 BCFEC16A412 for ; Sun, 1 Oct 2006 23:54:13 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 29DDD43D45 for ; Sun, 1 Oct 2006 23:54:13 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.13.4/8.13.4) with ESMTP id k91NrmoC059116; Sun, 1 Oct 2006 17:53:49 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sun, 01 Oct 2006 17:52:57 -0600 (MDT) Message-Id: <20061001.175257.-1543905361.imp@bsdimp.com> To: gurney_j@resnet.uoregon.edu From: "M. Warner Losh" In-Reply-To: <20061001215643.GZ80527@funkthat.com> References: <20060928231816.GI80527@funkthat.com> <20061001.140824.-1264104565.imp@bsdimp.com> <20061001215643.GZ80527@funkthat.com> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Sun, 01 Oct 2006 17:53:49 -0600 (MDT) Cc: freebsd-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: Sun, 01 Oct 2006 23:54:13 -0000 In message: <20061001215643.GZ80527@funkthat.com> John-Mark Gurney writes: : Warner Losh wrote this message on Sun, Oct 01, 2006 at 14:08 -0600: : > In message: <20060928231816.GI80527@funkthat.com> : > John-Mark Gurney writes: : > : Comments? Improvements? : > : > Generally, libraries are considered to be a critical part of the : > system. They often have many different interdependencies. This is : > why we have buildworld: to account for them. If you make the patches : > that you describe, then you break the upgrade path for people with : > older systems. : : I don't see how adding the ability to do stand alone builds breaks : others ability to upgrade their systems through normal means (i.e. : buildworld)... The odd voo-doo that you posted originally would do exactly this because it included /usr/include in the include paths. : > You don't need to do a complete buildworld either to get new : > libraries. However, teasing out the parts that you do and don't need : : Yes you do, if you don't want to break your existing install by doing : a make includes.... Actually, no you don't. It is possible to build through the libraries stage and then install the libraries. By possible here, I do mean with a little extra programming of Makefile.inc1 to have the right packaging of targets. Hence my comments were phrased the way they were. I've added this Makefile goo in the past for similar targets. : > can be a chore. Maybe we should enhance the build system to be able : > to say 'rebuild just the libraries w/o rebuilding the toolchain'. : : IMO, even building just the libraries is a bit much... Actually, it isn't that bad. Without building a new toolchain, the rebuild of the libraries isn't that bad, even on slower hardware. : I would like to integrate this into bsd.lib.mk so that if you use : bsd.lib.mk you automaticly get what my patch proposes, but my make-fu : is weak... I will admit this will be a bit redundant for buildworld, : but it could be easily turned off in that case... I'd definitely like to review this patch. Your original one gave me a great deal of concern. I'm the person that you'll break if you do this wrong, and I've just finished spending an extended period of time tweaking things related to cross building (both cross release and cross platform). If it can be done safely (how you'll do this w/o doing a make includes, I'm not sure) and it doesn't break anything else, I'd be all for it. However, if it breaky anything that works now, I'll be less supportive. On a related note, why not just use the binary upgrade service that Colin Percival runs if you don't want to do a source build? Warner