]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/nowide/tools/create_standalone.sh
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / libs / nowide / tools / create_standalone.sh
CommitLineData
f67539c2
TL
1#!/bin/bash
2
3set -euo pipefail
4
5cd "$(dirname "$0")/.."
6
7if ! [ -e "tools/create_standalone.sh" ]; then
8 echo "Could not change to repo root"
9 exit 1
10fi
11
12targetFolder="${1:-nowide_standalone}"
13
14# If target folder exists fail, unless it is the default in which case it is removed
15if [ -e "$targetFolder" ]; then
16 if [[ "$targetFolder" == "nowide_standalone" ]]; then
17 rm -r "$targetFolder"
18 else
19 echo "Target folder $targetFolder exists"
20 exit 1
21 fi
22fi
23
24mkdir -p "$targetFolder"/include
25
26cp -r include/boost/nowide "$targetFolder"/include
27cp -r src test cmake CMakeLists.txt LICENSE "$targetFolder"
28cp standalone/*.hpp "$targetFolder"/include/nowide
29mv "$targetFolder/cmake/BoostAddOptions.cmake" "$targetFolder/cmake/NowideAddOptions.cmake"
30mv "$targetFolder/cmake/BoostAddWarnings.cmake" "$targetFolder/cmake/NowideAddWarnings.cmake"
31find "$targetFolder" -name 'Jamfile*' -delete
32
33SOURCES=$(find "$targetFolder" -name '*.hpp' -or -name '*.cpp')
34SOURCES_NO_BOOST=$(echo "$SOURCES" | grep -v 'filesystem.hpp')
35
36sed 's/BOOST_NOWIDE_/NOWIDE_/g' -i $SOURCES
37sed 's/BOOST_/NOWIDE_/g' -i $SOURCES
38sed 's/boost::nowide/nowide/g' -i $SOURCES
39sed 's/boost::chrono/std::chrono/g' -i $SOURCES
40sed 's/boost::milli/std::milli/g' -i $SOURCES
41sed 's/boost::/nowide::/g' -i $SOURCES_NO_BOOST
42sed '/namespace boost/d' -i $SOURCES
43sed 's/<boost\/chrono.hpp/<chrono/g' -i $SOURCES
44sed 's/<boost\/nowide\//<nowide\//g' -i $SOURCES
45sed 's/<boost\//<nowide\//g' -i $SOURCES_NO_BOOST
46sed '/config\/abi_/d' -i $SOURCES
47
48CMLs=$(find "$targetFolder" -name 'CMakeLists.txt' -or -name '*.cmake')
49
50sed 's/ BOOST_ALL_NO_LIB//' -i $CMLs
51sed 's/BOOST_NOWIDE_/NOWIDE_/g' -i $CMLs
52sed 's/Boost_NOWIDE_/NOWIDE_/g' -i $CMLs
53sed 's/boost_nowide/nowide/g' -i $CMLs
54sed 's/boost_/nowide_/g' -i $CMLs
55sed 's/Boost::nowide/nowide::nowide/g' -i $CMLs
56sed 's/Boost/Nowide/g' -i $CMLs
57sed 's/ OR BOOST_SUPERPROJECT_SOURCE_DIR//' -i $CMLs
58
59sed '/PUBLIC BOOST_NOWIDE_NO_LIB)/d' -i "$targetFolder/CMakeLists.txt"
60sed '/^if(BOOST_SUPERPROJECT_SOURCE_DIR)/,/^endif/d' -i "$targetFolder/CMakeLists.txt"
61sed '/add_warnings/atarget_compile_features(nowide PUBLIC cxx_std_11)' -i "$targetFolder/CMakeLists.txt"
62sed 's/NAMESPACE Nowide CONFIG_FILE.*$/NAMESPACE nowide)/' -i "$targetFolder/CMakeLists.txt"
63
64sed '/if(NOT BOOST_SUPERPROJECT_SOURCE_DIR)/,/endif/d' -i "$targetFolder/test/CMakeLists.txt"
65sed 's/ LIBRARIES Nowide::chrono//' -i "$targetFolder/test/CMakeLists.txt"
66sed '/Nowide::filesystem/d' -i "$targetFolder/test/CMakeLists.txt"