Boost logo

Boost :

Subject: Re: [boost] [Git] Moving beyond arm waving?
From: Beman Dawes (bdawes_at_[hidden])
Date: 2011-02-08 16:59:25


On Tue, Feb 8, 2011 at 4:48 PM, Dave Abrahams <dave_at_[hidden]> wrote:
> At Tue, 8 Feb 2011 16:03:33 -0500,
> Beman Dawes wrote:
>>
>> Dave wrote:
>>
>> > You only have to generate a forwarding header when you actually have a new
>> > header file.  Yes, you have to check for the existence of forwarding headers
>> > each time, but that's not the same cost as actually generating them.
>>
>> Forwarding headers have the advantage of working regardless of the
>> filesystem. But many Boost lib developers are running on filesystems
>> that support directory symlinks. Directory symlinks have a lot of
>> advantages; you only have to generate one per library, they are
>> faster, and easier to use with IDE's that let you click on a header to
>> open it. With a forwarding header, you have to do that twice to get at
>> the real header.
>>
>> I've been testing on Windows with boost/filesystem being a directory
>> symlink to ../../libs/filesystem/include/boost/filesystem
>
> Since when does Windows support symlinks?!

Since Vista. That's how Boost.Filesystem can now supports symlinks on Windows.

On the command line, mklink does the job.

>> and it works smoothly with no changes whatsoever to either by bjam testing or
>> VisualC++ IDE testing.
>>
>> Would it be possible to generate directory symlinks instead of
>> forwarding headers if the filesystem supports them?
>
> Sure!  What filesystem doesn't?  FAT?

FAT, pre-Vista NTFS, and some CD-ROM and DVD file systems.

--Beman


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