Boost logo

Boost Testing :

From: Aleksey Gurtovoy (agurtovoy_at_[hidden])
Date: 2005-01-06 04:54:11


Rene Rivera writes:
>
> Sorry Stephen... I'm afraid it's going to take a bit of effort to
> get CodeWarrior on MacOS working...

FWIW, the last time I looked at it, my (rough) estimate was a couple
of hours to get the whole thing up & running.

>
> Stephen W. Carson wrote:
>> My first attempt to run the regressions against CodeWarrior on
>> the Mac didn't get very far.
>>
>> I ran "python regression.py --runner=Dirxion --toolsets=cw" and,
>> eventually, got "Unknown toolset" from build.sh when it tried to
>> build
>
>> bjam even though "cw" is on the list of supported toolsets:
>> http://www.boost.org/more/getting_started.html#Tools
>
> That's the list of toolsets that Boost.Build supports. As it turns
> out that's a different set than the toolsets that Boost.Jam supports
> building automatically.
>
>> (build.sh says that it can only handle "acc, como, darwin, gcc,
>> intel-linux, kcc, kylix, mipspro, sunpro, tru64cxx, vacpp" which is
>> a rather smaller list than the toolsets that the web page lists as
>> supported. Why do these lists differ?!?)
>
> Different build systems if you can believe it :-) The build.sh/bat
> are the bare bones boot strapping to get bjam compiling. The list of
> toolsets that the build.sh/bat scripts support
> is.. http://www.boost.org/tools/build/jam_src/index.html#building_bjam
> - As you can see it's a rather limited list. :-( But there's an
> immediate way around this. You can specify which toolset to use to
> build bjam with to the regression.py script with the
> "--bjam-toolset" option. So if you have gcc available you can use it
> to build bjam and get farther along.

Yep, this is probably the best option at the moment. As a matter of
fact, with the latest "regression.py" you don't need to specify
"--bjam-toolset" explicitly: if the provided toolset is not in the
list of the toolsets supported by build.sh/.bat scripts, the platform
default will be used automatically.

>
> The other option would be hacking at build.sh and build.jam in
> boost-root/tools/build/jam_src to add the support for CW in MacOS.
>
> But it doesn't end there. Even though the Getting Started docs say
> that CW is supported, it currently only supports it on Windows.

To elaborate a little more: the main issue here is the difference in
command line options for 'mwcc' tool on OS X and Windows. The toolset
file ($BOOST_ROOT/tools/build/v1/cw-tools.jam) needs to be modified to
somehow accomodate for the differences.

> It is an often requested addition though but no one has had the time
> to add support for it.
>
>> To build my confidence I went ahead and did a darwin run and you
>> can see those results on the web site today. (Also, I've already
>> updated my comments.html to be more informative).
>
> Cool :-)
>
> You should also probably mention what version of MacOS.
>
>> One more question, John Maddock suggested that I give the
>> different toolset runs a "different identifier name"? What does he
>> mean? The way the tables look it seems like I should use
>> "--runner=Dirxion" for both darwin and CodeWarrior and the results
>> will be differentiated by the differing toolset identifiers. Is
>> there something else I should do to differentiate the results from
>> the two compilers?
>
> He means to make a custom toolset that includes the version
> information.

IOW, make a wrapper toolset file which includes the version and
platform information in its name and place it in the same directory
with "regression.py". Something like this:

  [cw-9_3-darwin-tools.jam]

  {
      local CW_VERSION = 9.0 ;
      extends-toolset cw ;
  }

The convention is needed to be able to markup "expected" failures for
the particular compiler version/platform.

NOTE: For the above to work, you'd need the latest "regression.py"
revision, which you can grab from the Boost CVS or from here:
http://www.meta-comm.com/engineering/boost/regression.tar.gz

HTH,

-- 
Aleksey Gurtovoy
MetaCommunications Engineering

Boost-testing list run by mbergal at meta-comm.com