3 unstable releases
0.2.3 | Apr 2, 2024 |
---|---|
0.2.2 | Mar 31, 2024 |
0.2.1 |
|
0.2.0 |
|
0.1.0 | Mar 24, 2024 |
#289 in Images
Used in libpng-vendored-sys
3.5MB
73K
SLoC
Contains (autotools obfuscated code, 510KB) libpng/configure, (Windows DLL, 85KB) win-zlib-test-helper/zlib.dll, (obscure autoconf code, 25KB) libpng/configure.ac, (static library, 18KB) win-zlib-include/zlib.lib
libpng-src
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.
Provided version
Compiles libpng with version 1.6.43
. Original source code with the license is provided in libpng folder without any modifications.
Currenlly supported OS and targets
Expected to work for:
- Linux:
x86_64-unknown-linux-gnu
,aarch64-unknown-linux-gnu
(no cross-compilation supported yet) - Windows:
x86_64-pc-windows-msvc
,aarch644-pc-windows-msvc
(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-msvc
.
Dependenencies for hosts
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.
Linux
- 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
Windows
- 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.
macOS and iOS
- CMake - install via https://cmake.org/ or Homebrew;
- make - vendored by OS
- Xcode - https://developer.apple.com/xcode/
- zlib` - vendored by OS
Testing
One of the unit tests invokes CTest (part of CMake) under the hood for testing native code.
TODO
- Support cross-compilation for Android;
Authors
Rust code and scripts: Alexandr (Alex) Lambov alex.lambov.md@gmail.com, © 2024
libpng - see http://www.libpng.org/pub/png/libpng.html