You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.9KB

  1. SHELL:=/bin/bash
  2. ubuntu1804:
  3. # below URL is unreliable
  4. # wget "https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2"
  5. #tar -xf boost_1_72_0.tar.bz2
  6. git clone --branch boost-1.73.0 --recursive https://github.com/boostorg/boost
  7. bash ../ubuntu1804.sh make impl
  8. make package-ubuntu1804
  9. ubuntu2004:
  10. git clone --branch boost-1.73.0 --recursive https://github.com/boostorg/boost
  11. bash ../ubuntu2004.sh make impl
  12. make package-ubuntu2004
  13. bash ../ubuntu2004.sh chown $$(id -u):$$(id -g) . -R
  14. impl:
  15. switch-to-latest-clang
  16. pushd boost && \
  17. mkdir -p target && \
  18. CXX=$$(which c++) ./bootstrap.sh --prefix=$$PWD/target/ --with-toolset=clang && \
  19. ./b2 clean && \
  20. ./b2 --prefix=$$PWD/target/ toolset=clang cxxflags="-std=c++17 -stdlib=libstdc++ -fPIC" linkflags="-stdlib=libstdc++" --with-program_options \
  21. --with-system \
  22. --with-date_time \
  23. --with-thread \
  24. --with-chrono || true
  25. # do not use -D_GLIBCXX_USE_CXX11_ABI=0 , other libs I now compile with libstdc++ don't do it either.
  26. # with stdlib: \
  27. #./b2 --prefix=$$PWD/target/ toolset=clang cxxflags="-D_GLIBCXX_USE_CXX11_ABI=0 -stdlib=libc++ -std=c++17" linkflags="-stdlib=libc++" || true
  28. # without:
  29. #./b2 --prefix=$$PWD/target/ toolset=clang || true
  30. # ^ ||true because with clang I saw a few libraries not compile correctly, we can ignore those.
  31. #./b2 --with-program_options --prefix=$$PWD/target/ toolset=clang cxxflags="-stdlib=libc++ -std=c++17" linkflags="-stdlib=libc++"
  32. # also from; ./b2 --show-libraries && \
  33. #- atomic
  34. #- container
  35. #- context
  36. #- contract
  37. #- coroutine
  38. #- exception
  39. #- fiber
  40. #- filesystem
  41. #- graph
  42. #- graph_parallel
  43. #- headers
  44. #- iostreams
  45. #- locale
  46. #- log
  47. #- math
  48. #- mpi
  49. #- nowide
  50. #- python
  51. #- random
  52. #- regex
  53. #- serialization
  54. #- stacktrace
  55. #- test
  56. #- timer
  57. #- type_erasure
  58. #- wave
  59. package-ubuntu1804:
  60. rm -rf out
  61. mkdir -p out/opt/cppse/build/boost/include/
  62. cp -L -prv boost/stage/lib out/opt/cppse/build/boost/
  63. cp -L -prv boost/boost out/opt/cppse/build/boost/include/
  64. rm -rf boost_*_amd64.deb
  65. 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
  66. package-ubuntu2004:
  67. rm -rf out
  68. mkdir -p out/opt/cppse/build/boost/include/
  69. cp -L -prv boost/stage/lib out/opt/cppse/build/boost/
  70. cp -L -prv boost/boost out/opt/cppse/build/boost/include/
  71. rm -rf boost_*_amd64.deb
  72. 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
  73. clean:
  74. rm -rf boost
  75. rm -rf out
  76. shell:
  77. FLAGS="-i --privileged" bash ../ubuntu1804.sh /bin/bash