Boost logo

Boost :

Subject: Re: [boost] [Git] Extracting libraries from the svn sandbox
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2012-12-19 12:47:22


> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]] On Behalf Of Paul A.
> Bristow
> Sent: Tuesday, December 18, 2012 5:28 PM
> To: boost_at_[hidden]
> Subject: Re: [boost] [Git] Extracting libraries from the svn sandbox
>
> > -----Original Message-----
> > From: boost-bounces_at_[hidden]
> > [mailto:boost-bounces_at_[hidden]] On Behalf Of Beman Dawes
> > Sent: Thursday, December 13, 2012 5:18 PM
> > To: Boost Developers List
> > Subject: Re: [boost] [Git] Extracting libraries from the svn sandbox

Further to my progress report yesterday...

For Pierre Talbot's GSoC checksums library checks, I've tried to follow your procedure as reported by you at https://svn.boost.org/trac/boost/wiki/ExtractSandbox, and it works OK using the b2 jamfile call,

which is promising, but to get it to work using VS I need to provide an additional include directory

  I:\boost-trunk\libs\checks

but it doesn't have the 'right' directory structure , as your example 'simple', mainly in lacking a folder /include

and I don't understand how is ever could have this folder /include ?

So the analogous symlink I created to

  I:\boost-trunk/libs/trivial/include/boost/trivial

is wrong and should link instead to

   I:\boost-trunk\libs\checks\boost\checks

from boost-trunk\checks

I:\boost-trunk\boost>mklink /d checks ..\libs\checks\boost\checks
symbolic link created for checks <<===>> ..\libs\checks\boost\checks

Windows Explorer shows a link Target I:\boost-trunk\libs\checks\boost\checks

and open file location opens showing folder \checks

I:\boost-trunk\boost>dir checks
 Volume in drive I is Boost
 Volume Serial Number is 2772-A18A

 Directory of I:\boost-trunk\boost\checks

18-Dec-2012 16:13 <DIR> .
18-Dec-2012 16:13 <DIR> ..
18-Dec-2012 16:13 2,454 amex.hpp
18-Dec-2012 16:13 4,427 basic_checks.hpp
…

VS with a VC include directory i:\boost-trunk\ now builds OK.

(Aside: the lines

#include <boost/checks/some_check.hpp>

all are underlined in red and say "Error: cannot open source file "boost/checks/some_check.hpp"

for a long time - So this doesn't seem quite ideal but perhaps a VS feature?)

I had expected, the link to point to

  I:\boost-trunk\libs\checks\

to find

  #include <boost/checks/some_checks.hpp>

But I'm obviously still confused by symlinks.

Would this need an include directory of

  I:boost-trunk\boost

rather than

   I:boost-trunk\

It seems to me that keeping all the folder structures the same is really, really important (having caused many muddles in the past), so would it be better just to tell people to 'start afresh manually' by running a command file to create the directory structure (parameterised for the library name of course) moving the files to the right place following the simple example's layout?

I'm also concerned at the potential for modifications to IDE projects that would be required to change when going from sandbox through acceptance to trunk and release. Most tests are developed using an IDE (not just VS, but also NetBeans, CodeBlocks, Eclipse …) and then run portably using bjam (or something). (I've had experience of this - there are hundreds of Boost.Math test projects and I have an IDE project for each of them - so changing from sandbox to trunk was painful :-)

It will be a real nuisance to have to change all the projects include settings (especially if you have unwisely not use the VS collection of settings where a change can be used by all projects - as I have sometimes unwisely done).

Before I go any further, I wanted to be quite sure that we are agreed that we have really got this right, because if we haven't, we could be heading for big trouble later.

Paul

---
Paul A. Bristow,
Prizet Farmhouse, Kendal LA8 8AB  UK
+44 1539 561830  07714330204
pbristow_at_[hidden]

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