Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jul 2001 00:52:26 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Mark Peek <mark@whistle.com>
Cc:        current@FreeBSD.ORG
Subject:   Re: Cross building FYI
Message-ID:  <Pine.BSF.4.21.0107112342060.20198-100000@besplex.bde.org>
In-Reply-To: <p05100320b771373c59e4@[207.76.207.129]>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 10 Jul 2001, Mark Peek wrote:

> At 3:43 PM -0700 7/10/01, David O'Brien wrote:
> >On Tue, Jul 10, 2001 at 01:29:32PM -0700, Mark Peek wrote:
> >  > and a normal build using
> >>
> >  >    make -DNOPERL MAKEOBJDIRPREFIX=/usr/iobj buildworld
> >
> >Huh?  A normal build shouldn't need -DNOPERL and a MAKEOBJDIRPREFIX
> >redifintion.
> 
> Sorry, bad choice of words. By "normal" I meant a non-cross compiled 
> build. To ensure I didn't break it, I wanted to run it with similar 

By "normal builds", I will mean non-world, non-cross ones like
"cd somwhere; make" :-).

> >>  Index: gnu/usr.bin/cc/f771/Makefile
> >>  ===================================================================
> >>  RCS file: /cvs/freebsd/src/gnu/usr.bin/cc/f771/Makefile,v
> >>  retrieving revision 1.6
> >>  diff -u -r1.6 Makefile
> >>  --- gnu/usr.bin/cc/f771/Makefile	2000/03/15 05:13:53	1.6
> >>  +++ gnu/usr.bin/cc/f771/Makefile	2001/07/10 19:36:13
> >>  @@ -35,7 +35,7 @@
> >>    .for i in 1t 2t fo io nq op ot
> >>    .ORDER: str-$i.h str-$i.j
> >>    str-$i.j str-$i.h: str-$i.fin fini
> >>  -	./fini ${GCCDIR}/f/str-$i.fin str-$i.j str-$i.h
> >>  +	fini ${GCCDIR}/f/str-$i.fin str-$i.j str-$i.h
> >
> >This will use the one in the path, IIRC Marcel explicitly wanted "./fini"
> >for the cross-build case.

> Hmmm, this failed for me in my build so I applied the same change as 
> I did in cc_tools. This is due to "fini" being rebuilt as a TARGET 
> executable in the TARGET object directory during stage 4 so "./fini" 
> won't run on the host system. Perhaps Marcel could offer his opinion.

I think he actually wanted it for normal builds like
"cd /usr/src/gnu/usr.bin/cc; make".  Then $PATH is just the user's path
and "." might/should not be in it.

Your changes seem to be more or less correct.  build-tools seems to
have depended on using the wrong MACHINE_ARCH in TMAKEENV to build the
tools in a bogus place where they "accidentally" prevented harmful
rebuilding in stage 4.  But this hack only worked for the tools binaries
at best.  Any use of the binaries in stage 2 or 3 may have left
non-binaries in a bogus place where they accidentally prevented required
building in stage 4.  You fixed this for cc and f77 tools but there
may be problems with others.  It's not clear that tools binaries built
in stage 2 or 3 will work with a different MACHINE_ARCH in stage 4, but
cross-tools should.

Not Marcel


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0107112342060.20198-100000>