| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| # |
| # Copyright 2022-2023 Google LLC |
| # |
| # Licensed under the Apache License v2.0 with LLVM Exceptions (the "License"); |
| # you may not use this file except in compliance with the License. You may |
| # obtain a copy of the License at |
| # |
| # https://llvm.org/LICENSE.txt |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| # License for the specific language governing permissions and limitations under |
| # the License. |
| # |
| # Author: Vanessa Sochat |
| # Author: Aleksei Vetrov |
| |
| ARG debian_version=stable-slim |
| FROM debian:${debian_version} as builder |
| # docker build -t stg . |
| RUN apt-get update && \ |
| apt-get install -y \ |
| build-essential \ |
| pkg-config \ |
| cmake \ |
| libelf-dev \ |
| libdw-dev \ |
| libxml2-dev \ |
| libprotobuf-dev \ |
| protobuf-compiler \ |
| libjemalloc-dev |
| WORKDIR /src |
| COPY . /src |
| RUN mkdir -p build && \ |
| cd build && \ |
| cmake -DCMAKE_BUILD_TYPE=Release .. && \ |
| cmake --build . --parallel && \ |
| cmake --install . --strip |
| # second stage |
| FROM debian:${debian_version} |
| RUN apt-get update && \ |
| apt-get install -y \ |
| libc6 \ |
| libgcc-s1 \ |
| libstdc++6 \ |
| libdw1 \ |
| libelf1 \ |
| libjemalloc2 \ |
| libprotobuf32 \ |
| libxml2 && \ |
| rm -rf /var/lib/apt/lists/* |
| COPY --from=builder /usr/local /usr/local |