John Cupitt
821e2165b9
add meson option to disable cplusplus api build
2022-12-15 11:20:10 +00:00
Kleis Auke Wolthuizen
20a4d6029d
Allow libjxl 0.6 ( #3223 )
...
This partially reverts commit 0029b3c4
.
2022-12-08 13:22:36 +00:00
Kleis Auke Wolthuizen
4611651d90
nsgifload: avoid minimise after mapping ( #3189 )
...
* nsgifload: avoid minimise after mapping
Not reliable on Windows.
* nsgifload: prefer use of `VIPS_FREEF` macro
* Improve `test_descriptors.c`
* Only build `test_descriptors` when targeting Linux
2022-11-27 15:43:35 +00:00
John Cupitt
ab2e0bf38c
Merge branch '8.13'
2022-10-11 08:49:03 +01:00
John Cupitt
7547476f44
version bump
2022-10-11 08:45:16 +01:00
John Cupitt
bc0c910091
note dangerous bit of meson.build
2022-09-11 13:41:36 +01:00
John Cupitt
81dc91927d
fix ci build
...
adding the examples/ if/endif broke the sed that's used to remove extra
subdirs in ci
2022-09-11 11:36:33 +01:00
John Cupitt
d836166087
add some more examples
2022-09-09 10:14:59 +01:00
John Cupitt
873c90710a
add examples/ dir
...
plus one example
2022-09-08 16:25:33 +01:00
John Cupitt
2912787f9d
version bump for 8.13.2
2022-09-05 10:01:37 +01:00
Daniel Löbl
0b70145d99
cgifsave: add support for interlaced GIF write ( #2984 )
...
* cgifsave: add support for interlaced GIF write
note: cgif >= v0.3.0 is required
* switch to warning instead of error
* add test
* fix test
2022-08-15 12:14:02 +01:00
John Cupitt
0029b3c416
require libjxl 0.7+
2022-08-14 17:32:40 +01:00
John Cupitt
332d3a9093
Merge branch '8.13'
2022-08-14 17:28:26 +01:00
Kleis Auke Wolthuizen
f36196db1b
jxlsave: avoid using deprecated functions ( #2989 )
...
* jxlsave: avoid using deprecated functions
The upcoming libjxl 0.7 has deprecated a number of functions.
* Prefer to use `ifdef` instead
2022-08-14 15:54:21 +01:00
Kleis Auke Wolthuizen
a6fa62605c
Cherry-pick a couple of Meson improvements to 8.13 ( #2968 )
...
* add a summary table at the end of configure
Copied from the old autotools summary. Sample clipped from "meson setup":
```
Program python3 found: YES (/usr/bin/python3)
Configuring variables.sh using configuration
Message:
*Build options
enable debug ......................: true
enable deprecated .................: true
enable modules ....................: true
enable gtk-doc ....................: true
enable doxygen ....................: false
enable introspection ..............: true
enable RAD load/save ..............: true
enable Analyze7 load/save .........: true
enable PPM load/save ..............: true
enable GIF load ...................: true
*Optional external packages
use fftw for FFTs .................: true
accelerate loops with ORC .........: true
ICC profile support with lcms .....: true
zlib ..............................: true
text rendering with pangocairo ....: true
font file support with fontcongfig : true
EXIF metadata support with libexif : true
*External image format libraries
JPEG load/save with libjpeg .......: true
JXL load/save with libjxl .........: false
JPEG2000 load/save with openjpeg ..: true
PNG load/save with libspng ........: false
PNG load/save with libpng .........: true
selected quantisation package .....: imagequant
TIFF load/save with libtiff .......: true
image pyramid save with libgsf ....: true
HEIC/AVIF load/save with libheif ..: true
WebP load/save with libwebp .......: true
PDF load with PDFium ..............: false
PDF load with poppler-glib ........: true
SVG load with librsvg .............: true
EXR load/save with openexr ........: true
OpenSlide load ....................: true
Matlab load with libmatio .........: true
NIfTI load/save with niftiio ......: true
FITS load/save with cfitsio .......: true
GIF save with cgif ................: true
selected Magick package ...........: MagickCore
Magick load/save ..................: true
Build targets in project: 53
...
```
* Meson: improve summary table (#2943 )
* Meson: improve summary table
* Fix typo
* Remove redundant whitespace
* Fix libpng fall-back when build with `-Dspng=disabled` (#2955 )
* Meson: simplify dynamic module handling (#2956 )
* Deduplicate `--vips-config` with the build summary (#2957 )
* Deduplicate `--vips-config` with the build summary
* Ensure output is identical
Helps parses.
* Fix summary when build with `-Dnifti=disabled` (#2963 )
* Update ChangeLog
Co-authored-by: John Cupitt <jcupitt@gmail.com>
2022-07-31 10:09:00 +01:00
Kleis Auke Wolthuizen
df80ded468
Fix summary when build with -Dnifti=disabled
( #2963 )
2022-07-30 19:23:51 +01:00
Kleis Auke Wolthuizen
3f95543c2c
Allow to modify/create EXIF GPS* tags ( #2966 )
...
* Allow to modify/create EXIF GPS* tags
Make `tag_is_ascii` aware of the EXIF GPS* ASCII tags that are
available since libexif 0.6.23.
See: https://github.com/lovell/sharp/issues/2767
* Add tests
2022-07-30 19:21:54 +01:00
John Cupitt
8c71424e9a
version bump
...
and changelog update
2022-07-30 12:37:30 +01:00
Kleis Auke Wolthuizen
cf97ea3ea1
Deduplicate --vips-config
with the build summary ( #2957 )
...
* Deduplicate `--vips-config` with the build summary
* Ensure output is identical
Helps parses.
2022-07-29 11:09:51 +01:00
Kleis Auke Wolthuizen
a24b556b26
Meson: simplify dynamic module handling ( #2956 )
2022-07-28 15:10:13 +01:00
Kleis Auke Wolthuizen
45bcd74a7a
Fix libpng fall-back when build with -Dspng=disabled
( #2955 )
2022-07-28 14:37:12 +01:00
John Cupitt
d3021c2775
Merge branch '8.13'
2022-07-27 09:09:12 +01:00
Kleis Auke Wolthuizen
a68eb00fbe
Meson: bump version to 8.13.1 ( #2948 )
...
Also, increment revision in the Autotools build.
2022-07-27 09:08:07 +01:00
John Cupitt
87fbafaebe
Merge branch '8.13'
2022-07-26 12:21:45 +01:00
Kleis Auke Wolthuizen
8b4ef8bdfc
Fix detection of ImportImagePixels
and ImagesToBlob
for IM7 ( #2944 )
...
ImageMagick 7.x uses the `<MagickCore/MagickCore.h>` include
directive instead of `<magick/api.h>`.
2022-07-24 18:04:46 +01:00
Kleis Auke Wolthuizen
7010903538
Meson: improve summary table ( #2943 )
...
* Meson: improve summary table
* Fix typo
* Remove redundant whitespace
2022-07-24 11:06:40 +01:00
John Cupitt
c439d5e5d9
add a summary table at the end of configure
...
Copied from the old autotools summary. Sample clipped from "meson setup":
```
Program python3 found: YES (/usr/bin/python3)
Configuring variables.sh using configuration
Message:
*Build options
enable debug ......................: true
enable deprecated .................: true
enable modules ....................: true
enable gtk-doc ....................: true
enable doxygen ....................: false
enable introspection ..............: true
enable RAD load/save ..............: true
enable Analyze7 load/save .........: true
enable PPM load/save ..............: true
enable GIF load ...................: true
*Optional external packages
use fftw for FFTs .................: true
accelerate loops with ORC .........: true
ICC profile support with lcms .....: true
zlib ..............................: true
text rendering with pangocairo ....: true
font file support with fontcongfig : true
EXIF metadata support with libexif : true
*External image format libraries
JPEG load/save with libjpeg .......: true
JXL load/save with libjxl .........: false
JPEG2000 load/save with openjpeg ..: true
PNG load/save with libspng ........: false
PNG load/save with libpng .........: true
selected quantisation package .....: imagequant
TIFF load/save with libtiff .......: true
image pyramid save with libgsf ....: true
HEIC/AVIF load/save with libheif ..: true
WebP load/save with libwebp .......: true
PDF load with PDFium ..............: false
PDF load with poppler-glib ........: true
SVG load with librsvg .............: true
EXR load/save with openexr ........: true
OpenSlide load ....................: true
Matlab load with libmatio .........: true
NIfTI load/save with niftiio ......: true
FITS load/save with cfitsio .......: true
GIF save with cgif ................: true
selected Magick package ...........: MagickCore
Magick load/save ..................: true
Build targets in project: 53
...
```
2022-07-23 12:51:09 +01:00
Kleis Auke Wolthuizen
fa6c034b32
Link the main library with -Wl,-z,nodelete
to prevent unloading ( #2934 )
...
See: https://github.com/libvips/php-vips-ext/pull/44
2022-07-20 10:20:09 +01:00
Kleis Auke Wolthuizen
a69e61a6d0
Meson: remove redundant --no-undefined
link argument ( #2918 )
...
This is already controlled by the `b_lundef` built-in option, which defaults to `true`.
2022-07-12 12:34:22 +01:00
Kleis Auke Wolthuizen
3bd0701604
Meson: improve dependency handling for nifticlib ( #2882 )
...
This allows users to build against nifticlib 2.0.0 with e.g.:
`-Dnifti-prefix-dir=/usr`
2022-06-20 15:47:57 +01:00
John Cupitt
dfeb270fe0
don't enable fatal-warnings in debug builds
...
too annoying to have it on all the time
2022-06-19 13:00:04 +01:00
Kleis Auke Wolthuizen
7553f60aed
Minor cleanups ( #2857 )
...
- Remove `HAVE_LCMS` definition in favor of `HAVE_LCMS2`.
- Remove `HAVE_WINDOWS_H` definition in favor of `G_OS_WIN32`.
- Remove stray `vips_text_get_type` in `conversion.c`.
- Remove duplicated `unistd.h` include.
- Remove redundant `strcasecmp` definition, we use `g_ascii_strcasecmp` everywhere.
- Remove unnecessary header checks in `configure.ac` and `meson.build`.
- Ensure `unistd.h` include is guarded with `HAVE_UNISTD_H`.
- Fail early when `-Dfontconfig=enabled` and `pangoft2` is not found.
2022-06-12 12:22:36 +01:00
John Cupitt
b74504b985
Merge branch 'master' of github.com:libvips/libvips
2022-06-12 11:08:47 +01:00
John Cupitt
687209e1cb
add some notes on getting nifti working
2022-06-12 10:41:02 +01:00
Kleis Auke Wolthuizen
296c263099
Meson: maintain autotools compatibility on macOS ( #2856 )
...
By setting the correct compatibility/current version.
2022-06-11 22:54:43 +01:00
Kleis Auke Wolthuizen
45a99238e2
text: use MT-safe pango_cairo_font_map_get_default
( #2848 )
...
* text: use MT-safe `pango_cairo_font_map_get_default`
* Increase minimum Pango version to v1.32.6 (released Jan 2013)
2022-06-08 16:06:45 +01:00
Kleis Auke Wolthuizen
5106e9b49e
text: ensure fontconfig cache of Pango is invalidated ( #2847 )
...
See: https://gitlab.gnome.org/GNOME/pango/-/issues/551
2022-06-08 15:20:19 +01:00
Kleis Auke Wolthuizen
85c24481be
svgload: recognize dimensions for SVGs without width/height ( #2817 )
...
Rather than defaulting to 1928x1080. Also, prefer to use the
`LIBRSVG_CHECK_VERSION` macro instead of our configure checks.
2022-05-23 10:39:53 +01:00
John Cupitt
5f82491d74
small configure improvements
...
- disable deprecated warnings for /deprecated
- detect librsvg rsvg_handle_get_intrinsic_size_in_pixels()
- tiny comment typo in meson.build
2022-05-16 14:45:53 +01:00
Kleis Auke Wolthuizen
9cbc361269
Allow to modify/create EXIF OffsetTime* tags ( #2796 )
...
Available since libexif 0.6.23.
2022-05-10 13:26:09 +01:00
Kleis Auke Wolthuizen
d91cfa4e53
Allow to modify/create EXIF 2.3 ASCII tags ( #2795 )
...
* Allow to modify/create EXIF 2.3 ASCII tags
Make `tag_is_ascii` aware of the EXIF 2.3 ASCII tags that are
available since libexif 0.6.22.
See: https://github.com/kleisauke/net-vips/issues/167
* Fix CI
2022-05-10 08:13:22 +01:00
John Cupitt
20fd8ac0fc
support rsvg_handle_get_intrinsic_size_in_pixels
...
librsvg 2.52+ has this new bit of API for finding the SVG dimensions
2022-04-28 13:01:17 +01:00
John Cupitt
94d8a7d993
tried (and failed) to build against ubuntu nifti
...
the ubuntu cmake dev files for nifti seem to be broken, and I can't get meson
to add the dependency manually
2022-04-18 15:13:55 +01:00
Kleis Auke Wolthuizen
07edfe37b1
Improve symbol visibility ( #2688 )
...
* Improve symbol visibility
* Decorate required internal symbols with VIPS_API
* Remove a couple of stray header decls
* Incorporate review comment
- Ensure symbol visibility is also set on static libraries.
- Prefer to use `cc.has_function_attribute('visibility:hidden')`.
* Don't export internal deprecated symbols
* Move deprecated symbols to vips7compat.h
* `IM_FORMAT_H` -> `VIPS_FORMAT_H`
* Move `vips_window_ref` compat stub to `vips7compat.c`
* Disable deprecation warnings internally
* `vips_image_get_kill` -> `vips_image_iskilled`
* Ensure API compatibility
* Add missing include directives
* Move `vips__init` decl to vips7compat
* Move `vips__get_sizeof_vipsobject` to vips7compat
* Fix introspection build
* Fix 2 introspection warnings
* Ensure compatibility with vipsdisp
/usr/bin/ld: tilesource.o: in function `tile_source_new_from_source':
vipsdisp/tilesource.c:1627: undefined reference to `vips__region_no_ownership'
2022-04-16 10:58:55 +01:00
Essem
d4eb2e82d2
cgifsave: Make loop counts more accurate ( #2709 )
...
* cgifsave: Added "noloop" option
* cgifsave: Change loop count logic
* make sure nsgifload returns the correct loop count
* Revert "make sure nsgifload returns the correct loop count"
This reverts commit 77550f097940944492d4178a783fc4e73c7a769f.
* Add fallback
2022-03-10 12:30:57 +00:00
Daniel Löbl
b0f993eec8
cgifsave: avoid size issue ( #2628 )
...
* cgifsave: avoid size issue
avoid size issue by restoring the original transparency setting after quantization/dithering
* switch to per-frame alpha channel
* add option for lossy transparency
* switch lossy transparency off by default
* switch to g_malloc instead of g_malloc0
no need to 0 initialize at this point
* adapt to libvips coding conventions
* cgifsave: avoid size issue
avoid size issue by restoring the original transparency setting after quantization/dithering
* switch to per-frame alpha channel
* add option for lossy transparency
* switch lossy transparency off by default
* switch to g_malloc instead of g_malloc0
no need to 0 initialize at this point
* adapt to libvips coding conventions
* switch to official Homebrew sources for installing cgif
* bump required cgif version to v0.2.0
2022-02-28 16:19:13 +00:00
Kleis Auke Wolthuizen
0337c09700
Cleanup gettext handling ( #2695 )
...
Use GLib's i18n support instead of copying and pasting that
logic into its own header. This deprecates the vips/intl.h
header in favour of glib/gi18n.h.
2022-02-27 15:27:28 +00:00
Kleis Auke Wolthuizen
dcfac75f06
Meson: ensure NIfTI can be found ( #2689 )
...
* Meson: ensure NIfTI can be found
* Incorporate review comment
2022-02-27 13:40:11 +00:00
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