Boost logo

Boost :

Subject: Re: [boost] C++03 unique_ptr emulation
From: Howard Hinnant (hinnant_at_[hidden])
Date: 2009-01-03 16:35:27


On Jan 3, 2009, at 3:45 PM, Sebastian Redl wrote:

> Howard Hinnant wrote:
>> Despite the good and generous help, I'm afraid I'm running out of
>> time
>> to learn how to use bjam for testing compile time failures. Here's
>> where I'm at:
>> error: Could not find parent for project at '.'
>> error: Did not find Jamfile.jam or Jamroot.jam in any parent
>> directory.
>>
>> I'm afraid I don't know what a "parent for project" is. And while I
>> could put an empty Jamfile.jam in a parent directory, I doubt that
>> would help much.
> Simply put, Jam thinks of projects as hierarchical. There's the root
> project, which is basically "everything that concerns the application"
> and there's sub-projects, such as individual libraries, or individual
> tools in a tool suite. In Boost, the root project is Boost itself,
> while
> every library is a sub-project. Sub-projects can be further divided,
> e.g. into an executable and a test suite.
> The root project is controlled by a Jamroot file, while sub-projects
> use
> Jamfile files. If Jam finds a Jamfile, it walks the directory
> hierarchy
> upwards, collecting parent Jamfiles, until it hits the Jamroot - or
> the
> hierarchy root and errors out. The parent projects can introduce
> additional names, variables, requirements and dependencies.
>
> So basically, Jam is complaining because you used a Jamfile when your
> little project is already the root of all things.
>
> Anyway, I'll try to boostify your project and post back.

That is very kind of you.

I've added some tests here:

http://home.roadrunner.com/~hinnant/unique_ptr03.html

I've written a simple bash shell script to handle must-fail tests.
The testsuite isn't complete, but it is a decent start. It is fairly
self-explanatory if you have a bash shell. Just:

$ ./test
pass

(assuming permissions translate in the zip). One may have to:

$ chmod 755 test

first. Oh, and you'll have to change:

INCLUDE="-I/Users/hinnant/Development/boost-dev/boost-trunk -I.."

to point to your boost installation.

-Howard


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk