Skip to content

Commit

Permalink
Make the aws-cpp-sdk dependency optional
Browse files Browse the repository at this point in the history
  • Loading branch information
edolstra committed May 4, 2016
1 parent 16d9c87 commit 75d2492
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 8 deletions.
2 changes: 1 addition & 1 deletion Makefile
Expand Up @@ -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

Expand Down
1 change: 1 addition & 0 deletions Makefile.config.in
Expand Up @@ -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@
Expand Down
10 changes: 10 additions & 0 deletions configure.ac
Expand Up @@ -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.
Expand Down Expand Up @@ -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]]),
Expand Down
11 changes: 5 additions & 6 deletions release.nix
Expand Up @@ -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 = ''
Expand Down Expand Up @@ -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
Expand Down
6 changes: 5 additions & 1 deletion src/libstore/local.mk
Expand Up @@ -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
Expand Down
6 changes: 6 additions & 0 deletions src/libstore/s3-binary-cache-store.cc
@@ -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"
Expand Down Expand Up @@ -251,3 +255,5 @@ static RegisterStoreImplementation regStore([](
});

}

#endif

0 comments on commit 75d2492

Please sign in to comment.