Boost logo

Boost-Build :

Subject: Re: [Boost-build] gcc: options specific to C compilation
From: Ilya Sokolov (ilyasokol_at_[hidden])
Date: 2008-11-10 04:30:35


Vladimir Prus wrote:
> Ilya Sokolov wrote:
>> Vladimir Prus wrote:
>>> On Monday 10 November 2008 10:06:24 Ilya Sokolov wrote:
>>>> Vladimir Prus wrote:
>>>>> On Sunday 09 November 2008 01:39:40 Jeroen van der Wulp wrote:
>>>>>> Hello Everyone,
>>>>>>
>>>>>> I would like to add -std=c99 as a requirement to the project with C as
>>>>>> well as C++ code. So I added it using the <cflag> feature, which breaks
>>>>>> compilation of C++ code.
>>>>>>
>>>>>> I have noticed that in the manual it says that cflags contains options
>>>>>> for both C and C++ compilation. I have also noticed that a feature
>>>>>> called <compileflags> is being used in the msvc.jam. It seems to be a
>>>>>> set of options that is common to C and C++ compilation. This feature is
>>>>>> currently not usable for the gcc toolset which to me is rather confusing.
>>>>> It does not really work for msvc, either.
>>>>>
>>>>> Anybody will object if I make 'cflags' apply for C compilations only, on
>>>>> all toolsets, and make 'compileflags' apply for both C and C++ compilations?
>>>> I think we should drop *flags parameters, add compileflags feature and
>>>> use toolset.add-requirements rule.
>>> You mean, that options to 'using rule' should be routed via toolset.add-requirements?
>>> Right now, many options are not features -- like 'archiver', or 'linker-type'. Do you
>>> suggest to convert them to features, too?
>> No, we should differentiate between the options of the toolset and the
>> options that will be applied to targets being built with that toolset.
>
> So, in:
>
> using gcc : : : <linker-type>sun <compileflags>xxx ;
>
> compileflags will go via toolset requirements, whereas linker-type will be handled
> directly?

Yes. Or make 'using rule' to accept any feature and drop
toolset.add-requirements.


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk