Re: Adding a toolset for a compiler

Edward Diener via Boost-build <[email protected]>
Newsgroups gmane.comp.lib.boost.build
Message-ID <[email protected]>
On 9/20/2018 3:01 PM, Steven Watanabe via Boost-build wrote:
> AMDG
> 
> On 09/20/2018 12:25 PM, Edward Diener via Boost-build wrote:
>> Given compiler 'xxx' with a command line 'xxx -c compile parameters...'
>> for compiling cpp/c source to object files and a command line 'xxx link
>> parameters... ' for linking object files into a library or an
>> executable, what is the minimum contents of xxx.jam which are needed to
>> use that jamfile as a 'toolset=xxx' on a b2 command line ? Is there some
>> prorotype I can use for doing this ?
>>
> 
> I suggest that you start with one of the simpler toolsets, like acc.
> 
> What you need is
> a) An action block for each command:
>    - compile.c++
>    - archive
>    - link
>    - link.dll
>    - (optional) compile.c
>    - (optional) compile.asm
> b) flags settings for <include>, <define>, <cxxflags>,
>     <cflags>, <linkflags>, and <archiveflags>, <library-file>,
>     <library-path>, <find-static-library>, <find-shared-library>.
>     Additional flags for the following will make the toolset
>     more configurable, but a prototype can get by without them:
>     <optimization>, <threading>, <profiling>, <debug-symbols>,
>     <inlining>, <warnings>, <exception-handling>, <rtti>, <cxxstd>,
>     <address-model>, <architecture>, <visibility>.
> c) An init rule which can be called via `using`
> d) Generators for each rule.  generators.register-c-compiler,
>     generators.register-linker, and generators.register-linker
>     should work.

You repeated 'generators.register-linker' twice. Did you mean something 
else for the second repetition ?

>  If you inherit from `unix`, then you get these
>     automatically.  (Note: you should inherit from `unix` iff
>     library order on the command line must follow the usual
>     unix rules.)

What are the usual 'unix rules' ? That all external references in a 
library/object file must be resolved by a previous library/object file 
in the sequence of library/object files mentioned ? Or something else ?

> 
> In Christ,
> Steven Watanabe


_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.