On Tue, May 10, 2005 at 02:19:32PM +0200, Ralf Ertzinger wrote:
On Tue, May 10, 2005 at 08:12:35AM -0400, Build System wrote:
> - on x86 and x86_64, use -msse and -msse2 to accomodate newer compilers
Not that I want to revive the whole .i386.rpm vs. i686.rpm discussion,
but... how does gcc handle these flags? Does it build alternative
code for processors that do not have these features? Or does the binary
not run on anything below PII or compatible?
The way it is done in current rawhide's GIMP is definitely wrong.
%ifarch %ix86 x86_64
CFLAGS="%optflags -msse -msse2" CXXFLAGS="%optflags -msse -msse2" \
%endif
%configure \
a) on x86-64 this is unnecessary, all x86-64's have -msse2 by default
b) -msse2 implies -msse
c) if you use -msse2 in CFLAGS for all files, you can't run the latest
GIMP on e.g. Pentium2, or pre-x86_64 AMD chips.
-msse2 should be ONLY used on sources that have SSE/SSE2 stuff in it,
and GIMP should make sure that no routine from those sources will be
ever called on pre-SSE2 chips
Jakub