Commit Graph

457 Commits

Author SHA1 Message Date
John Cupitt
023f74b037
Merge branch 'master' into gmodulized 2021-04-26 09:03:12 +01:00
Kleis Auke Wolthuizen
34c0f31643 Build a dynamically loadable module for *magick
By default, a dynamically loadable module is built for *magick (i.e.
`--with-magick=module`) when:
* ImageMagick or GraphicsMagick is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-magick` - to disable *magick usage;
* `--with-magick[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen
0c0b68b4b9 Build a dynamically loadable module for poppler
By default, a dynamically loadable module is built for poppler (i.e.
`--with-poppler=module`) when:
* poppler is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-poppler` - to disable poppler usage;
* `--with-poppler[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen
2b1daff256 Build a dynamically loadable module for libheif
By default, a dynamically loadable module is built for libheif (i.e.
`--with-heif=module`) when:
* libheif is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-heif` - to disable libheif usage;
* `--with-heif[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen
6fd38df95a Build a dynamically loadable module for OpenSlide
By default, a dynamically loadable module is built for OpenSlide (i.e.
`--with-openslide=module`) when:
* OpenSlide is found;
* GModule is supported (`gmodule_supported` pkg-config variable).

This can be overridden on the command line with:
* `--without-openslide` - to disable OpenSlide usage;
* `--with-openslide[=yes]` - to restore the previous behavior;
* `--disable-modules` - to disable the build of dynamic modules.
2021-04-22 12:28:37 +02:00
Kleis Auke Wolthuizen
a63d37fc9b Initial support for dynamic loadable modules with GModule 2021-04-22 12:28:37 +02:00
John Cupitt
e8cfc6b5a2
Merge branch 'master' into add-jxl 2021-04-21 14:00:06 +01:00
Kleis Auke Wolthuizen
4af8b9b265 Add fontconfig as dependency
pangocairo does not list fontconfig as a dependency.
2021-04-21 14:20:51 +02:00
John Cupitt
0cdfb851b9 incorporate comments from @lovell review 2021-04-18 17:53:15 +01:00
John Cupitt
4483a2edbc Merge branch 'master' into add-jxl 2021-04-14 15:08:46 +01:00
John Cupitt
f53959b824 switch font rendering to pangocairo
to make colour font rendering work
2021-04-12 15:11:18 +01:00
John Cupitt
950606406f compiles 2021-04-01 16:54:42 +01:00
John Cupitt
2a249a3049 load header done 2021-04-01 12:33:36 +01:00
John Cupitt
c7f69718da start adding jxl 2021-04-01 09:21:41 +01:00
John Cupitt
69fcf1b9e9
Merge branch 'master' into add-openjpeg 2021-03-27 15:22:13 +00:00
John Cupitt
9cbb4c2cd1
Merge pull request #1709 from libvips/add-libnsgif
Add libnsgif support
2021-03-27 15:10:30 +00:00
John Cupitt
6ab30ca732 Merge branch '8.10' 2021-03-23 23:18:48 +00:00
Fabrice Fontaine
1b002cc32b drop last remnant of dmalloc
Drop last remnant of dmalloc which was removed in version 7.28.0 with
ae8faf6597

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-03-22 23:49:54 +01:00
John Cupitt
cedc3f1f1d disable threading for older openjpegs 2021-03-20 14:14:08 +00:00
Kleis Auke Wolthuizen
e7faebf6af Tell the compiler that v4f is aligned
It's guaranteed that this is now aligned on a 16-byte boundary.
2021-03-20 11:33:37 +01:00
John Cupitt
c2eebacf5a start adding jp2k load 2021-03-17 11:31:25 +00:00
Kleis Auke Wolthuizen
5ef9c84f97 Use cross-platform functions for allocating aligned memory
A malloc library is expected to provide a better implementation.
2021-03-15 11:10:16 +01:00
John Cupitt
b51f4dab28 fix make dist 2021-03-07 14:59:31 +00:00
John Cupitt
f74d6c795d Merge branch 'master' into add-libnsgif 2021-03-07 14:37:14 +00:00
John Cupitt
7317b2b842 remove mention of exr save in configure
oops
2021-03-07 13:01:57 +00:00
John Cupitt
387c9a3b73 swap hard tabs for spaces in configure
makes output easier and safer to copy-paste
2021-03-07 12:53:20 +00:00
John Cupitt
fae5d9cc82 improve configure summary table
- order and group summary
- list by file format type, rather than library
- describe as load/save rather than import/export
- also --vips-config output

I split the VIPS_CFLAGS, VIPS_INCLUDES and VIPS_LIBS var settings into
the various finders for maintainability.
2021-03-07 12:41:44 +00:00
Kleis Auke Wolthuizen
3ed50e0427 Cleanup configure.ac and #ifdef's 2021-03-06 15:47:07 +01:00
John Cupitt
2e56828053 Merge branch '8.10' 2021-03-06 11:47:02 +00:00
John Cupitt
b14bac53a3 guard refs to ZSTD
so we work on older libtiffs
2021-03-05 12:16:38 +00:00
John Cupitt
b995a6d244 move the nsgif source into the tree
and remove the old giflib loader
2021-02-28 12:20:05 +00:00
John Cupitt
799f720c13 Merge branch 'master' into add-libnsgif 2021-02-27 23:57:14 +00:00
Lovell Fuller
117dbd888a Set minimum glib dependency version of 2.40 (March 2014) 2021-02-24 21:59:21 +00:00
John Cupitt
a12be84098 fix make clean
we had an error in the docy bits of c++
2021-01-02 15:04:42 +00:00
John Cupitt
6fb7ca73a4 Merge branch '8.10' 2021-01-01 10:13:12 +00:00
Kleis Auke Wolthuizen
7e9c7059be Remove redundant -lstdc++ configure check
This became unused after commit 346a9e7.
2020-12-29 13:40:36 +01:00
John Cupitt
eed882c2a3 add libx265-dev as well
also needed by libheif.pc
2020-12-23 13:10:58 +00:00
John Cupitt
f1aa5289a7 argh try again 2020-12-23 12:50:33 +00:00
John Cupitt
fe56a43ef5 libheif should work in actions now
libaom-dev is required by libheif-dev, but not listed as a dependency
2020-12-23 12:29:13 +00:00
John Cupitt
ccd469fb1e Oadd some debugging for heif detection 2020-12-23 12:15:11 +00:00
John Cupitt
94ecb8d38d version bump
and fix changelog dates
2020-12-22 14:28:55 +00:00
John Cupitt
460efa73fa bump version for animated webp load fix 2020-12-18 10:12:26 +00:00
John Cupitt
728397d76c Merge branch '8.10' 2020-12-15 13:22:56 +00:00
John Cupitt
ff3c4acbb2 allow spng.pc and libspng.ps for libspng discovery 2020-12-14 10:24:25 +00:00
John Cupitt
1b19e6f832 start 8.10.4
with a dropped patch from 8.10.3
2020-12-14 09:20:44 +00:00
John Cupitt
31a4d1419c fix spng detection
This patch was dropped from 8.10.3 release 1, annoyingly.
2020-12-14 09:17:38 +00:00
John Cupitt
b1e636346a relax is_a heic test rules
32 was a little too small, see https://github.com/libvips/libvips/issues/1861
2020-10-18 22:36:15 +01:00
John Cupitt
47b04c9da6 get pdium load working again
It had bitrotted a bit. Thanks @Projkt-James.

See https://github.com/libvips/libvips/issues/1400
2020-10-16 15:13:25 +01:00
John Cupitt
888b5654a0 fix heifload with libheif 1.6
heif_avif wasn't added until libheif 1.7
2020-10-11 19:54:36 +01:00
Lovell Fuller
1177bd1dae heifload: expose heif-compression metadata 2020-10-09 15:54:17 +01:00
John Cupitt
a88c88bb7b Merge branch '8.10' 2020-09-15 10:20:15 +01:00
John Cupitt
0617165c66 raise minimum libheif version to 1.3
We didn't compile with anything less than 1.3 anyway.

see https://github.com/libvips/libvips/issues/1817
2020-09-15 10:18:38 +01:00
John Cupitt
e0bc345aef revise doxy flags to configure 2020-09-06 16:10:55 +01:00
John Cupitt
6b2079bfd3 update magick metadata naming
IM seem to have changed their rules for naming metadata chunks. They are
now lowercase and ICM is renamed to ICC. Add a simple test too.

See https://github.com/libvips/ruby-vips/issues/246
2020-09-06 12:59:10 +01:00
John Cupitt
6cabb3e301 add doxygen to the build system
configure tests for it, make runs it, make install copies the generated
html
2020-08-17 17:54:42 +01:00
John Cupitt
633abe7be8 add missing funcs to public C API
The C API was missing vips_jpegload_source and vips_svgload_source.
Thanks to augustocdias.

See https://github.com/libvips/libvips/issues/1780
2020-08-14 13:36:12 +01:00
John Cupitt
fdded88cf7 start 8.10.1
following the doc generation fix
2020-08-09 14:39:37 +01:00
John Cupitt
ad16b87a75 add LT_INIT 2020-07-10 17:34:40 +01:00
Kleis Auke Wolthuizen
b84e87b6d2 Improve --vips-config output 2020-07-07 13:57:25 +02:00
Kleis Auke Wolthuizen
fb61f0fa44 Define ENABLE_DEPRECATED in config.h
Do not check for VIPS_ENABLE_DEPRECATED as it could
come from an earlier version of libvips.
2020-07-07 12:16:43 +02:00
Kleis Auke Wolthuizen
6329d35048 Out-of-source support for configure
+ some small cleanups.
2020-07-07 12:16:40 +02:00
Kleis Auke Wolthuizen
402f8918b7 Do not distribute version.h within the tarball
It is automatically generated during the build process.
2020-07-06 21:32:00 +02:00
John Cupitt
345fee4917 Merge branch 'master' into add-libnsgif 2020-06-29 23:07:13 +01:00
John Cupitt
eb8ec27c86 fix binary ppm read for some width 2020-06-13 11:40:45 +01:00
John Cupitt
95406c7888
Merge pull request #1682 from libvips/libspng-experiment
Load PNGs with libspng
2020-06-12 19:11:42 +01:00
John Cupitt
8c19e07ae3 add --vips-config flag
so "vips --vips-config" now displays:

```
$ vips --vips-config
native win32: no, native OS X: no, open files in binary mode: no, ...
```
2020-06-12 17:30:57 +01:00
John Cupitt
d5fcb6baaf
Merge branch 'master' into libspng-experiment 2020-06-12 12:42:11 +01:00
John Cupitt
49df5f54c1 Randy's loader patch compiles 2020-06-11 12:17:58 +01:00
John Cupitt
1e015654c3 deprecate heifload autorotate
heifload autorotate is now always on, and we always delete EXIF
orientation tags. If a HEIC image fails to rotate upright, at least it's
someone else's fault.

see https://github.com/libvips/libvips/pull/1680
2020-06-10 19:57:50 +01:00
Lovell Fuller
221ad1b9b3 heifload: ignore nclx profiles, ensure uchar format 2020-06-10 12:23:17 +01:00
John Cupitt
ce63fc1145 use libspng for load, libpng for save 2020-06-09 14:38:04 +01:00
John Cupitt
a44814018d Merge branch 'master' into libspng-experiment 2020-06-07 11:56:16 +01:00
Lovell Fuller
00dcfa40f1 Improve compile-time libheif and runtime AVIF detection 2020-05-18 19:43:43 +01:00
John Cupitt
10f1352f6f clean up, add benchmarks 2020-05-01 23:20:48 +01:00
John Cupitt
02327b6214 add an experimental libspng reader
it compiles, but I've not tried running it yet heh
2020-05-01 16:05:48 +01:00
John Cupitt
489810989e Merge branch '8.9' 2020-04-24 19:32:40 +01:00
John Cupitt
efd62acccd better iiif tile naming
We were clipping edge tiles against the size of the scaled up layer.
Instead, clip against the size of the top level image.

See https://github.com/libvips/libvips/issues/1621
2020-04-24 19:29:35 +01:00
Lovell Fuller
3ca21ee2e8 Increase minimum glib-2.0 dependency to v2.15 (released March 2012) 2020-03-26 19:13:21 +00:00
John Cupitt
b52b0e3bbf
Merge pull request #1589 from kleisauke/avoid-gthread-link
Do not link against libgthread when GLib >= 2.32
2020-03-24 17:09:11 +00:00
John Cupitt
120a94a9e4
Merge pull request #1587 from kleisauke/avoid-cflags-sort
Do not reverse sort VIPS_CFLAGS
2020-03-24 17:07:26 +00:00
Kleis Auke Wolthuizen
e8facf66bb Do not reverse sort VIPS_CFLAGS
CFLAGS="-s USE_PTHREADS=1" was sorted as "USE_PTHREADS=1 -s" resulting
in a compilation error on Emscripten.

This was introduced in c8d9ed9 to select GraphicsMagick over ImageMagick,
nowadays it's better to use --with-magickpackage=GraphicsMagick instead.
2020-03-24 11:08:52 +01:00
Kleis Auke Wolthuizen
c8230195ba Do not link against libgthread when GLib >= 2.32
libglib is always thread-enabled since v2.32.
2020-03-24 11:05:19 +01:00
Kleis Auke Wolthuizen
a6d19e5c4c Prefer to find expat with pkg-config
Fall back to AM_WITH_EXPAT if it could not be found.
2020-03-24 11:03:36 +01:00
John Cupitt
7710fab06c add gio to libs and cflags
should fix fuzz build
2020-03-14 12:09:47 +00:00
John Cupitt
c5c0690588 fix --without-rsvg
We need to add gio to packages-used if it's available.

See https://github.com/libvips/libvips/issues/1575
2020-03-13 10:04:02 +00:00
John Cupitt
e4db74746a fix a deadlock with --vips-leak
We were usingh a global lock for metadata changes, but some functions
triggered from callbacks in the metadata hash table could also attempt
to acquire the same mutex, leading to deadlock.

This patch gives metadata change it's own lock. Thanks DarthSim.

See https://github.com/libvips/libvips/issues/1542
2020-01-31 15:25:05 +00:00
John Cupitt
767c87d6e6 better iiif json
Change "scalefactor" to "scaleFactor", thanks regisrob.

See https://github.com/libvips/libvips/issues/1530
2020-01-24 16:28:52 +00:00
John Cupitt
53407206cf start 8.10 cycle 2020-01-24 16:26:28 +00:00
John Cupitt
51fc2ff64e don't use new source API for new_from_file etc.
We were attempting to load images in new_from_file using the new source
API first, then only falling back to the file loaders if that failed.

However, this meant that we did not respect the priority ordering on
loaders, so openslide iamges (for example) were being loaded by the tiff
loader.
2020-01-09 14:47:14 +00:00
John Cupitt
49a8f0779d Merge branch '8.8' 2019-11-26 09:15:39 +00:00
John Cupitt
298002c530 fix build with imagemagick 6.7.8.9
Ships with centos7, so an important version to support.

See https://github.com/libvips/libvips/issues/1479
2019-11-25 15:44:28 +00:00
John Cupitt
9a193f6f4c test for gio
It seems glib added gio in 2.15, though I don't know if svgload will
actually work with a glib that old.
2019-11-19 17:05:12 +00:00
John Cupitt
55024c71ce
Merge branch 'master' into add-stream-object 2019-11-12 14:08:02 +00:00
John Cupitt
ceb2db513d Merge branch '8.8' 2019-11-11 18:05:57 +00:00
John Cupitt
3ba0b285d4 switch to GDateTime 2019-11-11 15:14:04 +00:00
John Cupitt
04280fd837 test for orc 0.4.31
the version that should start working again, hopefully
2019-11-06 23:22:17 +00:00
John Cupitt
552043c2c8 oop name mixup 2019-10-28 08:05:15 +00:00
John Cupitt
70a83a273d fix with older glib 2019-10-28 07:36:19 +00:00
John Cupitt
612789d914 remove undisplayable frames from gifnsload
and make gifload and gifnsload both build for easier testing ... though
gifnsload is given higher priority, so it handles vipsheader etc.
2019-09-18 17:34:49 +01:00
John Cupitt
c9a7b92eeb version bump 2019-09-17 17:16:26 +01:00