This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Remove AM_MAKEFLAGS from libsanitizer


Il 13/12/2012 00:23, H.J. Lu ha scritto:
> On Wed, Dec 12, 2012 at 3:01 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Wed, Dec 12, 2012 at 2:13 PM, Paolo Bonzini <bonzini@gnu.org> wrote:
>>> Il 12/12/2012 19:11, H.J. Lu ha scritto:
>>>>>>>>
>>>>>>>> in RAW_CXX_TARGET_EXPORTS.  There is no need to do anything.
>>>>>>
>>>>>> Nope, if you remove this you get the wrong definition of CC and CXX from
>>>>>> EXTRA_TARGET_FLAGS.  Instead, you need to add RAW_CXX_FOR_TARGET to
>>>>>> AM_MAKEFLAGS and EXTRA_TARGET_FLAGS.
>>>>>>
>>>> We have set CXX and CXX_FOR_TARGET before EXTRA_TARGET_FLAGS
>>>> is used:
>>>>
>>>> RAW_CXX_TARGET_EXPORTS = \
>>>>         $(BASE_TARGET_EXPORTS) \
>>>>         CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
>>>>         CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS";
>>>> export CXX;
>>>>
>>>> Shouldn't we the right CXX and CXX_FOR_TARGET?
>>>
>>> The purpose of EXTRA_TARGET_FLAGS is to forward any *_FOR_TARGET
>>> variable passed on the command line to the toplevel Makefile.
>>>
>>
>> We don't pass down RAW_CXX_FOR_TARGET from toplevel
>> Makefile.  If one wants to change RAW_CXX_FOR_TARGET
>> from command line, he/she should do
>>
>> # make RAW_CXX_FOR_TARGET=xxx
>>
>> and RAW_CXX_TARGET_EXPORTS should handle it properly.

NORMAL_TARGET_EXPORTS and RAW_CXX_TARGET_EXPORTS is (mostly) for
configure time.  Makefiles do not use the environment variables, so you
need EXTRA_TARGET_FLAGS (and more generally the args argument to the
"all" macro) instead.

> 
> Also there are:
> 
> # ------------------------------
> # Special directives to GNU Make
> # ------------------------------
> 
> # Don't pass command-line variables to submakes.
> .NOEXPORT:
> MAKEOVERRIDES=
> 
> in toplevel Makefile.  How does
> 
> # make *_FOR_TARGET=xxxx
> 
> work at toplevel?

That's what I'm trying to say: the purpose of EXTRA_TARGET_FLAGS is to
forward any *_FOR_TARGET>> variable passed on the command line to the
toplevel Makefile.

Paolo


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]