On Wed, Feb 17, 2010 at 9:12 AM, Andy Dougherty <[email protected]> wrote: > On Tue, 16 Feb 2010, chromatic wrote: > >> On Tuesday 16 February 2010 at 18:50, Andy Dougherty wrote: >> >> > I'm afraid that I'm unlikely to have any opportunity to do anything >> > useful with this for quite a while, so go with whatever makes sense to >> > you. >> >> Ultimately we want cleanliness of course, > > For the rm_flags branch, it's currently not an issue of cleanliness. It > simply doesn't build with anything other than gcc[*] (and probably not > with gcc -O3 on amd64/Linux). There were things in the old CFLAGS > mechanism which need to somehow be accomodated in the new order. I believe > Coke is well aware of these and working on them, but hasn't had time to > finish them yet.
And... done. > More broadly, the old CFLAGS way was indeed incredibly roundabout and > clunky; the new way forward is potentially both simpler and more flexible. > > -- > Andy Dougherty [email protected] > _______________________________________________ > http://lists.parrot.org/mailman/listinfo/parrot-dev > This branch: - is warnings clean on GCC. (but probably nothing else) - removes tools/build/cc_flags.pl - all compilation is now done via straight makefile rules (and now the actual compiler command is visible, where it was hidden in trunk.) - eliminates a bunch of unused static functions, variables and other warnings (instead of skipping them as we used to.) - creates a @foo::bar@ syntax for makefile substitution - if foo::bar is present, it's used, otherwise we fall back to foo. - eliminates "replace_slashes" in the makefile. (and uses @slash@ in the few cases where it is necessary, i.e. command paths.) - kills the legacy INVERSE_CONDITIONED_LINE syntax. - makes compilers/imcc/Rules.mak a generated file so we can use the makefile.in syntax. - eliminates most of config's auto:cgoto - these are now just part of the makefile. - updates config's init::optimize to put the optimize flags in @optimize@, with file-specific overrides, and update all invocations of CC to use this config var. - update config's auto::warnings to keep track of per-file warnings overrides in a hopefully easy to use data structure that should allow for additions other than the current gcc/g++ variants; don't expose as much of our decision making process here in config vars as we used to. break out warnings into @ccwarn@ instead of adding them to CFLAGS. generate file specific overrides (and use them in the makefiles). - move g++ vs. gcc check out of auto::warnings into auto::gcc - fix test file used to see if warnings are valid to be warnings clean - some valid warnings were not being picked up because of this. Needs testing on sun's CC and amd64, and windows. -- Will "Coke" Coleda _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
