Subject: ImageMagick optimized for the host processor type on x86_64 and i686

From: Leo Famulari <[email-masked]>
Date: Mon, 22 Aug 2016 22:00:20 -0400

When building ImageMagick on i686 and x86_64, the '-mtune' GCC option
[0] is automatically set to optimize the output for the host processor
[1].

My understand of the GCC documentation is that the binaries will still
run on other processor types, which is why we haven't noticed any
related problems with ImageMagick so far.

But, this definitely makes the ImageMagick package non-reproducible.

Potential solutions:

* Set '-mtune=generic' when building on x86_64 and i686.
* Patch the build system to not try setting this flag at all. I'm not
sure how to achieve this, but I'm sure it's possible.
* Your great idea here :)

These are the two files that contain the string '-mtune' in the
ImageMagick source tree:

http://git.imagemagick.org/repos/ImageMagick/blob/ImageMagick-6/m4/ax_gcc_archflag.m4

I recommend *not* opening this file in your browser. It's very long and
might crash your browser. Try cloning the Git repo instead.
hXXp://git.imagemagick.org/repos/ImageMagick/blob/ImageMagick-6/configure

[0]
https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/i386-and-x86-64-Options.html#i386-and-x86-64-Options

[1]
http://hydra.gnu.org/build/1441619/log#line-2626
[...]
checking whether C compiler accepts -mtune=haswell... yes
checking for gcc architecture flag... -mtune=haswell
[...]