Helper Cargo package for compiling libpng into a static C library. Meant to be used as build dependency for dufferent -sys
or -vendored
packages. Does not provide directly usable libpng
functionality or bindings.
Compiles libpng
with version 1.6.43
. Original source code with the license is provided in libpng
folder without any modifications.
Expected to work for:
- Linux:
x86_64-unknown-linux-gnu
,aarch64-unknown-linux-gnu
(no cross-compilation supported yet) - Windows:
x86_64-pc-windows-msvs
,aarch644-pc-windows-msvs
(no cross-compilation supported yet) - macOS:
x86_64-apple-darwin
,aarch64-apple-darwin
- iOS, including simulators (cross-compilation from macOS host):
x86_64-apple-ios
,aarch64-apple-ios
,aarch64-apple-ios-sim
Tested before upload for all the targets, except aarch64-unknown-linux-gnu
and aarch64-pc-windows-msvs
.
Doesn't depend on any cargo packages for compilation.
Uses CMake and libpng
provided shell scripts. Depends on zlib
library headers for compilation and dynamic library artifact for testing.
- CMake - install via https://cmake.org/ or a package manager
- make - https://www.gnu.org/software/make/
- CC - a C compiler, added to system path
zlib
- https://packages.debian.org/bullseye/zlib1g-dev
- CMake - vendored by MS Visual Studio;
- MS Visual Studio - https://visualstudio.microsoft.com/
zlib
headers and tests helping DLL - vendored in the package
Invoke Cargo via Developer Powershell or Developer Command Prompt for correct work.
- CMake - install via https://cmake.org/ or Homebrew;
- make - vendored by OS
- Xcode - https://developer.apple.com/xcode/
zlib
- vendored by OS
One of the unit tests invokes CTest (part of CMake) under the hood for testing native code.
- Support cross-compilation for Android;
Rust code and scripts: Alexandr (Alex) Lambov alex.lambov.md@gmail.com, © 2024
libpng - see http://www.libpng.org/pub/png/libpng.html