
On Fri, Dec 4, 2009 at 12:42 AM, Vladimir Prus <vladimir@codesourcery.com> wrote:
Zachary Turner wrote:
I use Windows primarily, and typically after building boost, there are two copies of each library. One with the version extension such as -1_41, and the other without. My understanding is that the one without the version number is supposed to be a symlink to the one with the version number on platforms such as linux, but that on Windows it is just a copy of the file due to poor support for symlinks in windows.
My question is whether there has been any talk of changing this. Windows has supported first class symlinks since Vista, so it would seem possible to have Vista and beyond actually use this functionality and create real symlinks.
Zachary,
there was no talk about this. Somebody previously suggested using hard links on NTFS, if available, but that did not lead anywhere.
I think the primary concern is that while the filesystem might support hard or soft links now, existing programs do not, and presumably, if somebody's backup -- or another other -- program chokes on Boost, user will blame us. However, I don't use Windows enough to be able to decide. I'm happy to implement whatever the concensus here might be.
I would certainly be up for hard links (I use them heavily already elsewhere and have never seen an odd issue yet), they work on Win2k and up at least. Hard links on windows require NTFS (who isn't...) and have two file descriptors that point to the same data chunk. Every program that does not specifically know how to look for hard links just thinks they are two separate files with no relation.