1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2024-10-27 20:44:10 +00:00

switched build to meson

This commit is contained in:
nosamad 2020-06-07 16:21:15 +02:00
parent 218909ee79
commit c9065403cd
11 changed files with 101 additions and 207 deletions

View File

@ -11,7 +11,9 @@ default: all
# Overridable project defaults # Overridable project defaults
DOBUILD_DOCKERFILE ?= $(PROJECTDIR)/build/%MARCH%-%DISTRIB_ID%-%ID%.dockerfile DOBUILD_DOCKERFILE ?= $(PROJECTDIR)/build/%MARCH%-%DISTRIB_ID%-%ID%.dockerfile
DOBUILD_EXTDIR ?= $(PROJECTDIR)/build/dobuild-extensions
DOBUILD_PROJECTDIR ?= $(patsubst %/,%,$(dir $(MAKEFILE))) DOBUILD_PROJECTDIR ?= $(patsubst %/,%,$(dir $(MAKEFILE)))
DOBUILD_GENERIC_ADAPTER ?= meson
DOBUILDDIR ?= $(PROJECTDIR)/build/dobuild DOBUILDDIR ?= $(PROJECTDIR)/build/dobuild
PROJECTDIR = $(DOBUILD_PROJECTDIR) PROJECTDIR = $(DOBUILD_PROJECTDIR)
@ -39,30 +41,12 @@ FETCH_TARGETS += $(FETCHDIR)/dumb-init-$(DUMB_INIT_VERSION).tar.gz
$(FETCHDIR)/dumb-init-$(DUMB_INIT_VERSION).tar.gz: URL := https://github.com/Yelp/dumb-init/archive/v${DUMB_INIT_VERSION}.tar.gz $(FETCHDIR)/dumb-init-$(DUMB_INIT_VERSION).tar.gz: URL := https://github.com/Yelp/dumb-init/archive/v${DUMB_INIT_VERSION}.tar.gz
$(SKIP_MD5SUM)$(FETCHDIR)/dumb-init-$(DUMB_INIT_VERSION).tar.gz: MD5 := 6166084b05772cdcf615a762c6f3b32e $(SKIP_MD5SUM)$(FETCHDIR)/dumb-init-$(DUMB_INIT_VERSION).tar.gz: MD5 := 6166084b05772cdcf615a762c6f3b32e
GTEST_VERSION ?= 1.10.0
IMAGE_BUILDARGS += GTEST_VERSION=$(GTEST_VERSION)
FETCH_TARGETS += $(FETCHDIR)/googletest-release-$(GTEST_VERSION).tar.gz
$(FETCHDIR)/googletest-release-$(GTEST_VERSION).tar.gz: URL := https://github.com/google/googletest/archive/release-$(GTEST_VERSION).tar.gz
$(SKIP_MD5SUM)$(FETCHDIR)/googletest-release-$(GTEST_VERSION).tar.gz: MD5 := ecd1fa65e7de707cd5c00bdac56022cd
FUSE_VERSION ?= 3.9.1 FUSE_VERSION ?= 3.9.1
IMAGE_BUILDARGS += FUSE_VERSION=$(FUSE_VERSION) IMAGE_BUILDARGS += FUSE_VERSION=$(FUSE_VERSION)
FETCH_TARGETS += $(FETCHDIR)/libfuse-fuse-$(FUSE_VERSION).tar.gz FETCH_TARGETS += $(FETCHDIR)/libfuse-fuse-$(FUSE_VERSION).tar.gz
$(FETCHDIR)/libfuse-fuse-$(FUSE_VERSION).tar.gz: URL := https://github.com/libfuse/libfuse/archive/fuse-$(FUSE_VERSION).tar.gz $(FETCHDIR)/libfuse-fuse-$(FUSE_VERSION).tar.gz: URL := https://github.com/libfuse/libfuse/archive/fuse-$(FUSE_VERSION).tar.gz
$(SKIP_MD5SUM)$(FETCHDIR)/libfuse-fuse-$(FUSE_VERSION).tar.gz: MD5 := 5f7c1062def710d8b60343524a18cc82 $(SKIP_MD5SUM)$(FETCHDIR)/libfuse-fuse-$(FUSE_VERSION).tar.gz: MD5 := 5f7c1062def710d8b60343524a18cc82
WEBSOCKETS_VERSION ?= 4.0.10
IMAGE_BUILDARGS += WEBSOCKETS_VERSION=$(WEBSOCKETS_VERSION)
FETCH_TARGETS += $(FETCHDIR)/libwebsockets-$(WEBSOCKETS_VERSION).tar.gz
$(FETCHDIR)/libwebsockets-$(WEBSOCKETS_VERSION).tar.gz: URL := https://github.com/warmcat/libwebsockets/archive/v$(WEBSOCKETS_VERSION).tar.gz
$(SKIP_MD5SUM)$(FETCHDIR)/libwebsockets-$(WEBSOCKETS_VERSION).tar.gz: MD5 := a1ce5a279fd06b2ce132c02c292df7aa
JANSSON_VERSION ?= 2.12
IMAGE_BUILDARGS += JANSSON_VERSION=$(JANSSON_VERSION)
FETCH_TARGETS += $(FETCHDIR)/jansson-$(JANSSON_VERSION).tar.gz
$(FETCHDIR)/jansson-$(JANSSON_VERSION).tar.gz: URL := https://github.com/akheron/jansson/archive/v$(JANSSON_VERSION).tar.gz
$(SKIP_MD5SUM)$(FETCHDIR)/jansson-$(JANSSON_VERSION).tar.gz: MD5 := c4b106528d5ffb521178565de1ba950d
QEMU_VERSION ?= v4.1.0-1 QEMU_VERSION ?= v4.1.0-1
IMAGE_BUILDARGS += QEMU_VERSION_=$(QEMU_VERSION) IMAGE_BUILDARGS += QEMU_VERSION_=$(QEMU_VERSION)
FETCH_TARGETS += $(FETCHDIR)/qemu-arm-static-$(QEMU_VERSION) FETCH_TARGETS += $(FETCHDIR)/qemu-arm-static-$(QEMU_VERSION)
@ -72,7 +56,7 @@ $(SKIP_MD5SUM)$(FETCHDIR)/qemu-arm-static-$(QEMU_VERSION): MD5 := e508e6e4dd7f3a
####################################################################################################################### #######################################################################################################################
# Architecture-specific rule target configuration # Architecture-specific rule target configuration
CMAKE_TARGETS += $(call target_properties_combine,\ GENERIC_TARGETS += $(call target_properties_combine,\
,\ ,\
x86_64 arm32v7,\ x86_64 arm32v7,\
ubuntu@bionic alpine@3.9,\ ubuntu@bionic alpine@3.9,\
@ -82,7 +66,7 @@ CMAKE_TARGETS += $(call target_properties_combine,\
,\ ,\
debug release coverage min_size_rel \ debug release coverage min_size_rel \
) )
DOCKER_TARGETS += $(CMAKE_TARGETS) DOCKER_TARGETS += $(GENERIC_TARGETS)
####################################################################################################################### #######################################################################################################################
# Common rule target configuration # Common rule target configuration
@ -114,7 +98,6 @@ MAKEFILE_DEPS += cp
####################################################################################################################### #######################################################################################################################
# Rules # Rules
include $(DOBUILDDIR)/cmake.mk
include $(DOBUILDDIR)/docker.mk include $(DOBUILDDIR)/docker.mk
include $(DOBUILDDIR)/standardrules.mk include $(DOBUILDDIR)/standardrules.mk

View File

@ -14,14 +14,21 @@ RUN set -x \
gcc \ gcc \
g++ \ g++ \
make \ make \
python3 \
py3-pip \
py3-setuptools \
py3-cryptography \
cmake \ cmake \
ninja \ ninja \
pkgconf \ pkgconf \
rsync \ tar \
gdb \ gdb \
valgrind git \
# util-linux \ ca-certificates \
# util-linux-dev openssl \
openssl-dev \
linux-headers \
&& pip3 install meson
COPY src /usr/local/src COPY src /usr/local/src
@ -44,60 +51,18 @@ RUN set -x \
&& rm -rf "$builddir" \ && rm -rf "$builddir" \
&& apk del .build-deps && apk del .build-deps
ARG GTEST_VERSION=1.10.0
RUN set -x \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake "/usr/local/src/googletest-release-$GTEST_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ARG FUSE_VERSION=3.9.1 ARG FUSE_VERSION=3.9.1
RUN set -x \ RUN set -x \
&& builddeps="linux-headers eudev-dev python3 py3-pip py3-setuptools py3-cryptography" \ && builddeps="eudev-dev" \
&& apk add --no-cache --virtual .build-deps $builddeps \ && apk add --no-cache --virtual .build-deps $builddeps \
&& pip3 install meson \
&& builddir="/tmp/out" \ && builddir="/tmp/out" \
&& mkdir -p "$builddir" \ && mkdir -p "$builddir" \
&& cd "$builddir" \ && meson -Dexamples=false "$builddir" "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \
&& meson "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \ && ninja "$PARALLELMFLAGS" -C "$builddir" install \
&& meson configure -Dexamples=false \
&& ninja \
&& ninja install \
&& pip3 uninstall -y meson \
&& rm -rf "$builddir" \ && rm -rf "$builddir" \
&& apk del .build-deps && apk del .build-deps
ARG WEBSOCKETS_VERSION=4.0.10
RUN set -x \
&& builddeps="linux-headers" \
&& apk add --no-cache --virtual .build-deps $builddeps \
&& apk add --no-cache \
ca-certificates \
openssl \
openssl-dev \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake "/usr/local/src/libwebsockets-$WEBSOCKETS_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir" \
&& apk del .build-deps
ARG JANSSON_VERSION=2.12
RUN set -x \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake -DJANSSON_BUILD_DOCS=OFF "/usr/local/src/jansson-$JANSSON_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
ENV PKG_CONFIG_PATH=/usr/local/lib32/pkgconfig ENV PKG_CONFIG_PATH=/usr/local/lib32/pkgconfig

View File

@ -12,13 +12,21 @@ RUN set -x \
&& apt upgrade -y \ && apt upgrade -y \
&& apt install --yes --no-install-recommends \ && apt install --yes --no-install-recommends \
build-essential \ build-essential \
python3 \
python3-pip \
python3-setuptools \
python3-wheel \
cmake \ cmake \
ninja-build \ ninja-build \
pkg-config \ pkg-config \
rsync \
gdb \ gdb \
gdbserver \ gdbserver \
lcov lcov \
git \
ca-certificates \
openssl \
libssl-dev \
&& pip3 install --system meson
COPY src /usr/local/src COPY src /usr/local/src
@ -41,57 +49,18 @@ RUN set -x \
&& rm -rf "$builddir" \ && rm -rf "$builddir" \
&& apt purge -y $builddeps && apt purge -y $builddeps
ARG GTEST_VERSION=1.10.0
RUN set -x \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake "/usr/local/src/googletest-release-$GTEST_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ARG FUSE_VERSION=3.9.1 ARG FUSE_VERSION=3.9.1
RUN set -x \ RUN set -x \
&& builddeps="udev gettext python3 python3-pip python3-setuptools python3-wheel" \ && builddeps="udev gettext" \
&& apt install --yes --no-install-recommends $builddeps \ && apt install --yes --no-install-recommends $builddeps \
&& pip3 install --system meson \
&& builddir="/tmp/out" \ && builddir="/tmp/out" \
&& mkdir -p "$builddir" \ && mkdir -p "$builddir" \
&& cd "$builddir" \ && meson -Dexamples=false "$builddir" "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \
&& meson "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \ && ninja "$PARALLELMFLAGS" -C "$builddir" install \
&& meson configure -Dexamples=false \
&& ninja \
&& ninja install \
&& pip3 uninstall -y meson \
&& rm -rf "$builddir" \ && rm -rf "$builddir" \
&& apt purge -y $builddeps && apt purge -y $builddeps
ARG WEBSOCKETS_VERSION=4.0.10
RUN set -x \
&& apt install --yes --no-install-recommends \
ca-certificates \
openssl \
libssl-dev \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake "/usr/local/src/libwebsockets-$WEBSOCKETS_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ARG JANSSON_VERSION=2.12
RUN set -x \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake -DJANSSON_BUILD_DOCS=OFF "/usr/local/src/jansson-$JANSSON_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
ARG USERID=1000 ARG USERID=1000

View File

@ -0,0 +1,4 @@
#!/bin/sh
exec ninja_adapter "$@"

View File

@ -0,0 +1,4 @@
#!/bin/sh -e
exec ninja_adapter test "$@"

View File

@ -0,0 +1,9 @@
#!/bin/sh
. DoBuildFiles/generic.properties
{ [ -z "$BUILDVERBOSE" ] && [ -z "$TESTVERBOSE" ]; } || set -- -v "$@"
[ -z "$VERBOSE" ] || set -x
exec meson test -C "${PWD}/meson" --num-processes "$NPROC" --print-errorlogs --wrap 'valgrind --error-exitcode=1' "$@"

View File

@ -0,0 +1,10 @@
#!/bin/sh
. DoBuildFiles/generic.properties
set -- "$@" -C "${PWD}/meson"
{ [ -z "$BUILDVERBOSE" ] && [ -z "$TESTVERBOSE" ]; } || set -- -v "$@"
[ -z "$VERBOSE" ] || set -x
exec ninja -j"$NPROC" "$@"

View File

@ -0,0 +1,5 @@
#!/bin/sh
export DESTDIR="$1"
exec ninja_adapter install

View File

@ -0,0 +1,10 @@
#!/bin/sh
. DoBuildFiles/generic.properties
rm -rf meson
[ -z "$VERBOSE" ] || set -x
exec meson setup --buildtype "$VARIANT" "${PWD}/meson" "$PROJECTDIR" "$@"

View File

@ -10,14 +10,22 @@ RUN set -x \
gcc \ gcc \
g++ \ g++ \
make \ make \
python3 \
py3-pip \
py3-setuptools \
py3-cryptography \
cmake \ cmake \
ninja \ ninja \
pkgconf \ pkgconf \
rsync \ tar \
gdb \ gdb \
valgrind valgrind \
# util-linux \ git \
# util-linux-dev ca-certificates \
openssl \
openssl-dev \
linux-headers \
&& pip3 install meson
COPY src /usr/local/src COPY src /usr/local/src
@ -40,60 +48,18 @@ RUN set -x \
&& rm -rf "$builddir" \ && rm -rf "$builddir" \
&& apk del .build-deps && apk del .build-deps
ARG GTEST_VERSION=1.10.0
RUN set -x \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake "/usr/local/src/googletest-release-$GTEST_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ARG FUSE_VERSION=3.9.1 ARG FUSE_VERSION=3.9.1
RUN set -x \ RUN set -x \
&& builddeps="linux-headers eudev-dev python3 py3-pip py3-setuptools py3-cryptography" \ && builddeps="eudev-dev" \
&& apk add --no-cache --virtual .build-deps $builddeps \ && apk add --no-cache --virtual .build-deps $builddeps \
&& pip3 install meson \
&& builddir="/tmp/out" \ && builddir="/tmp/out" \
&& mkdir -p "$builddir" \ && mkdir -p "$builddir" \
&& cd "$builddir" \ && meson -Dexamples=false "$builddir" "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \
&& meson "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \ && ninja "$PARALLELMFLAGS" -C "$builddir" install \
&& meson configure -Dexamples=false \
&& ninja \
&& ninja install \
&& pip3 uninstall -y meson \
&& rm -rf "$builddir" \ && rm -rf "$builddir" \
&& apk del .build-deps && apk del .build-deps
ARG WEBSOCKETS_VERSION=4.0.10
RUN set -x \
&& builddeps="linux-headers" \
&& apk add --no-cache --virtual .build-deps $builddeps \
&& apk add --no-cache \
ca-certificates \
openssl \
openssl-dev \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake "/usr/local/src/libwebsockets-$WEBSOCKETS_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir" \
&& apk del .build-deps
ARG JANSSON_VERSION=2.12
RUN set -x \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake -DJANSSON_BUILD_DOCS=OFF "/usr/local/src/jansson-$JANSSON_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig

View File

@ -8,14 +8,22 @@ RUN set -x \
&& apt upgrade -y \ && apt upgrade -y \
&& apt install --yes --no-install-recommends \ && apt install --yes --no-install-recommends \
build-essential \ build-essential \
python3 \
python3-pip \
python3-setuptools \
python3-wheel \
cmake \ cmake \
ninja-build \ ninja-build \
pkg-config \ pkg-config \
rsync \
gdb \ gdb \
gdbserver \ gdbserver \
valgrind \ valgrind \
lcov lcov \
git \
ca-certificates \
openssl \
libssl-dev \
&& pip3 install --system meson
COPY src /usr/local/src COPY src /usr/local/src
@ -38,57 +46,18 @@ RUN set -x \
&& rm -rf "$builddir" \ && rm -rf "$builddir" \
&& apt purge -y $builddeps && apt purge -y $builddeps
ARG GTEST_VERSION=1.10.0
RUN set -x \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake "/usr/local/src/googletest-release-$GTEST_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ARG FUSE_VERSION=3.9.1 ARG FUSE_VERSION=3.9.1
RUN set -x \ RUN set -x \
&& builddeps="udev gettext python3 python3-pip python3-setuptools python3-wheel" \ && builddeps="udev gettext" \
&& apt install --yes --no-install-recommends $builddeps \ && apt install --yes --no-install-recommends $builddeps \
&& pip3 install --system meson \
&& builddir="/tmp/out" \ && builddir="/tmp/out" \
&& mkdir -p "$builddir" \ && mkdir -p "$builddir" \
&& cd "$builddir" \ && meson -Dexamples=false "$builddir" "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \
&& meson "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \ && ninja "$PARALLELMFLAGS" -C "$builddir" install \
&& meson configure -Dexamples=false \
&& ninja \
&& ninja install \
&& pip3 uninstall -y meson \
&& rm -rf "$builddir" \ && rm -rf "$builddir" \
&& apt purge -y $builddeps && apt purge -y $builddeps
ARG WEBSOCKETS_VERSION=4.0.10
RUN set -x \
&& apt install --yes --no-install-recommends \
ca-certificates \
openssl \
libssl-dev \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake "/usr/local/src/libwebsockets-$WEBSOCKETS_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ARG JANSSON_VERSION=2.12
RUN set -x \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake -DJANSSON_BUILD_DOCS=OFF "/usr/local/src/jansson-$JANSSON_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
ARG USERID=1000 ARG USERID=1000