Mark,
First of all - knowledge of the specific compiler is not needed. My question is generic - how to create a new toolset adapter, or generator?
Now - hcac (full name: High C/C++ Compiler, by ARC) is a cross-compiler. It runs on Win32/Linux, but targets the ARC processor - which is used in embedded systems (
real embedded, not WinCE and the like. I'm talking smartcard-level embedded). It is not used by many people, which is why I assumed nobody has created a generator for it.
I guess I can just take the msvc or gcc generators and change them. Do I have to do anything besides creating a copy of (for example) tools/gcc.jam file? Anywhere else to register the new toolset?
Thanks,
Noam.
Hi Noam,
I'm not familiar with hcac --- is it a native compiler? What platform does is run on?
How hard is it to support a new toolset?I have been nibbling away at writing a cross-development toolset for HP NonStop (NSK) and am close to having a releasable toolset. The learning curve was pretty steep because I had to get down-and-dirty with writing custom generators and rendering some non-standard features peculiar to NSK. I had to mine a lot of information by inspecting existing toolkits and the bjam infrastructure jam code. There is a chapter in the BB2 User Manual about writing extentions. It's a good start but could easily be turned into a book if someone had the time. The biggest complaint I've had is not having the ability to search the discussion archives. There's a lot of information in the archives but it's hard to get to, unless I overlooked something at the archive website which is entirely possible.
I don't know how hard it will be for you to write your toolset module. You should download BB2 and examine the existing tooksets and pick the one that is closest to your compiler and use that as the basis for writing a new module. It might be fairly easy or it might turn into a few man-months of effort. Are you familiar with the Jam/MR language? It is fairly simple but takes some getting used to. Acquiring an understanding of the bjam infrastructure built around the jam kernel is a daunting task. You don't have to be an expert on the bjam internals to write a bjam toolset, but the more you know the better. Getting to know the toolset facilities is the main challenge. For many toolset tools, the code is the documentation.
The principal developers of BB2 have been extremely helpful in answering questions and defogging the way for me. Kudos!
For my shop, the payoff of reduced build-script complexity and better handling of complex build trees will justify the investment. We are already seeing dividends.
Cheers,Mark
Noam Tamim <noamtm@gmail.com> wrote:Hi,
I have to build C/C++ using a toolset that isn't supported by boost.build:
the ARC High C/C++ Compiler (hcac).
1. Has anyone ever extended boost.build to support hcac?
2. (assuming reply(1)==false) How hard is it to support a new toolset? How should I do it? Is there a HOWTO/tutorial on that matter?
Thanks,
Noam.
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build