Boost logo

Boost-Build :

Subject: Re: [Boost-build] How can I include and use Jambase rules to my bjam/b2 build?
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2018-10-01 14:37:40


On 09/30/2018 11:49 PM, Dirk Bächle via Boost-build wrote:
> at work I tried to build an old software package (Ingres DBMS 10.1) from
> source over the last two weeks. It contained Jamfile and Jamrules files
> in its tree structure, so I concluded that I would have to use bjam/b2
> to get things going. The project's documentation wasn't specific enough
> about this point as it turned out.
> I had one major problem, the Jamfiles would use a lot of definitions
> from the "Jambase" file, like "SubDir" a.s.o. Everytime I started the
> build, I would get the error "unknown rule", as you can also see in the
> question that I posted on StackOverflow:
> I finally decided to give an older Jam version a try, and voila: with
> ft-jam 2.5.2 the project compiles flawlessly without any further ado. Yay!

b2 is not a drop-in replacement for Perforce Jam.
Using ft-jam is the correct option.

> So, basically everything is fine now and I can use ft-jam for my
> purposes. But I still wonder whether I could also use bjam/b2 for the
> compile. What is the purpose of the internal Jambase definition ("+"
> file) and the "-f" option in bjam? Is it only for bootstrapping b2
> itself, or can I use it while running b2? If yes, how do I activate it?
> How does a MWE look in this case?

The current Jambase is only used for bootstrapping Boost.Build.
Older versions of b2 had a copy of the original Jambase which
would be activated if the executable was named something other
than b2/bjam. Even so, I don't recommend using it as it was
completely unmaintained.

> Feel free to answer my questions on SO directly. Otherwise I'll try to
> provide an explanation myself, based on the replies from this list.
> Thanks a lot in advance for any clarifications and pointers to
> additional documentation.

In Christ,
Steven Watanabe

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at