Commit Graph

8153 Commits

Author SHA1 Message Date
Kleis Auke Wolthuizen 802dabc6aa
Meson: ensure `-Dpng=disabled` does not disable WebP load/save (#2686) 2022-02-25 19:04:07 +00:00
Kleis Auke Wolthuizen a67d637a3a
Meson: fix building with `-Dspng=enabled` (#2685)
And prefer to search for `spng.pc` first, since that one is
generated by Meson.
2022-02-25 15:41:21 +00:00
shado23 3a45d6e842 Add support for regions in the C++ API 2022-02-25 16:19:44 +01:00
John Cupitt e1ad26b782 Merge branch 'master' of github.com:libvips/libvips 2022-02-25 13:45:06 +00:00
John Cupitt b9e6bda6f7 fix oxygen
see https://github.com/libvips/libvips/issues/2650#issuecomment-1050142161
2022-02-25 13:44:30 +00:00
John Cupitt 4196a0e73a
set some -Ds depending on the release type (#2682)
* 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
2022-02-25 12:52:18 +00:00
Kleis Auke Wolthuizen a8b48e1442
Add missing annotations to #endif directives (#2678) 2022-02-23 11:55:40 +00:00
John Cupitt 5ff96da873 add note on heifload unlimited to changelog 2022-02-23 10:35:46 +00:00
Lovell Fuller 4ca4b07654
heifload: add unlimited option, default to false (#2677) 2022-02-23 10:34:07 +00:00
Kleis Auke Wolthuizen 1e4cd2d5c2
Fix building with -Dmodules=disabled (#2676)
* Fix building with -Dmodules=disabled

* Reformat line [skip ci]
2022-02-23 10:32:02 +00:00
Kleis Auke Wolthuizen d80185060d
Various improvements to the build systems (#2675)
* 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`)
2022-02-22 14:33:42 +00:00
John Cupitt c5f2fea8bf fix a gcc warning with clang pragmas 2022-02-22 10:06:43 +00:00
Michael Drake b05515b0c5
Update libnsgif from upstream (#2674)
* libnsgif: Remove patch artifact.

* libnsgif: Update from upstream.
2022-02-21 20:07:20 +00:00
John Cupitt 49cae56e1e stray "im_" prefix 2022-02-20 17:07:29 +00:00
John Cupitt 542cfff472 longer timeout for tests
to allow for slowdown with sanitizers enabled
2022-02-19 16:06:29 +00:00
John Cupitt dc4b6c920b make zlib into a top-level dependency
many packages need it, not just rsvg
2022-02-19 16:05:18 +00:00
Kleis Auke Wolthuizen 3da7caee6c
LSan improvements and fixes (#2672)
* 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
2022-02-19 15:13:42 +00:00
John Cupitt 094e84d6d1 relax accuracy test for 16 bit heic
since it seems rather poor with the libheif on ci runner
2022-02-18 11:55:27 +00:00
John Cupitt e985e23c09
add HDR support to heif load/save (#2596)
* heifload done, doing save

* finish save, add tests, docs
2022-02-18 11:16:15 +00:00
John Cupitt 0388e54bd2 looks like meson must be installed with sudo for ci 2022-02-18 11:09:39 +00:00
John Cupitt 504cea50a5 check pip3 install on runner 2022-02-18 11:06:35 +00:00
John Cupitt aef5f25167 in ci, don't install meson as root 2022-02-18 10:56:49 +00:00
John Cupitt fea9d068c4 oop, forgot a sudo 2022-02-18 10:52:58 +00:00
John Cupitt e14deaf5c6 disable introspection for CI build 2022-02-18 10:48:22 +00:00
John Cupitt 3a7465cf79 make goi optional 2022-02-18 10:40:56 +00:00
John Cupitt 1be213052b install our own meson 2022-02-18 10:36:50 +00:00
John Cupitt dab51ef92f display meson error logs 2022-02-18 10:22:07 +00:00
John Cupitt ecba43c21c try with meson 0.53
since github workflow meson is rather old
2022-02-18 10:21:26 +00:00
John Cupitt f573dc47e3 ci fix 2022-02-18 10:05:04 +00:00
John Cupitt aea262f6f6 try to move CI to meson 2022-02-18 10:01:13 +00:00
John Cupitt dc069f8892 ooop typo 2022-02-18 09:53:40 +00:00
John Cupitt 240b10ba71 update dependency list in README 2022-02-18 09:45:54 +00:00
John Cupitt 01a9947006 remove atexit use
too unreliable to be useful
2022-02-17 14:30:02 +00:00
John Cupitt f6dafd6fc6 update changelog for intospection fixes
and default on, since there are now so few warnings
2022-02-15 10:59:11 +00:00
Corentin Noël 69bf2be12b
Enhance the introspection support by fixing annotations (#2657)
Also refine the .metadata file
2022-02-15 10:54:40 +00:00
John Cupitt 82a8df2a1f fix some more small introspection warnings 2022-02-15 10:10:21 +00:00
John Cupitt f9895d1169 Merge branch 'master' of github.com:libvips/libvips 2022-02-15 10:09:02 +00:00
John Cupitt 362adae8c6
Revert "Enhance the introspection support by fixing annotations (#2655)" (#2656)
This reverts commit 47796dcda0.
2022-02-15 10:08:07 +00:00
John Cupitt cd86d05b12 Merge branch 'master' of github.com:libvips/libvips 2022-02-15 10:07:33 +00:00
John Cupitt 45ad07b2c2 fix a couple more warnings 2022-02-15 10:07:13 +00:00
Corentin Noël 47796dcda0
Enhance the introspection support by fixing annotations (#2655)
* 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>
2022-02-15 09:54:32 +00:00
John Cupitt 257d84108e fix some more introspection warnings 2022-02-15 09:48:01 +00:00
Corentin Noël 542dd06999
Refine header inclusion to allow better introspection generation (#2654)
The headers need to be self-contained for the introspection parser
to work correctly. The entry for external users remains vips/vips.h
2022-02-15 05:02:07 +00:00
John Cupitt 1862e7209e add spngsave to meson build 2022-02-11 16:43:02 +00:00
John Cupitt 896cad6a7a
Add spngsave (#2536)
* 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>
2022-02-11 16:30:23 +00:00
John Cupitt 7731abe8df revise meson notes again 2022-02-10 08:42:17 +00:00
John Cupitt 68e65bdc0f switch to c_std gnu99
since this is what glib uses
2022-02-09 09:31:13 +00:00
John Cupitt 626f9eaabd revise meson notes again 2022-02-09 08:57:58 +00:00
John Cupitt 7be11a1fd7 add support for -Dmagick-package
so meson can now build against graphicsmagick
2022-02-09 08:45:32 +00:00
John Cupitt e1f4fb3198 revise meson notes in README 2022-02-08 18:28:35 +00:00