This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/55243] STAMP variable is not defined in t-avr
- From: "gjl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 10 Dec 2012 17:00:50 +0000
- Subject: [Bug ada/55243] STAMP variable is not defined in t-avr
- Auto-submitted: auto-generated
- References: <bug-55243-4@http.gcc.gnu.org/bugzilla/>
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.