Boost logo

Boost-Build :

Subject: Re: [Boost-build] [boost] Announcement: Faber, a new build system based on bjam
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2017-12-01 14:28:52


Forwarding to appropriate Boost list..

On Fri, Dec 1, 2017 at 3:09 AM, Richard Hodges <hodges.r_at_[hidden]> wrote:

>
>
> On 30 November 2017 at 17:15, Rene Rivera <grafikrobot_at_[hidden]> wrote:
>
>> On Thu, Nov 30, 2017 at 8:29 AM, Richard Hodges <hodges.r_at_[hidden]>
>> wrote:
>>
>>>
>>>
>>> On 30 November 2017 at 16:16, Rene Rivera <grafikrobot_at_[hidden]> wrote:
>>>
>>>> On Thu, Nov 30, 2017 at 6:37 AM, Richard Hodges via Boost <
>>>> boost_at_[hidden]> wrote:
>>>>
>>>>>
>>>>> Have you tried getting bjam to correctly build boost for c++14 on iOS
>>>>> for a
>>>>> specific version of iOS, as a universal library?
>>>>>
>>>>
>>>> I have in the past when I used to do iOS programming for a living.
>>>>
>>>>
>>>>> It's a dark art.
>>>>>
>>>>
>>>> It is.. But the darkness of it is all Apple's fault.
>>>>
>>>> Have you tried to build for emscripten? (internal rules do not work).
>>>>>
>>>>
>>>> Yes. Have you tried using the built-in b2 emscripten toolset?
>>>> <https://github.com/boostorg/build/blob/develop/src/tools/em
>>>> scripten.jam>
>>>>
>>>
>>> Yes. It doesn't work.
>>>
>>> I have to compile for 'generic linux' and then cheat on all the include
>>> paths an compiler flags. It's a nightmare.
>>>
>>
>> I just checked.. I don't see a reported bug about that. What doesn't work?
>>
>
> Most of the libraries simply refuse to build if you compile with
> --toolset=emscripten. From memory, bjam/b2 reports errors around ambiguous
> rule definitions. The error message were cryptic and of course b2/bjam is a
> dark art in itself with no documentation or examples so I simply did not
> have time to investigate. In order to get a product out, I compile with
> --toolset=generic-linux and imbue CCFLAGS and LDFLAGS with all the magic
> pixie dust that emscripten needs to produce a reasonable static library. Of
> course I avoid libraries like coroutine etc.
>
> For me, it would be easier if boost simply used a Makefile. At least that
> has a well-known syntax and interface, with obvious and easy-to-find rules.
> I have always felt that the very presence of bjam/b2 was an impediment to
> using boost, and in no way useful to end-users, particularly in
> cross-compiled environments.
>
> Perhaps this is why I baulk at the idea of building any tool on top of
> this house of cards.
>
> emscripten: A standards-compliant c++14 to javascript/webassembly
> transpiler suite - http://kripken.github.io/emscripten-site/
>
> My use case is that I need the same source code to run under Linux,
> Windows, OSX, iOS, Android and in a web page. It turns out that c++ does
> all of that efficiently, neatly and compatibly.
>

-- 
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net


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