diff --git a/configure.ac b/configure.ac index a14792f6..a0eb4501 100644 --- a/configure.ac +++ b/configure.ac @@ -265,26 +265,27 @@ AC_ARG_ENABLE(sudo, [SUDO_BIN="sudo"], [SUDO_BIN=""]) AC_SUBST([SUDO_BIN]) -# Do we enable building peer to peer support using libostree’s experimental (non-stable) API? -# If so, OSTREE_ENABLE_EXPERIMENTAL_API needs to be #defined before ostree.h is -# included. -AC_ARG_ENABLE([p2p], - [AS_HELP_STRING([--enable-p2p], - [Enable unstable peer to peer support [default=no]])],, - [enable_p2p=no]) -AS_IF([test x$enable_p2p = xyes],[ - PKG_CHECK_MODULES(OSTREE, [ostree-1 >= $OSTREE_P2P_REQS]) +# Decide whether to build with peer to peer support. This requires API in +# libostree which before 2018.6 was experimental. +enable_p2p=no +PKG_CHECK_MODULES(OSTREE_P2P_REQ, [ostree-1 >= $OSTREE_P2P_REQS ostree-1 < 2018.6],[ ostree_features=$($PKG_CONFIG --variable=features ostree-1) AS_CASE(["$ostree_features"], [*experimental*],[have_ostree_experimental=yes]) - AS_IF([test "x$have_ostree_experimental" != "xyes"], - [AC_MSG_ERROR([Experimental API not found in ostree-1, which is needed for --enable-p2p. OSTree must be compiled with --enable-experimental-api.])]) - - AC_DEFINE([OSTREE_ENABLE_EXPERIMENTAL_API],[1],[Define if libostree experimental API should be enabled]) + AS_IF([test "x$have_ostree_experimental" != "xyes"],[ + AC_MSG_WARN([Experimental API not found in ostree-1, so flatpak will be compiled without P2P support. OSTree < 2018.6 must be compiled with --enable-experimental-api.]) + ],[ + enable_p2p=yes + AC_DEFINE([OSTREE_ENABLE_EXPERIMENTAL_API],[1],[Define if libostree experimental API should be enabled]) + AC_DEFINE([FLATPAK_ENABLE_P2P],[1],[Define if peer to peer support should be enabled]) + ]) +], :) +PKG_CHECK_MODULES(OSTREE_2018_6, [ostree-1 >= 2018.6],[ + enable_p2p=yes AC_DEFINE([FLATPAK_ENABLE_P2P],[1],[Define if peer to peer support should be enabled]) -]) +], :) AM_CONDITIONAL([ENABLE_P2P],[test x$enable_p2p = xyes]) AC_ARG_WITH(system-install-dir,