4
votes

I would like to give AMD's open64 compiler a try, but for this I first need to build some boost libraries (current version 1.46_1) using this compiler. Unfortunately, open64 is not among the toolsets provided by the boost.build system, see e.g. here or in more detail here.

Now, how do I get boost to build with open64? Here's what I've tried / figured out so far:

  • In the subdirectory tools/build/v2/tools there is a bunch of .jam files that seemingly define the toolsets that can then be used via the using directive, e.g. using gcc ;. These look ugly as hell and I don't really know how I would write one for open64 (or openCC, which is the actual command).
  • Since the interface to openCC is apparently quite similar to that of gcc I tried tricking bjam into using it like this:
    1. In tools/build/v2/user-config.jam I put
      using gcc : 4.2.5 : /usr/local/bin/openCC : <cxxflags>"-O3" ;.
    2. I then built bjam like ./bootstrap.sh --with-toolset=gcc and ./bjam install --prefix=my_dir
    3. Using the thus built bjam I tried to build the boost libraries with ./bootstrap.sh --with-bjam=my_dir/bin/bjam --prefix=$HOME/my_targe --with-toolset=gcc --with-libraries=regex and subsequently my_dir/bin/bjam

This seems to build "something" alas with names including "gcc-4.2.5" - but, come on, this can't be the real way. Is there any "right" way to do this. Has anyone tried? Are there some toolset definitions for open64 available somewhere? Other suggestions?

1
have you checked the boost mailing lists?user172783

1 Answers

2
votes

You can try latest CMake with boost-cmake from github.

Also please check ryppl for instructions.

In general following steps should be sufficent:

CXX=/usr/local/bin/openCC cmake <path to boost-cmake folder with clone>
make