install_ffead-cpp-framework.sh 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #!/bin/bash
  2. #From https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/C%2B%2B/ulib/setup_json.sh
  3. MAX_THREADS=$(( 3 * `nproc` / 2 ))
  4. WRIT_THREADS=$(( $MAX_THREADS / 3 ))
  5. SERV_THREADS=$(( $MAX_THREADS - $WRIT_THREADS ))
  6. cd $IROOT
  7. wget -q https://github.com/sumeetchhetri/ffead-cpp/archive/master.zip
  8. unzip master.zip
  9. mv ffead-cpp-master ffead-cpp-src
  10. cd ffead-cpp-src/
  11. chmod 755 *.sh resources/*.sh rtdcf/autotools/*.sh
  12. rm -rf web/te-benchmark
  13. cp -f ${TROOT}/server.sh script/
  14. cp -rf ${TROOT}/te-benchmark web/
  15. sed -i 's|THRD_PSIZ=6|THRD_PSIZ='${SERV_THREADS}'|g' resources/server.prop
  16. sed -i 's|W_THRD_PSIZ=2|W_THRD_PSIZ='${WRIT_THREADS}'|g' resources/server.prop
  17. sed -i 's|LOGGING_ENABLED=true|LOGGING_ENABLED=false|g' resources/server.prop
  18. ./autogen.sh
  19. ./configure --enable-debug=no --enable-apachemod=yes --enable-nginxmod=yes --enable-mod_sdormmongo=yes --enable-mod_sdormsql=yes --enable-mod_rediscache=yes --enable-mod_memcached=yes CPPFLAGS="$CPPFLAGS -I${IROOT}/include/libmongoc-1.0 -I${IROOT}/include/libbson-1.0 -I${IROOT}/include/" LDFLAGS="$LDFLAGS -L${IROOT} -L${IROOT}/lib"
  20. make install
  21. rm -rf web/default web/oauthApp web/flexApp web/markers
  22. sed -i 's|localhost|tfb-database|g' web/te-benchmark/config/sdorm.xml
  23. sed -i 's|localhost|tfb-database|g' web/te-benchmark/config/sdormmongo.xml
  24. sed -i 's|localhost|tfb-database|g' web/te-benchmark/config/sdormmysql.xml
  25. sed -i 's|localhost|tfb-database|g' web/te-benchmark/config/sdormpostgresql.xml
  26. sed -i 's|127.0.0.1|tfb-database|g' resources/sample-odbcinst.ini
  27. sed -i 's|127.0.0.1|tfb-database|g' resources/sample-odbc.ini
  28. cp resources/sample-odbcinst.ini ${IROOT}/odbcinst.ini
  29. cp resources/sample-odbc.ini ${IROOT}/odbc.ini
  30. cd ${IROOT}/ffead-cpp-src/
  31. #Build for mongodb first
  32. cp -f web/te-benchmark/sql-src/TeBkWorldmongo.h web/te-benchmark/include/TeBkWorld.h
  33. cp -f web/te-benchmark/sql-src/TeBkWorldmongo.cpp web/te-benchmark/src/TeBkWorld.cpp
  34. make build-apps
  35. cd ffead-cpp-2.0-bin
  36. chmod 755 *.sh resources/*.sh rtdcf/autotools/*.sh
  37. ./server.sh &
  38. while [ ! -f lib/libinter.so ]
  39. do
  40. sleep 1
  41. done
  42. while [ ! -f lib/libdinter.so ]
  43. do
  44. sleep 1
  45. done
  46. pkill CHS
  47. mv lib ../lib-mongo
  48. cd ${IROOT}/ffead-cpp-src/
  49. #Build for sql now
  50. cp -f web/te-benchmark/sql-src/TeBkWorldsql.h web/te-benchmark/include/TeBkWorld.h
  51. cp -f web/te-benchmark/sql-src/TeBkWorldsql.cpp web/te-benchmark/src/TeBkWorld.cpp
  52. make build-apps
  53. cd ffead-cpp-2.0-bin
  54. chmod 755 *.sh resources/*.sh rtdcf/autotools/*.sh
  55. ./server.sh &
  56. while [ ! -f lib/libinter.so ]
  57. do
  58. sleep 1
  59. done
  60. while [ ! -f lib/libdinter.so ]
  61. do
  62. sleep 1
  63. done
  64. pkill CHS
  65. mv lib ../lib-sql
  66. cd ${IROOT}/ffead-cpp-src/
  67. cp -rf ffead-cpp-2.0-bin ${IROOT}/ffead-cpp-2.0
  68. cp -rf lib-mongo ${IROOT}/ffead-cpp-2.0/
  69. cp -rf lib-sql ${IROOT}/ffead-cpp-2.0/
  70. cp -rf lib-mongo ${IROOT}/ffead-cpp-2.0/lib
  71. rm -rf ffead-cpp-2.0-bin
  72. cd ${IROOT}/ffead-cpp-2.0
  73. cp -f ${TROOT}/run_ffead.sh ./
  74. chmod 755 *.sh resources/*.sh rtdcf/autotools/*.sh
  75. chmod 755 $FFEAD_CPP_PATH/*.sh
  76. rm -f $FFEAD_CPP_PATH/*.cntrl
  77. rm -f $FFEAD_CPP_PATH/tmp/*.sess
  78. #cache related dockerfiles will add the cache.xml accordingly whenever needed
  79. rm -f web/te-benchmark/config/cache.xml