On 12/4/2013 4:13 PM, Beman Dawes wrote:
On Wed, Dec 4, 2013 at 3:12 PM, Bjørn Roald
wrote: Some thoughts:
Assuming we have changed b2 headers to prefer symlink for individual files:
Before we change anything I'd prefer to see a set of requirements developed. What scenarios do we expect to work out-of-the-box on what platforms?
On Linux symbolic links work on all Linux distributions. This is clearly the way to go on Linux for every link, whether directory or file, created within the boost/ subpath. We have already discussed why hardlinks are the poorer choice for files. I know nothing about the Mac. On Windows: 1) Symbolic links work for Windows Vista and higher if the user has administrative priveleges. 2) Junctions are a form of symbolic links for directories that cannot span network paths, which will not be a problem for modular boost organization. Junctions work on all versions of Windows from Windows 2000 on up and do not require any special priveleges. On Windows Vista and higher we should prefer symbolic links for the directories and files in the boost/ subpath if the user has administrative priveleges. Without administrator priveleges on Windows Vista and higher, or in Windows XP and lower, we should use junctions for directory links and hardlinks for the file links. Ideally in the modular boost future if we could limit all link in the boost/ subpath to directory links, we would be better off on Windows since hardlinks need never be used.
I'd like to see highest priority given to recent versions of the most common platforms used by Boost developer. I.E. Linux, Mac OS X, Windows. And getting the scenarios to work on recent versions before worrying about versions already abandoned by their vendors. Just my opinion, of course.
Understood.