From owner-freebsd-arch@FreeBSD.ORG Sun Jan 11 21:45:01 2009 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B865F1065688 for ; Sun, 11 Jan 2009 21:45:01 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from ebb.errno.com (ebb.errno.com [69.12.149.25]) by mx1.freebsd.org (Postfix) with ESMTP id 85BC08FC16 for ; Sun, 11 Jan 2009 21:45:01 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from trouble.errno.com (trouble.errno.com [10.0.0.248]) (authenticated bits=0) by ebb.errno.com (8.13.6/8.12.6) with ESMTP id n0BLYPtr096693 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 11 Jan 2009 13:34:26 -0800 (PST) (envelope-from sam@freebsd.org) Message-ID: <496A65E1.5030309@freebsd.org> Date: Sun, 11 Jan 2009 13:34:25 -0800 From: Sam Leffler Organization: FreeBSD Project User-Agent: Thunderbird 2.0.0.18 (X11/20081209) MIME-Version: 1.0 To: "M. Warner Losh" References: <20090111.095109.-1112748421.imp@bsdimp.com> <20090111172427.GD89178@hoeg.nl> <20090111191251.GA74450@zim.MIT.EDU> <20090111.142350.1560738814.imp@bsdimp.com> In-Reply-To: <20090111.142350.1560738814.imp@bsdimp.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-DCC-sonic.net-Metrics: ebb.errno.com; whitelist Cc: arch@freebsd.org Subject: Re: Quick hack to make fast kernel builds easier [really cross-build support] X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Jan 2009 21:45:02 -0000 M. Warner Losh wrote: > In message: <20090111191251.GA74450@zim.MIT.EDU> > David Schultz writes: > : On Sun, Jan 11, 2009, Ed Schouten wrote: > : > I often just run `make' in /usr/obj/..., > : > which also saves some typing, but unfortunately that doesn't work when > : > cross compiling. > : > : Also, as far as I know, there's no convenient way to rebuild a > : single module for another architecture. I use the following script > : called 'arch' to set the appropriate environment variables, so if > : I've already run 'make universe' and I want to rebuild libc for > : sparc64, I say: > : > : cd /usr/src/lib/libc && arch sparc64 make > : > : It would be nice if there were a better mechanism for this that's > : integrated into the build system. > > I do one of the following: > > (1) env TARGET=arm make buildworld -DNO_CLEAN > > or > > (2) env TARGET=arm make buildenv > $ cd lib/libc && make > > These both work out well enough in practice for me. I've wanted a > target that was 'reworld' that just did an 'all' and maybe a few other > things, but I've never had the time to polish this up (had it in a > couple of trees that I lost due to disk failure). > > I do agree it would be nice if there was some way to do 'all' for a > subdirectory with a 'trust me, I know what I'm doing, so don't do all > that other stuff' flag. > > I told das privately but will note publicly that: tools/tools/nanobsd/gateworks uses make buildenv to cross-build various bits. At some point I want to promote some of the shell code to be part of nanobsd but until we've got something to deal with ports I'm in no hurry. Sam