Boost logo

Boost :

Subject: Re: [boost] Developing a (nearly new) library possibly to be proposed for Boost
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2014-02-11 10:15:21


> -----Original Message-----
> From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Steven Watanabe
> Sent: Tuesday, February 11, 2014 3:56 AM
> To: boost_at_[hidden]
> Subject: Re: [boost] Developing a (nearly new) library possibly to be proposed for Boost
>
> AMDG
>
> On 02/10/2014 04:48 PM, Edward Diener wrote:
> >
> > On Windows I checked out 'develop' at the modular-boost level and
> > 'develop' at the Boost Build level. Then I re-ran .\bootstrap, deleted
> > my current boost sub-directory, then re-ran .\b2 headers. The result
> > is still hardlinks for individual files under the boost subdirectory.
> > Did I miss something ?
> >
> > If I try 'mklink mylink bootstarp.log' I am successful so I definitely
> > have rights to creating a symbolic file link.
> >
>
> Does the output include: - symlinks supported : yes?
>
> If you look at tools/build/src/tools/link.jam:190 ff.
> it should test if $(.can-symlink) first, and then $(.can-hardlink). Is that the case?
> (https://github.com/boostorg/build/commit/3116da2b95ad02748c744a44ecec67789a9941c2)

I'm doing something wrong and still not getting symlinks.

I believe I have fumbled through the update and have this code in link.jam

rule do-file-link
{
    local target = [ path.native [ path.relative-to [ path.pwd ] $(<) ] ] ;
    local source = [ path.native [ path.relative-to [ path.pwd ] $(>) ] ] ;
    LOCATE on $(target) = . ;
    DEPENDS $(.current-target) : $(target) ;
    if $(.can-symlink) = true
    {
        link.mklink $(target) : $(source) ;
    }
    else if $(.can-hardlink) = true
    {
        DEPENDS $(target) : $(source) ;
        link.hardlink $(target) : $(source) ;
    }
    else
    {
        DEPENDS $(target) : $(source) ;
        common.copy $(target) : $(source) ;
    }
}

Using a administrator rights command window and this works OK.

I:\modular-boost>mklink mylink bootstrap.log
symbolic link created for mylink <<===>> bootstrap.log

I:\modular-boost>.\bootstrap
Building Boost.Build engine

Bootstrapping is done. To build, run:

    .\b2

To adjust configuration, edit 'project-config.jam'.
Further information:

    - Command line help:
    .\b2 --help

    - Getting started guide:
    http://boost.org/more/getting_started/windows.html

    - Boost.Build documentation:
    http://www.boost.org/boost-build2/doc/html/index.html

I:\modular-boost>.\b2 headers

Performing configuration checks

    - symlinks supported : no (cached) <<<<<<<<<<<<<<< :-(
    - junctions supported : yes (cached)
    - hardlinks supported : yes (cached)
...found 21781 targets...

I've deleted /boost and rerun, but still creates hardlinks.

What am I doing wrong?

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