Subject: [boost] Creating a new toolset for System i *SRVPGMs
From: Jon Brisbin (jon.brisbin_at_[hidden])
Date: 2009-09-22 11:08:37
We're integrating our C++ development with our RPG/400 development and
since we use Boost on the PC end, we'd really like to use Boost on the
AS400/System i integration stuff.
I can successfully compile service programs on the 400 that use boost
header-only libraries (with some minor tweaking of the Boost
source...I'm finding various things that have to be changed to
accommodate the 400 compiler) using the "ixlc" compiler. I think what
I need to do to use Boost.Build on the 400 is to create a new toolset
that is like gcc, but uses the "ixlc" and "ixlclink" commands to
compile *MODULEs and *SRVPGMs. I'm just not familiar enough with
Boost.Build to figure out how to do this. I'm actually a Java
programmer and not even very experienced in C++, though I've been a
unix geek for a long time, so I'm very familiar with the build tools.
Since the library/file(member) convention of working with these files
on the 400 doesn't translate directly across to files on a unix-like
filesystem, I'm thinking I'll have to have directories that correspond
to libraries and the source file basename that corresponds to the
object name. For example, source file:
would be compiled using "ixlc" like:
ixlc -ocpplib/mycpptest -qdbgview=all -qprint (other options) cpplib/
this would create a *MODULE object called "MYCPPTEST" in library
How would I translate this to a boost build toolset that I could use
by writing a Jamfile like the following...?
module cpplib/mycpptest : cpplib/mycpptest.cpp ;
srvpgm cpplib/mycpptest : cpplib/mycpptest cpplib/myothrmod ;
at some point, I'd probably like to specify a default library, but I
can probably do that by using variables in my project's root file.
Can anyone help me with this, even though you may not have direct
experience with the AS400 (it would be great if there were boost
developers who worked on or with 400's, though! ;)?
NPC International, Inc.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk