On 8/03/2016 17:18, Rene Rivera wrote:
1. Some people don't fancy auto-linking.
I think the only people who don't fancy auto-linking are probably those who are building on Linux or multi-platform, and so can't make use of it. Encourage the gcc/clang devs to add support for it. :)
A) Having file names with "32" *and* "64" on them?
Yes, but rather than just 32 and 64 it should be the actual arch name. Libraries built for ARM should be readily distinguishable from those for x86.
D) Having the current names and placing 32 bit address-model variants in "stage/lib32" and 64 bit in "stage/lib64"? (Equivalently for install location)
This would be good as well (though again using the arch name, not just bit level). In fact the option I would personally prefer would be to do both of these at once -- embed the arch into the library name, but also build it to an arch-named output directory. It's not unreasonable to have different library paths for different arches, and with auto-linking the difference in library names is not important when building -- but having different names is important when distributing them local with an application; imagine a case where both a 32-bit exe and a 64-bit exe are to be installed to the same folder. Currently this is not possible because the Boost DLLs will clash. Even where auto-linking is not used, it's just a matter of specifying the library name in the project file / makefile / whatever with a placeholder variable for the arch, or conditionally setting the list of libraries in the same fashion as the library search path. It's not that hard.