zlib: Add comments regarding static/shared linking.
The main explanation was taken from commit:e999def1
zlib: clean up static/shared distincion The `SHARED_MODE=1` bit was originally introduced in commit:0bfc84b0
Cross-compile zlib for Windows
This commit is contained in:
parent
07ce48cc3a
commit
bda6618bb6
@ -1,5 +1,20 @@
|
|||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchurl
|
, fetchurl
|
||||||
|
# Regarding static/shared libaries, the current behaviour is:
|
||||||
|
#
|
||||||
|
# - static=true, shared=true: builds both and moves .a to the .static output;
|
||||||
|
# in this case `pkg-config` auto detection will
|
||||||
|
# not work if the .static output is given as
|
||||||
|
# buildInputs to another package (#66461)
|
||||||
|
# - static=true, shared=false: builds .a only and leaves it in the main output
|
||||||
|
# - static=false, shared=true: builds shared only
|
||||||
|
#
|
||||||
|
# To get both `.a` and shared libraries in one output,
|
||||||
|
# you currently have to use
|
||||||
|
# static=false, shared=true
|
||||||
|
# and use
|
||||||
|
# .overrideAttrs (old: { dontDisableStatic = true; })
|
||||||
|
# This is because by default, upstream zlib ./configure builds both.
|
||||||
, static ? true
|
, static ? true
|
||||||
, shared ? true
|
, shared ? true
|
||||||
}:
|
}:
|
||||||
@ -68,6 +83,8 @@ stdenv.mkDerivation (rec {
|
|||||||
] ++ stdenv.lib.optionals (stdenv.hostPlatform.libc == "msvcrt") [
|
] ++ stdenv.lib.optionals (stdenv.hostPlatform.libc == "msvcrt") [
|
||||||
"-f" "win32/Makefile.gcc"
|
"-f" "win32/Makefile.gcc"
|
||||||
] ++ stdenv.lib.optionals shared [
|
] ++ stdenv.lib.optionals shared [
|
||||||
|
# Note that as of writing (zlib 1.2.11), this flag only has an effect
|
||||||
|
# for Windows as it is specific to `win32/Makefile.gcc`.
|
||||||
"SHARED_MODE=1"
|
"SHARED_MODE=1"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user