wt.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/bin/bash
  2. fw_depends postgresql mysql gcc-6
  3. fw_installed wt && return 0
  4. WT_VERSION=4.0.2
  5. BOOST_ROOT=${IROOT}/boost
  6. BOOST_INC=${BOOST_ROOT}/include
  7. BOOST_LIB=${BOOST_ROOT}/lib
  8. WT_ROOT=${IROOT}/wt
  9. WT_LIB=${WT_ROOT}/lib
  10. WT_INC=${WT_ROOT}/include
  11. LD_LIBRARY_PATH="${BOOST_LIB}:${WT_LIB}:${LD_LIBRARY_PATH}"
  12. CPLUS_INCLUDE_PATH=/usr/include/postgresql:/usr/include/postgresql/9.3/server:$CPLUS_INCLUDE_PATH
  13. # Install CMake 3.x
  14. sudo apt-add-repository --yes ppa:george-edison55/cmake-3.x
  15. sudo apt-get update -qq
  16. sudo apt-get install -qqy \
  17. cmake
  18. # Build boost_thread, boost_system, boost_filesystem and boost_program_options
  19. fw_get -o boost_1_65_1.tar.gz https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.gz
  20. fw_untar boost_1_65_1.tar.gz
  21. cd boost_1_65_1
  22. ./bootstrap.sh
  23. ./b2 \
  24. -d0 \
  25. toolset=gcc-6 \
  26. variant=release \
  27. link=static \
  28. cxxflags="-std=c++14 -march=native" \
  29. cflags="-march=native" \
  30. --prefix=${BOOST_ROOT} \
  31. --with-system \
  32. --with-thread \
  33. --with-program_options \
  34. --with-filesystem \
  35. install
  36. cd ..
  37. fw_get -O https://github.com/emweb/wt/archive/$WT_VERSION.tar.gz
  38. mv $WT_VERSION.tar.gz wt-$WT_VERSION.tar.gz
  39. fw_untar wt-$WT_VERSION.tar.gz
  40. cd wt-$WT_VERSION
  41. mkdir -p build
  42. cd build
  43. cmake .. -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=Release \
  44. -DBOOST_PREFIX=${BOOST_ROOT} \
  45. -DCMAKE_INSTALL_PREFIX=${IROOT}/wt -DCONFIGDIR=${IROOT}/wt/etc \
  46. -DCMAKE_C_COMPILER=$(which gcc-6) \
  47. -DCMAKE_CXX_COMPILER=$(which g++-6) -DDESTDIR=${IROOT}/wt \
  48. -DWEBUSER=$(id -u -n) -DWEBGROUP=$(id -g -n) \
  49. -DENABLE_SSL=OFF -DHTTP_WITH_ZLIB=OFF \
  50. -DCMAKE_C_FLAGS_RELEASE="-O3 -march=native -DNDEBUG" \
  51. -DCMAKE_CXX_FLAGS_RELEASE="-O3 -march=native -DNDEBUG" \
  52. -DBUILD_TESTS=OFF -DENABLE_LIBWTTEST=OFF \
  53. -DSHARED_LIBS=OFF
  54. make
  55. make install
  56. cd $IROOT
  57. echo "export BOOST_ROOT=${BOOST_ROOT}" > $IROOT/wt.installed
  58. echo "export BOOST_INC=${BOOST_INC}" >> $IROOT/wt.installed
  59. echo "export BOOST_LIB=${BOOST_LIB}" >> $IROOT/wt.installed
  60. echo "export WT_ROOT=${WT_ROOT}" >> $IROOT/wt.installed
  61. echo "export WT_LIB=${WT_LIB}" >> $IROOT/wt.installed
  62. echo "export WT_INC=${WT_INC}" >> $IROOT/wt.installed
  63. echo -e "export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:\$LD_LIBRARY_PATH" >> $IROOT/wt.installed
  64. echo -e "export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}:\$CPLUS_INCLUDE_PATH" >> $IROOT/wt.installed
  65. source $IROOT/wt.installed