Build system of mesa preserve some C{,PP,XX}FLAGS from llvm installation when building llvm-related code. vm4249 ~ # grep 'LLVM_C.*FLAGS=' /var/tmp/portage/media-libs/mesa-9.1.2-r1/work/Mesa-9.1.2/configure LLVM_CPPFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cppflags"` LLVM_CFLAGS=$LLVM_CPPFLAGS # CPPFLAGS seem to be sufficient LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"` IMHO mesa[llvm] should depend on llvm[debug=] for more predictable results. Below are results shown by qsize. All tests done with FEATURES="-nostrip". I suspect that with nostrip the difference would be much greater. llvm[-debug] sys-devel/llvm-3.1-r2: 689 files, 36 non-files, 62129.94 KB - mesa[-debug] media-libs/mesa-9.1.2-r1: 56 files, 22 non-files, 141855.921 KB - mesa[debug] media-libs/mesa-9.1.2-r1: 56 files, 22 non-files, 163895.585 KB llvm[debug] sys-devel/llvm-3.1-r2: 689 files, 36 non-files, 105066.587 KB - mesa[-debug] media-libs/mesa-9.1.2-r1: 56 files, 22 non-files, 178648.171 KB - mesa[debug] media-libs/mesa-9.1.2-r1: 56 files, 22 non-files, 203159.835 KB vm4249 ~ # emerge -qpv media-libs/mesa sys-devel/llvm [ebuild R ] sys-devel/llvm-3.1-r2 USE="libffi -debug -gold -multitarget -ocaml {-test} -udis86 -vim-syntax" [ebuild R ] media-libs/mesa-9.1.2-r1 USE="classic egl gallium llvm nptl pax_kernel shared-glapi -bindist -debug -gbm -gles1 -gles2 -openvg -osmesa -pic (-r600-llvm-compiler) (-selinux) -vdpau (-wayland) -xa -xorg -xvmc" PYTHON_SINGLE_TARGET="python2_7 -python2_6" PYTHON_TARGETS="python2_7 -python2_6" VIDEO_CARDS="intel nouveau radeon vmware -i915 -i965 -r100 -r200 -r300 -r600 (-radeonsi)"
USE=debug is not really intended to control USE flags, esp. in llvm. To be honest, I'm considering masking it since it has very high build requirements and the resulting LLVM is mostly broken.