Re: New ACPI diffs ready for testing

From: Ruslan Ermilov <ru_at_freebsd.org>
Date: Tue, 29 Apr 2003 09:28:40 +0300
On Mon, Apr 28, 2003 at 09:18:02PM -0600, M. Warner Losh wrote:
> In message: <XFMail.20030428164935.jhb_at_FreeBSD.org>
>             John Baldwin <jhb_at_freebsd.org> writes:
> : 
> : On 26-Apr-2003 Marcel Moolenaar wrote:
> : > The best way to cross-build is by starting a cross-world, which you
> : > then abort after the headers are installed in the object tree. This
> : > should leave a usable set of cross-tools you can use for buildkernel.
> : 
> : It would be nice if there was a 'buildtools' target that did just
> : enough to allow one to do a buildkernel.  Maybe 'buildkerneltools'
> : and 'buildworldtools' targets where the latter let you cross-build
> : individual libraries or binaries
> 
> make -f Makefile _obj _build-tools
> 
> is what I've been using.  You don't need bootstrap-tools typically...
> However, you want the _ version since it uses the right environment.
> It does build a little more than is necessary, but not a lot more.
> 
Actually, you need everything up to and including the _cross-tools
stage in the list generated by the following command:

	make -f Makefile.inc1 -V WMAKE_TGTS

The right way to run them is by

	cd /usr/src; make -m `pwd`/share/mk -f Makefile.inc1 <target>

It's rather an old issue, and I even recall writing a simple
script that does something like this.  Yes, I've found it,
attached.


Cheers,
-- 
Ruslan Ermilov		Sysadmin and DBA,
ru_at_sunbay.com		Sunbay Software AG,
ru_at_FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

attached mail follows:


On Thu, Jul 25, 2002 at 07:46:50PM -0700, Mark Peek wrote:
> At 6:50 PM +0300 7/25/02, Ruslan Ermilov wrote:
> >How about this simple script (tinder.sh)?
> >
> >: #!/bin/sh
> >: cd /usr/src
> >: ARCHES="i386 alpha sparc64"
> >: if [ "x$1" = "x" ]; then
> >:	for arch in ${ARCHES}; do
> >:		make TARGET_ARCH=${arch} -j4 -m/usr/src/share/mk \
> >:		    -fMakefile.inc1 -DNOCLEAN crossenv
> >:	done
> >: else
> >:	for arch in ${ARCHES}; do
> >:	for target in cleandir obj depend all; do
> >:		make TARGET_ARCH=${arch} ${target} SUBDIR_OVERRIDE=$1
> >:	done
> >:	done
> >: fi
> >
> >You could then run it twice:
> >
> >sh ./tinder.sh (rebuild cross environment: compiler, binutils, headers, 
> >libs)
> >
> >sh ./tinder.sh bin/tcsh (test if bin/tcsh builds ok)
> >
> >
> >... with this small assorted patch for Makefile.inc1, just to avoid doing
> >a whole buildworld; we need it for PicoBSD anyway:
> >
> >%%%
> >Index: Makefile.inc1
> >===================================================================
> >RCS file: /home/ncvs/src/Makefile.inc1,v
> >retrieving revision 1.297
> >diff -u -p -u -r1.297 Makefile.inc1
> >--- Makefile.inc1	24 Jul 2002 23:08:57 -0000	1.297
> >+++ Makefile.inc1	25 Jul 2002 15:37:51 -0000
> >_at__at_ -329,6 +329,8 _at__at_ WMAKE_TGTS+=	_includes _libraries _depen
> > buildworld: ${WMAKE_TGTS}
> > .ORDER: ${WMAKE_TGTS}
> >
> >+crossenv: ${WMAKE_TGTS:N_depend:Neverything}
> >+
> > #
> > # installcheck
> > #
> >%%%
> 
> 
> Very cool! I like it in principle! :-) The crossenv build worked fine 
> but the compilation of bin/tcsh only resulted in building 3 copies of 
> the i386 tcsh. I think it needs the WMAKE environment exported so it 
> has the path to the cross compiler and points to the appropriate 
> OBJDIR.
> 
Here's the new script that should work.  Sorry for a late reply.


Cheers,
-- 
Ruslan Ermilov		Sysadmin and DBA,
ru_at_sunbay.com		Sunbay Software AG,
ru_at_FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

Received on Mon Apr 28 2003 - 21:29:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:05 UTC