Boost logo

Boost-Build :

Subject: Re: [Boost-build] Adding a toolset for a compiler
From: Edward Diener (eldiener_at_[hidden])
Date: 2018-09-20 21:17:38


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


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