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.