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

Reply via email to