Boost logo

Boost :

Subject: [boost] [git-help] Doc. Suggestion: How to setup a custom boost "distribution"
From: Klaim - Joël Lamotte (mjklaim_at_[hidden])
Date: 2014-01-01 19:20:00

This is a suggestion for documentation, that "could" not be a good idea,
I'm not totally sure.
The goal would be to provide a simple recipe to setup a boost super-repo
fork that would contain only a specific set of libraries, chosen by the
I believe it would be of interest to a lot of companies that consider using
boost but don't want
to have to use the whole package. As Ryppl isn't ready yet, I was thinking
just providing a way to do it using the fork would already be helpful.
It would also allow some people to provide a well tested custom
distribution that would be easy to keep up to date. I expect people to
experiment such things (I think I will at some point).

The goal is NOT to resolve dependencies, or detect dependencies issues. It
would be only to show that you can strip down the count of libraries if you
wish in your own fork. The user will have to deal with dependency issues on
his own, which is ok in a lot of cases, I assume.

However, I'm not a specialist and I will not have time to try my idea
immediately so I would like to ask if the following process is enough to do
achieve the goal:

 1. fork boost super-repo (clone locally, clone on your own server, or use
the github fork button);
 1.1. optionally, switch to a company or project-specific branch name;
 2. in the fork, to remove libraries you don't want:
    2.1. go in the root directory and edit the '.gitmodules' file
    2.2. in this file, you will see each library module defined as follow:

[submodule "any-library"]
path = libs/any-library
url = ../any-library.git
fetchRecurseSubmodules = on-demand

    2.3. locate and remove these declarations of each library you want to
remove from the fork.
    2.4. save the file.
 3. commit the change
 4. [git pull ?]
 5. compile boost as usual.

I'm not sure about the 4th point, but I think an operation is necessary so
that git removes the library directories in the local clone.

If these instructions are correct (once 4 is confirmed) and complete and
are considered useful, maybe putting them somewhere in the doc would be


Boost list run by bdawes at, gregod at, cpdaniel at, john at