diff options
author | Matthew Bauer <mjbauer95@gmail.com> | 2018-12-04 21:14:41 -0600 |
---|---|---|
committer | Matthew Bauer <mjbauer95@gmail.com> | 2018-12-04 21:14:41 -0600 |
commit | e999def1597de9d03a35cfa6b62277adb0e9a7ad (patch) | |
tree | f643dcd73cde0c3a57d598c6c03633d99084e06e /pkgs/development/libraries/zlib | |
parent | 5e06294276754ef063c618a1ecb12b629cde8ac3 (diff) | |
download | nixpkgs-e999def1597de9d03a35cfa6b62277adb0e9a7ad.tar nixpkgs-e999def1597de9d03a35cfa6b62277adb0e9a7ad.tar.gz nixpkgs-e999def1597de9d03a35cfa6b62277adb0e9a7ad.tar.bz2 nixpkgs-e999def1597de9d03a35cfa6b62277adb0e9a7ad.tar.lz nixpkgs-e999def1597de9d03a35cfa6b62277adb0e9a7ad.tar.xz nixpkgs-e999def1597de9d03a35cfa6b62277adb0e9a7ad.tar.zst nixpkgs-e999def1597de9d03a35cfa6b62277adb0e9a7ad.zip |
zlib: clean up static/shared distincion
This is kind of a mess, but basically: - static=true, shared=true means to build statically but move it to the static output - static=true, shared=false means to build statically and leave it in the main output - static=false, shared=true means to not build static at all Confusingly, the old default was static=true, shared=true even though static=false? Still can’t figure out what was meant by that.
Diffstat (limited to 'pkgs/development/libraries/zlib')
-rw-r--r-- | pkgs/development/libraries/zlib/default.nix | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix index fe1c275aeda..3a5638b2281 100644 --- a/pkgs/development/libraries/zlib/default.nix +++ b/pkgs/development/libraries/zlib/default.nix @@ -1,6 +1,7 @@ { stdenv , fetchurl -, static ? false +, static ? true +, shared ? true }: stdenv.mkDerivation (rec { @@ -24,13 +25,15 @@ stdenv.mkDerivation (rec { --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"' ''; - outputs = [ "out" "dev" "static" ]; + outputs = [ "out" "dev" ] + ++ stdenv.lib.optional (shared && static) "static"; setOutputFlags = false; outputDoc = "dev"; # single tiny man3 page - configureFlags = stdenv.lib.optional (!static) "--shared"; + configureFlags = stdenv.lib.optional shared "--shared" + ++ stdenv.lib.optional (static && !shared) "--static"; - postInstall = '' + postInstall = stdenv.lib.optionalString (shared && static) '' moveToOutput lib/libz.a "$static" '' # jww (2015-01-06): Sometimes this library install as a .so, even on @@ -64,7 +67,7 @@ stdenv.mkDerivation (rec { "PREFIX=${stdenv.cc.targetPrefix}" ] ++ stdenv.lib.optionals (stdenv.hostPlatform.libc == "msvcrt") [ "-f" "win32/Makefile.gcc" - ] ++ stdenv.lib.optionals (!static) [ + ] ++ stdenv.lib.optionals shared [ "SHARED_MODE=1" ]; |