File tree Expand file tree Collapse file tree 4 files changed +30
-5
lines changed
Filter options
Expand file tree Collapse file tree 4 files changed +30
-5
lines changed
Original file line number Diff line number Diff line change @@ -77,8 +77,8 @@ install:
77
77
# Let the install prefer the static builds of the libs
78
78
- set LIBRARY_LIB=%CONDA_PREFIX%\Library\lib
79
79
- mkdir lib || cmd /c "exit /b 0"
80
- - copy /y %LIBRARY_LIB%\zlibstatic.lib lib\z .lib
81
- - copy /y %LIBRARY_LIB%\libpng_static .lib lib\png .lib
80
+ - copy /y %LIBRARY_LIB%\zlibstatic.lib lib\zlib .lib
81
+ - copy /y %LIBRARY_LIB%\libpng16_static .lib lib\libpng16 .lib
82
82
# These z.lib / png.lib are not static versions but files which end up as
83
83
# dependencies to the dll file. This is fine for the conda build, but not here
84
84
# and for the wheels
Original file line number Diff line number Diff line change @@ -20,8 +20,8 @@ IF NOT DEFINED CONDA_PREFIX (
20
20
:: copy the libs which have "wrong" names
21
21
set LIBRARY_LIB = %CONDA_PREFIX% \Library\lib
22
22
mkdir lib || cmd /c " exit /b 0"
23
- copy %LIBRARY_LIB% \zlibstatic.lib lib\z .lib
24
- copy %LIBRARY_LIB% \libpng_static .lib lib\png .lib
23
+ copy %LIBRARY_LIB% \zlibstatic.lib lib\zlib .lib
24
+ copy %LIBRARY_LIB% \libpng16_static .lib lib\libpng16 .lib
25
25
26
26
:: build the target
27
27
python setup.py %TARGET%
Original file line number Diff line number Diff line change
1
+ Changes to the Windows build
2
+ ````````````````````````````
3
+
4
+ Previously, when building the :mod: `matplotlib._png ` extension, the build
5
+ script would add "png" and "z" to the extensions ``.libraries `` attribute (if
6
+ pkg-config information is not available, which is in particular the case on
7
+ Windows).
8
+
9
+ In particular, this implies that the Windows build would look up files named
10
+ ``png.lib `` and ``z.lib ``; but neither libpng upstream nor zlib upstream
11
+ provides these files by default. (On Linux, this would look up ``libpng.so ``
12
+ and ``libz.so ``, which are indeed standard names.)
13
+
14
+ Instead, on Windows, we now look up ``libpng16.lib `` and ``zlib.lib ``, which
15
+ *are * the upstream names for the shared libraries (as of libpng 1.6.x).
16
+
17
+ For a statically-linked build, the upstream names are ``libpng16_static.lib ``
18
+ and ``zlibstatic.lib ``; one still needs to manually rename them if such a build
19
+ is desired.
Original file line number Diff line number Diff line change @@ -645,7 +645,13 @@ def get_extension(self):
645
645
ext , 'libpng' ,
646
646
atleast_version = '1.2' ,
647
647
alt_exec = ['libpng-config' , '--ldflags' ],
648
- default_libraries = ['png' , 'z' ])
648
+ default_libraries = (
649
+ ['png' , 'z' ] if os .name == 'posix' else
650
+ # libpng upstream names their lib libpng16.lib, not png.lib.
651
+ # zlib upstream names their lib zlib.lib, not z.lib.
652
+ ['libpng16' , 'zlib' ] if os .name == 'nt' else
653
+ []
654
+ ))
649
655
add_numpy_flags (ext )
650
656
return ext
651
657
You can’t perform that action at this time.
0 commit comments