Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Jul 1999 23:00:48 -0600
From:      Warner Losh <imp@village.org>
To:        current@freebsd.org
Subject:   How to cross build
Message-ID:  <199907070500.XAA67516@harmony.village.org>

next in thread | raw e-mail | index | archive | help

OK.  Per many requests from the community, I've committed my cross
compilation changes.

To build you just say 
	make buildworld TARGET=hpcmips TARGET_ARCH=mipsel
or
	make buildworld TARGET=m68k TARGET_ARCH=m68k
Right now you must specify both TARGET and TARGET_ARCH.  You will want
to do this with a clean /usr/obj.  Please send comments to me.

The one time I tried it, I was unable to build alpha binaries on i386
due to bugs in the gnu tools.  That was before egcs, however.
Building i386 binaries on the alpha may work, but I don't have access
to my Alpha lately to try.

This is a work in progress.  Since I've been using this on MIPS, whose
kernel includes aren't yet complete enough for make world, I don't
know if it will work completely or not.  The goal is to have a
buildworld complete and then do an installworld in the native
environment, or with a DESTDIR=xxxx to put the files in, say, an NFS
mounted root partition.

I did try to make this work with by redefining BINFORMAT, but I found
too many problems with doing this because cc1 isn't dependent on
BINFORMAT.  It was easier to build explicit cross tools to make this
happen.

I've been using the cross binaries for a variety of purposes, so I
have good confidence in at least that part of the commit.

Warner


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?199907070500.XAA67516>