|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2006-12-21 13:37:10
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.)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk