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

Attachment: tinder.sh
Description: Bourne shell script

Attachment: msg47175/pgp00000.pgp
Description: PGP signature

--- End Message ---

Attachment: msg47175/pgp00001.pgp
Description: PGP signature

Reply via email to