ffead-cpp-h2o.dockerfile 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. FROM sumeetchhetri/ffead-cpp-5.0-base:5.1
  2. ENV IROOT=/installs
  3. RUN rm -f /usr/local/lib/libffead-* /usr/local/lib/libte_benc* /usr/local/lib/libinter.so /usr/local/lib/libdinter.so && \
  4. ln -s ${IROOT}/ffead-cpp-5.0/lib/libte_benchmark_um.so /usr/local/lib/libte_benchmark_um.so && \
  5. ln -s ${IROOT}/ffead-cpp-5.0/lib/libffead-modules.so /usr/local/lib/libffead-modules.so && \
  6. ln -s ${IROOT}/ffead-cpp-5.0/lib/libffead-framework.so /usr/local/lib/libffead-framework.so && \
  7. ln -s ${IROOT}/ffead-cpp-5.0/lib/libinter.so /usr/local/lib/libinter.so && \
  8. ln -s ${IROOT}/ffead-cpp-5.0/lib/libdinter.so /usr/local/lib/libdinter.so && \
  9. ldconfig
  10. WORKDIR ${IROOT}
  11. RUN apt-get update -y && apt-get install -y --no-install-recommends autoconf bison cmake curl file flex g++ git libssl-dev libtool libz-dev make wget \
  12. && rm -rf /var/lib/apt/lists/*
  13. ARG H2O_VERSION=v2.2.6
  14. ARG H2O_BUILD_DIR=${IROOT}/h2o-build
  15. ENV H2O_PREFIX /opt/h2o
  16. RUN mkdir -p "${H2O_BUILD_DIR}/build" && \
  17. cd "$H2O_BUILD_DIR" && \
  18. wget -qO - "https://github.com/h2o/h2o/archive/${H2O_VERSION}.tar.gz" | \
  19. tar xz --strip-components=1 && \
  20. cd build && \
  21. cmake -DCMAKE_C_FLAGS="-flto -march=native" \
  22. -DCMAKE_AR=/usr/bin/gcc-ar -DCMAKE_RANLIB=/usr/bin/gcc-ranlib .. && \
  23. make -j "$(nproc)" install && \
  24. cd ../.. && \
  25. rm -rf "$H2O_BUILD_DIR"
  26. WORKDIR ${IROOT}/lang-server-backends/c/h2o
  27. RUN cmake . && make && cp h2o_app $IROOT/ && rm -rf ${IROOT}/lang-server-backends
  28. WORKDIR /
  29. CMD ./run_ffead.sh ffead-cpp-5.0 h2o