* set some -Ds depending on the release type
libvips uses g_assert() quite a bit to check things like pointer bounds,
and this can have a large performance impact.
This PR turns off g_assert() (plus some other things) in release mode,
and enables leak checking (and some other things) in debug mode.
I'm not sure if this is the best way to implement this kind of thing.
Does meson have a more offical path for this?
* incorporate comments
* link asserts and cast checks to optimization level
* Meson: remove space before colon
Since key-value pairs in Python are usually delimited as
colon+space instead of space+colon+space.
* Meson: disable modules by default when building static libraries
Corresponds to autotools. See: #2323.
* Meson: make modules a feature option
Corresponds to autotools, where modules are built
automatically if enabled and supported.
* Meson: specify minimum required GLib version
* Meson: fix indentation
* Remove unused function checks
* Simplify GLib configure checks
* Meson: ensure modules doesn't include enumtypes sources
Since that would cause duplicate symbols.
(`soname_header` can also be safely removed here,
since that is already included in `libvips_headers_dep`)
* LSan: remove GLib suppression
* LSan: disable the fast unwinder to get full stacktraces
* Move ASan/UBSan fuzzer options to CI configuration
* LSan: remove EOLed python2.7 suppression
* LSan: remove libstdc++ suppression
* LSan: add libx265 to suppression file
* Try to reproduce small memleak
* Try a possible patch
* Skip test if `im_benchmark` is not available
* CI: upgrade Clang version to 13
* CI: correct job names
* Meson: increase the timeout for tests
* README.md: correct Meson invocation
* Ensure that double asterisk characters are only used for gtk-doc comments
This triggers warnings when parsing the files with the introspection scanner
and gtk-doc
* Enhance the introspection support by fixing annotations
Also refine the .metadata file
Co-authored-by: John Cupitt <jcupitt@gmail.com>
* quick hack
won't even compile
* works!
at a basic level, anyway
* start wiring up metadata
* metadata done
* add spng interlaced save
* start adding index support
* fix palette save
* Update libvips/foreign/spngsave.c
Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
* start adding low bit depth write
* add a warning for low bitdepth write
* small fixes
* add 1/2/4 bit write
adapted from the vips2tiff bit packer
* small polish
* note spngsave in changelog
* Update libvips/foreign/spngsave.c
Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
* Update libvips/foreign/spngsave.c
Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>
* revise 8 and 16-bit PNG write rules
* cleanup
* remove unnecessary palette filter optimisation
since libspng already does this
* add xres/yres rounding
thanks klies
he commit message for your changes. Lines starting
* look for spng.pc and libspng.pc
It can be called either, frustratingly.
* fix PACKAGES_USED for spng .pc changes
Co-authored-by: Kleis Auke Wolthuizen <github@kleisauke.nl>