Commit b34352d80 for imagemagick.org
commit b34352d805c9a953aac1b5a393bf0bbf8c950c69
Author: Cristy <urban-warrior@imagemagick.org>
Date: Fri Aug 28 19:04:18 2026 -0400
initial framework for the c2pa coder
diff --git a/MagickCore/static.h b/MagickCore/static.h
index 50d35cc85..b549f17d5 100644
--- a/MagickCore/static.h
+++ b/MagickCore/static.h
@@ -51,6 +51,7 @@ extern ModuleExport size_t
RegisterCMYKImage(void),
RegisterCUBEImage(void),
RegisterCUTImage(void),
+ RegisterC2PAImage(void),
RegisterDCMImage(void),
RegisterDDSImage(void),
RegisterDEBUGImage(void),
@@ -198,6 +199,7 @@ extern ModuleExport void
UnregisterCMYKImage(void),
UnregisterCUBEImage(void),
UnregisterCUTImage(void),
+ UnregisterC2PAImage(void),
UnregisterDCMImage(void),
UnregisterDDSImage(void),
UnregisterDEBUGImage(void),
diff --git a/Makefile.in b/Makefile.in
index 45e6ef468..4ec85b7bc 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -539,18 +539,19 @@ am__MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_SOURC
coders/cip.c coders/cip.h coders/clipboard.h coders/clip.c \
coders/clip.h coders/cmyk.c coders/cmyk.h coders/coders.h \
coders/coders-list.h coders/coders-private.h coders/cube.c \
- coders/cube.h coders/cut.c coders/cut.h coders/dcm.c \
- coders/dcm.h coders/dds.c coders/dds.h coders/debug.c \
- coders/debug.h coders/dib.c coders/dib.h coders/djvu.h \
- coders/dng.c coders/dng.h coders/dot.c coders/dot.h \
- coders/dps.h coders/dpx.c coders/dpx.h coders/emf.h \
- coders/ept.h coders/exr.h coders/farbfeld.c coders/farbfeld.h \
- coders/fax.c coders/fax.h coders/fits.c coders/fits.h \
- coders/fl32.c coders/fl32.h coders/flif.h coders/fpx.h \
- coders/ftxt.h coders/ftxt.c coders/ghostscript-private.h \
- coders/gif.c coders/gif.h coders/gradient.c coders/gradient.h \
- coders/gray.c coders/gray.h coders/hald.c coders/hald.h \
- coders/hdr.c coders/hdr.h coders/heic.h coders/histogram.c \
+ coders/cube.h coders/cut.c coders/cut.h coders/c2pa.c \
+ coders/c2pa.h coders/dcm.c coders/dcm.h coders/dds.c \
+ coders/dds.h coders/debug.c coders/debug.h coders/dib.c \
+ coders/dib.h coders/djvu.h coders/dng.c coders/dng.h \
+ coders/dot.c coders/dot.h coders/dps.h coders/dpx.c \
+ coders/dpx.h coders/emf.h coders/ept.h coders/exr.h \
+ coders/farbfeld.c coders/farbfeld.h coders/fax.c coders/fax.h \
+ coders/fits.c coders/fits.h coders/fl32.c coders/fl32.h \
+ coders/flif.h coders/fpx.h coders/ftxt.h coders/ftxt.c \
+ coders/ghostscript-private.h coders/gif.c coders/gif.h \
+ coders/gradient.c coders/gradient.h coders/gray.c \
+ coders/gray.h coders/hald.c coders/hald.h coders/hdr.c \
+ coders/hdr.h coders/heic.h coders/histogram.c \
coders/histogram.h coders/hrz.c coders/hrz.h coders/html.c \
coders/html.h coders/icon.c coders/icon.h coders/info.c \
coders/info.h coders/inline.c coders/inline.h coders/ipl.c \
@@ -738,6 +739,7 @@ am__objects_21 = coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_
coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cmyk.lo \
coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cube.lo \
coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cut.lo \
+ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.lo \
coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-dcm.lo \
coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-dds.lo \
coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-debug.lo \
@@ -967,6 +969,14 @@ coders_braille_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_CFLAGS) $(CFLAGS) $(coders_braille_la_LDFLAGS) $(LDFLAGS) \
-o $@
@WITH_MODULES_TRUE@am_coders_braille_la_rpath = -rpath $(codersdir)
+coders_c2pa_la_DEPENDENCIES = $(MAGICKCORE_LIBS)
+am_coders_c2pa_la_OBJECTS = coders/c2pa_la-c2pa.lo
+coders_c2pa_la_OBJECTS = $(am_coders_c2pa_la_OBJECTS)
+coders_c2pa_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(AM_CFLAGS) $(CFLAGS) $(coders_c2pa_la_LDFLAGS) $(LDFLAGS) -o \
+ $@
+@WITH_MODULES_TRUE@am_coders_c2pa_la_rpath = -rpath $(codersdir)
coders_cals_la_DEPENDENCIES = $(MAGICKCORE_LIBS) $(am__DEPENDENCIES_1)
am_coders_cals_la_OBJECTS = coders/cals_la-cals.lo
coders_cals_la_OBJECTS = $(am_coders_cals_la_OBJECTS)
@@ -2368,6 +2378,7 @@ am__depfiles_remade = ./$(DEPDIR)/dummy.Po \
coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-bgr.Plo \
coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-bmp.Plo \
coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-braille.Plo \
+ coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.Plo \
coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cals.Plo \
coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-caption.Plo \
coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cin.Plo \
@@ -2513,6 +2524,7 @@ am__depfiles_remade = ./$(DEPDIR)/dummy.Po \
coders/$(DEPDIR)/bgr_la-bgr.Plo \
coders/$(DEPDIR)/bmp_la-bmp.Plo \
coders/$(DEPDIR)/braille_la-braille.Plo \
+ coders/$(DEPDIR)/c2pa_la-c2pa.Plo \
coders/$(DEPDIR)/cals_la-cals.Plo \
coders/$(DEPDIR)/caption_la-caption.Plo \
coders/$(DEPDIR)/cin_la-cin.Plo \
@@ -2697,75 +2709,76 @@ SOURCES = $(Magick___lib_libMagick___@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_
$(coders_ase_la_SOURCES) $(coders_ashlar_la_SOURCES) \
$(coders_avs_la_SOURCES) $(coders_bayer_la_SOURCES) \
$(coders_bgr_la_SOURCES) $(coders_bmp_la_SOURCES) \
- $(coders_braille_la_SOURCES) $(coders_cals_la_SOURCES) \
- $(coders_caption_la_SOURCES) $(coders_cin_la_SOURCES) \
- $(coders_cip_la_SOURCES) $(coders_clip_la_SOURCES) \
- $(coders_clipboard_la_SOURCES) $(coders_cmyk_la_SOURCES) \
- $(coders_cube_la_SOURCES) $(coders_cut_la_SOURCES) \
- $(coders_dcm_la_SOURCES) $(coders_dds_la_SOURCES) \
- $(coders_debug_la_SOURCES) $(coders_dib_la_SOURCES) \
- $(coders_djvu_la_SOURCES) $(coders_dmr_la_SOURCES) \
- $(coders_dng_la_SOURCES) $(coders_dot_la_SOURCES) \
- $(coders_dps_la_SOURCES) $(coders_dpx_la_SOURCES) \
- $(coders_emf_la_SOURCES) $(coders_ept_la_SOURCES) \
- $(coders_exr_la_SOURCES) $(coders_farbfeld_la_SOURCES) \
- $(coders_fax_la_SOURCES) $(coders_fits_la_SOURCES) \
- $(coders_fl32_la_SOURCES) $(coders_flif_la_SOURCES) \
- $(coders_fpx_la_SOURCES) $(coders_ftxt_la_SOURCES) \
- $(coders_gif_la_SOURCES) $(coders_gradient_la_SOURCES) \
- $(coders_gray_la_SOURCES) $(coders_hald_la_SOURCES) \
- $(coders_hdr_la_SOURCES) $(coders_heic_la_SOURCES) \
- $(coders_histogram_la_SOURCES) $(coders_hrz_la_SOURCES) \
- $(coders_html_la_SOURCES) $(coders_icon_la_SOURCES) \
- $(coders_info_la_SOURCES) $(coders_inline_la_SOURCES) \
- $(coders_ipl_la_SOURCES) $(coders_jbig_la_SOURCES) \
- $(coders_jnx_la_SOURCES) $(coders_jp2_la_SOURCES) \
- $(coders_jpeg_la_SOURCES) $(coders_json_la_SOURCES) \
- $(coders_jxl_la_SOURCES) $(coders_kernel_la_SOURCES) \
- $(coders_label_la_SOURCES) $(coders_mac_la_SOURCES) \
- $(coders_magick_la_SOURCES) $(coders_map_la_SOURCES) \
- $(coders_mask_la_SOURCES) $(coders_mat_la_SOURCES) \
- $(coders_matte_la_SOURCES) $(coders_meta_la_SOURCES) \
- $(coders_miff_la_SOURCES) $(coders_mono_la_SOURCES) \
- $(coders_mpc_la_SOURCES) $(coders_mpr_la_SOURCES) \
- $(coders_msl_la_SOURCES) $(coders_mtv_la_SOURCES) \
- $(coders_mvg_la_SOURCES) $(coders_null_la_SOURCES) \
- $(coders_ora_la_SOURCES) $(coders_otb_la_SOURCES) \
- $(coders_palm_la_SOURCES) $(coders_pango_la_SOURCES) \
- $(coders_pattern_la_SOURCES) $(coders_pcd_la_SOURCES) \
- $(coders_pcl_la_SOURCES) $(coders_pcx_la_SOURCES) \
- $(coders_pdb_la_SOURCES) $(coders_pdf_la_SOURCES) \
- $(coders_pes_la_SOURCES) $(coders_pgx_la_SOURCES) \
- $(coders_pict_la_SOURCES) $(coders_pix_la_SOURCES) \
- $(coders_plasma_la_SOURCES) $(coders_png_la_SOURCES) \
- $(coders_pnm_la_SOURCES) $(coders_ps_la_SOURCES) \
- $(coders_ps2_la_SOURCES) $(coders_ps3_la_SOURCES) \
- $(coders_psd_la_SOURCES) $(coders_pwp_la_SOURCES) \
- $(coders_qoi_la_SOURCES) $(coders_raw_la_SOURCES) \
- $(coders_rgb_la_SOURCES) $(coders_rgf_la_SOURCES) \
- $(coders_rla_la_SOURCES) $(coders_rle_la_SOURCES) \
- $(coders_scr_la_SOURCES) $(coders_sct_la_SOURCES) \
- $(coders_sf3_la_SOURCES) $(coders_sfw_la_SOURCES) \
- $(coders_sgi_la_SOURCES) $(coders_sixel_la_SOURCES) \
- $(coders_stegano_la_SOURCES) $(coders_strimg_la_SOURCES) \
- $(coders_sun_la_SOURCES) $(coders_svg_la_SOURCES) \
- $(coders_tga_la_SOURCES) $(coders_thumbnail_la_SOURCES) \
- $(coders_tiff_la_SOURCES) $(coders_tile_la_SOURCES) \
- $(coders_tim_la_SOURCES) $(coders_tim2_la_SOURCES) \
- $(coders_ttf_la_SOURCES) $(coders_txt_la_SOURCES) \
- $(coders_uhdr_la_SOURCES) $(coders_uil_la_SOURCES) \
- $(coders_url_la_SOURCES) $(coders_uyvy_la_SOURCES) \
- $(coders_vicar_la_SOURCES) $(coders_vid_la_SOURCES) \
- $(coders_video_la_SOURCES) $(coders_viff_la_SOURCES) \
- $(coders_vips_la_SOURCES) $(coders_wbinfo_la_SOURCES) \
- $(coders_wbmp_la_SOURCES) $(coders_webp_la_SOURCES) \
- $(coders_wmf_la_SOURCES) $(coders_wpg_la_SOURCES) \
- $(coders_x_la_SOURCES) $(coders_xbm_la_SOURCES) \
- $(coders_xc_la_SOURCES) $(coders_xcf_la_SOURCES) \
- $(coders_xpm_la_SOURCES) $(coders_xps_la_SOURCES) \
- $(coders_xwd_la_SOURCES) $(coders_yaml_la_SOURCES) \
- $(coders_ycbcr_la_SOURCES) $(coders_yuv_la_SOURCES) \
- $(filters_analyze_la_SOURCES) $(Magick___demo_analyze_SOURCES) \
+ $(coders_braille_la_SOURCES) $(coders_c2pa_la_SOURCES) \
+ $(coders_cals_la_SOURCES) $(coders_caption_la_SOURCES) \
+ $(coders_cin_la_SOURCES) $(coders_cip_la_SOURCES) \
+ $(coders_clip_la_SOURCES) $(coders_clipboard_la_SOURCES) \
+ $(coders_cmyk_la_SOURCES) $(coders_cube_la_SOURCES) \
+ $(coders_cut_la_SOURCES) $(coders_dcm_la_SOURCES) \
+ $(coders_dds_la_SOURCES) $(coders_debug_la_SOURCES) \
+ $(coders_dib_la_SOURCES) $(coders_djvu_la_SOURCES) \
+ $(coders_dmr_la_SOURCES) $(coders_dng_la_SOURCES) \
+ $(coders_dot_la_SOURCES) $(coders_dps_la_SOURCES) \
+ $(coders_dpx_la_SOURCES) $(coders_emf_la_SOURCES) \
+ $(coders_ept_la_SOURCES) $(coders_exr_la_SOURCES) \
+ $(coders_farbfeld_la_SOURCES) $(coders_fax_la_SOURCES) \
+ $(coders_fits_la_SOURCES) $(coders_fl32_la_SOURCES) \
+ $(coders_flif_la_SOURCES) $(coders_fpx_la_SOURCES) \
+ $(coders_ftxt_la_SOURCES) $(coders_gif_la_SOURCES) \
+ $(coders_gradient_la_SOURCES) $(coders_gray_la_SOURCES) \
+ $(coders_hald_la_SOURCES) $(coders_hdr_la_SOURCES) \
+ $(coders_heic_la_SOURCES) $(coders_histogram_la_SOURCES) \
+ $(coders_hrz_la_SOURCES) $(coders_html_la_SOURCES) \
+ $(coders_icon_la_SOURCES) $(coders_info_la_SOURCES) \
+ $(coders_inline_la_SOURCES) $(coders_ipl_la_SOURCES) \
+ $(coders_jbig_la_SOURCES) $(coders_jnx_la_SOURCES) \
+ $(coders_jp2_la_SOURCES) $(coders_jpeg_la_SOURCES) \
+ $(coders_json_la_SOURCES) $(coders_jxl_la_SOURCES) \
+ $(coders_kernel_la_SOURCES) $(coders_label_la_SOURCES) \
+ $(coders_mac_la_SOURCES) $(coders_magick_la_SOURCES) \
+ $(coders_map_la_SOURCES) $(coders_mask_la_SOURCES) \
+ $(coders_mat_la_SOURCES) $(coders_matte_la_SOURCES) \
+ $(coders_meta_la_SOURCES) $(coders_miff_la_SOURCES) \
+ $(coders_mono_la_SOURCES) $(coders_mpc_la_SOURCES) \
+ $(coders_mpr_la_SOURCES) $(coders_msl_la_SOURCES) \
+ $(coders_mtv_la_SOURCES) $(coders_mvg_la_SOURCES) \
+ $(coders_null_la_SOURCES) $(coders_ora_la_SOURCES) \
+ $(coders_otb_la_SOURCES) $(coders_palm_la_SOURCES) \
+ $(coders_pango_la_SOURCES) $(coders_pattern_la_SOURCES) \
+ $(coders_pcd_la_SOURCES) $(coders_pcl_la_SOURCES) \
+ $(coders_pcx_la_SOURCES) $(coders_pdb_la_SOURCES) \
+ $(coders_pdf_la_SOURCES) $(coders_pes_la_SOURCES) \
+ $(coders_pgx_la_SOURCES) $(coders_pict_la_SOURCES) \
+ $(coders_pix_la_SOURCES) $(coders_plasma_la_SOURCES) \
+ $(coders_png_la_SOURCES) $(coders_pnm_la_SOURCES) \
+ $(coders_ps_la_SOURCES) $(coders_ps2_la_SOURCES) \
+ $(coders_ps3_la_SOURCES) $(coders_psd_la_SOURCES) \
+ $(coders_pwp_la_SOURCES) $(coders_qoi_la_SOURCES) \
+ $(coders_raw_la_SOURCES) $(coders_rgb_la_SOURCES) \
+ $(coders_rgf_la_SOURCES) $(coders_rla_la_SOURCES) \
+ $(coders_rle_la_SOURCES) $(coders_scr_la_SOURCES) \
+ $(coders_sct_la_SOURCES) $(coders_sf3_la_SOURCES) \
+ $(coders_sfw_la_SOURCES) $(coders_sgi_la_SOURCES) \
+ $(coders_sixel_la_SOURCES) $(coders_stegano_la_SOURCES) \
+ $(coders_strimg_la_SOURCES) $(coders_sun_la_SOURCES) \
+ $(coders_svg_la_SOURCES) $(coders_tga_la_SOURCES) \
+ $(coders_thumbnail_la_SOURCES) $(coders_tiff_la_SOURCES) \
+ $(coders_tile_la_SOURCES) $(coders_tim_la_SOURCES) \
+ $(coders_tim2_la_SOURCES) $(coders_ttf_la_SOURCES) \
+ $(coders_txt_la_SOURCES) $(coders_uhdr_la_SOURCES) \
+ $(coders_uil_la_SOURCES) $(coders_url_la_SOURCES) \
+ $(coders_uyvy_la_SOURCES) $(coders_vicar_la_SOURCES) \
+ $(coders_vid_la_SOURCES) $(coders_video_la_SOURCES) \
+ $(coders_viff_la_SOURCES) $(coders_vips_la_SOURCES) \
+ $(coders_wbinfo_la_SOURCES) $(coders_wbmp_la_SOURCES) \
+ $(coders_webp_la_SOURCES) $(coders_wmf_la_SOURCES) \
+ $(coders_wpg_la_SOURCES) $(coders_x_la_SOURCES) \
+ $(coders_xbm_la_SOURCES) $(coders_xc_la_SOURCES) \
+ $(coders_xcf_la_SOURCES) $(coders_xpm_la_SOURCES) \
+ $(coders_xps_la_SOURCES) $(coders_xwd_la_SOURCES) \
+ $(coders_yaml_la_SOURCES) $(coders_ycbcr_la_SOURCES) \
+ $(coders_yuv_la_SOURCES) $(filters_analyze_la_SOURCES) \
+ $(Magick___demo_analyze_SOURCES) \
$(Magick___demo_button_SOURCES) $(Magick___demo_demo_SOURCES) \
$(Magick___demo_detrans_SOURCES) $(Magick___demo_flip_SOURCES) \
$(Magick___demo_gravity_SOURCES) \
@@ -2794,75 +2807,76 @@ DIST_SOURCES = $(Magick___lib_libMagick___@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUF
$(coders_ase_la_SOURCES) $(coders_ashlar_la_SOURCES) \
$(coders_avs_la_SOURCES) $(coders_bayer_la_SOURCES) \
$(coders_bgr_la_SOURCES) $(coders_bmp_la_SOURCES) \
- $(coders_braille_la_SOURCES) $(coders_cals_la_SOURCES) \
- $(coders_caption_la_SOURCES) $(coders_cin_la_SOURCES) \
- $(coders_cip_la_SOURCES) $(coders_clip_la_SOURCES) \
- $(coders_clipboard_la_SOURCES) $(coders_cmyk_la_SOURCES) \
- $(coders_cube_la_SOURCES) $(coders_cut_la_SOURCES) \
- $(coders_dcm_la_SOURCES) $(coders_dds_la_SOURCES) \
- $(coders_debug_la_SOURCES) $(coders_dib_la_SOURCES) \
- $(coders_djvu_la_SOURCES) $(coders_dmr_la_SOURCES) \
- $(coders_dng_la_SOURCES) $(coders_dot_la_SOURCES) \
- $(coders_dps_la_SOURCES) $(coders_dpx_la_SOURCES) \
- $(coders_emf_la_SOURCES) $(coders_ept_la_SOURCES) \
- $(coders_exr_la_SOURCES) $(coders_farbfeld_la_SOURCES) \
- $(coders_fax_la_SOURCES) $(coders_fits_la_SOURCES) \
- $(coders_fl32_la_SOURCES) $(coders_flif_la_SOURCES) \
- $(coders_fpx_la_SOURCES) $(coders_ftxt_la_SOURCES) \
- $(coders_gif_la_SOURCES) $(coders_gradient_la_SOURCES) \
- $(coders_gray_la_SOURCES) $(coders_hald_la_SOURCES) \
- $(coders_hdr_la_SOURCES) $(coders_heic_la_SOURCES) \
- $(coders_histogram_la_SOURCES) $(coders_hrz_la_SOURCES) \
- $(coders_html_la_SOURCES) $(coders_icon_la_SOURCES) \
- $(coders_info_la_SOURCES) $(coders_inline_la_SOURCES) \
- $(coders_ipl_la_SOURCES) $(coders_jbig_la_SOURCES) \
- $(coders_jnx_la_SOURCES) $(coders_jp2_la_SOURCES) \
- $(coders_jpeg_la_SOURCES) $(coders_json_la_SOURCES) \
- $(coders_jxl_la_SOURCES) $(coders_kernel_la_SOURCES) \
- $(coders_label_la_SOURCES) $(coders_mac_la_SOURCES) \
- $(coders_magick_la_SOURCES) $(coders_map_la_SOURCES) \
- $(coders_mask_la_SOURCES) $(coders_mat_la_SOURCES) \
- $(coders_matte_la_SOURCES) $(coders_meta_la_SOURCES) \
- $(coders_miff_la_SOURCES) $(coders_mono_la_SOURCES) \
- $(coders_mpc_la_SOURCES) $(coders_mpr_la_SOURCES) \
- $(coders_msl_la_SOURCES) $(coders_mtv_la_SOURCES) \
- $(coders_mvg_la_SOURCES) $(coders_null_la_SOURCES) \
- $(coders_ora_la_SOURCES) $(coders_otb_la_SOURCES) \
- $(coders_palm_la_SOURCES) $(coders_pango_la_SOURCES) \
- $(coders_pattern_la_SOURCES) $(coders_pcd_la_SOURCES) \
- $(coders_pcl_la_SOURCES) $(coders_pcx_la_SOURCES) \
- $(coders_pdb_la_SOURCES) $(coders_pdf_la_SOURCES) \
- $(coders_pes_la_SOURCES) $(coders_pgx_la_SOURCES) \
- $(coders_pict_la_SOURCES) $(coders_pix_la_SOURCES) \
- $(coders_plasma_la_SOURCES) $(coders_png_la_SOURCES) \
- $(coders_pnm_la_SOURCES) $(coders_ps_la_SOURCES) \
- $(coders_ps2_la_SOURCES) $(coders_ps3_la_SOURCES) \
- $(coders_psd_la_SOURCES) $(coders_pwp_la_SOURCES) \
- $(coders_qoi_la_SOURCES) $(coders_raw_la_SOURCES) \
- $(coders_rgb_la_SOURCES) $(coders_rgf_la_SOURCES) \
- $(coders_rla_la_SOURCES) $(coders_rle_la_SOURCES) \
- $(coders_scr_la_SOURCES) $(coders_sct_la_SOURCES) \
- $(coders_sf3_la_SOURCES) $(coders_sfw_la_SOURCES) \
- $(coders_sgi_la_SOURCES) $(coders_sixel_la_SOURCES) \
- $(coders_stegano_la_SOURCES) $(coders_strimg_la_SOURCES) \
- $(coders_sun_la_SOURCES) $(coders_svg_la_SOURCES) \
- $(coders_tga_la_SOURCES) $(coders_thumbnail_la_SOURCES) \
- $(coders_tiff_la_SOURCES) $(coders_tile_la_SOURCES) \
- $(coders_tim_la_SOURCES) $(coders_tim2_la_SOURCES) \
- $(coders_ttf_la_SOURCES) $(coders_txt_la_SOURCES) \
- $(coders_uhdr_la_SOURCES) $(coders_uil_la_SOURCES) \
- $(coders_url_la_SOURCES) $(coders_uyvy_la_SOURCES) \
- $(coders_vicar_la_SOURCES) $(coders_vid_la_SOURCES) \
- $(coders_video_la_SOURCES) $(coders_viff_la_SOURCES) \
- $(coders_vips_la_SOURCES) $(coders_wbinfo_la_SOURCES) \
- $(coders_wbmp_la_SOURCES) $(coders_webp_la_SOURCES) \
- $(coders_wmf_la_SOURCES) $(coders_wpg_la_SOURCES) \
- $(coders_x_la_SOURCES) $(coders_xbm_la_SOURCES) \
- $(coders_xc_la_SOURCES) $(coders_xcf_la_SOURCES) \
- $(coders_xpm_la_SOURCES) $(coders_xps_la_SOURCES) \
- $(coders_xwd_la_SOURCES) $(coders_yaml_la_SOURCES) \
- $(coders_ycbcr_la_SOURCES) $(coders_yuv_la_SOURCES) \
- $(filters_analyze_la_SOURCES) $(Magick___demo_analyze_SOURCES) \
+ $(coders_braille_la_SOURCES) $(coders_c2pa_la_SOURCES) \
+ $(coders_cals_la_SOURCES) $(coders_caption_la_SOURCES) \
+ $(coders_cin_la_SOURCES) $(coders_cip_la_SOURCES) \
+ $(coders_clip_la_SOURCES) $(coders_clipboard_la_SOURCES) \
+ $(coders_cmyk_la_SOURCES) $(coders_cube_la_SOURCES) \
+ $(coders_cut_la_SOURCES) $(coders_dcm_la_SOURCES) \
+ $(coders_dds_la_SOURCES) $(coders_debug_la_SOURCES) \
+ $(coders_dib_la_SOURCES) $(coders_djvu_la_SOURCES) \
+ $(coders_dmr_la_SOURCES) $(coders_dng_la_SOURCES) \
+ $(coders_dot_la_SOURCES) $(coders_dps_la_SOURCES) \
+ $(coders_dpx_la_SOURCES) $(coders_emf_la_SOURCES) \
+ $(coders_ept_la_SOURCES) $(coders_exr_la_SOURCES) \
+ $(coders_farbfeld_la_SOURCES) $(coders_fax_la_SOURCES) \
+ $(coders_fits_la_SOURCES) $(coders_fl32_la_SOURCES) \
+ $(coders_flif_la_SOURCES) $(coders_fpx_la_SOURCES) \
+ $(coders_ftxt_la_SOURCES) $(coders_gif_la_SOURCES) \
+ $(coders_gradient_la_SOURCES) $(coders_gray_la_SOURCES) \
+ $(coders_hald_la_SOURCES) $(coders_hdr_la_SOURCES) \
+ $(coders_heic_la_SOURCES) $(coders_histogram_la_SOURCES) \
+ $(coders_hrz_la_SOURCES) $(coders_html_la_SOURCES) \
+ $(coders_icon_la_SOURCES) $(coders_info_la_SOURCES) \
+ $(coders_inline_la_SOURCES) $(coders_ipl_la_SOURCES) \
+ $(coders_jbig_la_SOURCES) $(coders_jnx_la_SOURCES) \
+ $(coders_jp2_la_SOURCES) $(coders_jpeg_la_SOURCES) \
+ $(coders_json_la_SOURCES) $(coders_jxl_la_SOURCES) \
+ $(coders_kernel_la_SOURCES) $(coders_label_la_SOURCES) \
+ $(coders_mac_la_SOURCES) $(coders_magick_la_SOURCES) \
+ $(coders_map_la_SOURCES) $(coders_mask_la_SOURCES) \
+ $(coders_mat_la_SOURCES) $(coders_matte_la_SOURCES) \
+ $(coders_meta_la_SOURCES) $(coders_miff_la_SOURCES) \
+ $(coders_mono_la_SOURCES) $(coders_mpc_la_SOURCES) \
+ $(coders_mpr_la_SOURCES) $(coders_msl_la_SOURCES) \
+ $(coders_mtv_la_SOURCES) $(coders_mvg_la_SOURCES) \
+ $(coders_null_la_SOURCES) $(coders_ora_la_SOURCES) \
+ $(coders_otb_la_SOURCES) $(coders_palm_la_SOURCES) \
+ $(coders_pango_la_SOURCES) $(coders_pattern_la_SOURCES) \
+ $(coders_pcd_la_SOURCES) $(coders_pcl_la_SOURCES) \
+ $(coders_pcx_la_SOURCES) $(coders_pdb_la_SOURCES) \
+ $(coders_pdf_la_SOURCES) $(coders_pes_la_SOURCES) \
+ $(coders_pgx_la_SOURCES) $(coders_pict_la_SOURCES) \
+ $(coders_pix_la_SOURCES) $(coders_plasma_la_SOURCES) \
+ $(coders_png_la_SOURCES) $(coders_pnm_la_SOURCES) \
+ $(coders_ps_la_SOURCES) $(coders_ps2_la_SOURCES) \
+ $(coders_ps3_la_SOURCES) $(coders_psd_la_SOURCES) \
+ $(coders_pwp_la_SOURCES) $(coders_qoi_la_SOURCES) \
+ $(coders_raw_la_SOURCES) $(coders_rgb_la_SOURCES) \
+ $(coders_rgf_la_SOURCES) $(coders_rla_la_SOURCES) \
+ $(coders_rle_la_SOURCES) $(coders_scr_la_SOURCES) \
+ $(coders_sct_la_SOURCES) $(coders_sf3_la_SOURCES) \
+ $(coders_sfw_la_SOURCES) $(coders_sgi_la_SOURCES) \
+ $(coders_sixel_la_SOURCES) $(coders_stegano_la_SOURCES) \
+ $(coders_strimg_la_SOURCES) $(coders_sun_la_SOURCES) \
+ $(coders_svg_la_SOURCES) $(coders_tga_la_SOURCES) \
+ $(coders_thumbnail_la_SOURCES) $(coders_tiff_la_SOURCES) \
+ $(coders_tile_la_SOURCES) $(coders_tim_la_SOURCES) \
+ $(coders_tim2_la_SOURCES) $(coders_ttf_la_SOURCES) \
+ $(coders_txt_la_SOURCES) $(coders_uhdr_la_SOURCES) \
+ $(coders_uil_la_SOURCES) $(coders_url_la_SOURCES) \
+ $(coders_uyvy_la_SOURCES) $(coders_vicar_la_SOURCES) \
+ $(coders_vid_la_SOURCES) $(coders_video_la_SOURCES) \
+ $(coders_viff_la_SOURCES) $(coders_vips_la_SOURCES) \
+ $(coders_wbinfo_la_SOURCES) $(coders_wbmp_la_SOURCES) \
+ $(coders_webp_la_SOURCES) $(coders_wmf_la_SOURCES) \
+ $(coders_wpg_la_SOURCES) $(coders_x_la_SOURCES) \
+ $(coders_xbm_la_SOURCES) $(coders_xc_la_SOURCES) \
+ $(coders_xcf_la_SOURCES) $(coders_xpm_la_SOURCES) \
+ $(coders_xps_la_SOURCES) $(coders_xwd_la_SOURCES) \
+ $(coders_yaml_la_SOURCES) $(coders_ycbcr_la_SOURCES) \
+ $(coders_yuv_la_SOURCES) $(filters_analyze_la_SOURCES) \
+ $(Magick___demo_analyze_SOURCES) \
$(Magick___demo_button_SOURCES) $(Magick___demo_demo_SOURCES) \
$(Magick___demo_detrans_SOURCES) $(Magick___demo_flip_SOURCES) \
$(Magick___demo_gravity_SOURCES) \
@@ -3218,6 +3232,8 @@ BZLIB_CFLAGS = @BZLIB_CFLAGS@
BZLIB_LIBS = @BZLIB_LIBS@
BlenderDecodeDelegate = @BlenderDecodeDelegate@
BrowseDelegate = @BrowseDelegate@
+C2PADecodeDelegate = @C2PADecodeDelegate@
+C2PAEncodeDelegate = @C2PAEncodeDelegate@
CAIRO_SVG_CFLAGS = @CAIRO_SVG_CFLAGS@
CAIRO_SVG_LIBS = @CAIRO_SVG_LIBS@
CC = @CC@
@@ -3879,6 +3895,8 @@ MAGICKCORE_CODER_SRCS = \
coders/cube.h \
coders/cut.c \
coders/cut.h \
+ coders/c2pa.c \
+ coders/c2pa.h \
coders/dcm.c \
coders/dcm.h \
coders/dds.c \
@@ -4157,6 +4175,7 @@ CODERS_NOINST_HDRS = \
coders/coders-private.h \
coders/cube.h \
coders/cut.h \
+ coders/c2pa.h \
coders/dcm.h \
coders/dds.h \
coders/debug.h \
@@ -4305,6 +4324,7 @@ CODERS_NOINST_HDRS = \
@WITH_MODULES_TRUE@ coders/cmyk.la \
@WITH_MODULES_TRUE@ coders/cube.la \
@WITH_MODULES_TRUE@ coders/cut.la \
+@WITH_MODULES_TRUE@ coders/c2pa.la \
@WITH_MODULES_TRUE@ coders/dcm.la \
@WITH_MODULES_TRUE@ coders/dds.la \
@WITH_MODULES_TRUE@ coders/debug.la \
@@ -4539,6 +4559,12 @@ coders_cut_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS)
coders_cut_la_LDFLAGS = $(MODULECOMMONFLAGS)
coders_cut_la_LIBADD = $(MAGICKCORE_LIBS)
+# C2PA coder module
+coders_c2pa_la_SOURCES = coders/c2pa.c
+coders_c2pa_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS)
+coders_c2pa_la_LDFLAGS = $(MODULECOMMONFLAGS)
+coders_c2pa_la_LIBADD = $(MAGICKCORE_LIBS)
+
# DCM coder module
coders_dcm_la_SOURCES = coders/dcm.c
coders_dcm_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS)
@@ -6262,6 +6288,7 @@ TESTS_EXTRA_DIST = \
tests/common.shi \
tests/rose.pnm \
tests/input_svg_gradient_transform.svg \
+ tests/input_svg_inline_style.svg \
tests/input_256c.miff \
tests/input_bilevel.miff \
tests/input_gray.miff \
@@ -7046,6 +7073,8 @@ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cu
coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp)
coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cut.lo: \
coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp)
+coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.lo: \
+ coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp)
coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-dcm.lo: \
coders/$(am__dirstamp) coders/$(DEPDIR)/$(am__dirstamp)
coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-dds.lo: \
@@ -7436,6 +7465,11 @@ coders/braille_la-braille.lo: coders/$(am__dirstamp) \
coders/braille.la: $(coders_braille_la_OBJECTS) $(coders_braille_la_DEPENDENCIES) $(EXTRA_coders_braille_la_DEPENDENCIES) coders/$(am__dirstamp)
$(AM_V_CCLD)$(coders_braille_la_LINK) $(am_coders_braille_la_rpath) $(coders_braille_la_OBJECTS) $(coders_braille_la_LIBADD) $(LIBS)
+coders/c2pa_la-c2pa.lo: coders/$(am__dirstamp) \
+ coders/$(DEPDIR)/$(am__dirstamp)
+
+coders/c2pa.la: $(coders_c2pa_la_OBJECTS) $(coders_c2pa_la_DEPENDENCIES) $(EXTRA_coders_c2pa_la_DEPENDENCIES) coders/$(am__dirstamp)
+ $(AM_V_CCLD)$(coders_c2pa_la_LINK) $(am_coders_c2pa_la_rpath) $(coders_c2pa_la_OBJECTS) $(coders_c2pa_la_LIBADD) $(LIBS)
coders/cals_la-cals.lo: coders/$(am__dirstamp) \
coders/$(DEPDIR)/$(am__dirstamp)
@@ -8537,6 +8571,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-bgr.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-bmp.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-braille.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cals.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-caption.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cin.Plo@am__quote@ # am--include-marker
@@ -8682,6 +8717,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/bgr_la-bgr.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/bmp_la-bmp.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/braille_la-braille.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/c2pa_la-c2pa.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/cals_la-cals.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/caption_la-caption.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@coders/$(DEPDIR)/cin_la-cin.Plo@am__quote@ # am--include-marker
@@ -9632,6 +9668,13 @@ coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cu
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cut.lo `test -f 'coders/cut.c' || echo '$(srcdir)/'`coders/cut.c
+coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.lo: coders/c2pa.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.lo -MD -MP -MF coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.Tpo -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.lo `test -f 'coders/c2pa.c' || echo '$(srcdir)/'`coders/c2pa.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.Tpo coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coders/c2pa.c' object='coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.lo `test -f 'coders/c2pa.c' || echo '$(srcdir)/'`coders/c2pa.c
+
coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-dcm.lo: coders/dcm.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-dcm.lo -MD -MP -MF coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-dcm.Tpo -c -o coders/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-dcm.lo `test -f 'coders/dcm.c' || echo '$(srcdir)/'`coders/dcm.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-dcm.Tpo coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-dcm.Plo
@@ -10759,6 +10802,13 @@ coders/braille_la-braille.lo: coders/braille.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_braille_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/braille_la-braille.lo `test -f 'coders/braille.c' || echo '$(srcdir)/'`coders/braille.c
+coders/c2pa_la-c2pa.lo: coders/c2pa.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_c2pa_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/c2pa_la-c2pa.lo -MD -MP -MF coders/$(DEPDIR)/c2pa_la-c2pa.Tpo -c -o coders/c2pa_la-c2pa.lo `test -f 'coders/c2pa.c' || echo '$(srcdir)/'`coders/c2pa.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/c2pa_la-c2pa.Tpo coders/$(DEPDIR)/c2pa_la-c2pa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coders/c2pa.c' object='coders/c2pa_la-c2pa.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_c2pa_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o coders/c2pa_la-c2pa.lo `test -f 'coders/c2pa.c' || echo '$(srcdir)/'`coders/c2pa.c
+
coders/cals_la-cals.lo: coders/cals.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(coders_cals_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT coders/cals_la-cals.lo -MD -MP -MF coders/$(DEPDIR)/cals_la-cals.Tpo -c -o coders/cals_la-cals.lo `test -f 'coders/cals.c' || echo '$(srcdir)/'`coders/cals.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) coders/$(DEPDIR)/cals_la-cals.Tpo coders/$(DEPDIR)/cals_la-cals.Plo
@@ -13227,6 +13277,7 @@ distclean: distclean-am
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-bgr.Plo
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-bmp.Plo
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-braille.Plo
+ -rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.Plo
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cals.Plo
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-caption.Plo
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cin.Plo
@@ -13372,6 +13423,7 @@ distclean: distclean-am
-rm -f coders/$(DEPDIR)/bgr_la-bgr.Plo
-rm -f coders/$(DEPDIR)/bmp_la-bmp.Plo
-rm -f coders/$(DEPDIR)/braille_la-braille.Plo
+ -rm -f coders/$(DEPDIR)/c2pa_la-c2pa.Plo
-rm -f coders/$(DEPDIR)/cals_la-cals.Plo
-rm -f coders/$(DEPDIR)/caption_la-caption.Plo
-rm -f coders/$(DEPDIR)/cin_la-cin.Plo
@@ -13737,6 +13789,7 @@ maintainer-clean: maintainer-clean-am
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-bgr.Plo
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-bmp.Plo
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-braille.Plo
+ -rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-c2pa.Plo
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cals.Plo
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-caption.Plo
-rm -f coders/$(DEPDIR)/MagickCore_libMagickCore_@MAGICK_MAJOR_VERSION@_@MAGICK_ABI_SUFFIX@_la-cin.Plo
@@ -13882,6 +13935,7 @@ maintainer-clean: maintainer-clean-am
-rm -f coders/$(DEPDIR)/bgr_la-bgr.Plo
-rm -f coders/$(DEPDIR)/bmp_la-bmp.Plo
-rm -f coders/$(DEPDIR)/braille_la-braille.Plo
+ -rm -f coders/$(DEPDIR)/c2pa_la-c2pa.Plo
-rm -f coders/$(DEPDIR)/cals_la-cals.Plo
-rm -f coders/$(DEPDIR)/caption_la-caption.Plo
-rm -f coders/$(DEPDIR)/cin_la-cin.Plo
diff --git a/coders/Makefile.am b/coders/Makefile.am
index 2bee11ad6..6da57f495 100644
--- a/coders/Makefile.am
+++ b/coders/Makefile.am
@@ -151,6 +151,8 @@ MAGICKCORE_CODER_SRCS = \
coders/cube.h \
coders/cut.c \
coders/cut.h \
+ coders/c2pa.c \
+ coders/c2pa.h \
coders/dcm.c \
coders/dcm.h \
coders/dds.c \
@@ -429,6 +431,7 @@ CODERS_NOINST_HDRS = \
coders/coders-private.h \
coders/cube.h \
coders/cut.h \
+ coders/c2pa.h \
coders/dcm.h \
coders/dds.h \
coders/debug.h \
@@ -577,6 +580,7 @@ coders_LTLIBRARIES = \
coders/cmyk.la \
coders/cube.la \
coders/cut.la \
+ coders/c2pa.la \
coders/dcm.la \
coders/dds.la \
coders/debug.la \
@@ -813,6 +817,12 @@ coders_cut_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS)
coders_cut_la_LDFLAGS = $(MODULECOMMONFLAGS)
coders_cut_la_LIBADD = $(MAGICKCORE_LIBS)
+# C2PA coder module
+coders_c2pa_la_SOURCES = coders/c2pa.c
+coders_c2pa_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS)
+coders_c2pa_la_LDFLAGS = $(MODULECOMMONFLAGS)
+coders_c2pa_la_LIBADD = $(MAGICKCORE_LIBS)
+
# DCM coder module
coders_dcm_la_SOURCES = coders/dcm.c
coders_dcm_la_CPPFLAGS = $(MAGICK_CODER_CPPFLAGS)
diff --git a/coders/coders-list.h b/coders/coders-list.h
index c9d03245c..5d75e0a57 100644
--- a/coders/coders-list.h
+++ b/coders/coders-list.h
@@ -36,6 +36,7 @@ AddMagickCoder(CLIP)
AddMagickCoder(CMYK)
AddMagickCoder(CUBE)
AddMagickCoder(CUT)
+AddMagickCoder(C2PA)
AddMagickCoder(DCM)
AddMagickCoder(DDS)
AddMagickCoder(DEBUG)
diff --git a/coders/coders.h b/coders/coders.h
index f873c9170..1ca7d3bc6 100644
--- a/coders/coders.h
+++ b/coders/coders.h
@@ -39,6 +39,7 @@
#include "coders/cmyk.h"
#include "coders/cube.h"
#include "coders/cut.h"
+#include "coders/c2pa.h"
#include "coders/dcm.h"
#include "coders/dds.h"
#include "coders/debug.h"
diff --git a/config/delegates.xml.in b/config/delegates.xml.in
index 4fc4095a2..fa84a7cb5 100644
--- a/config/delegates.xml.in
+++ b/config/delegates.xml.in
@@ -62,6 +62,8 @@
<delegate decode="bpg" command="@SHELL_QUOTE@@BPGDecodeDelegate@@SHELL_QUOTE@ -b 16 -o @SHELL_QUOTE@%o@SHELL_QUOTE@ @SHELL_QUOTE@%i@SHELL_QUOTE@"/>
<delegate decode="png" encode="bpg" command="@SHELL_QUOTE@@BPGEncodeDelegate@@SHELL_QUOTE@ -b 12 -q @SHELL_QUOTE@%~@SHELL_QUOTE@ -o @SHELL_QUOTE@%o@SHELL_QUOTE@ @SHELL_QUOTE@%i@SHELL_QUOTE@"/>
<delegate decode="blender" command="@SHELL_QUOTE@@BlenderDecodeDelegate@@SHELL_QUOTE@ -b @SHELL_QUOTE@%i@SHELL_QUOTE@ -F PNG -o @SHELL_QUOTE@%o@SHELL_QUOTE@@SHELL_QUOTE@\n@SHELL_QUOTE@@ConvertDelegate@@SHELL_QUOTE@ -concatenate @SHELL_QUOTE@%o*.png@SHELL_QUOTE@ @SHELL_QUOTE@%o@SHELL_QUOTE@"/>
+ <delegate decode="c2pa:decode" command="@SHELL_QUOTE@@C2PADecodeDelegate@@SHELL_QUOTE@ @SHELL_QUOTE@%i@SHELL_QUOTE@ --output @SHELL_QUOTE@%o@SHELL_QUOTE@"/>
+ <delegate encode="c2pa:encode" command="env C2PA_PRIVATE_KEY=%[c2pa:key] C2PA_PASSWORD=%[c2pa:password] C2PA_CERT_CHAIN=%[c2pa:cert] @SHELL_QUOTE@@C2PAEncodeDelegate@@SHELL_QUOTE@ @SHELL_QUOTE@%i@SHELL_QUOTE@ --manifest @SHELL_QUOTE@%[c2pa:manifest]@SHELL_QUOTE@ --output @SHELL_QUOTE@%o@SHELL_QUOTE@"/>
<delegate decode="browse" stealth="True" spawn="True" command="@SHELL_QUOTE@@BrowseDelegate@@SHELL_QUOTE@ https://imagemagick.org/; @RMDelegate@ @SHELL_QUOTE@%i@SHELL_QUOTE@"/>
<delegate decode="http:decode" command="@SHELL_QUOTE@@WWWDecodeDelegate@@SHELL_QUOTE@ -s -L -o @SHELL_QUOTE@%u.dat@SHELL_QUOTE@ @SHELL_QUOTE@http:%M@SHELL_QUOTE@"/>
<delegate decode="https:decode" command="@SHELL_QUOTE@@WWWDecodeDelegate@@SHELL_QUOTE@ -s -L -o @SHELL_QUOTE@%u.dat@SHELL_QUOTE@ @SHELL_QUOTE@https:%M@SHELL_QUOTE@"/>
diff --git a/configure b/configure
index 16ca17c3b..cab4112fa 100755
--- a/configure
+++ b/configure
@@ -748,6 +748,8 @@ ConvertDelegate
DVIDecodeDelegate
DOCDecodeDelegate
DNGDecodeDelegate
+C2PAEncodeDelegate
+C2PADecodeDelegate
ClipboardDelegate
BrowseDelegate
BlenderDecodeDelegate
@@ -4104,8 +4106,8 @@ ac_cxx_conftest_cxx11_main='
}
{
// Unicode literals
- char const *utf8 = u8"UTF-8 string \u2500";
- char16_t const *utf16 = u"UTF-8 string \u2500";
+ auto const *utf8 = u8"UTF-8 string \u2500";
+ char16_t const *utf16 = u"UTF-16 string \u2500";
char32_t const *utf32 = U"UTF-32 string \u2500";
}
'
@@ -5389,7 +5391,7 @@ MAGICK_PATCHLEVEL_VERSION=31
MAGICK_VERSION=7.1.2-31
-MAGICK_GIT_REVISION=344e9056f:20260823
+MAGICK_GIT_REVISION=d779ac52f:20260828
# Substitute library versioning
@@ -5423,7 +5425,7 @@ PACKAGE_LIB_VERSION=0x712
PACKAGE_LIB_VERSION_NUMBER=7,1,2,31
-PACKAGE_RELEASE_DATE=2026-08-23
+PACKAGE_RELEASE_DATE=2026-08-28
# Ensure that make can run correctly
@@ -12128,18 +12130,18 @@ then :
fi
if test "$enable_largefile,$enable_year2038" != no,no
then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CPPFLAGS option for large files" >&5
-printf %s "checking for $CPPFLAGS option for large files... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable large file support" >&5
+printf %s "checking for $CC option to enable large file support... " >&6; }
if test ${ac_cv_sys_largefile_opts+y}
then :
printf %s "(cached) " >&6
else case e in #(
- e) ac_save_CPPFLAGS=$CPPFLAGS
+ e) ac_save_CC="$CC"
ac_opt_found=no
- for ac_opt in "none needed" "-D_FILE_OFFSET_BITS=64" "-D_LARGE_FILES=1"; do
+ for ac_opt in "none needed" "-D_FILE_OFFSET_BITS=64" "-D_LARGE_FILES=1" "-n32"; do
if test x"$ac_opt" != x"none needed"
then :
- CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"
+ CC="$ac_save_CC $ac_opt"
fi
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -12168,12 +12170,12 @@ then :
if test x"$ac_opt" = x"none needed"
then :
# GNU/Linux s390x and alpha need _FILE_OFFSET_BITS=64 for wide ino_t.
- CPPFLAGS="$CPPFLAGS -DFTYPE=ino_t"
+ CC="$CC -DFTYPE=ino_t"
if ac_fn_c_try_compile "$LINENO"
then :
else case e in #(
- e) CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64"
+ e) CC="$CC -D_FILE_OFFSET_BITS=64"
if ac_fn_c_try_compile "$LINENO"
then :
ac_opt='-D_FILE_OFFSET_BITS=64'
@@ -12189,7 +12191,7 @@ fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
test $ac_opt_found = no || break
done
- CPPFLAGS=$ac_save_CPPFLAGS
+ CC="$ac_save_CC"
test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected" ;;
esac
@@ -12213,14 +12215,16 @@ printf "%s\n" "#define _FILE_OFFSET_BITS 64" >>confdefs.h
printf "%s\n" "#define _LARGE_FILES 1" >>confdefs.h
;; #(
+ "-n32") :
+ CC="$CC -n32" ;; #(
*) :
as_fn_error $? "internal error: bad value for \$ac_cv_sys_largefile_opts" "$LINENO" 5 ;;
esac
if test "$enable_year2038" != no
then :
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CPPFLAGS option for timestamps after 2038" >&5
-printf %s "checking for $CPPFLAGS option for timestamps after 2038... " >&6; }
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option for timestamps after 2038" >&5
+printf %s "checking for $CC option for timestamps after 2038... " >&6; }
if test ${ac_cv_sys_year2038_opts+y}
then :
printf %s "(cached) " >&6
@@ -37368,6 +37372,8 @@ BPGEncodeDelegateDefault='bpgenc'
BlenderDecodeDelegateDefault='blender'
BrowseDelegateDefault='xdg-open'
ClipboardDelegateDefault='xclip'
+C2PADecodeDelegateDefault='c2patool'
+C2PAEncodeDelegateDefault='c2patool'
DNGDecodeDelegateDefault='darktable-cli'
DOCDecodeDelegateDefault='libreoffice'
GVCDecodeDelegateDefault='dot'
@@ -37657,6 +37663,100 @@ fi
done
test -n "$ClipboardDelegate" || ClipboardDelegate=""$ClipboardDelegateDefault""
+# Extract the first word of ""$C2PADecodeDelegateDefault"", so it can be a program name with args.
+set dummy "$C2PADecodeDelegateDefault"; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_C2PADecodeDelegate+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) case $C2PADecodeDelegate in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_C2PADecodeDelegate="$C2PADecodeDelegate" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_path_C2PADecodeDelegate="$as_dir$ac_word$ac_exec_ext"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_C2PADecodeDelegate" && ac_cv_path_C2PADecodeDelegate=""$C2PADecodeDelegateDefault""
+ ;;
+esac ;;
+esac
+fi
+C2PADecodeDelegate=$ac_cv_path_C2PADecodeDelegate
+if test -n "$C2PADecodeDelegate"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $C2PADecodeDelegate" >&5
+printf "%s\n" "$C2PADecodeDelegate" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+# Extract the first word of ""$C2PAEncodeDelegateDefault"", so it can be a program name with args.
+set dummy "$C2PAEncodeDelegateDefault"; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_C2PAEncodeDelegate+y}
+then :
+ printf %s "(cached) " >&6
+else case e in #(
+ e) case $C2PAEncodeDelegate in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_C2PAEncodeDelegate="$C2PAEncodeDelegate" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ case $as_dir in #(((
+ '') as_dir=./ ;;
+ */) ;;
+ *) as_dir=$as_dir/ ;;
+ esac
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+ ac_cv_path_C2PAEncodeDelegate="$as_dir$ac_word$ac_exec_ext"
+ printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_C2PAEncodeDelegate" && ac_cv_path_C2PAEncodeDelegate=""$C2PAEncodeDelegateDefault""
+ ;;
+esac ;;
+esac
+fi
+C2PAEncodeDelegate=$ac_cv_path_C2PAEncodeDelegate
+if test -n "$C2PAEncodeDelegate"; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $C2PAEncodeDelegate" >&5
+printf "%s\n" "$C2PAEncodeDelegate" >&6; }
+else
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
# Extract the first word of ""$DNGDecodeDelegateDefault"", so it can be a program name with args.
set dummy "$DNGDecodeDelegateDefault"; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -39369,6 +39469,7 @@ DisplayDelegate="${BIN_DIR}/${DisplayDelegateDefault}"
MogrifyDelegate="${BIN_DIR}/${MogrifyDelegateDefault}"
# Set delegate booleans
+have_c2pa='no'; if test "$C2PADecodeDelegate" != "$C2PADecodeDelegateDefault" ; then have_c2pa='yes'; fi
have_gs='no' ; if test "$PSDelegate" != "$PSDelegateDefault"; then have_gs='yes'; fi
have_hp2xx='no' ; if test "$HPGLDecodeDelegate" != "$HPGLDecodeDelegateDefault" ; then have_hp2xx='yes'; fi
have_ilbmtoppm='no' ; if test "$ILBMDecodeDelegate" != "$ILBMDecodeDelegateDefault" ; then have_ilbmtoppm='yes'; fi
@@ -39708,6 +39809,8 @@ if test "$with_frozenpaths" != 'yes'; then
BrowseDelegate="$BrowseDelegateDefault"
ClipboardDelegate="$ClipboardDelegateDefault"
ConvertDelegate="$ConvertDelegateDefault"
+ C2PADecodeDelegate="$C2PADecodeDelegateDefault"
+ C2PAEncodeDelegate="$C2PAEncodeDelegateDefault"
DisplayDelegate="$DisplayDelegateDefault"
DNGDecodeDelegate="$DNGDecodeDelegateDefault"
DOCDecodeDelegate="$DOCDecodeDelegateDefault"
@@ -39774,6 +39877,8 @@ fi
+
+
@@ -40524,6 +40629,9 @@ fi
if test "$have_cairo" = 'yes' ; then
MAGICK_DELEGATES="$MAGICK_DELEGATES cairo"
fi
+if test "$have_c2pa" = 'yes' ; then
+ MAGICK_DELEGATES="$MAGICK_DELEGATES C2PA"
+fi
if test "$have_dmr" = 'yes' ; then
MAGICK_DELEGATES="$MAGICK_DELEGATES dmr"
fi
diff --git a/configure.ac b/configure.ac
index 7a7e605c9..bcd9c0ae8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3301,6 +3301,8 @@ BPGEncodeDelegateDefault='bpgenc'
BlenderDecodeDelegateDefault='blender'
BrowseDelegateDefault='xdg-open'
ClipboardDelegateDefault='xclip'
+C2PADecodeDelegateDefault='c2patool'
+C2PAEncodeDelegateDefault='c2patool'
DNGDecodeDelegateDefault='darktable-cli'
DOCDecodeDelegateDefault='libreoffice'
GVCDecodeDelegateDefault='dot'
@@ -3350,6 +3352,8 @@ AC_PATH_PROG([BPGEncodeDelegate],["$BPGEncodeDelegateDefault"],["$BPGEncodeDeleg
AC_PATH_PROG([BlenderDecodeDelegate],["$BlenderDecodeDelegateDefault"],["$BlenderDecodeDelegateDefault"])
AC_PATH_PROGS([BrowseDelegate],["$BrowseDelegateDefault" brave-browser microsoft-edge google-chrome firefox konqueror lynx],["$BrowseDelegateDefault"])
AC_PATH_PROGS([ClipboardDelegate],["$ClipboardDelegateDefault"],["$ClipboardDelegateDefault"])
+AC_PATH_PROG([C2PADecodeDelegate],["$C2PADecodeDelegateDefault"],["$C2PADecodeDelegateDefault"])
+AC_PATH_PROG([C2PAEncodeDelegate],["$C2PAEncodeDelegateDefault"],["$C2PAEncodeDelegateDefault"])
AC_PATH_PROG([DNGDecodeDelegate],["$DNGDecodeDelegateDefault"],["$DNGDecodeDelegateDefault"])
AC_PATH_PROG([DOCDecodeDelegate],["$DOCDecodeDelegateDefault"],["$DOCDecodeDelegateDefault"])
AC_PATH_PROG([DVIDecodeDelegate],["$DVIDecodeDelegateDefault"],["$DVIDecodeDelegateDefault"])
@@ -3401,6 +3405,7 @@ DisplayDelegate="${BIN_DIR}/${DisplayDelegateDefault}"
MogrifyDelegate="${BIN_DIR}/${MogrifyDelegateDefault}"
# Set delegate booleans
+have_c2pa='no'; if test "$C2PADecodeDelegate" != "$C2PADecodeDelegateDefault" ; then have_c2pa='yes'; fi
have_gs='no' ; if test "$PSDelegate" != "$PSDelegateDefault"; then have_gs='yes'; fi
have_hp2xx='no' ; if test "$HPGLDecodeDelegate" != "$HPGLDecodeDelegateDefault" ; then have_hp2xx='yes'; fi
have_ilbmtoppm='no' ; if test "$ILBMDecodeDelegate" != "$ILBMDecodeDelegateDefault" ; then have_ilbmtoppm='yes'; fi
@@ -3667,6 +3672,8 @@ if test "$with_frozenpaths" != 'yes'; then
BrowseDelegate="$BrowseDelegateDefault"
ClipboardDelegate="$ClipboardDelegateDefault"
ConvertDelegate="$ConvertDelegateDefault"
+ C2PADecodeDelegate="$C2PADecodeDelegateDefault"
+ C2PAEncodeDelegate="$C2PAEncodeDelegateDefault"
DisplayDelegate="$DisplayDelegateDefault"
DNGDecodeDelegate="$DNGDecodeDelegateDefault"
DOCDecodeDelegate="$DOCDecodeDelegateDefault"
@@ -3708,6 +3715,8 @@ AC_SUBST([BlenderDecodeDelegate])
AC_SUBST([BrowseDelegate])
AC_SUBST([ClipboardDelegate])
AC_SUBST([ConvertDelegate])
+AC_SUBST([C2PADecodeDelegate])
+AC_SUBST([C2PAEncodeDelegate])
AC_SUBST([GVCDecodeDelegate])
AC_SUBST([DVIDecodeDelegate])
AC_SUBST([EditorDelegate])
@@ -4025,6 +4034,9 @@ fi
if test "$have_cairo" = 'yes' ; then
MAGICK_DELEGATES="$MAGICK_DELEGATES cairo"
fi
+if test "$have_c2pa" = 'yes' ; then
+ MAGICK_DELEGATES="$MAGICK_DELEGATES C2PA"
+fi
if test "$have_dmr" = 'yes' ; then
MAGICK_DELEGATES="$MAGICK_DELEGATES dmr"
fi