Make the aws-cpp-sdk dependency optional

This commit is contained in:
Eelco Dolstra 2016-05-04 17:16:48 +02:00
parent 16d9c872e4
commit 75d2492f20
6 changed files with 28 additions and 8 deletions

View File

@ -23,7 +23,7 @@ makefiles = \
doc/manual/local.mk \
tests/local.mk
GLOBAL_CXXFLAGS += -std=c++0x -g -Wall
GLOBAL_CXXFLAGS += -std=c++11 -g -Wall
-include Makefile.config

View File

@ -3,6 +3,7 @@ CC = @CC@
CFLAGS = @CFLAGS@
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@
ENABLE_S3 = @ENABLE_S3@
HAVE_SODIUM = @HAVE_SODIUM@
LIBCURL_LIBS = @LIBCURL_LIBS@
OPENSSL_LIBS = @OPENSSL_LIBS@

View File

@ -61,6 +61,7 @@ CFLAGS=
CXXFLAGS=
AC_PROG_CC
AC_PROG_CXX
AX_CXX_COMPILE_STDCXX_11
# Use 64-bit file system calls so that we can support files > 2 GiB.
@ -193,6 +194,15 @@ AC_SUBST(HAVE_SODIUM, [$have_sodium])
PKG_CHECK_MODULES([LIBLZMA], [liblzma], [CXXFLAGS="$LIBLZMA_CFLAGS $CXXFLAGS"])
# Look for aws-cpp-sdk-s3.
AC_LANG_PUSH(C++)
AC_CHECK_HEADERS([aws/s3/S3Client.h],
[AC_DEFINE([ENABLE_S3], [1], [Whether to enable S3 support via aws-cpp-sdk-s3.])
enable_s3=1], [enable_s3=])
AC_SUBST(ENABLE_S3, [$enable_s3])
AC_LANG_POP(C++)
# Whether to use the Boehm garbage collector.
AC_ARG_ENABLE(gc, AC_HELP_STRING([--enable-gc],
[enable garbage collection in the Nix expression evaluator (requires Boehm GC) [default=no]]),

View File

@ -27,6 +27,7 @@ let
[ curl bison flex perl libxml2 libxslt bzip2 xz
pkgconfig sqlite libsodium
docbook5 docbook5_xsl
autoconf-archive
] ++ lib.optional (!lib.inNixShell) git;
configureFlags = ''
@ -71,15 +72,13 @@ let
src = tarball;
buildInputs =
[ curl perl bzip2 xz openssl pkgconfig sqlite boehmgc
[ curl perl bzip2 xz openssl pkgconfig sqlite boehmgc ]
++ lib.optional stdenv.isLinux libsodium
++ lib.optional stdenv.isLinux
(aws-sdk-cpp.override {
apis = ["s3"];
customMemoryManagement = false;
})
]
++ lib.optional stdenv.isLinux libsodium;
});
configureFlags = ''
--disable-init-state

View File

@ -8,7 +8,11 @@ libstore_SOURCES := $(wildcard $(d)/*.cc)
libstore_LIBS = libutil libformat
libstore_LDFLAGS = $(SQLITE3_LIBS) -lbz2 $(LIBCURL_LIBS) $(SODIUM_LIBS) -laws-cpp-sdk-s3 -laws-cpp-sdk-core -pthread
libstore_LDFLAGS = $(SQLITE3_LIBS) -lbz2 $(LIBCURL_LIBS) $(SODIUM_LIBS) -pthread
ifeq ($(ENABLE_S3), 1)
libstore_LDFLAGS += -laws-cpp-sdk-s3 -laws-cpp-sdk-core
endif
ifeq ($(OS), SunOS)
libstore_LDFLAGS += -lsocket

View File

@ -1,3 +1,7 @@
#include "config.h"
#if ENABLE_S3
#include "s3-binary-cache-store.hh"
#include "nar-info.hh"
#include "nar-info-disk-cache.hh"
@ -251,3 +255,5 @@ static RegisterStoreImplementation regStore([](
});
}
#endif