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 \ doc/manual/local.mk \
tests/local.mk tests/local.mk
GLOBAL_CXXFLAGS += -std=c++0x -g -Wall GLOBAL_CXXFLAGS += -std=c++11 -g -Wall
-include Makefile.config -include Makefile.config

View file

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

View file

@ -61,6 +61,7 @@ CFLAGS=
CXXFLAGS= CXXFLAGS=
AC_PROG_CC AC_PROG_CC
AC_PROG_CXX AC_PROG_CXX
AX_CXX_COMPILE_STDCXX_11
# Use 64-bit file system calls so that we can support files > 2 GiB. # 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"]) 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. # Whether to use the Boehm garbage collector.
AC_ARG_ENABLE(gc, AC_HELP_STRING([--enable-gc], AC_ARG_ENABLE(gc, AC_HELP_STRING([--enable-gc],
[enable garbage collection in the Nix expression evaluator (requires Boehm GC) [default=no]]), [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 [ curl bison flex perl libxml2 libxslt bzip2 xz
pkgconfig sqlite libsodium pkgconfig sqlite libsodium
docbook5 docbook5_xsl docbook5 docbook5_xsl
autoconf-archive
] ++ lib.optional (!lib.inNixShell) git; ] ++ lib.optional (!lib.inNixShell) git;
configureFlags = '' configureFlags = ''
@ -71,15 +72,13 @@ let
src = tarball; src = tarball;
buildInputs = 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 { (aws-sdk-cpp.override {
apis = ["s3"]; apis = ["s3"];
customMemoryManagement = false; customMemoryManagement = false;
}) });
]
++ lib.optional stdenv.isLinux libsodium;
configureFlags = '' configureFlags = ''
--disable-init-state --disable-init-state

View file

@ -8,7 +8,11 @@ libstore_SOURCES := $(wildcard $(d)/*.cc)
libstore_LIBS = libutil libformat 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) ifeq ($(OS), SunOS)
libstore_LDFLAGS += -lsocket libstore_LDFLAGS += -lsocket

View file

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