Just update calibre, and it looks like it builds a bunch of Python
extensions. In the build output, I see many things like these:

g++ -O3 -Wall -DNDEBUG -fno-strict-aliasing -pipe -fPIC
-march=amdfam10 -mcx16 -msahf -mpopcnt --param l1-cache-size=64
--param l1-cache-line-size=64 --param l2-cache-size=512
-mtune=amdfam10 -O2 -pipe -ggdb -pthread -I/usr/include/python2.7
-DPNG_SKIP_SETJMP_CHECK -DPOPPLER_OLD_LINK_TYPE -I/usr/include
-I/usr/include/ImageMagick -I/usr/include/poppler -c
/var/tmp/portage/app-text/calibre-0.8.23/work/calibre/src/calibre/ebooks/pdf/images.cpp
-o 
/var/tmp/portage/app-text/calibre-0.8.23/work/calibre/build/objects/pdfreflow/images.o

gcc -O3 -Wall -DNDEBUG -fno-strict-aliasing -pipe -fPIC
-march=amdfam10 -mcx16 -msahf -mpopcnt --param l1-cache-size=64
--param l1-cache-line-size=64 --param l2-cache-size=512
-mtune=amdfam10 -O2 -pipe -ggdb -pthread -I/usr/include/python2.7
-I/usr/include/ImageMagick -c
/var/tmp/portage/app-text/calibre-0.8.23/work/calibre/src/calibre/utils/magick/magick.c
-o 
/var/tmp/portage/app-text/calibre-0.8.23/work/calibre/build/objects/magick/magick.o


For reference, here are my CFLAGS:

CFLAGS="-march=amdfam10 -mcx16 -msahf -mpopcnt --param
l1-cache-size=64 --param l1-cache-line-size=64 --param
l2-cache-size=512 -mtune=amdfam10 -O2 -pipe -ggdb"
CXXFLAGS="${CFLAGS}"

It looks like the package adds "-O3 -Wall -DNDEBUG
-fno-strict-aliasing -pipe -fPIC" before appending CFLAGS or CXXFLAGS
to the line, and it's calling 'gcc' or 'g++' directly, rather than
x86_64-pc-linux-gnu-gcc, x86_64-pc-linux-gnu-g++ or something more
generic. It was my understanding that the 'right' way to create a
build system is to use the compiler for the target platform. I *think*
that means the commands I noted, but I'm uncertain

(And there's that it uses -O3, which is a bit spooky, and makes me
worry more about the effects of compiler upgrades)

Is this incorrect? Does it qualify as a bug?

-- 
:wq

Reply via email to