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
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
Lovell Fuller
4ca4b07654
heifload: add unlimited option, default to false ( #2677 )
2022-02-23 10:34:07 +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
dc4b6c920b
make zlib into a top-level dependency
...
many packages need it, not just rsvg
2022-02-19 16:05:18 +00:00
John Cupitt
1be213052b
install our own meson
2022-02-18 10:36:50 +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
01a9947006
remove atexit use
...
too unreliable to be useful
2022-02-17 14:30:02 +00:00
John Cupitt
1862e7209e
add spngsave to meson build
2022-02-11 16:43:02 +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
7be11a1fd7
add support for -Dmagick-package
...
so meson can now build against graphicsmagick
2022-02-09 08:45:32 +00:00
Corentin Noël
02901436d4
Add meson build system ( #2637 )
...
Allows to use the Meson build system to build the project.
2022-02-08 15:19:36 +00:00