1#! /bin/sh
2
3set -e
4
5build_dir=$2
6
7branch="master"
8
9if [ "$1" != "master" -a "$1" != "refs/heads/master" ]; then
10    branch="develop"
11fi
12
13echo "BUILD_DIR: $build_dir"
14echo "BRANCH: $branch"
15
16git clone -b $branch --depth 1 https://github.com/boostorg/boost.git boost-root
17cd boost-root
18
19# Use a reasonably large depth to prevent intermittent update failures due to
20# commits being on a submodule's master before the superproject is updated.
21git submodule update --init --depth 20 --jobs 4 \
22    libs/array \
23    libs/headers \
24    tools/build \
25    tools/boost_install \
26    tools/boostdep \
27    libs/align \
28    libs/asio \
29    libs/assert \
30    libs/config \
31    libs/core \
32    libs/endian \
33    libs/filesystem \
34    libs/intrusive \
35    libs/locale \
36    libs/optional \
37    libs/smart_ptr \
38    libs/static_assert \
39    libs/system \
40    libs/throw_exception \
41    libs/type_traits \
42    libs/utility \
43    libs/winapi \
44    libs/algorithm \
45    libs/array \
46    libs/atomic \
47    libs/bind \
48    libs/chrono \
49    libs/concept_check \
50    libs/container \
51    libs/container_hash \
52    libs/context \
53    libs/conversion \
54    libs/coroutine \
55    libs/date_time \
56    libs/detail \
57    libs/exception \
58    libs/function \
59    libs/function_types \
60    libs/functional \
61    libs/fusion \
62    libs/integer \
63    libs/io \
64    libs/iterator \
65    libs/lambda \
66    libs/lexical_cast \
67    libs/logic \
68    libs/math \
69    libs/move \
70    libs/mp11 \
71    libs/mpl \
72    libs/numeric/conversion \
73    libs/pool \
74    libs/predef \
75    libs/preprocessor \
76    libs/random \
77    libs/range \
78    libs/ratio \
79    libs/rational \
80    libs/thread \
81    libs/tuple \
82    libs/type_index \
83    libs/typeof \
84    libs/unordered
85
86echo Submodule update complete
87
88rm -rf libs/beast
89cp -r $build_dir libs/beast
90