Question

I have ported a project using boost-build from Windows (using msvc) to Linux (using gcc), and am now porting it further to a cross-compiled Linux (also using gcc). I want to support all 3 platforms long-term (Windows, native Linux, cross-compiled Linux).

I've put in the basic support for cross-compilation, simply by adding a new "using gcc ..." line. However, this project uses some code-generating build tools which are built afresh with every build -- with my current basic support for cross-compilation, these build tools are cross-built and thus don't run on the build machine. In short, these need to be native built at all times and I'm not sure how best to specify this. Is there a best practice for this scenario?

I can certainly provide more detail on the organization of the Jamfiles, etc, but figured I'd start with a short-ish note ;>

Thanks in advance for any help!

Était-ce utile?

La solution 2

Just to close the loop, I also asked this question on the boost build mailing list. The answer that worked for me was:

http://article.gmane.org/gmane.comp.lib.boost.build/25469

Related issue: once I got the above in place, I ran into what's apparently a bug in boost build, where static libraries are propagated "too far". I worked around this second issue using the answer here:

http://article.gmane.org/gmane.comp.lib.boost.build/25484

Autres conseils

The first thing I'd try would be to force the host toolset for building the tools, e.g.

exe mytool : mytool.cpp
           : <host-os>linux:<toolset>gcc
;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top