On Sat, Dec 22, 2012 at 10:47 AM, Johannes Obermayr
<johannesoberm...@gmx.de> wrote:
> Am Samstag, 22. Dezember 2012, 09:21:33 schrieb Matt Turner:
>> On Sat, Dec 22, 2012 at 9:16 AM, Johannes Obermayr
>> <johannesoberm...@gmx.de> wrote:
>> > This way the user has the privilege of last decision and so the option to 
>> > build an optimized debug build again.
>> > ---
>>
>> You can just do CFLAGS="-g -O2" ./configure can't you?
>
> Nope.
>
> CXXFLAGS='-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector 
> -funwind-tables -fasynchronous-unwind-tables -g' CFLAGS='-fmessage-length=0 
> -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables 
> -fasynchronous-unwind-tables -g' ./autogen.sh --host=x86_64-suse-linux-gnu 
> --build=x86_64-suse-linux-gnu --program-prefix= --prefix=/usr 
> --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc 
> --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 
> --libexecdir=/usr/lib --localstatedir=/var --sharedstatedir=/usr/com 
> --mandir=/usr/share/man --infodir=/usr/share/info 
> --disable-dependency-tracking --enable-xvmc --enable-vdpau 
> --enable-texture-float --enable-debug 
> --with-dri-drivers=i915,i965,nouveau,r200,radeon,swrast 
> --with-gallium-drivers=i915,nouveau,r300,r600,svga,swrast --enable-dri 
> --enable-glx --enable-osmesa --enable-gles1 --enable-gles2 --enable-openvg 
> --enable-shared-glapi --enable-shared-gallium --enable-gbm --enable-xa --e
 na
>  ble-gallium-egl --enable-gallium-llvm --enable-gallium-gbm --enable-opencl 
> --enable-r600-llvm-compiler --enable-gallium-g3dvl --enable-glx-tls
>
> Resulting Makefile:
> before:
> CFLAGS = -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector 
> -funwind-tables -fasynchronous-unwind-tables -g -Wall -std=c99 
> -Werror=implicit-function-declaration -Werror=missing-prototypes 
> -fno-strict-aliasing -fno-builtin-memcmp -g -O0
>
> after:
> CFLAGS =  -Wall -std=c99 -Werror=implicit-function-declaration 
> -Werror=missing-prototypes -fno-strict-aliasing -fno-builtin-memcmp -g -O0 
> -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector 
> -funwind-tables -fasynchronous-unwind-tables -g
>
> You see configure CFLAGS and initial CFLAGS are vice versa.

The real fix here is not to have configure.ac touch CFLAGS at all like
any reasonable autotools project. That was an unfortunate shortcut
during the initial work. That would be a lot more effort, though.

However, the typical convention is that the user's CFLAGS come first
(see any automake COMPILE or LTCOMPILE definition), mostly so that any
user specified -I paths take precedence. That's unfortunate when -O
options to gcc are last one wins, but that's how things have typically
been. I would make this change very cautiously.

--
Dan
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to