On Tuesday 24 February 2009 00:57:25 Andrew D Kirch wrote: > I was looking to do a workaround on a per compiler basis. > I'm looking at toolchain-funcs.eclass, and specifically > ${gcc-fullversion}. I've got a broken ebuild (dhcdbd) which requires > -U_FORTIFY_SOURCE to compile correctly with GCC 4.3.3. it's broken whenever fortify source is used, but gcc-4.3.3 is more of an issue because it's on by default. however, this flag should not go in any dhcdbd ebuild considering the fix posted by Magnus to that bug is clearly correct. > But reading > tells me that I should not use this eclass to set compiler settings > directly. Will this work, and other than the merit of the fix is there > a more desirable structure for such a solution? > > inherit flag-o-matic toolchain-funcs > > if [ "${gcc-fullversion}" -eq "4.3.3" ] #(or whatever the 4.3.3 > $gcc-fullversion} outputs) > then > append-flags -U_FORTIFY_SOURCE > fi i'll just address style/usage issues here rather than "is this change even correct" ... -eq is for numeric values, not strings. so you'd want: [[ $(gcc-fullversion) == "4.3.3" ]] && append-cppflags -U_FORTIFY_SOURCE -mike