libpng-src

Crates.iolibpng-src
lib.rslibpng-src
version0.2.3
sourcesrc
created_at2024-03-24 14:31:13.682497
updated_at2024-04-02 16:53:56.0339
descriptionHelper package for compiling 'libpng' as a static library. Meant to be used as build dependency only.
homepage
repositoryhttps://github.com/alambov-md/libpng-rs
max_upload_size
id1184414
size6,140,866
(alambov-md)

documentation

README

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

Windows

Invoke Cargo via Developer Powershell or Developer Command Prompt for correct work.

macOS and iOS

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

Commit count: 9

cargo fmt