AMDG On 07/21/2018 12:29 PM, Robert Ramey via Boost wrote:
On 7/21/18 10:09 AM, Steven Watanabe via Boost wrote:
On 07/21/2018 10:19 AM, Robert Ramey via Boost wrote: <snip> Windows does support symlinks, depending on the version and permissions. As far as I am aware, junction+hardlink should work in Vista or later, so I'm somewhat surprised that you're seeing copies. Here's a little more background.
I develop on a mac with OSX. <snip>
So far so good. Now it comes to windows.
I installed Parallels. This loads a windows os on my mac-mini. A very good product - really annoying and hateful company to deal with. After the normal windows bs, install, updates, etc.... I've got an up and running windows system on my mac. I do whatever it took to share my mac file system on my windows "machine"
Okay. This makes things a lot more complex, as you're now accessing the filesystem from two different OSes which likely have different capabilities. It wouldn't surprise me if symlinks didn't work with this setup. I have similar issues with VMWare, but I've found that I can get around it by running `b2 headers` on the host OS before building anything on the guest. This works because the headers will be up-to-date in the guest, so b2 won't try to update them, thus bypassing the problem.
Now my windows wouldn't run until I blew away "something" root/boost and maybe root/bin.v2 and invoked b2 headers.
<snip>
Unfortunately switching between these environments is sort of pain subject to ... - I'm not sure. I'm sort of guess that the system has some sort of "memory" hidden inside of bin.v2 but I don't really know.
There's this: - symlinks supported : yes (cached) "cached" means that it's a result that was remembered from a previous run.
Then there is the fact that I did this a more than a year ago and I don't know that b2 hasn't changes. Actually I don't even know if b2 is built on the debug or master branch or whether or not it makes a difference.
Oh - I use the master branch of Boost to do my testing so that I'm not stuck chasing down everyone elses bugs in their libraries on the debug branch. Occasionally, I pull the master branch. I have been running b2 headers when I do this. This seems to be necessary but again I have no way of knowing.
BTW when I run b2 headers on my mac - it fails because it finds a bunch of .DS files all over the place. I have to delete these by hand before I run b2 headers.
That's annoying. b2 is just treating them as ordinary files which causes a conflict. If you tell me an appropriate glob pattern, I can exclude them. Or, perhaps, it would be better to use a glob for header names instead of assuming that all files are important. In Christ, Steven Watanabe