summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/libraries/boost/1.38.0.nix27
-rw-r--r--pkgs/top-level/all-packages.nix9
2 files changed, 33 insertions, 3 deletions
diff --git a/pkgs/development/libraries/boost/1.38.0.nix b/pkgs/development/libraries/boost/1.38.0.nix
index b88e1dc1fda..0a01ca80e78 100644
--- a/pkgs/development/libraries/boost/1.38.0.nix
+++ b/pkgs/development/libraries/boost/1.38.0.nix
@@ -1,4 +1,27 @@
-{stdenv, fetchurl, icu, expat, zlib, bzip2, python}:
+{ stdenv, fetchurl, icu, expat, zlib, bzip2, python
+, enableRelease ? true
+, enableDebug ? false
+, enableSingleThreaded ? false
+, enableMultiThreaded ? true
+, enableShared ? true
+, enableStatic ? false
+}:
+
+let
+
+  variant = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableRelease "release" ++
+     stdenv.lib.optional enableDebug "debug");
+
+  threading = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableSingleThreaded "single" ++
+     stdenv.lib.optional enableMultiThreaded "multi");
+
+  link = stdenv.lib.concatStringsSep ","
+    (stdenv.lib.optional enableShared "shared" ++
+     stdenv.lib.optional enableStatic "static");
+
+in
 
 stdenv.mkDerivation {
   name = "boost-1.38.0";
@@ -17,7 +40,7 @@ stdenv.mkDerivation {
   buildInputs = [icu expat zlib bzip2 python];
 
   preBuild = ''
-    makeFlagsArray=(BJAM_CONFIG="-sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=system variant=release threading=multi link=shared")
+    makeFlagsArray=(BJAM_CONFIG="-sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=system variant=${variant} threading=${threading} link=${link}")
   '';
     
   configureFlags = "--with-icu=${icu} --with-python=${python}";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2e676c9d64a..4a0969e7e6a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2787,10 +2787,17 @@ let
     inherit fetchurl stdenv icu expat zlib bzip2 python;
   };
   
-  boost = import ../development/libraries/boost/1.38.0.nix {
+  boost = makeOverridable (import ../development/libraries/boost/1.38.0.nix) {
     inherit fetchurl stdenv icu expat zlib bzip2 python;
   };
 
+  # A Boost build with all library variants enabled.  Very large (about 250 MB).
+  boostFull = appendToName "full" (boost.override {
+    enableDebug = true;
+    enableSingleThreaded = true;
+    enableStatic = true;
+  });
+
   botan = builderDefsPackage (import ../development/libraries/botan) {
     inherit perl;
   };