YouCompleteMe/third_party/ycmd/update_boost.sh
2014-05-13 15:03:32 -07:00

45 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# This script is used to update cpp/BoostParts to the latest boost version
# Give it the full path to the boost_1_XX_X folder
# Exit if error
set -e
if [ -z "$1" ]; then
echo "Usage: $0 /path/to/boost_1_XX_X"
exit 0
fi
pushd $1
./bootstrap.sh
./b2 tools/bcp
boost_part_dir=`mktemp -d -t boost_parts.XXXXXX`
dist/bin/bcp boost/utility.hpp boost/python.hpp boost/bind.hpp boost/lambda/lambda.hpp boost/exception/all.hpp boost/tuple/tuple_io.hpp boost/tuple/tuple_comparison.hpp boost/regex.hpp boost/foreach.hpp boost/smart_ptr.hpp boost/algorithm/string_regex.hpp boost/thread.hpp boost/unordered_map.hpp boost/unordered_set.hpp boost/format.hpp boost/ptr_container/ptr_container.hpp boost/filesystem.hpp boost/filesystem/fstream.hpp boost/utility.hpp boost/algorithm/cxx11/any_of.hpp atomic lockfree assign $boost_part_dir
pushd $boost_part_dir
# DON'T exit if error
set +e
find libs \( -name assign -o -name mpi -o -name config -o -name lockfree \) -exec rm -rf '{}' \;
find libs \( -name doc -o -name test -o -name examples -o -name build \) -exec rm -rf '{}' \;
find libs -not \( -name "*.hpp" -o -name "*.cpp" -o -name "*.ipp" -o -name "*.inl" \) -type f -delete
# Exit if error
set -e
popd
popd
rm -rf cpp/BoostParts/libs
rm -rf cpp/BoostParts/boost
cp -R $boost_part_dir/libs cpp/BoostParts/libs
cp -R $boost_part_dir/boost cpp/BoostParts/boost
rm -rf $boost_part_dir