Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Pull request Compare This branch is even with ki11roy:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
extract.sh
extractor.sh
list.sh
prepare.sh

README.md

How To Build Header Only Boost

Couple of scripts to build true header only Boost libraries. Tested with Ubuntu 16.04 and Boost 1.68.0.

The main idea is to use Boost BCP tool on every library to find out if it produces 'src' folders in dependencies. We don't want extra dependencies so will remove everything except 'src' in 'libs' (examples, docs).

Prepare

Download and unpack Boost and remove everything unneeded.

./prepare.sh

List

Prepare lists of libraries to extraction. Runs bcp on every library and collects dependencies.

Produces header_only_libraries.txt and all_libraries.txt (with dependencies).

./list.sh
expand

accumulators 23M
align 864K
any 3.2M
array 676K
assert 608K
assign 8.9M
bind 920K
callable_traits 368K
circular_buffer 8.7M
compatibility 132K
concept_check 3.1M
config 708K
container_hash 1.3M
conversion 20K
convert 35M
core 732K
crc 748K
detail 11M
disjoint_sets 44K
dynamic_bitset 9.5M
endian 1.7M
foreach 8.0M
format 4.6M
function 9.0M
functional 16M
function_types 9.9M
fusion 32M
hana 20M
heap 9.8M
hof 504K
icl 16M
integer 744K
interprocess 15M
intrusive 3.2M
io 636K
iterator 16M
lambda 7.5M
lexical_cast 12M
locale 9.8M
local_function 9.6M
logic 652K
metaparse 12M
move 1.2M
mp11 752K
mpl 11M
msm 30M
multi_array 8.7M
multi_index 12M
optional 4.6M
phoenix 41M
poly_collection 17M
polygon 7.2M
predef 672K
preprocessor 3.4M
property_tree 13M
proto 21M
ptr_container 12M
qvm 3.3M
ratio 7.7M
rational 1.4M
scope_exit 9.2M
signals2 12M
smart_ptr 2.6M
sort 4.3M
static_assert 1.8M
throw_exception 636K
tokenizer 7.9M
tti 11M
tuple 880K
type_index 3.1M
typeof 7.3M
type_traits 1.9M
units 17M
unordered 4.1M
utility 3.3M
uuid 12M
variant 9.6M
vmd 2.9M
winapi 1.3M
xpressive 26M
yap 2.9M

Extract

Run bcp to get final distributive.

./extract.sh

Result

For those who are lazy here is the resulting bcp command line:

bcp \
accumulators \
align \
any \
array \
assert \
assign \
bind \
callable_traits \
circular_buffer \
compatibility \
concept_check \
config \
container_hash \
conversion \
convert \
core \
crc \
detail \
disjoint_sets \
dynamic_bitset \
endian \
foreach \
format \
function \
functional \
function_types \
fusion \
geometry \
gil \
hana \
heap \
hof \
icl \
integer \
interprocess \
intrusive \
io \
iterator \
lambda \
lexical_cast \
locale \
local_function \
logic \
metaparse \
move \
mp11 \
mpl \
msm \
multi_array \
multi_index \
optional \
phoenix \
poly_collection \
polygon \
predef \
preprocessor \
property_tree \
proto \
ptr_container \
qvm \
ratio \
rational \
scope_exit \
signals2 \
smart_ptr \
sort \
static_assert \
throw_exception \
tokenizer \
tti \
tuple \
type_index \
typeof \
type_traits \
units \
unordered \
utility \
uuid \
variant \
vmd \
winapi \
xpressive \
/tmp/boost

References

You can’t perform that action at this time.