From fcb9b94f3a4cbaa3740d4f97ec9c769f8a4ebcd3 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 1 Feb 2012 08:13:48 +0000 Subject: main/gimp: upgrade to 2.6.12 --- main/gimp/APKBUILD | 16 +- main/gimp/cve-2011-2896.patch | 61 - main/gimp/gimp-2.6.11-underlinking.patch | 3021 ------------------------------ main/gimp/gimp-libpng1.5-compat.patch | 379 ---- main/gimp/gimp-poppler-0.18.patch | 476 ----- 5 files changed, 4 insertions(+), 3949 deletions(-) delete mode 100644 main/gimp/cve-2011-2896.patch delete mode 100644 main/gimp/gimp-2.6.11-underlinking.patch delete mode 100644 main/gimp/gimp-libpng1.5-compat.patch delete mode 100644 main/gimp/gimp-poppler-0.18.patch (limited to 'main') diff --git a/main/gimp/APKBUILD b/main/gimp/APKBUILD index 208d164f7..031bb6bcd 100644 --- a/main/gimp/APKBUILD +++ b/main/gimp/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa pkgname=gimp -pkgver=2.6.11 -pkgrel=7 +pkgver=2.6.12 +pkgrel=0 pkgdesc="GNU Image Manipulation Program" url="http://www.gimp.org/" arch="all" @@ -13,11 +13,7 @@ makedepends="gtk+-dev libxpm-dev libxmu-dev librsvg-dev dbus-glib-dev install= subpackages="$pkgname-dev $pkgname-doc $pkgname-lang" source="ftp://ftp.$pkgname.org/pub/$pkgname/v2.6/$pkgname-$pkgver.tar.bz2 - gimp-libpng1.5-compat.patch gimp-curl-fix.patch - cve-2011-2896.patch - gimp-poppler-0.18.patch - gimp-2.6.11-underlinking.patch " _builddir="${srcdir}/${pkgname}-${pkgver}" @@ -59,9 +55,5 @@ package() { find "$pkgdir" -name '*.la' -delete } -md5sums="bb2939fe13e54fc7255cef5d097bb5dd gimp-2.6.11.tar.bz2 -7dfc4006676fdea887f1883ccc6c7772 gimp-libpng1.5-compat.patch -678010acec374e06140e65f7de24ff69 gimp-curl-fix.patch -c317eae455c808b8434e9b600afee648 cve-2011-2896.patch -bfc73f80e911ed7a7d500d80973469f1 gimp-poppler-0.18.patch -b1fde5d284544440ae2c556b380800ab gimp-2.6.11-underlinking.patch" +md5sums="9f876ee63a0c4a4c83f50f32fb3bbe63 gimp-2.6.12.tar.bz2 +678010acec374e06140e65f7de24ff69 gimp-curl-fix.patch" diff --git a/main/gimp/cve-2011-2896.patch b/main/gimp/cve-2011-2896.patch deleted file mode 100644 index 735d77175..000000000 --- a/main/gimp/cve-2011-2896.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 376ad788c1a1c31d40f18494889c383f6909ebfc Mon Sep 17 00:00:00 2001 -From: Nils Philippsen -Date: Thu, 04 Aug 2011 10:51:42 +0000 -Subject: file-gif-load: fix heap corruption and buffer overflow (CVE-2011-2896) - ---- -(limited to 'plug-ins/common/file-gif-load.c') - -diff --git a/plug-ins/common/file-gif-load.c b/plug-ins/common/file-gif-load.c -index 81f3bd0..c91e7aa 100644 ---- a/plug-ins/common/file-gif-load.c -+++ b/plug-ins/common/file-gif-load.c -@@ -713,7 +713,8 @@ LZWReadByte (FILE *fd, - static gint firstcode, oldcode; - static gint clear_code, end_code; - static gint table[2][(1 << MAX_LZW_BITS)]; -- static gint stack[(1 << (MAX_LZW_BITS)) * 2], *sp; -+#define STACK_SIZE ((1 << (MAX_LZW_BITS)) * 2) -+ static gint stack[STACK_SIZE], *sp; - gint i; - - if (just_reset_LZW) -@@ -788,7 +789,7 @@ LZWReadByte (FILE *fd, - - return firstcode & 255; - } -- else if (code == end_code) -+ else if (code == end_code || code > max_code) - { - gint count; - guchar buf[260]; -@@ -807,13 +808,14 @@ LZWReadByte (FILE *fd, - - incode = code; - -- if (code >= max_code) -+ if (code == max_code) - { -- *sp++ = firstcode; -+ if (sp < &(stack[STACK_SIZE])) -+ *sp++ = firstcode; - code = oldcode; - } - -- while (code >= clear_code) -+ while (code >= clear_code && sp < &(stack[STACK_SIZE])) - { - *sp++ = table[1][code]; - if (code == table[0][code]) -@@ -824,7 +826,8 @@ LZWReadByte (FILE *fd, - code = table[0][code]; - } - -- *sp++ = firstcode = table[1][code]; -+ if (sp < &(stack[STACK_SIZE])) -+ *sp++ = firstcode = table[1][code]; - - if ((code = max_code) < (1 << MAX_LZW_BITS)) - { --- -cgit v0.9.0.2 diff --git a/main/gimp/gimp-2.6.11-underlinking.patch b/main/gimp/gimp-2.6.11-underlinking.patch deleted file mode 100644 index 99ed46be6..000000000 --- a/main/gimp/gimp-2.6.11-underlinking.patch +++ /dev/null @@ -1,3021 +0,0 @@ - libgimpthumb/Makefile.am | 2 +- - libgimpthumb/Makefile.in | 2 +- - plug-ins/Makefile.am | 1 + - plug-ins/color-rotate/Makefile.am | 3 +- - plug-ins/color-rotate/Makefile.in | 3 +- - plug-ins/common/Makefile.am | 316 +++++++++++++++++-------------- - plug-ins/common/Makefile.in | 294 +++++++++++++++-------------- - plug-ins/flame/Makefile.am | 3 +- - plug-ins/flame/Makefile.in | 3 +- - plug-ins/fractal-explorer/Makefile.am | 3 +- - plug-ins/fractal-explorer/Makefile.in | 3 +- - plug-ins/gfig/Makefile.am | 3 +- - plug-ins/gfig/Makefile.in | 3 +- - plug-ins/gimpressionist/Makefile.am | 3 +- - plug-ins/gimpressionist/Makefile.in | 3 +- - plug-ins/gradient-flare/Makefile.am | 3 +- - plug-ins/gradient-flare/Makefile.in | 3 +- - plug-ins/ifs-compose/Makefile.am | 3 +- - plug-ins/ifs-compose/Makefile.in | 3 +- - plug-ins/imagemap/Makefile.am | 3 +- - plug-ins/imagemap/Makefile.in | 3 +- - plug-ins/lighting/Makefile.am | 3 +- - plug-ins/lighting/Makefile.in | 3 +- - plug-ins/map-object/Makefile.am | 3 +- - plug-ins/map-object/Makefile.in | 3 +- - plug-ins/pagecurl/Makefile.am | 3 +- - plug-ins/pagecurl/Makefile.in | 3 +- - plug-ins/script-fu/Makefile.am | 3 +- - plug-ins/script-fu/Makefile.in | 3 +- - plug-ins/selection-to-path/Makefile.am | 3 +- - plug-ins/selection-to-path/Makefile.in | 3 +- - 31 files changed, 381 insertions(+), 312 deletions(-) - -diff --git a/libgimpthumb/Makefile.am b/libgimpthumb/Makefile.am -index 2e7b531..1572fa7 100644 ---- a/libgimpthumb/Makefile.am -+++ b/libgimpthumb/Makefile.am -@@ -86,7 +86,7 @@ noinst_PROGRAMS = gimp-thumbnail-list - - gimp_thumbnail_list_SOURCES = gimp-thumbnail-list.c - --gimp_thumbnail_list_LDADD = libgimpthumb-$(GIMP_API_VERSION).la -+gimp_thumbnail_list_LDADD = libgimpthumb-$(GIMP_API_VERSION).la $(GLIB_LIBS) - - - install-data-local: install-ms-lib install-libtool-import-lib -diff --git a/libgimpthumb/Makefile.in b/libgimpthumb/Makefile.in -index 92ec7d4..d3f333f 100644 ---- a/libgimpthumb/Makefile.in -+++ b/libgimpthumb/Makefile.in -@@ -462,7 +462,7 @@ libgimpthumb_2_0_la_LDFLAGS = \ - - libgimpthumb_2_0_la_LIBADD = $(GDK_PIXBUF_LIBS) $(GLIB_LIBS) - gimp_thumbnail_list_SOURCES = gimp-thumbnail-list.c --gimp_thumbnail_list_LDADD = libgimpthumb-$(GIMP_API_VERSION).la -+gimp_thumbnail_list_LDADD = libgimpthumb-$(GIMP_API_VERSION).la $(GLIB_LIBS) - - # - # rules to generate built sources -diff --git a/plug-ins/Makefile.am b/plug-ins/Makefile.am -index 25eab53..922ce65 100644 ---- a/plug-ins/Makefile.am -+++ b/plug-ins/Makefile.am -@@ -3,6 +3,7 @@ - EXTRA_DIST = \ - makefile.msc - -+LDADD = -lm - - if BUILD_HELP_BROWSER - help_browser = help-browser -diff --git a/plug-ins/color-rotate/Makefile.am b/plug-ins/color-rotate/Makefile.am -index c713c8c..34366cb 100644 ---- a/plug-ins/color-rotate/Makefile.am -+++ b/plug-ins/color-rotate/Makefile.am -@@ -49,4 +49,5 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm -diff --git a/plug-ins/color-rotate/Makefile.in b/plug-ins/color-rotate/Makefile.in -index 0d8ae02..763aac7 100644 ---- a/plug-ins/color-rotate/Makefile.in -+++ b/plug-ins/color-rotate/Makefile.in -@@ -460,7 +460,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - all: all-recursive - -diff --git a/plug-ins/common/Makefile.am b/plug-ins/common/Makefile.am -index 66dc6dd..7c39a1f 100644 ---- a/plug-ins/common/Makefile.am -+++ b/plug-ins/common/Makefile.am -@@ -35,6 +35,7 @@ INCLUDES = \ - $(GTK_CFLAGS) \ - -I$(includedir) - -+ - libexec_PROGRAMS = \ - alien-map \ - align-layers \ -@@ -222,7 +223,8 @@ alien_map_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - align_layers_SOURCES = \ - align-layers.c -@@ -238,7 +240,8 @@ align_layers_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - animation_optimize_SOURCES = \ - animation-optimize.c -@@ -251,7 +254,7 @@ animation_optimize_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - animation_play_SOURCES = \ - animation-play.c -@@ -267,7 +270,8 @@ animation_play_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - antialias_SOURCES = \ - antialias.c -@@ -280,7 +284,8 @@ antialias_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - apply_canvas_SOURCES = \ - apply-canvas.c -@@ -296,7 +301,8 @@ apply_canvas_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -+ -lm - - blinds_SOURCES = \ - blinds.c -@@ -312,7 +318,8 @@ blinds_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - blur_SOURCES = \ - blur.c -@@ -325,7 +332,8 @@ blur_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - blur_gauss_SOURCES = \ - blur-gauss.c -@@ -341,7 +349,8 @@ blur_gauss_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - blur_gauss_selective_CFLAGS = $(MMX_EXTRA_CFLAGS) - -@@ -359,7 +368,8 @@ blur_gauss_selective_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - blur_motion_SOURCES = \ - blur-motion.c -@@ -375,7 +385,8 @@ blur_motion_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - border_average_SOURCES = \ - border-average.c -@@ -391,7 +402,8 @@ border_average_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - bump_map_SOURCES = \ - bump-map.c -@@ -407,7 +419,8 @@ bump_map_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - cartoon_SOURCES = \ - cartoon.c -@@ -423,7 +436,8 @@ cartoon_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - channel_mixer_SOURCES = \ - channel-mixer.c -@@ -439,7 +453,8 @@ channel_mixer_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - checkerboard_SOURCES = \ - checkerboard.c -@@ -455,7 +470,8 @@ checkerboard_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - cml_explorer_SOURCES = \ - cml-explorer.c -@@ -471,7 +487,8 @@ cml_explorer_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - color_cube_analyze_SOURCES = \ - color-cube-analyze.c -@@ -487,7 +504,8 @@ color_cube_analyze_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - color_enhance_SOURCES = \ - color-enhance.c -@@ -503,7 +521,8 @@ color_enhance_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - color_exchange_SOURCES = \ - color-exchange.c -@@ -519,7 +538,8 @@ color_exchange_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - color_to_alpha_SOURCES = \ - color-to-alpha.c -@@ -535,7 +555,8 @@ color_to_alpha_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - colorify_SOURCES = \ - colorify.c -@@ -551,7 +572,8 @@ colorify_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - colormap_remap_SOURCES = \ - colormap-remap.c -@@ -567,7 +589,8 @@ colormap_remap_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - compose_SOURCES = \ - compose.c -@@ -583,7 +606,8 @@ compose_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -+ -lm - - contrast_normalize_SOURCES = \ - contrast-normalize.c -@@ -596,7 +620,8 @@ contrast_normalize_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -+ -lm - - contrast_retinex_SOURCES = \ - contrast-retinex.c -@@ -612,7 +637,8 @@ contrast_retinex_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - contrast_stretch_SOURCES = \ - contrast-stretch.c -@@ -625,7 +651,8 @@ contrast_stretch_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - contrast_stretch_hsv_SOURCES = \ - contrast-stretch-hsv.c -@@ -638,7 +665,8 @@ contrast_stretch_hsv_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - convolution_matrix_SOURCES = \ - convolution-matrix.c -@@ -654,7 +682,8 @@ convolution_matrix_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -+ -lm - - crop_auto_SOURCES = \ - crop-auto.c -@@ -667,7 +696,8 @@ crop_auto_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - crop_zealous_SOURCES = \ - crop-zealous.c -@@ -696,7 +726,7 @@ cubism_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - curve_bend_SOURCES = \ - curve-bend.c -@@ -712,7 +742,7 @@ curve_bend_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - decompose_SOURCES = \ - decompose.c -@@ -728,7 +758,7 @@ decompose_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - deinterlace_SOURCES = \ - deinterlace.c -@@ -744,7 +774,7 @@ deinterlace_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - depth_merge_SOURCES = \ - depth-merge.c -@@ -760,7 +790,7 @@ depth_merge_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - despeckle_SOURCES = \ - despeckle.c -@@ -776,7 +806,7 @@ despeckle_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - destripe_SOURCES = \ - destripe.c -@@ -792,7 +822,7 @@ destripe_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - diffraction_SOURCES = \ - diffraction.c -@@ -808,7 +838,7 @@ diffraction_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - displace_SOURCES = \ - displace.c -@@ -824,7 +854,7 @@ displace_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - edge_SOURCES = \ - edge.c -@@ -840,7 +870,7 @@ edge_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - edge_dog_SOURCES = \ - edge-dog.c -@@ -856,7 +886,7 @@ edge_dog_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - edge_laplace_SOURCES = \ - edge-laplace.c -@@ -869,7 +899,7 @@ edge_laplace_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - edge_neon_SOURCES = \ - edge-neon.c -@@ -885,7 +915,7 @@ edge_neon_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - edge_sobel_SOURCES = \ - edge-sobel.c -@@ -901,7 +931,7 @@ edge_sobel_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - emboss_SOURCES = \ - emboss.c -@@ -917,7 +947,7 @@ emboss_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - engrave_SOURCES = \ - engrave.c -@@ -933,7 +963,7 @@ engrave_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_aa_SOURCES = \ - file-aa.c -@@ -950,7 +980,7 @@ file_aa_LDADD = \ - $(GTK_LIBS) \ - $(AA_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_cel_SOURCES = \ - file-cel.c -@@ -966,7 +996,7 @@ file_cel_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_compressor_SOURCES = \ - file-compressor.c -@@ -979,7 +1009,7 @@ file_compressor_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_csource_SOURCES = \ - file-csource.c -@@ -995,7 +1025,7 @@ file_csource_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_desktop_link_SOURCES = \ - file-desktop-link.c -@@ -1008,7 +1038,7 @@ file_desktop_link_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_dicom_SOURCES = \ - file-dicom.c -@@ -1024,7 +1054,7 @@ file_dicom_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_gbr_SOURCES = \ - file-gbr.c -@@ -1040,7 +1070,7 @@ file_gbr_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_gif_load_SOURCES = \ - file-gif-load.c -@@ -1053,7 +1083,7 @@ file_gif_load_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_gif_save_SOURCES = \ - file-gif-save.c -@@ -1069,7 +1099,7 @@ file_gif_save_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_gih_SOURCES = \ - file-gih.c -@@ -1085,7 +1115,7 @@ file_gih_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_glob_SOURCES = \ - file-glob.c -@@ -1098,7 +1128,7 @@ file_glob_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_header_SOURCES = \ - file-header.c -@@ -1114,7 +1144,7 @@ file_header_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_html_table_SOURCES = \ - file-html-table.c -@@ -1130,7 +1160,7 @@ file_html_table_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_mng_SOURCES = \ - file-mng.c -@@ -1147,7 +1177,7 @@ file_mng_LDADD = \ - $(GTK_LIBS) \ - $(MNG_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_pat_SOURCES = \ - file-pat.c -@@ -1163,7 +1193,7 @@ file_pat_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_pcx_SOURCES = \ - file-pcx.c -@@ -1179,7 +1209,7 @@ file_pcx_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_pdf_CFLAGS = $(POPPLER_CFLAGS) - -@@ -1198,7 +1228,7 @@ file_pdf_LDADD = \ - $(GTK_LIBS) \ - $(POPPLER_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_pix_SOURCES = \ - file-pix.c -@@ -1214,7 +1244,7 @@ file_pix_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_png_CFLAGS = $(PNG_CFLAGS) - -@@ -1233,7 +1263,7 @@ file_png_LDADD = \ - $(GTK_LIBS) \ - $(PNG_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_pnm_SOURCES = \ - file-pnm.c -@@ -1249,7 +1279,7 @@ file_pnm_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_ps_SOURCES = \ - file-ps.c -@@ -1265,7 +1295,7 @@ file_ps_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_psp_SOURCES = \ - file-psp.c -@@ -1282,7 +1312,7 @@ file_psp_LDADD = \ - $(GTK_LIBS) \ - $(Z_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_raw_SOURCES = \ - file-raw.c -@@ -1298,7 +1328,7 @@ file_raw_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_sunras_SOURCES = \ - file-sunras.c -@@ -1314,7 +1344,7 @@ file_sunras_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_svg_CFLAGS = $(SVG_CFLAGS) - -@@ -1333,7 +1363,7 @@ file_svg_LDADD = \ - $(GTK_LIBS) \ - $(SVG_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_tga_SOURCES = \ - file-tga.c -@@ -1349,7 +1379,7 @@ file_tga_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_tiff_load_SOURCES = \ - file-tiff-load.c -@@ -1366,7 +1396,7 @@ file_tiff_load_LDADD = \ - $(GTK_LIBS) \ - $(TIFF_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_tiff_save_SOURCES = \ - file-tiff-save.c -@@ -1383,7 +1413,7 @@ file_tiff_save_LDADD = \ - $(GTK_LIBS) \ - $(TIFF_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_wmf_CFLAGS = $(WMF_CFLAGS) - -@@ -1402,7 +1432,7 @@ file_wmf_LDADD = \ - $(GTK_LIBS) \ - $(WMF_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_xbm_SOURCES = \ - file-xbm.c -@@ -1418,7 +1448,7 @@ file_xbm_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_xpm_SOURCES = \ - file-xpm.c -@@ -1435,7 +1465,7 @@ file_xpm_LDADD = \ - $(GTK_LIBS) \ - $(XPM_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_xwd_SOURCES = \ - file-xwd.c -@@ -1451,7 +1481,7 @@ file_xwd_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - film_SOURCES = \ - film.c -@@ -1467,7 +1497,7 @@ film_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - filter_pack_SOURCES = \ - filter-pack.c -@@ -1483,7 +1513,7 @@ filter_pack_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - fractal_trace_SOURCES = \ - fractal-trace.c -@@ -1499,7 +1529,7 @@ fractal_trace_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - gee_SOURCES = \ - gee.c -@@ -1515,7 +1545,7 @@ gee_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - gee_zoom_SOURCES = \ - gee-zoom.c -@@ -1531,7 +1561,7 @@ gee_zoom_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - gradient_map_SOURCES = \ - gradient-map.c -@@ -1544,7 +1574,7 @@ gradient_map_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - grid_SOURCES = \ - grid.c -@@ -1560,7 +1590,7 @@ grid_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - guillotine_SOURCES = \ - guillotine.c -@@ -1573,7 +1603,7 @@ guillotine_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - hot_SOURCES = \ - hot.c -@@ -1589,7 +1619,7 @@ hot_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - illusion_SOURCES = \ - illusion.c -@@ -1605,7 +1635,7 @@ illusion_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - iwarp_SOURCES = \ - iwarp.c -@@ -1621,7 +1651,7 @@ iwarp_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - jigsaw_SOURCES = \ - jigsaw.c -@@ -1637,7 +1667,7 @@ jigsaw_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - lcms_CFLAGS = $(LCMS_CFLAGS) - -@@ -1656,7 +1686,7 @@ lcms_LDADD = \ - $(GTK_LIBS) \ - $(LCMS_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - lens_apply_SOURCES = \ - lens-apply.c -@@ -1672,7 +1702,7 @@ lens_apply_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - lens_distortion_SOURCES = \ - lens-distortion.c -@@ -1688,7 +1718,7 @@ lens_distortion_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - lens_flare_SOURCES = \ - lens-flare.c -@@ -1704,7 +1734,7 @@ lens_flare_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - mail_SOURCES = \ - mail.c -@@ -1720,7 +1750,7 @@ mail_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - max_rgb_SOURCES = \ - max-rgb.c -@@ -1736,7 +1766,7 @@ max_rgb_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - mosaic_SOURCES = \ - mosaic.c -@@ -1752,7 +1782,7 @@ mosaic_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - newsprint_SOURCES = \ - newsprint.c -@@ -1768,7 +1798,7 @@ newsprint_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - nl_filter_SOURCES = \ - nl-filter.c -@@ -1784,7 +1814,7 @@ nl_filter_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - noise_hsv_SOURCES = \ - noise-hsv.c -@@ -1800,7 +1830,7 @@ noise_hsv_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - noise_randomize_SOURCES = \ - noise-randomize.c -@@ -1816,7 +1846,7 @@ noise_randomize_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - noise_rgb_SOURCES = \ - noise-rgb.c -@@ -1832,7 +1862,7 @@ noise_rgb_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - noise_solid_SOURCES = \ - noise-solid.c -@@ -1848,7 +1878,7 @@ noise_solid_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - noise_spread_SOURCES = \ - noise-spread.c -@@ -1864,7 +1894,7 @@ noise_spread_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - nova_SOURCES = \ - nova.c -@@ -1880,7 +1910,7 @@ nova_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - oilify_SOURCES = \ - oilify.c -@@ -1896,7 +1926,7 @@ oilify_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - photocopy_SOURCES = \ - photocopy.c -@@ -1912,7 +1942,7 @@ photocopy_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - pixelize_SOURCES = \ - pixelize.c -@@ -1928,7 +1958,7 @@ pixelize_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - plasma_SOURCES = \ - plasma.c -@@ -1944,7 +1974,7 @@ plasma_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - plugin_browser_SOURCES = \ - plugin-browser.c -@@ -1960,7 +1990,7 @@ plugin_browser_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - polar_coords_SOURCES = \ - polar-coords.c -@@ -1976,7 +2006,7 @@ polar_coords_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - procedure_browser_SOURCES = \ - procedure-browser.c -@@ -1992,7 +2022,7 @@ procedure_browser_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - qbist_SOURCES = \ - qbist.c -@@ -2008,7 +2038,7 @@ qbist_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - red_eye_removal_SOURCES = \ - red-eye-removal.c -@@ -2024,7 +2054,7 @@ red_eye_removal_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - ripple_SOURCES = \ - ripple.c -@@ -2040,7 +2070,7 @@ ripple_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - rotate_SOURCES = \ - rotate.c -@@ -2053,7 +2083,7 @@ rotate_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - sample_colorize_SOURCES = \ - sample-colorize.c -@@ -2069,7 +2099,7 @@ sample_colorize_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - screenshot_CFLAGS = $(XFIXES_CFLAGS) - -@@ -2088,7 +2118,7 @@ screenshot_LDADD = \ - $(GTK_LIBS) \ - $(SCREENSHOT_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - semi_flatten_SOURCES = \ - semi-flatten.c -@@ -2101,7 +2131,7 @@ semi_flatten_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - sharpen_SOURCES = \ - sharpen.c -@@ -2117,7 +2147,7 @@ sharpen_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - shift_SOURCES = \ - shift.c -@@ -2133,7 +2163,7 @@ shift_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - sinus_SOURCES = \ - sinus.c -@@ -2149,7 +2179,7 @@ sinus_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - smooth_palette_SOURCES = \ - smooth-palette.c -@@ -2165,7 +2195,7 @@ smooth_palette_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - softglow_SOURCES = \ - softglow.c -@@ -2181,7 +2211,7 @@ softglow_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - sparkle_SOURCES = \ - sparkle.c -@@ -2197,7 +2227,7 @@ sparkle_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - sphere_designer_SOURCES = \ - sphere-designer.c -@@ -2213,7 +2243,7 @@ sphere_designer_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - threshold_alpha_SOURCES = \ - threshold-alpha.c -@@ -2229,7 +2259,7 @@ threshold_alpha_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - tile_SOURCES = \ - tile.c -@@ -2245,7 +2275,7 @@ tile_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - tile_glass_SOURCES = \ - tile-glass.c -@@ -2261,7 +2291,7 @@ tile_glass_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - tile_paper_SOURCES = \ - tile-paper.c -@@ -2277,7 +2307,7 @@ tile_paper_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - tile_seamless_SOURCES = \ - tile-seamless.c -@@ -2290,7 +2320,7 @@ tile_seamless_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - tile_small_SOURCES = \ - tile-small.c -@@ -2306,7 +2336,7 @@ tile_small_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - unit_editor_SOURCES = \ - unit-editor.c -@@ -2322,7 +2352,7 @@ unit_editor_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - unsharp_mask_SOURCES = \ - unsharp-mask.c -@@ -2338,7 +2368,7 @@ unsharp_mask_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - value_invert_SOURCES = \ - value-invert.c -@@ -2351,7 +2381,7 @@ value_invert_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - value_propagate_SOURCES = \ - value-propagate.c -@@ -2367,7 +2397,7 @@ value_propagate_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - van_gogh_lic_SOURCES = \ - van-gogh-lic.c -@@ -2383,7 +2413,7 @@ van_gogh_lic_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - video_SOURCES = \ - video.c -@@ -2399,7 +2429,7 @@ video_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - warp_SOURCES = \ - warp.c -@@ -2415,7 +2445,7 @@ warp_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - waves_SOURCES = \ - waves.c -@@ -2431,7 +2461,7 @@ waves_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - web_browser_SOURCES = \ - web-browser.c -@@ -2444,7 +2474,7 @@ web_browser_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - whirl_pinch_SOURCES = \ - whirl-pinch.c -@@ -2460,7 +2490,7 @@ whirl_pinch_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - wind_SOURCES = \ - wind.c -@@ -2476,4 +2506,4 @@ wind_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm -diff --git a/plug-ins/common/Makefile.in b/plug-ins/common/Makefile.in -index 5fb299c..47811b0 100644 ---- a/plug-ins/common/Makefile.in -+++ b/plug-ins/common/Makefile.in -@@ -1458,6 +1458,8 @@ INCLUDES = \ - alien_map_SOURCES = \ - alien-map.c - -+LD = -lm -+ - alien_map_LDADD = \ - $(libgimpui) \ - $(libgimpwidgets) \ -@@ -1469,7 +1471,7 @@ alien_map_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - align_layers_SOURCES = \ - align-layers.c -@@ -1485,7 +1487,8 @@ align_layers_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - animation_optimize_SOURCES = \ - animation-optimize.c -@@ -1498,7 +1501,7 @@ animation_optimize_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - animation_play_SOURCES = \ - animation-play.c -@@ -1514,7 +1517,8 @@ animation_play_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - antialias_SOURCES = \ - antialias.c -@@ -1527,7 +1531,7 @@ antialias_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - apply_canvas_SOURCES = \ - apply-canvas.c -@@ -1559,7 +1563,7 @@ blinds_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - blur_SOURCES = \ - blur.c -@@ -1572,7 +1576,8 @@ blur_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - blur_gauss_SOURCES = \ - blur-gauss.c -@@ -1588,7 +1593,8 @@ blur_gauss_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - blur_gauss_selective_CFLAGS = $(MMX_EXTRA_CFLAGS) - blur_gauss_selective_SOURCES = \ -@@ -1605,7 +1611,7 @@ blur_gauss_selective_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - blur_motion_SOURCES = \ - blur-motion.c -@@ -1621,7 +1627,8 @@ blur_motion_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - border_average_SOURCES = \ - border-average.c -@@ -1637,7 +1644,8 @@ border_average_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - bump_map_SOURCES = \ - bump-map.c -@@ -1653,7 +1661,8 @@ bump_map_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - cartoon_SOURCES = \ - cartoon.c -@@ -1669,7 +1678,8 @@ cartoon_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - channel_mixer_SOURCES = \ - channel-mixer.c -@@ -1685,7 +1695,8 @@ channel_mixer_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - checkerboard_SOURCES = \ - checkerboard.c -@@ -1701,7 +1712,7 @@ checkerboard_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - cml_explorer_SOURCES = \ - cml-explorer.c -@@ -1717,7 +1728,7 @@ cml_explorer_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - color_cube_analyze_SOURCES = \ - color-cube-analyze.c -@@ -1733,7 +1744,7 @@ color_cube_analyze_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - color_enhance_SOURCES = \ - color-enhance.c -@@ -1749,7 +1760,8 @@ color_enhance_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - color_exchange_SOURCES = \ - color-exchange.c -@@ -1765,7 +1777,7 @@ color_exchange_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - color_to_alpha_SOURCES = \ - color-to-alpha.c -@@ -1797,7 +1809,7 @@ colorify_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - colormap_remap_SOURCES = \ - colormap-remap.c -@@ -1829,7 +1841,7 @@ compose_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - contrast_normalize_SOURCES = \ - contrast-normalize.c -@@ -1842,7 +1854,7 @@ contrast_normalize_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - contrast_retinex_SOURCES = \ - contrast-retinex.c -@@ -1858,7 +1870,7 @@ contrast_retinex_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - contrast_stretch_SOURCES = \ - contrast-stretch.c -@@ -1871,7 +1883,7 @@ contrast_stretch_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - contrast_stretch_hsv_SOURCES = \ - contrast-stretch-hsv.c -@@ -1884,7 +1896,7 @@ contrast_stretch_hsv_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - convolution_matrix_SOURCES = \ - convolution-matrix.c -@@ -1900,7 +1912,7 @@ convolution_matrix_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - crop_auto_SOURCES = \ - crop-auto.c -@@ -1913,7 +1925,7 @@ crop_auto_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - crop_zealous_SOURCES = \ - crop-zealous.c -@@ -1926,7 +1938,7 @@ crop_zealous_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - cubism_SOURCES = \ - cubism.c -@@ -1942,7 +1954,7 @@ cubism_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - curve_bend_SOURCES = \ - curve-bend.c -@@ -1958,7 +1970,7 @@ curve_bend_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - decompose_SOURCES = \ - decompose.c -@@ -1974,7 +1986,7 @@ decompose_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - deinterlace_SOURCES = \ - deinterlace.c -@@ -1990,7 +2002,7 @@ deinterlace_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - depth_merge_SOURCES = \ - depth-merge.c -@@ -2006,7 +2018,7 @@ depth_merge_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - despeckle_SOURCES = \ - despeckle.c -@@ -2022,7 +2034,7 @@ despeckle_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - destripe_SOURCES = \ - destripe.c -@@ -2038,7 +2050,7 @@ destripe_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - diffraction_SOURCES = \ - diffraction.c -@@ -2054,7 +2066,7 @@ diffraction_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - displace_SOURCES = \ - displace.c -@@ -2070,7 +2082,7 @@ displace_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - edge_SOURCES = \ - edge.c -@@ -2086,7 +2098,7 @@ edge_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - edge_dog_SOURCES = \ - edge-dog.c -@@ -2102,7 +2114,7 @@ edge_dog_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - edge_laplace_SOURCES = \ - edge-laplace.c -@@ -2115,7 +2127,7 @@ edge_laplace_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - edge_neon_SOURCES = \ - edge-neon.c -@@ -2131,7 +2143,7 @@ edge_neon_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - edge_sobel_SOURCES = \ - edge-sobel.c -@@ -2147,7 +2159,7 @@ edge_sobel_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - emboss_SOURCES = \ - emboss.c -@@ -2163,7 +2175,7 @@ emboss_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - engrave_SOURCES = \ - engrave.c -@@ -2179,7 +2191,7 @@ engrave_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_aa_SOURCES = \ - file-aa.c -@@ -2196,7 +2208,7 @@ file_aa_LDADD = \ - $(GTK_LIBS) \ - $(AA_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_cel_SOURCES = \ - file-cel.c -@@ -2212,7 +2224,7 @@ file_cel_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_compressor_SOURCES = \ - file-compressor.c -@@ -2225,7 +2237,7 @@ file_compressor_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_csource_SOURCES = \ - file-csource.c -@@ -2241,7 +2253,7 @@ file_csource_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_desktop_link_SOURCES = \ - file-desktop-link.c -@@ -2254,7 +2266,7 @@ file_desktop_link_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_dicom_SOURCES = \ - file-dicom.c -@@ -2270,7 +2282,7 @@ file_dicom_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_gbr_SOURCES = \ - file-gbr.c -@@ -2286,7 +2298,7 @@ file_gbr_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_gif_load_SOURCES = \ - file-gif-load.c -@@ -2299,7 +2311,7 @@ file_gif_load_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_gif_save_SOURCES = \ - file-gif-save.c -@@ -2315,7 +2327,7 @@ file_gif_save_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_gih_SOURCES = \ - file-gih.c -@@ -2331,7 +2343,7 @@ file_gih_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_glob_SOURCES = \ - file-glob.c -@@ -2344,7 +2356,7 @@ file_glob_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_header_SOURCES = \ - file-header.c -@@ -2360,7 +2372,7 @@ file_header_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_html_table_SOURCES = \ - file-html-table.c -@@ -2376,7 +2388,7 @@ file_html_table_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_mng_SOURCES = \ - file-mng.c -@@ -2393,7 +2405,7 @@ file_mng_LDADD = \ - $(GTK_LIBS) \ - $(MNG_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_pat_SOURCES = \ - file-pat.c -@@ -2409,7 +2421,7 @@ file_pat_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_pcx_SOURCES = \ - file-pcx.c -@@ -2425,7 +2437,7 @@ file_pcx_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_pdf_CFLAGS = $(POPPLER_CFLAGS) - file_pdf_SOURCES = \ -@@ -2443,7 +2455,7 @@ file_pdf_LDADD = \ - $(GTK_LIBS) \ - $(POPPLER_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_pix_SOURCES = \ - file-pix.c -@@ -2459,7 +2471,7 @@ file_pix_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_png_CFLAGS = $(PNG_CFLAGS) - file_png_SOURCES = \ -@@ -2477,7 +2489,7 @@ file_png_LDADD = \ - $(GTK_LIBS) \ - $(PNG_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_pnm_SOURCES = \ - file-pnm.c -@@ -2493,7 +2505,7 @@ file_pnm_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_ps_SOURCES = \ - file-ps.c -@@ -2509,7 +2521,7 @@ file_ps_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_psp_SOURCES = \ - file-psp.c -@@ -2526,7 +2538,7 @@ file_psp_LDADD = \ - $(GTK_LIBS) \ - $(Z_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_raw_SOURCES = \ - file-raw.c -@@ -2542,7 +2554,7 @@ file_raw_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_sunras_SOURCES = \ - file-sunras.c -@@ -2558,7 +2570,7 @@ file_sunras_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_svg_CFLAGS = $(SVG_CFLAGS) - file_svg_SOURCES = \ -@@ -2576,7 +2588,7 @@ file_svg_LDADD = \ - $(GTK_LIBS) \ - $(SVG_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_tga_SOURCES = \ - file-tga.c -@@ -2592,7 +2604,7 @@ file_tga_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_tiff_load_SOURCES = \ - file-tiff-load.c -@@ -2609,7 +2621,7 @@ file_tiff_load_LDADD = \ - $(GTK_LIBS) \ - $(TIFF_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_tiff_save_SOURCES = \ - file-tiff-save.c -@@ -2626,7 +2638,7 @@ file_tiff_save_LDADD = \ - $(GTK_LIBS) \ - $(TIFF_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_wmf_CFLAGS = $(WMF_CFLAGS) - file_wmf_SOURCES = \ -@@ -2644,7 +2656,7 @@ file_wmf_LDADD = \ - $(GTK_LIBS) \ - $(WMF_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_xbm_SOURCES = \ - file-xbm.c -@@ -2660,7 +2672,7 @@ file_xbm_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_xpm_SOURCES = \ - file-xpm.c -@@ -2677,7 +2689,7 @@ file_xpm_LDADD = \ - $(GTK_LIBS) \ - $(XPM_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - file_xwd_SOURCES = \ - file-xwd.c -@@ -2693,7 +2705,7 @@ file_xwd_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - film_SOURCES = \ - film.c -@@ -2709,7 +2721,7 @@ film_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - filter_pack_SOURCES = \ - filter-pack.c -@@ -2725,7 +2737,7 @@ filter_pack_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - fractal_trace_SOURCES = \ - fractal-trace.c -@@ -2741,7 +2753,7 @@ fractal_trace_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - gee_SOURCES = \ - gee.c -@@ -2757,7 +2769,7 @@ gee_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - gee_zoom_SOURCES = \ - gee-zoom.c -@@ -2773,7 +2785,7 @@ gee_zoom_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - gradient_map_SOURCES = \ - gradient-map.c -@@ -2786,7 +2798,7 @@ gradient_map_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - grid_SOURCES = \ - grid.c -@@ -2802,7 +2814,7 @@ grid_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - guillotine_SOURCES = \ - guillotine.c -@@ -2815,7 +2827,7 @@ guillotine_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - hot_SOURCES = \ - hot.c -@@ -2831,7 +2843,7 @@ hot_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - illusion_SOURCES = \ - illusion.c -@@ -2847,7 +2859,7 @@ illusion_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - iwarp_SOURCES = \ - iwarp.c -@@ -2863,7 +2875,7 @@ iwarp_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - jigsaw_SOURCES = \ - jigsaw.c -@@ -2879,7 +2891,7 @@ jigsaw_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - lcms_CFLAGS = $(LCMS_CFLAGS) - lcms_SOURCES = \ -@@ -2897,7 +2909,7 @@ lcms_LDADD = \ - $(GTK_LIBS) \ - $(LCMS_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - lens_apply_SOURCES = \ - lens-apply.c -@@ -2913,7 +2925,7 @@ lens_apply_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - lens_distortion_SOURCES = \ - lens-distortion.c -@@ -2929,7 +2941,7 @@ lens_distortion_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - lens_flare_SOURCES = \ - lens-flare.c -@@ -2945,7 +2957,7 @@ lens_flare_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - mail_SOURCES = \ - mail.c -@@ -2961,7 +2973,7 @@ mail_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - max_rgb_SOURCES = \ - max-rgb.c -@@ -2977,7 +2989,7 @@ max_rgb_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - mosaic_SOURCES = \ - mosaic.c -@@ -2993,7 +3005,7 @@ mosaic_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - newsprint_SOURCES = \ - newsprint.c -@@ -3009,7 +3021,7 @@ newsprint_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - nl_filter_SOURCES = \ - nl-filter.c -@@ -3025,7 +3037,7 @@ nl_filter_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - noise_hsv_SOURCES = \ - noise-hsv.c -@@ -3041,7 +3053,7 @@ noise_hsv_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - noise_randomize_SOURCES = \ - noise-randomize.c -@@ -3057,7 +3069,7 @@ noise_randomize_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - noise_rgb_SOURCES = \ - noise-rgb.c -@@ -3073,7 +3085,7 @@ noise_rgb_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - noise_solid_SOURCES = \ - noise-solid.c -@@ -3089,7 +3101,7 @@ noise_solid_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - noise_spread_SOURCES = \ - noise-spread.c -@@ -3105,7 +3117,7 @@ noise_spread_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - nova_SOURCES = \ - nova.c -@@ -3121,7 +3133,7 @@ nova_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - oilify_SOURCES = \ - oilify.c -@@ -3137,7 +3149,7 @@ oilify_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - photocopy_SOURCES = \ - photocopy.c -@@ -3153,7 +3165,7 @@ photocopy_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - pixelize_SOURCES = \ - pixelize.c -@@ -3169,7 +3181,7 @@ pixelize_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - plasma_SOURCES = \ - plasma.c -@@ -3185,7 +3197,7 @@ plasma_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - plugin_browser_SOURCES = \ - plugin-browser.c -@@ -3201,7 +3213,7 @@ plugin_browser_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - polar_coords_SOURCES = \ - polar-coords.c -@@ -3217,7 +3229,7 @@ polar_coords_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - procedure_browser_SOURCES = \ - procedure-browser.c -@@ -3233,7 +3245,7 @@ procedure_browser_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - qbist_SOURCES = \ - qbist.c -@@ -3249,7 +3261,7 @@ qbist_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - red_eye_removal_SOURCES = \ - red-eye-removal.c -@@ -3265,7 +3277,7 @@ red_eye_removal_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - ripple_SOURCES = \ - ripple.c -@@ -3281,7 +3293,7 @@ ripple_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - rotate_SOURCES = \ - rotate.c -@@ -3294,7 +3306,7 @@ rotate_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - sample_colorize_SOURCES = \ - sample-colorize.c -@@ -3310,7 +3322,7 @@ sample_colorize_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - screenshot_CFLAGS = $(XFIXES_CFLAGS) - screenshot_SOURCES = \ -@@ -3328,7 +3340,7 @@ screenshot_LDADD = \ - $(GTK_LIBS) \ - $(SCREENSHOT_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - semi_flatten_SOURCES = \ - semi-flatten.c -@@ -3341,7 +3353,7 @@ semi_flatten_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - sharpen_SOURCES = \ - sharpen.c -@@ -3357,7 +3369,7 @@ sharpen_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - shift_SOURCES = \ - shift.c -@@ -3373,7 +3385,7 @@ shift_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - sinus_SOURCES = \ - sinus.c -@@ -3389,7 +3401,7 @@ sinus_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - smooth_palette_SOURCES = \ - smooth-palette.c -@@ -3405,7 +3417,7 @@ smooth_palette_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - softglow_SOURCES = \ - softglow.c -@@ -3421,7 +3433,7 @@ softglow_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - sparkle_SOURCES = \ - sparkle.c -@@ -3437,7 +3449,7 @@ sparkle_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - sphere_designer_SOURCES = \ - sphere-designer.c -@@ -3453,7 +3465,7 @@ sphere_designer_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - threshold_alpha_SOURCES = \ - threshold-alpha.c -@@ -3469,7 +3481,7 @@ threshold_alpha_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - tile_SOURCES = \ - tile.c -@@ -3485,7 +3497,7 @@ tile_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - tile_glass_SOURCES = \ - tile-glass.c -@@ -3501,7 +3513,7 @@ tile_glass_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - tile_paper_SOURCES = \ - tile-paper.c -@@ -3517,7 +3529,7 @@ tile_paper_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - tile_seamless_SOURCES = \ - tile-seamless.c -@@ -3530,7 +3542,7 @@ tile_seamless_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - tile_small_SOURCES = \ - tile-small.c -@@ -3546,7 +3558,7 @@ tile_small_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - unit_editor_SOURCES = \ - unit-editor.c -@@ -3562,7 +3574,7 @@ unit_editor_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - unsharp_mask_SOURCES = \ - unsharp-mask.c -@@ -3578,7 +3590,7 @@ unsharp_mask_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - value_invert_SOURCES = \ - value-invert.c -@@ -3591,7 +3603,7 @@ value_invert_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - value_propagate_SOURCES = \ - value-propagate.c -@@ -3607,7 +3619,7 @@ value_propagate_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - van_gogh_lic_SOURCES = \ - van-gogh-lic.c -@@ -3623,7 +3635,7 @@ van_gogh_lic_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - video_SOURCES = \ - video.c -@@ -3639,7 +3651,7 @@ video_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - warp_SOURCES = \ - warp.c -@@ -3655,7 +3667,7 @@ warp_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - waves_SOURCES = \ - waves.c -@@ -3671,7 +3683,7 @@ waves_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - web_browser_SOURCES = \ - web-browser.c -@@ -3684,7 +3696,7 @@ web_browser_LDADD = \ - $(libgimpbase) \ - $(GLIB_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - whirl_pinch_SOURCES = \ - whirl-pinch.c -@@ -3700,7 +3712,7 @@ whirl_pinch_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - wind_SOURCES = \ - wind.c -@@ -3716,7 +3728,7 @@ wind_LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) -lm - - all: all-am - -diff --git a/plug-ins/flame/Makefile.am b/plug-ins/flame/Makefile.am -index 262a9aa..cf41f38 100644 ---- a/plug-ins/flame/Makefile.am -+++ b/plug-ins/flame/Makefile.am -@@ -45,4 +45,5 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm -diff --git a/plug-ins/flame/Makefile.in b/plug-ins/flame/Makefile.in -index 5ebbfa1..23c93ba 100644 ---- a/plug-ins/flame/Makefile.in -+++ b/plug-ins/flame/Makefile.in -@@ -416,7 +416,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - all: all-am - -diff --git a/plug-ins/fractal-explorer/Makefile.am b/plug-ins/fractal-explorer/Makefile.am -index 16ae83a..ac47d9f 100644 ---- a/plug-ins/fractal-explorer/Makefile.am -+++ b/plug-ins/fractal-explorer/Makefile.am -@@ -41,4 +41,5 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm -diff --git a/plug-ins/fractal-explorer/Makefile.in b/plug-ins/fractal-explorer/Makefile.in -index 0d9363c..c4753e2 100644 ---- a/plug-ins/fractal-explorer/Makefile.in -+++ b/plug-ins/fractal-explorer/Makefile.in -@@ -450,7 +450,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - all: all-recursive - -diff --git a/plug-ins/gfig/Makefile.am b/plug-ins/gfig/Makefile.am -index b0a3ae7..a3a7194 100644 ---- a/plug-ins/gfig/Makefile.am -+++ b/plug-ins/gfig/Makefile.am -@@ -72,4 +72,5 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm -diff --git a/plug-ins/gfig/Makefile.in b/plug-ins/gfig/Makefile.in -index 730291e..5bcb2a1 100644 ---- a/plug-ins/gfig/Makefile.in -+++ b/plug-ins/gfig/Makefile.in -@@ -485,7 +485,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - all: all-recursive - -diff --git a/plug-ins/gimpressionist/Makefile.am b/plug-ins/gimpressionist/Makefile.am -index bdca573..1decc10 100644 ---- a/plug-ins/gimpressionist/Makefile.am -+++ b/plug-ins/gimpressionist/Makefile.am -@@ -72,6 +72,7 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - EXTRA_DIST = README -diff --git a/plug-ins/gimpressionist/Makefile.in b/plug-ins/gimpressionist/Makefile.in -index 7428a5d..d539ec3 100644 ---- a/plug-ins/gimpressionist/Makefile.in -+++ b/plug-ins/gimpressionist/Makefile.in -@@ -487,7 +487,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - EXTRA_DIST = README - all: all-recursive -diff --git a/plug-ins/gradient-flare/Makefile.am b/plug-ins/gradient-flare/Makefile.am -index 8597665..958ec36 100644 ---- a/plug-ins/gradient-flare/Makefile.am -+++ b/plug-ins/gradient-flare/Makefile.am -@@ -37,4 +37,5 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm -diff --git a/plug-ins/gradient-flare/Makefile.in b/plug-ins/gradient-flare/Makefile.in -index 7682317..ae821fc 100644 ---- a/plug-ins/gradient-flare/Makefile.in -+++ b/plug-ins/gradient-flare/Makefile.in -@@ -444,7 +444,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - all: all-recursive - -diff --git a/plug-ins/ifs-compose/Makefile.am b/plug-ins/ifs-compose/Makefile.am -index 6e2de02..0acc963 100644 ---- a/plug-ins/ifs-compose/Makefile.am -+++ b/plug-ins/ifs-compose/Makefile.am -@@ -41,4 +41,5 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm -diff --git a/plug-ins/ifs-compose/Makefile.in b/plug-ins/ifs-compose/Makefile.in -index cd1fcf7..002cce2 100644 ---- a/plug-ins/ifs-compose/Makefile.in -+++ b/plug-ins/ifs-compose/Makefile.in -@@ -412,7 +412,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - all: all-am - -diff --git a/plug-ins/imagemap/Makefile.am b/plug-ins/imagemap/Makefile.am -index 1c06f94..940ad74 100644 ---- a/plug-ins/imagemap/Makefile.am -+++ b/plug-ins/imagemap/Makefile.am -@@ -139,7 +139,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - CLEANFILES = y.tab.c y.tab.h - -diff --git a/plug-ins/imagemap/Makefile.in b/plug-ins/imagemap/Makefile.in -index 11e3368..0273db1 100644 ---- a/plug-ins/imagemap/Makefile.in -+++ b/plug-ins/imagemap/Makefile.in -@@ -578,7 +578,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - CLEANFILES = y.tab.c y.tab.h - LEX = flex -diff --git a/plug-ins/lighting/Makefile.am b/plug-ins/lighting/Makefile.am -index 1bf79fc..2e2899b 100644 ---- a/plug-ins/lighting/Makefile.am -+++ b/plug-ins/lighting/Makefile.am -@@ -51,4 +51,5 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm -diff --git a/plug-ins/lighting/Makefile.in b/plug-ins/lighting/Makefile.in -index 53cf170..142433c 100644 ---- a/plug-ins/lighting/Makefile.in -+++ b/plug-ins/lighting/Makefile.in -@@ -462,7 +462,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - all: all-recursive - -diff --git a/plug-ins/map-object/Makefile.am b/plug-ins/map-object/Makefile.am -index 2f7b7bc..483b29b 100644 ---- a/plug-ins/map-object/Makefile.am -+++ b/plug-ins/map-object/Makefile.am -@@ -51,4 +51,5 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm -diff --git a/plug-ins/map-object/Makefile.in b/plug-ins/map-object/Makefile.in -index e270c37..ea59968 100644 ---- a/plug-ins/map-object/Makefile.in -+++ b/plug-ins/map-object/Makefile.in -@@ -425,7 +425,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - all: all-am - -diff --git a/plug-ins/pagecurl/Makefile.am b/plug-ins/pagecurl/Makefile.am -index 2a6eafb..40680c4 100644 ---- a/plug-ins/pagecurl/Makefile.am -+++ b/plug-ins/pagecurl/Makefile.am -@@ -42,7 +42,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - - PAGECURL_IMAGES = \ -diff --git a/plug-ins/pagecurl/Makefile.in b/plug-ins/pagecurl/Makefile.in -index c8bd4f2..c157820 100644 ---- a/plug-ins/pagecurl/Makefile.in -+++ b/plug-ins/pagecurl/Makefile.in -@@ -411,7 +411,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - PAGECURL_IMAGES = \ - curl0.png \ -diff --git a/plug-ins/script-fu/Makefile.am b/plug-ins/script-fu/Makefile.am -index 3075b83..692b86e 100644 ---- a/plug-ins/script-fu/Makefile.am -+++ b/plug-ins/script-fu/Makefile.am -@@ -74,4 +74,5 @@ LDADD = \ - $(SOCKET_LIBS) \ - $(WINSOCK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm -diff --git a/plug-ins/script-fu/Makefile.in b/plug-ins/script-fu/Makefile.in -index 65c8b31..3d0fd50 100644 ---- a/plug-ins/script-fu/Makefile.in -+++ b/plug-ins/script-fu/Makefile.in -@@ -487,7 +487,8 @@ LDADD = \ - $(SOCKET_LIBS) \ - $(WINSOCK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - all: all-recursive - -diff --git a/plug-ins/selection-to-path/Makefile.am b/plug-ins/selection-to-path/Makefile.am -index 7e3ac65..385f5ea 100644 ---- a/plug-ins/selection-to-path/Makefile.am -+++ b/plug-ins/selection-to-path/Makefile.am -@@ -59,4 +59,5 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm -diff --git a/plug-ins/selection-to-path/Makefile.in b/plug-ins/selection-to-path/Makefile.in -index d4cbdf1..e4b6d25 100644 ---- a/plug-ins/selection-to-path/Makefile.in -+++ b/plug-ins/selection-to-path/Makefile.in -@@ -433,7 +433,8 @@ LDADD = \ - $(libgimpbase) \ - $(GTK_LIBS) \ - $(RT_LIBS) \ -- $(INTLLIBS) -+ $(INTLLIBS) \ -+ -lm - - all: all-am - diff --git a/main/gimp/gimp-libpng1.5-compat.patch b/main/gimp/gimp-libpng1.5-compat.patch deleted file mode 100644 index e3429e314..000000000 --- a/main/gimp/gimp-libpng1.5-compat.patch +++ /dev/null @@ -1,379 +0,0 @@ -From 2a53e15a7a373c13dec4333c5dd8d2cfde9ebd40 Mon Sep 17 00:00:00 2001 -From: Thomas Klausner -Date: Mon, 24 Jan 2011 18:06:50 +0100 -Subject: [PATCH] Bug 640409 - png-1.5 compatibility fixes - ---- - plug-ins/common/file-png.c | 138 +++++++++++++++++++++++++++----------------- - 1 files changed, 84 insertions(+), 54 deletions(-) - -diff --git a/plug-ins/common/file-png.c b/plug-ins/common/file-png.c -index be3b4c6..2ccd0e5 100644 ---- a/plug-ins/common/file-png.c -+++ b/plug-ins/common/file-png.c -@@ -652,7 +652,11 @@ on_read_error (png_structp png_ptr, png_const_charp error_msg) - error_data->drawable->width, num); - } - -+#if (PNG_LIBPNG_VER < 10500) - longjmp (png_ptr->jmpbuf, 1); -+#else -+ png_longjmp (png_ptr, 1); -+#endif - } - - /* -@@ -696,7 +700,7 @@ load_image (const gchar *filename, - pp = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - info = png_create_info_struct (pp); - -- if (setjmp (pp->jmpbuf)) -+ if (setjmp (png_jmpbuf(pp))) - { - g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED, - _("Error while reading '%s'. File corrupted?"), -@@ -737,17 +741,19 @@ load_image (const gchar *filename, - * Latest attempt, this should be my best yet :) - */ - -- if (info->bit_depth == 16) -+ if (png_get_bit_depth(pp, info) == 16) - { - png_set_strip_16 (pp); - } - -- if (info->color_type == PNG_COLOR_TYPE_GRAY && info->bit_depth < 8) -+ if (png_get_color_type(pp, info) == PNG_COLOR_TYPE_GRAY && -+ png_get_bit_depth(pp, info) < 8) - { - png_set_expand (pp); - } - -- if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8) -+ if (png_get_color_type(pp, info) == PNG_COLOR_TYPE_PALETTE && -+ png_get_bit_depth(pp, info) < 8) - { - png_set_packing (pp); - } -@@ -756,8 +762,8 @@ load_image (const gchar *filename, - * Expand G+tRNS to GA, RGB+tRNS to RGBA - */ - -- if (info->color_type != PNG_COLOR_TYPE_PALETTE && -- (info->valid & PNG_INFO_tRNS)) -+ if (png_get_color_type(pp, info) != PNG_COLOR_TYPE_PALETTE && -+ png_get_valid(pp, info, PNG_INFO_tRNS) != 0) - { - png_set_expand (pp); - } -@@ -774,7 +780,7 @@ load_image (const gchar *filename, - */ - - if (png_get_valid (pp, info, PNG_INFO_tRNS) && -- info->color_type == PNG_COLOR_TYPE_PALETTE) -+ png_get_color_type(pp, info) == PNG_COLOR_TYPE_PALETTE) - { - png_get_tRNS (pp, info, &alpha_ptr, &num, NULL); - /* Copy the existing alpha values from the tRNS chunk */ -@@ -796,7 +802,7 @@ load_image (const gchar *filename, - - png_read_update_info (pp, info); - -- switch (info->color_type) -+ switch (png_get_color_type(pp, info)) - { - case PNG_COLOR_TYPE_RGB: /* RGB */ - bpp = 3; -@@ -835,7 +841,9 @@ load_image (const gchar *filename, - return -1; - } - -- image = gimp_image_new (info->width, info->height, image_type); -+ image = gimp_image_new (png_get_image_width(pp, info), -+ png_get_image_height(pp, info), -+ image_type); - if (image == -1) - { - g_set_error (error, 0, 0, -@@ -848,7 +856,9 @@ load_image (const gchar *filename, - * Create the "background" layer to hold the image... - */ - -- layer = gimp_layer_new (image, _("Background"), info->width, info->height, -+ layer = gimp_layer_new (image, _("Background"), -+ png_get_image_width(pp, info), -+ png_get_image_height(pp, info), - layer_type, 100, GIMP_NORMAL_MODE); - gimp_image_insert_layer (image, layer, -1, 0); - -@@ -882,7 +892,8 @@ load_image (const gchar *filename, - - gimp_layer_set_offsets (layer, offset_x, offset_y); - -- if ((abs (offset_x) > info->width) || (abs (offset_y) > info->height)) -+ if ((abs (offset_x) > png_get_image_width(pp, info)) || -+ (abs (offset_y) > png_get_image_height(pp, info))) - { - if (interactive) - g_message (_("The PNG file specifies an offset that caused " -@@ -937,23 +948,27 @@ load_image (const gchar *filename, - - empty = 0; /* by default assume no full transparent palette entries */ - -- if (info->color_type & PNG_COLOR_MASK_PALETTE) -+ if (png_get_color_type(pp, info) & PNG_COLOR_MASK_PALETTE) - { -+ png_colorp palette; -+ int num_palette; -+ png_get_PLTE(pp, info, &palette, &num_palette); -+ - if (png_get_valid (pp, info, PNG_INFO_tRNS)) - { - for (empty = 0; empty < 256 && alpha[empty] == 0; ++empty) - /* Calculates number of fully transparent "empty" entries */; - - /* keep at least one entry */ -- empty = MIN (empty, info->num_palette - 1); -+ empty = MIN (empty, num_palette - 1); - -- gimp_image_set_colormap (image, (guchar *) (info->palette + empty), -- info->num_palette - empty); -+ gimp_image_set_colormap (image, (guchar *) (palette + empty), -+ num_palette - empty); - } - else - { -- gimp_image_set_colormap (image, (guchar *) info->palette, -- info->num_palette); -+ gimp_image_set_colormap (image, (guchar *) palette, -+ num_palette); - } - } - -@@ -971,18 +986,20 @@ load_image (const gchar *filename, - */ - - tile_height = gimp_tile_height (); -- pixel = g_new0 (guchar, tile_height * info->width * bpp); -+ pixel = g_new0 (guchar, tile_height * png_get_image_width(pp, info) * bpp); - pixels = g_new (guchar *, tile_height); - - for (i = 0; i < tile_height; i++) -- pixels[i] = pixel + info->width * info->channels * i; -+ pixels[i] = pixel + (png_get_image_width(pp, info) * -+ png_get_channels(pp, info) * -+ i); - - /* Install our own error handler to handle incomplete PNG files better */ - error_data.drawable = drawable; - error_data.pixel = pixel; - error_data.tile_height = tile_height; -- error_data.width = info->width; -- error_data.height = info->height; -+ error_data.width = png_get_image_width(pp, info); -+ error_data.height = png_get_image_height(pp, info); - error_data.bpp = bpp; - error_data.pixel_rgn = &pixel_rgn; - -@@ -995,10 +1012,11 @@ load_image (const gchar *filename, - */ - - for (begin = 0, end = tile_height; -- begin < info->height; begin += tile_height, end += tile_height) -+ begin < png_get_image_height(pp, info); -+ begin += tile_height, end += tile_height) - { -- if (end > info->height) -- end = info->height; -+ if (end > png_get_image_height(pp, info)) -+ end = png_get_image_height(pp, info); - - num = end - begin; - -@@ -1015,10 +1033,11 @@ load_image (const gchar *filename, - gimp_pixel_rgn_set_rect (&pixel_rgn, pixel, 0, begin, - drawable->width, num); - -- memset (pixel, 0, tile_height * info->width * bpp); -+ memset (pixel, 0, tile_height * png_get_image_width(pp, info) * bpp); - - gimp_progress_update (((gdouble) pass + -- (gdouble) end / (gdouble) info->height) / -+ (gdouble) end / -+ (gdouble) png_get_image_height(pp, info)) / - (gdouble) num_passes); - } - } -@@ -1071,7 +1090,8 @@ load_image (const gchar *filename, - - { - png_uint_32 proflen; -- png_charp profname, profile; -+ png_charp profname; -+ png_bytep profile; - int profcomp; - - if (png_get_iCCP (pp, info, &profname, &profcomp, &profile, &proflen)) -@@ -1199,6 +1219,8 @@ save_image (const gchar *filename, - guchar red, green, blue; /* Used for palette background */ - time_t cutime; /* Time since epoch */ - struct tm *gmt; /* GMT broken down */ -+ int color_type; /* type of colors in image */ -+ int bit_depth; /* width of colors in bit */ - - guchar remap[256]; /* Re-mapping for the palette */ - -@@ -1207,7 +1229,9 @@ save_image (const gchar *filename, - if (pngvals.comment) - { - GimpParasite *parasite; -+#ifndef PNG_iTXt_SUPPORTED - gsize text_length = 0; -+#endif - - parasite = gimp_image_parasite_find (orig_image_ID, "gimp-comment"); - if (parasite) -@@ -1248,7 +1272,7 @@ save_image (const gchar *filename, - pp = png_create_write_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); - info = png_create_info_struct (pp); - -- if (setjmp (pp->jmpbuf)) -+ if (setjmp (png_jmpbuf(pp))) - { - g_set_error (error, 0, 0, - _("Error while saving '%s'. Could not save image."), -@@ -1290,11 +1314,6 @@ save_image (const gchar *filename, - - png_set_compression_level (pp, pngvals.compression_level); - -- info->width = drawable->width; -- info->height = drawable->height; -- info->bit_depth = 8; -- info->interlace_type = pngvals.interlaced; -- - /* - * Initialise remap[] - */ -@@ -1308,37 +1327,36 @@ save_image (const gchar *filename, - switch (type) - { - case GIMP_RGB_IMAGE: -- info->color_type = PNG_COLOR_TYPE_RGB; -+ color_type = PNG_COLOR_TYPE_RGB; - bpp = 3; - break; - - case GIMP_RGBA_IMAGE: -- info->color_type = PNG_COLOR_TYPE_RGB_ALPHA; -+ color_type = PNG_COLOR_TYPE_RGB_ALPHA; - bpp = 4; - break; - - case GIMP_GRAY_IMAGE: -- info->color_type = PNG_COLOR_TYPE_GRAY; -+ color_type = PNG_COLOR_TYPE_GRAY; - bpp = 1; - break; - - case GIMP_GRAYA_IMAGE: -- info->color_type = PNG_COLOR_TYPE_GRAY_ALPHA; -+ color_type = PNG_COLOR_TYPE_GRAY_ALPHA; - bpp = 2; - break; - - case GIMP_INDEXED_IMAGE: - bpp = 1; -- info->color_type = PNG_COLOR_TYPE_PALETTE; -- info->valid |= PNG_INFO_PLTE; -- info->palette = -- (png_colorp) gimp_image_get_colormap (image_ID, &num_colors); -- info->num_palette = num_colors; -+ color_type = PNG_COLOR_TYPE_PALETTE; -+ png_set_PLTE(pp, info, -+ (png_colorp) gimp_image_get_colormap (image_ID, &num_colors), -+ num_colors); - break; - - case GIMP_INDEXEDA_IMAGE: - bpp = 2; -- info->color_type = PNG_COLOR_TYPE_PALETTE; -+ color_type = PNG_COLOR_TYPE_PALETTE; - /* fix up transparency */ - respin_cmap (pp, info, remap, image_ID, drawable); - break; -@@ -1352,17 +1370,28 @@ save_image (const gchar *filename, - * Fix bit depths for (possibly) smaller colormap images - */ - -- if (info->valid & PNG_INFO_PLTE) -+ bit_depth = 8; -+ -+ if (png_get_valid(pp, info, PNG_INFO_PLTE)) - { -- if (info->num_palette <= 2) -- info->bit_depth = 1; -- else if (info->num_palette <= 4) -- info->bit_depth = 2; -- else if (info->num_palette <= 16) -- info->bit_depth = 4; -+ png_colorp palette; -+ int num_palette; -+ png_get_PLTE(pp, info, &palette, &num_palette); -+ -+ if (num_palette <= 2) -+ bit_depth = 1; -+ else if (num_palette <= 4) -+ bit_depth = 2; -+ else if (num_palette <= 16) -+ bit_depth = 4; - /* otherwise the default is fine */ - } - -+ png_set_IHDR(pp, info, -+ drawable->width, drawable->height, bit_depth, color_type, -+ pngvals.interlaced ? PNG_INTERLACE_ADAM7 : PNG_INTERLACE_NONE, -+ PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE); -+ - /* All this stuff is optional extras, if the user is aiming for smallest - possible file size she can turn them all off */ - -@@ -1476,7 +1505,8 @@ save_image (const gchar *filename, - * Convert unpacked pixels to packed if necessary - */ - -- if (info->color_type == PNG_COLOR_TYPE_PALETTE && info->bit_depth < 8) -+ if (png_get_color_type(pp, info) == -+ PNG_COLOR_TYPE_PALETTE && png_get_bit_depth(pp, info) < 8) - png_set_packing (pp); - - /* -@@ -1528,7 +1558,7 @@ save_image (const gchar *filename, - - /* If we're dealing with a paletted image with - * transparency set, write out the remapped palette */ -- if (info->valid & PNG_INFO_tRNS) -+ if (png_get_valid(pp, info, PNG_INFO_tRNS)) - { - guchar inverse_remap[256]; - -@@ -1548,7 +1578,7 @@ save_image (const gchar *filename, - } - /* Otherwise if we have a paletted image and transparency - * couldn't be set, we ignore the alpha channel */ -- else if (info->valid & PNG_INFO_PLTE && bpp == 2) -+ else if (png_get_valid(pp, info, PNG_INFO_PLTE) && bpp == 2) - { - for (i = 0; i < num; ++i) - { -@@ -1563,7 +1593,7 @@ save_image (const gchar *filename, - png_write_rows (pp, pixels, num); - - gimp_progress_update (((double) pass + (double) end / -- (double) info->height) / -+ (double) png_get_image_height(pp, info)) / - (double) num_passes); - } - } --- -1.7.3.4 - diff --git a/main/gimp/gimp-poppler-0.18.patch b/main/gimp/gimp-poppler-0.18.patch deleted file mode 100644 index 0715460bc..000000000 --- a/main/gimp/gimp-poppler-0.18.patch +++ /dev/null @@ -1,476 +0,0 @@ -From 69f69eed816b89be9a01a48a1f0643d1fd496118 Mon Sep 17 00:00:00 2001 -From: Nils Philippsen -Date: Fri, 6 May 2011 11:58:44 +0200 -Subject: [PATCH] patch: poppler-0.17 - -Squashed commit of the following: - -commit 529d940222dfc352d41fbf72de29134421aa4002 -Author: Nils Philippsen -Date: Fri May 6 11:50:30 2011 +0200 - - use code based on pixbufs instead of cairo surfaces - - this is done to avoid adding to libgimp, thanks to Mukund Sivaraman for - hints how to do this - -commit f8671d8767d4cdab830dc06310e96c63a88ec0fd -Author: Mukund Sivaraman -Date: Thu Apr 21 13:57:13 2011 +0530 - - file-pdf-load: Update attribution, removing bogus copyright - (cherry picked from commit e999122e0b20b6ccd6bde3ce039bb64068fc0019) - -commit 89a78f2590d298dac2f42e6d9a3016fc5d672c70 -Author: Nils Philippsen -Date: Thu Apr 21 13:52:18 2011 +0200 - - file-pdf-load: Use better API + cleanups - - * fixes issues with poppler 0.17 completely - * uses new libgimp API to pass surfaces instead of pixbufs - * uses GTK+ 3 API to convert surfaces to pixbufs where available - (backported from commit 7bdadd80ba479d6ff904e276d805e16f6b940ee2) - -commit 4e92302c4a14a961f112587a0ad86696c88da2f8 -Author: Nils Philippsen -Date: Thu Apr 21 13:38:08 2011 +0200 - - file-pdf-load: Don't use deprecated API (bug #646947) - - (cherry picked from commit 9b3e1c91fd2eac69da6947ec9c7fbf10096ba237) - - Conflicts: - - plug-ins/common/file-pdf.c ---- - plug-ins/common/file-pdf.c | 323 ++++++++++++++++++++++++++++++++++++++------ - 1 files changed, 283 insertions(+), 40 deletions(-) - -diff --git a/plug-ins/common/file-pdf.c b/plug-ins/common/file-pdf.c -index a43b459..43c2b7d 100644 ---- a/plug-ins/common/file-pdf.c -+++ b/plug-ins/common/file-pdf.c -@@ -4,6 +4,9 @@ - * - * Copyright (C) 2005 Nathan Summers - * -+ * Some code in render_page_to_surface() borrowed from -+ * poppler.git/glib/poppler-page.cc. -+ * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or -@@ -80,16 +83,20 @@ static gboolean load_dialog (PopplerDocument *doc, - static PopplerDocument * open_document (const gchar *filename, - GError **error); - --static GdkPixbuf * get_thumbnail (PopplerDocument *doc, -+static cairo_surface_t * get_thumb_surface (PopplerDocument *doc, -+ gint page, -+ gint preferred_size); -+ -+static GdkPixbuf * get_thumb_pixbuf (PopplerDocument *doc, - gint page, - gint preferred_size); - - static gint32 layer_from_pixbuf (gint32 image, -- const gchar *layer_name, -- gint position, -- GdkPixbuf *buf, -- gdouble progress_start, -- gdouble progress_scale); -+ const gchar *layer_name, -+ gint position, -+ GdkPixbuf *pixbuf, -+ gdouble progress_start, -+ gdouble progress_scale); - - /** - ** the following was formerly part of -@@ -433,11 +440,12 @@ run (const gchar *name, - } - else - { -- gdouble width = 0; -- gdouble height = 0; -- gdouble scale; -- gint32 image = -1; -- GdkPixbuf *pixbuf = NULL; -+ gdouble width = 0; -+ gdouble height = 0; -+ gdouble scale; -+ gint32 image = -1; -+ gint num_pages = 0; -+ GdkPixbuf *pixbuf = NULL; - - /* Possibly retrieve last settings */ - gimp_get_data (LOAD_PROC, &loadvals); -@@ -455,7 +463,10 @@ run (const gchar *name, - g_object_unref (page); - } - -- pixbuf = get_thumbnail (doc, 0, param[1].data.d_int32); -+ num_pages = poppler_document_get_n_pages (doc); -+ -+ pixbuf = get_thumb_pixbuf (doc, 0, param[1].data.d_int32); -+ - g_object_unref (doc); - } - -@@ -548,6 +559,187 @@ open_document (const gchar *filename, - return doc; - } - -+/* FIXME: Remove this someday when we depend fully on GTK+ >= 3 */ -+ -+#if (!GTK_CHECK_VERSION (3, 0, 0)) -+ -+static cairo_format_t -+gdk_cairo_format_for_content (cairo_content_t content) -+{ -+ switch (content) -+ { -+ case CAIRO_CONTENT_COLOR: -+ return CAIRO_FORMAT_RGB24; -+ case CAIRO_CONTENT_ALPHA: -+ return CAIRO_FORMAT_A8; -+ case CAIRO_CONTENT_COLOR_ALPHA: -+ default: -+ return CAIRO_FORMAT_ARGB32; -+ } -+} -+ -+static cairo_surface_t * -+gdk_cairo_surface_coerce_to_image (cairo_surface_t *surface, -+ cairo_content_t content, -+ int src_x, -+ int src_y, -+ int width, -+ int height) -+{ -+ cairo_surface_t *copy; -+ cairo_t *cr; -+ -+ copy = cairo_image_surface_create (gdk_cairo_format_for_content (content), -+ width, -+ height); -+ -+ cr = cairo_create (copy); -+ cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); -+ cairo_set_source_surface (cr, surface, -src_x, -src_y); -+ cairo_paint (cr); -+ cairo_destroy (cr); -+ -+ return copy; -+} -+ -+static void -+convert_alpha (guchar *dest_data, -+ int dest_stride, -+ guchar *src_data, -+ int src_stride, -+ int src_x, -+ int src_y, -+ int width, -+ int height) -+{ -+ int x, y; -+ -+ src_data += src_stride * src_y + src_x * 4; -+ -+ for (y = 0; y < height; y++) { -+ guint32 *src = (guint32 *) src_data; -+ -+ for (x = 0; x < width; x++) { -+ guint alpha = src[x] >> 24; -+ -+ if (alpha == 0) -+ { -+ dest_data[x * 4 + 0] = 0; -+ dest_data[x * 4 + 1] = 0; -+ dest_data[x * 4 + 2] = 0; -+ } -+ else -+ { -+ dest_data[x * 4 + 0] = (((src[x] & 0xff0000) >> 16) * 255 + alpha / 2) / alpha; -+ dest_data[x * 4 + 1] = (((src[x] & 0x00ff00) >> 8) * 255 + alpha / 2) / alpha; -+ dest_data[x * 4 + 2] = (((src[x] & 0x0000ff) >> 0) * 255 + alpha / 2) / alpha; -+ } -+ dest_data[x * 4 + 3] = alpha; -+ } -+ -+ src_data += src_stride; -+ dest_data += dest_stride; -+ } -+} -+ -+static void -+convert_no_alpha (guchar *dest_data, -+ int dest_stride, -+ guchar *src_data, -+ int src_stride, -+ int src_x, -+ int src_y, -+ int width, -+ int height) -+{ -+ int x, y; -+ -+ src_data += src_stride * src_y + src_x * 4; -+ -+ for (y = 0; y < height; y++) { -+ guint32 *src = (guint32 *) src_data; -+ -+ for (x = 0; x < width; x++) { -+ dest_data[x * 3 + 0] = src[x] >> 16; -+ dest_data[x * 3 + 1] = src[x] >> 8; -+ dest_data[x * 3 + 2] = src[x]; -+ } -+ -+ src_data += src_stride; -+ dest_data += dest_stride; -+ } -+} -+ -+/** -+ * gdk_pixbuf_get_from_surface: -+ * @surface: surface to copy from -+ * @src_x: Source X coordinate within @surface -+ * @src_y: Source Y coordinate within @surface -+ * @width: Width in pixels of region to get -+ * @height: Height in pixels of region to get -+ * -+ * Transfers image data from a #cairo_surface_t and converts it to an RGB(A) -+ * representation inside a #GdkPixbuf. This allows you to efficiently read -+ * individual pixels from cairo surfaces. For #GdkWindows, use -+ * gdk_pixbuf_get_from_window() instead. -+ * -+ * This function will create an RGB pixbuf with 8 bits per channel. -+ * The pixbuf will contain an alpha channel if the @surface contains one. -+ * -+ * Return value: (transfer full): A newly-created pixbuf with a reference -+ * count of 1, or %NULL on error -+ */ -+static GdkPixbuf * -+gdk_pixbuf_get_from_surface (cairo_surface_t *surface, -+ gint src_x, -+ gint src_y, -+ gint width, -+ gint height) -+{ -+ cairo_content_t content; -+ GdkPixbuf *dest; -+ -+ /* General sanity checks */ -+ g_return_val_if_fail (surface != NULL, NULL); -+ g_return_val_if_fail (width > 0 && height > 0, NULL); -+ -+ content = cairo_surface_get_content (surface) | CAIRO_CONTENT_COLOR; -+ dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, -+ !!(content & CAIRO_CONTENT_ALPHA), -+ 8, -+ width, height); -+ -+ surface = gdk_cairo_surface_coerce_to_image (surface, content, -+ src_x, src_y, -+ width, height); -+ cairo_surface_flush (surface); -+ if (cairo_surface_status (surface) || dest == NULL) -+ { -+ cairo_surface_destroy (surface); -+ return NULL; -+ } -+ -+ if (gdk_pixbuf_get_has_alpha (dest)) -+ convert_alpha (gdk_pixbuf_get_pixels (dest), -+ gdk_pixbuf_get_rowstride (dest), -+ cairo_image_surface_get_data (surface), -+ cairo_image_surface_get_stride (surface), -+ 0, 0, -+ width, height); -+ else -+ convert_no_alpha (gdk_pixbuf_get_pixels (dest), -+ gdk_pixbuf_get_rowstride (dest), -+ cairo_image_surface_get_data (surface), -+ cairo_image_surface_get_stride (surface), -+ 0, 0, -+ width, height); -+ -+ cairo_surface_destroy (surface); -+ return dest; -+} -+ -+#endif -+ - static gint32 - layer_from_pixbuf (gint32 image, - const gchar *layer_name, -@@ -566,6 +758,54 @@ layer_from_pixbuf (gint32 image, - return layer; - } - -+static cairo_surface_t * -+render_page_to_surface (PopplerPage *page, -+ int width, -+ int height, -+ double scale) -+{ -+ cairo_surface_t *surface; -+ cairo_t *cr; -+ -+ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); -+ cr = cairo_create (surface); -+ -+ cairo_save (cr); -+ cairo_translate (cr, 0.0, 0.0); -+ -+ if (scale != 1.0) -+ cairo_scale (cr, scale, scale); -+ -+ poppler_page_render (page, cr); -+ cairo_restore (cr); -+ -+ cairo_set_operator (cr, CAIRO_OPERATOR_DEST_OVER); -+ cairo_set_source_rgb (cr, 1.0, 1.0, 1.0); -+ cairo_paint (cr); -+ -+ cairo_destroy (cr); -+ -+ return surface; -+} -+ -+static GdkPixbuf * -+render_page_to_pixbuf (PopplerPage *page, -+ int width, -+ int height, -+ double scale) -+{ -+ GdkPixbuf *pixbuf; -+ cairo_surface_t *surface; -+ -+ surface = render_page_to_surface (page, width, height, scale); -+ pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, -+ cairo_image_surface_get_width (surface), -+ cairo_image_surface_get_height (surface)); -+ cairo_surface_destroy (surface); -+ -+ return pixbuf; -+} -+ - static gint32 - load_image (PopplerDocument *doc, - const gchar *filename, -@@ -597,7 +837,7 @@ load_image (PopplerDocument *doc, - gdouble page_width; - gdouble page_height; - -- GdkPixbuf *buf; -+ GdkPixbuf *pixbuf; - gint width; - gint height; - -@@ -627,15 +867,13 @@ load_image (PopplerDocument *doc, - gimp_image_set_resolution (image_ID, resolution, resolution); - } - -- buf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height); -- -- poppler_page_render_to_pixbuf (page, 0, 0, width, height, scale, 0, buf); -+ pixbuf = render_page_to_pixbuf (page, width, height, scale); - -- layer_from_pixbuf (image_ID, page_label, i, buf, -+ layer_from_pixbuf (image_ID, page_label, i, pixbuf, - doc_progress, 1.0 / pages->n_pages); - - g_free (page_label); -- g_object_unref (buf); -+ g_object_unref(pixbuf); - - doc_progress = (double) (i + 1) / pages->n_pages; - gimp_progress_update (doc_progress); -@@ -676,30 +914,22 @@ load_image (PopplerDocument *doc, - return image_ID; - } - --static GdkPixbuf * --get_thumbnail (PopplerDocument *doc, -- gint page_num, -- gint preferred_size) -+static cairo_surface_t * -+get_thumb_surface (PopplerDocument *doc, -+ gint page_num, -+ gint preferred_size) - { - PopplerPage *page; -- GdkPixbuf *pixbuf; -+ cairo_surface_t *surface; - - page = poppler_document_get_page (doc, page_num); - - if (! page) - return NULL; - -- /* XXX: Remove conditional when we depend on poppler 0.8.0, but also -- * add configure check to make sure POPPLER_WITH_GDK is enabled! -- */ --#ifdef POPPLER_WITH_GDK -- pixbuf = poppler_page_get_thumbnail_pixbuf (page); --#else -- pixbuf = poppler_page_get_thumbnail (page); --#endif -- -+ surface = poppler_page_get_thumbnail (page); - -- if (! pixbuf) -+ if (! surface) - { - gdouble width; - gdouble height; -@@ -712,15 +942,28 @@ get_thumbnail (PopplerDocument *doc, - width *= scale; - height *= scale; - -- pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, -- width, height); -- -- poppler_page_render_to_pixbuf (page, -- 0, 0, width, height, scale, 0, pixbuf); -+ surface = render_page_to_surface (page, width, height, scale); - } - - g_object_unref (page); - -+ return surface; -+} -+ -+static GdkPixbuf * -+get_thumb_pixbuf (PopplerDocument *doc, -+ gint page_num, -+ gint preferred_size) -+{ -+ cairo_surface_t *surface; -+ GdkPixbuf *pixbuf; -+ -+ surface = get_thumb_surface (doc, page_num, preferred_size); -+ pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, -+ cairo_image_surface_get_width (surface), -+ cairo_image_surface_get_height (surface)); -+ cairo_surface_destroy (surface); -+ - return pixbuf; - } - -@@ -769,8 +1012,8 @@ thumbnail_thread (gpointer data) - idle_data->page_no = i; - - /* FIXME get preferred size from somewhere? */ -- idle_data->pixbuf = get_thumbnail (thread_data->document, i, -- THUMBNAIL_SIZE); -+ idle_data->pixbuf = get_thumb_pixbuf (thread_data->document, i, -+ THUMBNAIL_SIZE); - - g_idle_add (idle_set_thumbnail, idle_data); - --- -1.7.5 -- cgit v1.2.3