On Thu, Nov 21, 2002 at 11:29:54AM -0800, Terry Lambert wrote: > Ruslan Ermilov wrote: > > > NetBSD builds a directory full of tools that you can later use to > > > incrementally build, say, 'ls' or 'cat' because one can define > > > USETOOLS to be 'yes' and have the make automatically pick them up when > > > rebuilding. There are a few of the details I'm a little unclear on, > > > but that's the jist of it. > > > > We also can, this just requires a few really tiny tweaks to Makefile.inc1, > > and I've posted them already some time ago -- basically, for each architecture > > you should build the subset of buildworld targets (WMAKE_TGTS), up to and > > including _libraries (if you want to build roughly any bit later), and > > them you can ``make {depend|all} SUBDIR_OVERRIDE=bin/cat'' for each of > > the desired TARGET_ARCH. > > Any ETA on when this will be committed? > It's already available, in some form (please see the attached).
> > I know that the Alpha and sparc64 binaries produced on i386 work. > > I thought that the Alpha boot blocks ended up too large in the > cross-build case? They did, last time I tried it. > "Binaries" in the usual sense -- libraries and programs. As for boot blocks, they seem to be fine nowadays -- but I lack the necessary h/w to actually test (and fix if needed the building of) them: ftp://ftp.sunbay.net/pub/FreeBSD/snapshots/alpha/ > > I know that cross-compiling i386 on either Alpha or sparc64 is > > broken (GCC sometimes produces different assembler output than > > the native compiler). I lack the necessary hardware to actually > > test/fix the issues with cross-releases. > > I don't think he was attacking you, personally, to ask you to > fix the problem, I think he was just noting the problem exists. > I don't think either -- please see my reply to Warner. :-) > One thing that would help a lot -- and probably be helpful in > general -- would be a binary compare tool that ignored date > stamps in things like libraries, tar images, etc., so that you > could compare where things differ, easily, allowing someone to > track down differences. > I use -save-temps option to cc(1) to do this, if I find any differences, and compare .s and .i files instead. > It would be helpful in general to be able to compare what you > built vs. a release version, to assemble binary only delta lists, > for preparations for upgrade tools, etc.. > > I keep meaning to do this, but I really don't want to have to > release the tool under the GPL, if I don't have to. Cheers, -- Ruslan Ermilov Sysadmin and DBA, [EMAIL PROTECTED] Sunbay Software AG, [EMAIL PROTECTED] FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age
--- Begin Message ---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 > >@@ -329,6 +329,8 @@ 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, [EMAIL PROTECTED] Sunbay Software AG, [EMAIL PROTECTED] FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age
tinder.sh
Description: Bourne shell script--- End Message ---
msg47175/pgp00000.pgp
Description: PGP signature
msg47175/pgp00001.pgp
Description: PGP signature