On 10/23/2014 04:31 PM, Ian Taylor wrote: > On Thu, Oct 23, 2014 at 8:27 AM, Pedro Alves <pal...@redhat.com> wrote: >> >> I think it'd be better if knowledge specific to subdirs was pushed down to >> the subdirs, rather than being kept in the top level, in the direction >> of how we disable libatomic, libsanitizer, etc. That is, by sourcing >> something in the subdir to get back the info top level needs. With that >> in place, changes to the set of supported hosts/targets/configurations >> no longer needs to be synchronized between the projects that use >> the top-level scripts. >> >> In the specific case of languages, it seems to be we already have such >> a script. E.g.: >> >> # First scan to see if an enabled language requires some other language. >> # We assume that a given config-lang.in will list all the language >> # front ends it requires, even if some are required indirectly. >> for lang_frag in ${srcdir}/gcc/*/config-lang.in .. ; do >> case ${lang_frag} in >> >> Each config-lang.in sets some output variables. For the case of a >> language being unsupported for some reason, we'd declare that >> the lang fragments can specify one more output variable, simply called >> "unsupported", and then in in go's gcc/go/config-lang.in, we'd add: >> >> # Disable the go frontend on systems where it is known to not work. >> case "${target}" in >> *-*-darwin* | *-*-cygwin* | *-*-mingw* | *-*-aix*) >> unsupported=true >> ;; >> esac >> >> Then back in the top level, near where we do: >> >> # Disable languages that need other directories if these aren't >> available. >> for i in $subdir_requires; do >> test -f "$srcdir/gcc/$i/config-lang.in" && continue >> ... >> >> We'd handle the "unsupported" variable. > > My patch was, of course, just building on the existing > unsupported_languages support. You are suggesting that we move that > support from the top level configure script to the language-specific > config-lang.in scripts.
AFAICS no target in the top level disables go yet, so we could IMO do the config-lang.in mechanism without moving any of the existing target checks for other languages. It'd be a small change that way. As bonus, I think you wouldn't need approval for further changes to the set of go supported systems (though that may not change often). My .02c. > That change sounds fine to me. Thanks, Pedro Alves