commit b9112c2e9e4bdda70dc225cbabca554ee0d96f78 Author: Dan Cojocaru Date: Fri May 21 00:03:18 2021 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..06d2da1 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +workspace.code-workspace \ No newline at end of file diff --git a/alpine/Dockerfile b/alpine/Dockerfile new file mode 100644 index 0000000..c1e4588 --- /dev/null +++ b/alpine/Dockerfile @@ -0,0 +1,21 @@ +ARG ALPINE_VERSION +FROM alpine:${ALPINE_VERSION} AS builder +WORKDIR /tdlib +RUN apk update && apk upgrade && apk add --update alpine-sdk linux-headers git zlib-dev openssl-dev gperf php cmake +RUN git clone https://github.com/tdlib/td.git . +ARG TDLIB_VER +RUN git checkout "tags/v${TDLIB_VER}" +RUN rm -rf build && mkdir build +WORKDIR /tdlib/build +RUN cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=../tdlib .. +RUN cmake --build . --target prepare_cross_compiling +WORKDIR /tdlib +RUN php SplitSource.php +WORKDIR /tdlib/build +RUN cmake --build . --target install +WORKDIR /tdlib +RUN php SplitSource.php --undo + +FROM alpine:${ALPINE_VERSION} +WORKDIR /tdlib +COPY --from=builder /tdlib/tdlib /tdlib \ No newline at end of file diff --git a/alpine/build.sh b/alpine/build.sh new file mode 100755 index 0000000..507da9c --- /dev/null +++ b/alpine/build.sh @@ -0,0 +1,16 @@ +#! /usr/bin/env sh + +if [ -z $ALPINE_VERSION ] +then + echo "Please specify a version by setting the ALPINE_VERSION env var" + exit 1 +fi + +if [ $# -eq 1 ] +then + export TDLIB_VER="$1" +else + export TDLIB_VER="1.7.0" +fi + +docker build -t "tdlib:$TDLIB_VER-alpine-$ALPINE_VERSION" --build-arg TDLIB_VER --build-arg ALPINE_VERSION . \ No newline at end of file diff --git a/debian/Dockerfile b/debian/Dockerfile new file mode 100644 index 0000000..13d8f03 --- /dev/null +++ b/debian/Dockerfile @@ -0,0 +1,22 @@ +ARG DEBIAN_VERSION +FROM debian:${DEBIAN_VERSION} AS builder +WORKDIR /tdlib +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get -y update && apt-get -y upgrade && apt-get -y install make git zlib1g-dev libssl-dev gperf php-cli cmake clang libc++-dev libc++abi-dev +RUN git clone https://github.com/tdlib/td.git . +ARG TDLIB_VER +RUN git checkout "tags/v${TDLIB_VER}" +RUN rm -rf build && mkdir build +WORKDIR /tdlib/build +RUN CXXFLAGS="-stdlib=libc++" CC=/usr/bin/clang CXX=/usr/bin/clang++ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=../tdlib .. +RUN cmake --build . --target prepare_cross_compiling +WORKDIR /tdlib +RUN php SplitSource.php +WORKDIR /tdlib/build +RUN cmake --build . --target install +WORKDIR /tdlib +RUN php SplitSource.php --undo + +FROM debian:${DEBIAN_VERSION} +WORKDIR /tdlib +COPY --from=builder /tdlib/tdlib /tdlib diff --git a/debian/build.sh b/debian/build.sh new file mode 100755 index 0000000..1eb2bb9 --- /dev/null +++ b/debian/build.sh @@ -0,0 +1,16 @@ +#! /usr/bin/env sh + +if [ -z $DEBIAN_VERSION ] +then + echo "Please specify a version by setting the DEBIAN_VERSION env var" + exit 1 +fi + +if [ $# -eq 1 ] +then + export TDLIB_VER="$1" +else + export TDLIB_VER="1.7.0" +fi + +docker build -t "tdlib:$TDLIB_VER-$DEBIAN_VERSION" --build-arg TDLIB_VER --build-arg DEBIAN_VERSION . diff --git a/ubuntu/Dockerfile b/ubuntu/Dockerfile new file mode 100644 index 0000000..028d177 --- /dev/null +++ b/ubuntu/Dockerfile @@ -0,0 +1,22 @@ +ARG UBUNTU_VERSION +FROM ubuntu:${UBUNTU_VERSION} AS builder +WORKDIR /tdlib +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get -y update && apt-get -y upgrade && apt-get -y install make git zlib1g-dev libssl-dev gperf php-cli cmake clang-10 libc++-dev libc++abi-dev +RUN git clone https://github.com/tdlib/td.git . +ARG TDLIB_VER +RUN git checkout "tags/v${TDLIB_VER}" +RUN rm -rf build && mkdir build +WORKDIR /tdlib/build +RUN CXXFLAGS="-stdlib=libc++" CC=/usr/bin/clang-10 CXX=/usr/bin/clang++-10 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=../tdlib -DTD_ENABLE_LTO=ON -DCMAKE_AR=/usr/bin/llvm-ar-10 -DCMAKE_NM=/usr/bin/llvm-nm-10 -DCMAKE_OBJDUMP=/usr/bin/llvm-objdump-10 -DCMAKE_RANLIB=/usr/bin/llvm-ranlib-10 .. +RUN cmake --build . --target prepare_cross_compiling +WORKDIR /tdlib +RUN php SplitSource.php +WORKDIR /tdlib/build +RUN cmake --build . --target install +WORKDIR /tdlib +RUN php SplitSource.php --undo + +FROM ubuntu:${UBUNTU_VERSION} +WORKDIR /tdlib +COPY --from=builder /tdlib/tdlib /tdlib diff --git a/ubuntu/build.sh b/ubuntu/build.sh new file mode 100755 index 0000000..7a009d3 --- /dev/null +++ b/ubuntu/build.sh @@ -0,0 +1,16 @@ +#! /usr/bin/env sh + +if [ -z $UBUNTU_VERSION ] +then + echo "Please specify a version by setting the UBUNTU_VERSION env var" + exit 1 +fi + +if [ $# -eq 1 ] +then + export TDLIB_VER="$1" +else + export TDLIB_VER="1.7.0" +fi + +docker build -t "tdlib:$TDLIB_VER-$UBUNTU_VERSION" --build-arg TDLIB_VER --build-arg UBUNTU_VERSION .