On Sat, 05 Jun 2004 19:36:32 -0400, William M. Quarles wrote: > I don't know much of anything about creating RPMs from scratch, but I > was watching the rebuilding of an SRPM on my computer, to which I passed > the --target=i686 flag, and its compilation lines looked like this > > c++ -c -I./lib/wx/include/gtk-2.4 -I../include -I/usr/include/gtk-1.2 > -I/usr/include/glib-1.2 -I/usr/lib/glib/include -D_REENTRANT > -I/usr/X11R6/include -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES > -D__WXGTK__ -DGTK_NO_CHECK_CASTS -D_IODBC_ -O2 -MMD -pthread -Wall -fPIC > -o tbargtk.o ../src/gtk/tbargtk.cpp > > Now -march=i686 is not showing up anywhere in there. Did the packager > do something wrong, or is it normal for the flag to not get passed to > C++ compilation lines during a rebuild? Default target platform dependent RPM optimization flags are passed on by default. But it's up to the code, which is compiled, whether it accepts $CFLAGS and $CXXFLAGS from the outside to override its own default ones. Could be that the program you've tried to compile has -O2 hardcoded. In such a case, packagers might patch the code and replace it with '$(RPM_OPT_FLAGS)'.