From owner-freebsd-current Wed Jul 11 7:54:44 2001 Delivered-To: freebsd-current@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id 25A9F37B403 for ; Wed, 11 Jul 2001 07:54:40 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id AAA27232; Thu, 12 Jul 2001 00:54:33 +1000 Date: Thu, 12 Jul 2001 00:52:26 +1000 (EST) From: Bruce Evans X-Sender: bde@besplex.bde.org To: Mark Peek Cc: current@FreeBSD.ORG Subject: Re: Cross building FYI In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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