Boost logo

Boost-Build :

From: Jared W. Robinson (jared.robinson_at_[hidden])
Date: 2005-12-15 13:52:38


Hi,

Once a project is set up to use BBv2, it's fairly straight-forward for
average developers to come along and add libraries, compile options and
such to the Jamfiles. Thank you for providing that level of simplicity.

I've attempted to define my project build-dir as follows, and it works well
on Windows x86 and Linux x86, but BBv2 chokes with this on Solaris. Is
there a better way?

  import os ;
  osname = os.name ;
  osplat = os.platform ;
  mybuilddir = build_output/$(osname:L)-$(osplat:L) ;

  project : build-dir $(mybuilddir) ;

In looking at jam_src/jam.h, apparently OSPLAT isn't always defined --
it's suppressed when an OS is "one-of-a-kind". I'm not sure that this
philosophy makes sense. Wouldn't it be easier to /always/ define OSPLAT?
It would certainly be more predictable.

Solaris runs on "sparc", "x86" and now x86_64. Therefore, OSPLAT
certainly ought to be defined, and it isn't. In fact, several OSes
support x86_64. Wouldn't it make sense to define OSPLAT appropriately?
Or should I avoid using os.platform?

Here's what I'd like to do, but I don't know how in BJam. Is there a
solution?

  mybuilddir = $(shell scripts/platform.pl) ;

Thanks,

- Jared


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk