
Glenn Schrader wrote:
The only macro that gets defined is __sparcv8. I also haven't found a direct way to tell gcc that the cpu is a v8plus. For instance -mcpu=v8plus doesn't work.
If GCC itself is currently broken in this regard and we'll have to live with it (for now) then there should be a note in the build procedure on how to do a successful build.
According to Steve Clamage's post in this thread: http://forum.java.sun.com/thread.jspa?threadID=5071294&messageID=9262082 "(v8plus corresonds to UltraSPARC, the only architecture that has been available since about 1995.)" we can safely assume that all SPARCs where boost needs to run are v8+/v9. Since GCC doesn't accept v8plus, our only option is to use -mcpu=v9 -m32. There is also -mv8plus, but it doesn't select an architecture, but an ABI. It's on by default on v9/32. http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/SPARC-Options.html#SPARC-Options It seems that to fix the problem we need to set v9 as default in Boost.Build. I admit that I have no idea how to do that. Searching *.jam for -mcpu turned up nothing. The instruction-set feature doesn't seem to be used by gcc.jam. (The CVS only has Boost.Build v2 now; it could've worked with v1.)