Browse Source

Docker cpp silicon (#3386)

* docker cpp silicon

* docker cpp silicon
Nate 7 years ago
parent
commit
ddc0cdaa05

+ 1 - 1
.travis.yml

@@ -24,7 +24,7 @@ env:
     # - "TESTDIR=C++/ffead-cpp"
     # - "TESTDIR=C++/cpoll_cppsp"
     # - "TESTDIR=C++/cutelyst"
-    # - "TESTDIR=C++/silicon"
+     - "TESTDIR=C++/silicon"
      - "TESTDIR=C++/treefrog"
     # - "TESTDIR=C++/ulib"
      - "TESTDIR=C++/wt"

+ 0 - 1
frameworks/C++/silicon/.gitignore

@@ -1 +0,0 @@
-/build/

+ 2 - 2
frameworks/C++/silicon/CMakeLists.txt

@@ -2,9 +2,9 @@ cmake_minimum_required(VERSION 2.8)
 
 project(silicon)
 
-include_directories($ENV{IROOT}/include $ENV{MICROHTTPD_HOME}/include)
+include_directories(/include $ENV{MICROHTTPD_HOME}/include)
 
-link_directories($ENV{IROOT}/lib $ENV{MICROHTTPD_HOME}/lib)
+link_directories(/lib $ENV{MICROHTTPD_HOME}/lib)
 
 add_definitions(-std=c++14 -ftemplate-depth=1024 -DNDEBUG -O3)
 

+ 0 - 1
frameworks/C++/silicon/benchmark_config.json

@@ -2,7 +2,6 @@
   "framework": "silicon",
   "tests": [{
     "default": {
-      "setup_file": "setup_mhd_tpc_mysql",
       "json_url"       : "/json",
       "db_url"         : "/db",
       "query_url"      : "/queries?queries=",

+ 0 - 0
frameworks/C++/silicon/symbols.hh → frameworks/C++/silicon/build/symbols.hh


+ 0 - 0
frameworks/C++/silicon/techempower.hh → frameworks/C++/silicon/build/techempower.hh


+ 0 - 0
frameworks/C++/silicon/techempower_lwan.cc → frameworks/C++/silicon/build/techempower_lwan.cc


+ 0 - 0
frameworks/C++/silicon/techempower_microhttpd.cc → frameworks/C++/silicon/build/techempower_microhttpd.cc


+ 0 - 11
frameworks/C++/silicon/setup_lwan_mysql.sh

@@ -1,11 +0,0 @@
-#! /bin/bash
- 
-fw_depends mysql silicon lwan
-
-rm -rf build
-mkdir build
-cd build
-cmake .. -DCMAKE_CXX_COMPILER=clang++-3.9
-make silicon_lwan_mysql
-
-$TROOT/build/silicon_lwan_mysql ${DBHOST} 8080 &

+ 0 - 11
frameworks/C++/silicon/setup_mhd_epoll_mysql.sh

@@ -1,11 +0,0 @@
-#! /bin/bash
-
-fw_depends mysql silicon microhttpd
-
-rm -rf build
-mkdir build
-cd build
-cmake .. -DCMAKE_CXX_COMPILER=clang++-3.9
-make silicon_epoll_mysql
-
-$TROOT/build/silicon_epoll_mysql ${DBHOST} 8080 ${CPU_COUNT} &

+ 0 - 11
frameworks/C++/silicon/setup_mhd_tpc_mysql.sh

@@ -1,11 +0,0 @@
-#! /bin/bash
-
-fw_depends mysql silicon microhttpd
-
-rm -rf build
-mkdir build
-cd build
-cmake .. -DCMAKE_CXX_COMPILER=clang++-3.9
-make silicon_tpc_mysql
-
-$TROOT/build/silicon_tpc_mysql ${DBHOST} 8080 ${CPU_COUNT} &

+ 12 - 0
frameworks/C++/silicon/silicon-base.dockerfile

@@ -0,0 +1,12 @@
+FROM tfb/microhttpd:latest
+
+RUN apt install -yqq libboost-dev cmake
+
+ENV SILICON=/silicon
+
+COPY ./ ./
+
+RUN git clone https://github.com/matt-42/silicon.git && \
+    cd silicon && \
+    git checkout ecaf04887c9dbbf0f457afab1f487268f6aeffab && \
+    CC=clang-3.9 CXX=clang++-3.9 ./install.sh /

+ 7 - 0
frameworks/C++/silicon/silicon.dockerfile

@@ -0,0 +1,7 @@
+FROM tfb/silicon-base:latest
+
+RUN cd build && \
+    cmake .. -DCMAKE_CXX_COMPILER=clang++-3.9 && \
+    make silicon_tpc_mysql
+
+CMD /build/silicon_tpc_mysql ${DBHOST} 8080 ${CPU_COUNT}

+ 6 - 0
toolset/setup/docker/systools/clang-3.9.dockerfile

@@ -0,0 +1,6 @@
+FROM tfb/base:latest
+
+RUN add-apt-repository -s "deb http://apt.llvm.org/`lsb_release -cs`/ llvm-toolchain-`lsb_release -cs`-3.9 main"
+RUN wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key| apt-key add -
+RUN apt -yq update
+RUN apt install -qqy clang-3.9 lldb-3.9

+ 13 - 0
toolset/setup/docker/webservers/microhttpd.dockerfile

@@ -0,0 +1,13 @@
+FROM tfb/clang-3.9:latest
+
+ENV MICROHTTPD_VERSION=0.9.39
+ENV MICROHTTPD=/libmicrohttpd
+ENV MICROHTTPD_HOME=$MICROHTTPD-$VERSION
+
+RUN wget http://mirror.ibcp.fr/pub/gnu/libmicrohttpd/libmicrohttpd-$MICROHTTPD_VERSION.tar.gz
+RUN tar xvf libmicrohttpd-$MICROHTTPD_VERSION.tar.gz
+RUN cd libmicrohttpd-$MICROHTTPD_VERSION && \
+    ./configure --prefix=$MICROHTTPD_HOME && \
+    make install
+
+ENV PATH=${MICROHTTPD_HOME}/bin:${PATH}

+ 0 - 16
toolset/setup/linux/frameworks/silicon.sh

@@ -1,16 +0,0 @@
-#!/bin/bash
-
-fw_depends libboost-dev clang-3.9 gcc-6
-
-fw_installed silicon && return 0
-
-SILICON=$IROOT/silicon
-
-git clone https://github.com/matt-42/silicon.git
-cd silicon;
-git checkout ecaf04887c9dbbf0f457afab1f487268f6aeffab
-CC=clang-3.9 CXX=clang++-3.9 ./install.sh $IROOT
-
-echo "" > $IROOT/silicon.installed
-
-source $IROOT/silicon.installed

+ 0 - 11
toolset/setup/linux/systools/clang-3.9.sh

@@ -1,11 +0,0 @@
-#!/bin/bash
-
-fw_installed clang-3.9 && return 0
-
-sudo add-apt-repository -s "deb http://apt.llvm.org/`lsb_release -cs`/ llvm-toolchain-`lsb_release -cs`-3.9 main"
-wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
-sudo apt-get -yq update
-sudo apt-get install -qqy clang-3.9 lldb-3.9
-
-touch $IROOT/clang-3.9.installed
-

+ 0 - 18
toolset/setup/linux/webservers/microhttpd.sh

@@ -1,18 +0,0 @@
-#!/bin/bash
-
-fw_installed microhttpd && return 0
-
-VERSION=0.9.39
-MICROHTTPD=$IROOT/libmicrohttpd
-MICROHTTPD_HOME=$MICROHTTPD-$VERSION
-
-fw_get -O http://mirror.ibcp.fr/pub/gnu/libmicrohttpd/libmicrohttpd-$VERSION.tar.gz
-fw_untar libmicrohttpd-$VERSION.tar.gz
-cd libmicrohttpd-$VERSION
-./configure --prefix=$MICROHTTPD_HOME
-make install
-
-echo "export MICROHTTPD_HOME=${MICROHTTPD_HOME}" > $IROOT/microhttpd.installed
-echo -e "export PATH=${MICROHTTPD_HOME}/bin:\$PATH" >> $IROOT/microhttpd.installed
-
-source $IROOT/microhttpd.installed