Сборочное окружение и runtime для агентской части (сборка DPDK, Seastar, fmt, AMQP-CPP).

This commit is contained in:
Sergey Maslenkov 2024-09-10 12:19:59 +03:00
parent ea70e3745f
commit 25d5063566
3 changed files with 43 additions and 0 deletions

27
builder/Dockerfile Normal file
View File

@ -0,0 +1,27 @@
FROM alt:pre-builder AS building
WORKDIR /prepare
COPY /libs .
ENV CXX=clang++-17
RUN cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja -S /prepare/fmt/ -B /prepare/build/fmt -DFMT_TEST=OFF \
--install-prefix=/prepare/installed \
&& cmake --build /prepare/build/fmt --target install \
\
&& cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -G Ninja -S /prepare/AMQP-CPP -B /prepare/build/amqp-cpp \
-DCMAKE_CXX_STANDARD=20 -DAMQP-CPP_BUILD_SHARED=OFF -DAMQP-CPP_LINUX_TCP=ON -DBUILD_TOOLS_DOCS=OFF -DENABLE_SSL_SUPPORT=ON \
--install-prefix=/prepare/installed \
&& cmake --build /prepare/build/amqp-cpp --target install \
\
&& /prepare/seastar/configure.py --mode=release \
--without-demos --without-apps --without-tests \
--enable-dpdk --c++-standard=20 --compiler="clang-17" --c-compiler="gcc"\
--build-root=/prepare/build/seastar --cflags="-ggnu-pubnames" --ldflags="-larchive" \
--prefix=/prepare/installed --compile-commands-json \
&& ninja -C /prepare/build/seastar/release install
# ———————————————————————————————————————————————————————————————————
FROM alt:pre-builder
COPY --from=building /prepare/installed/ /prepare/build/seastar/release/_cooking/stow/dpdk/ /usr/local/
CMD ["/bin/bash"]

10
pre-builder/Dockerfile Normal file
View File

@ -0,0 +1,10 @@
FROM alt:p10 AS build
RUN apt-get update && apt-get -yqVV install \
boost-devel boost-lockfree-devel boost-asio-devel boost-filesystem-devel boost-program_options-devel \
cmake diffutils doxygen \
clang17.0 build-essential \
time stow openssl openssl-devel python3-module-elftools protobuf-compiler \
pkg-config libprotobuf-devel libcares-devel libyaml-cpp-devel libtool liburing-devel liblz4-devel libgnutlsxx-devel libgnutlsxx28 libgnutls-devel libxfs-devel libcryptopp-devel libpciaccess-devel libnuma-devel libfmt-devel liblksctp-devel liblksctp libarchive libarchive-devel libxml2-devel lksctp-tools make meson ninja-build ragel valgrind valgrind-devel libhwloc-devel libuv-devel
CMD ["/bin/bash"]

6
runtime/Dockerfile Normal file
View File

@ -0,0 +1,6 @@
FROM alt:p10 AS build
RUN apt-get update && apt-get -yqVV install \
libarchive13 libhwloc libnuma libuv libatomic1 liburing libgnutls libyaml-cpp0 libboost_program_options1.76.0 libboost_thread1.76.0
CMD ["/bin/bash"]