#
# http://www.boost.org/doc/libs/1_47_0/tools/bcp/doc/html/index.html
#
-# Does also work with an outdated bcp version
+# Does also work with an outdated bcp version
#
# Usage: extract.sh <path to new boost version>
#
+HEADERS="\
+ boost/any.hpp \
+ boost/assert.hpp \
+ boost/crc.hpp \
+ "
+
if [ -z $1 ]
then
- echo "Usage: extract.sh <path to new boost version>"
+ echo "Usage: extract.sh [--report] <path to new boost version>"
+ echo "Update our local boost copy"
+ echo "With --report, create a HTML report that contains in particular the dependencies"
exit 1
fi
-rm -rf needed
-mkdir needed
+if [ x$1 = x--report ]; then
+ bcp --boost=$2 --report $HEADERS report.html
+ exit 0;
+fi
-bcp --boost=$1 \
- boost/any.hpp \
- boost/assert.hpp \
- boost/crc.hpp \
- boost/cstdint.hpp \
- boost/lexical_cast.hpp \
- boost/regex.hpp \
- boost/signal.hpp \
- boost/signals/connection.hpp \
- boost/signals/trackable.hpp \
- \
- needed
+rm -rf needed
+mkdir needed
-# work around bcp pulling in too much:
-rm -rf needed/boost/typeof
+bcp --boost=$1 $HEADERS needed/
# we do not use the provided MSVC project files
find needed -name '*.vcpro*' | xargs rm
-find boost -name \*.hpp | xargs rm
-find libs -name \*.cpp | xargs rm
+# remove old boost code
+rm -rf boost/*
+# copy new headers
cp -vR needed/boost .
-cp -vR needed/libs .
rm -rf needed
-# found by bcp but not needed by us
-rm -rf libs/config
-rm -rf libs/smart_ptr
-rm -rf libs/signals/build
-rm -rf libs/regex/build
-rm -rf libs/regex/test
-
-