|
- SHELL:=/bin/bash
-
- ubuntu1804:
- # below URL is unreliable
- # wget "https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2"
- #tar -xf boost_1_72_0.tar.bz2
- git clone --branch boost-1.73.0 --recursive https://github.com/boostorg/boost
- bash ../ubuntu1804.sh make impl
- make package-ubuntu1804
-
- ubuntu2004:
- git clone --branch boost-1.73.0 --recursive https://github.com/boostorg/boost
- bash ../ubuntu2004.sh make impl
- make package-ubuntu2004
- bash ../ubuntu2004.sh make fix_permissions
-
- impl:
- update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-10 40
- update-alternatives --install /usr/bin/cc cc /usr/bin/clang-10 40
- update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-10 40
- update-alternatives --install /usr/bin/clang clang /usr/bin/clang-10 40
- update-alternatives --install /usr/bin/ld ld /usr/bin/ld.lld-10 40
- pushd boost && \
- mkdir -p target && \
- CXX=$$(which c++) ./bootstrap.sh --prefix=$$PWD/target/ --with-toolset=clang && \
- ./b2 clean && \
- ./b2 --prefix=$$PWD/target/ toolset=clang cxxflags="-std=c++17 -stdlib=libstdc++" linkflags="-stdlib=libstdc++" --with-program_options \
- --with-system \
- --with-date_time \
- --with-thread \
- --with-chrono || true
- # do not use -D_GLIBCXX_USE_CXX11_ABI=0 , other libs I now compile with libstdc++ don't do it either.
- # with stdlib: \
- #./b2 --prefix=$$PWD/target/ toolset=clang cxxflags="-D_GLIBCXX_USE_CXX11_ABI=0 -stdlib=libc++ -std=c++17" linkflags="-stdlib=libc++" || true
- # without:
- #./b2 --prefix=$$PWD/target/ toolset=clang || true
- # ^ ||true because with clang I saw a few libraries not compile correctly, we can ignore those.
- #./b2 --with-program_options --prefix=$$PWD/target/ toolset=clang cxxflags="-stdlib=libc++ -std=c++17" linkflags="-stdlib=libc++"
-
- # also from; ./b2 --show-libraries && \
- #- atomic
- #- container
- #- context
- #- contract
- #- coroutine
- #- exception
- #- fiber
- #- filesystem
- #- graph
- #- graph_parallel
- #- headers
- #- iostreams
- #- locale
- #- log
- #- math
- #- mpi
- #- nowide
- #- python
- #- random
- #- regex
- #- serialization
- #- stacktrace
- #- test
- #- timer
- #- type_erasure
- #- wave
-
- package-ubuntu1804:
- rm -rf out
- mkdir -p out/opt/cppse/build/boost/include/
- cp -L -prv boost/stage/lib out/opt/cppse/build/boost/
- cp -L -prv boost/boost out/opt/cppse/build/boost/include/
- rm -rf boost_*_amd64.deb
- docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:18.04 fpm -v 1.1 -s dir -t deb -n boost --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "boost - build dependency" --url "https://github.com/liballeg/boost.git" --deb-generate-changes -C /src/out
-
- package-ubuntu2004:
- rm -rf out
- mkdir -p out/opt/cppse/build/boost/include/
- cp -L -prv boost/stage/lib out/opt/cppse/build/boost/
- cp -L -prv boost/boost out/opt/cppse/build/boost/include/
- rm -rf boost_*_amd64.deb
- docker run -v "$$(pwd):/src/" rayburgemeestre/fpm-ubuntu:20.04 fpm -v 1.1 -s dir -t deb -n boost --license MPL2 --maintainer "Ray Burgemeestre <ray@cppse.nl>" --description "boost - build dependency" --url "https://github.com/liballeg/boost.git" --deb-generate-changes -C /src/out
-
- fix_permissions:
- chown $$(id -u):$$(id -g) . -R
-
- clean:
- rm -rf boost
- rm -rf out
-
- shell:
- FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash
|