Sparc64 support

Jordan Hubbard jordanhubbard at me.com
Mon Aug 10 05:54:41 UTC 2015


> On Aug 9, 2015, at 10:11 PM, Adrian Chadd <adrian.chadd at gmail.com> wrote:
> 
> It's supposed to be (for mips):
> 
> pkg install mips-gcc mips-xtoolchain
> make ... CROSS_TOOLCHAIN=mips-gcc ...
> 
> .. however there are loose ends to fix that prevent that from working
> out of the box.

OK, so here’s what I would propose (and I would even, gulp, be willing to toss a little engineering resources at it if it makes it actually happen):

1. We add some sort of arch-bootstrap rule to /usr/src/Makefile which does the following:

	1a. If TARGET_ARCH is one of the “clang supported” architectures, it sets some “use internal compiler” flags and declares an early victory.  Go to step 1d.

	1b. If TARGET_ARCH is one of those “No one can explain to Adrian just how this even works” then it just falls out of -current until someone can do steps 1b and 1d.

	1c. If TARGET_ARCH is one of the “external toolchain” supported architectures then it does the appropriate ``pkg info blah'' introspection to see if the appropriate toolchain is already installed, and if so, we go to step 1d.  Otherwise, it goes “Bleah!  You must: pkg install 6502-weird-ancient-gcc 6502-apple][-runtime” and aborts, so the user can then make the determination about whether to cruft up their build machine with those packages and retry the operation.

	1d. All of the appropriate COMPILER_FOO variables are set to compile for TARGET_ARCH and away we go.

2. Having done #1, we de-orbit the base version of gcc and let clang take its rightful place as the only “internal compiler” supported in base.  None of the weird architecture folks can complain that we just broke -current for them because the arch-bootstrap rule will do all the right things for their architecture (or if it doesn’t, they know what to hack until it does) and steer the user in the direction of the appropriate package(s).

Am I missing anything?  Is it really that obvious?  It seems I must be missing something if this is truly just a 2 step process. :)

- Jordan



More information about the freebsd-hackers mailing list