Boost logo

Boost :

Subject: Re: [boost] Pre-build MSVC Boost binaries
From: Fredrik Orderud (forderud_at_[hidden])
Date: 2013-08-05 14:26:01


On Sat, Aug 3, 2013 at 3:52 AM, Tom Kent <lists_at_[hidden]> wrote:

> I originally was doing .7z releases, but I had people asking for an
> installer. For a long time I simply made a self-extracting 7z file to
> appease these people, but when I tried to make things more official I bit
> the bullet and made a full-fledged installer.
>
> I could enable the uninstaller functionality that is built in to inno
> setup, but I'm not a huge fan of uninstallers, especially for libraries. In
> our organization we just install new versions alongside the old versions,
> so there is never any removing of older ones. I'm open to change though.
>

I very much understand your reluctance for uninstallers. My goal was not to
argue in favor of that. Instead, I would personally prefer going back to
plain 7z archives.

> As soon as I can find time I'll get things set so that we can build against
> 2.7 for the next version. I'm not so wild about adding it to the name,
> since python is only a dependency for one of the libraries. Same with zlib
> and bzip (and MPI if we ever start including that). I think the way to go
> here would be to include a README_WIN_BINARY.txt at the top level that
> lists all the dependency versions (and VC versions too).
>

Understandable and fine for me. :-)

> I was trying to keep it similar to what someone would get if they ran
> b2 --build-type=complete stage
> my only change was to move the results up a level from the stage dir and to
> rename the lib directory to something with the visual c version and
> architecture that was used, so that they could all live side-by-side.
> (originally I only had it separated by architecture lib32 vs. lib64, since
> all the libraries have vc versions in their name).
> Every group I've worked with that has had DLLs before, only move them to a
> bin directory along with executables that required them to run. If we're
> just supplying DLLs without any executables (as the libraries are) that it
> doesn't seem like the should be going in a bin directory.
>

> > * Do you include debug symbols? (I couldn't find any PDBs)
>
> I'm on the road now and don't have a build in front of me to look at now. I
> just build whatever comes from
> b2 --build-type=complete stage
> If PDBs are part of that then they should be included.
>

The PDB-files are generated for shared libraries, but for some reason not
copied/installed to the target lib-folder. I've now sent an request to
boost-build regarding that (
http://lists.boost.org/boost-build/2013/08/26894.php). Until fixed, you can
copy them manually.

> > * Have you considered to move the boost headers into a "include"
> subfolder,
> > so that one can add boost headers to the include-directory search-path
> > without also adding everything else?
>
> No, I definitely do not want to re-arrange anything that comes from the
> source boost distribution. For a very long time I wasn't even including the
> source in the installers (everyone needed to install that separately). I
> had several people ask me to start including them, so I did, but I was very
> hesitant. The most important thing should be to keep this release
> completely, 100% compatible with people who just have the source
> distribution and build themselves.
>

Have you considered to replace "stage" with "install" in your b2 build
command? By doing that, an "official" boost binary distribution will be
generated within C:\boost (can probably be changed), with an
"include"-folder for headers and "lib"-folder for the libraries. I do
believe that this is a more standard folder layout, compared to skipping
the "include" folder as in your case.

Best,
Fredrik


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