http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55243



--- Comment #11 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2012-12-10 
17:00:50 UTC ---

(In reply to comment #10)

>> I don't know anything about the gnat build system and when I build avr-gcc I

>> configure for C/C++.

>> 

>> What's odd is that even if GCC is only configured for C/C++, I get messages

>> about a missing gnatls.  For example, running make in the gcc subdirectory of

>> build prints

>> 

>> $build/gcc> make

>> /bin/sh: gnatls: command not found

>> 

>> The build itself works fine but that message is confusing and shows that

>> something is wrong with the gnat build system.

>> 

>> gnat stuff should not be needed of the compiler is not configured for ada,

>> should it?

> 

> Probably, but if nobody really investigates, nothing will ever be fixed.



$(build)/gcc/Makefile reads:





# per-language makefile fragments

ifneq ($(LANG_MAKEFRAGS),)

include $(LANG_MAKEFRAGS)

endif



# target and host overrides must follow the per-language makefile fragments

# so they can override or augment language-specific variables



# target overrides

ifneq ($(tmake_file),)

include $(tmake_file)

endif





LANG_MAKEFRAGS contains $(srcdir)/ada/gcc-interface/Make-lang.in which in turn

contains:



    # put the host RTS dir first in the PATH to hide the default runtime

    # files that are among the sources

    RTS_DIR:=$(strip $(subst \,/,$(shell gnatls -v | grep adalib )))



which means gnatls is called no matter if it exists or not.



(In reply to comment #6)



> The GNAT tools are for the host, they have nothing to do with multilibs.

>  How come the s-avr-mlib Makefile rule gets invoked here?



The Makefile includes $(tmake_file) and thus

$(srcdir)/gcc/config/avr/t-multilib which is auto-generated and needs $(STAMP)

to build.



AFAIK make resolves its includes before it starts building the targets.

Reply via email to