[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem is CC environment var. (was Re: Something screwed up in PROJECT_ROOT or PROJECT_TOPdir)

On Sun, 2005-02-20 at 08:27 -0500, Peter Dufault wrote:
> RTEMS is now building (at least it started building and has been 
> building for a while now) after I added CC_FOR_TARGET and 
> CXX_FOR_TARGET to the configuration.
> My problem is that I wrap my configuration with "CC=gcc34" or 
> "CC=gcc33", etc, so I can modify what gets built with what host 
> compiler.  For example, gdb 5.2 needs gcc33 while I'm building all 
> other host stuff with gcc34.
> I just checked the RTEMS configure, and it specifies "CC_FOR_HOST", not 
> "CC".
It uses CC_FOR_BUILD, CC_FOR_HOST and CC_FOR_TARGET in its toplevel

CC is used locally and is being set to one of CC_FOR_BUILD, CC_FOR_HOST
or CC_FOR_TARGET, depending on whether a configuration subdir is being
built for build, host or target.

If you set CC in the environment, this will override the CC being using
inside of a Makefile when invoking make in a subdirectory.

>   Maybe someplace in multilib it must decide to use "CC" as the 
> target compiler if it is set and "CC_FOR_TARGET" isn't? 
Not quite. The toplevel configure script sets CC to one of CC_FOR_*.

>  I'm pretty 
> sure this is new behavior since I think I've always done this, but I 
> won't swear to it.
Just do not set CC in the environment. Setting CC in the environment
means asking for trouble - In all configurations, not only RTEMS.