summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:30:19 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:30:19 +0000
commit5c1676dfe6d2f3c837a5e074117b45613fd29a72 (patch)
treecbffb45144febf451e54061db2b21395faf94bfe /configure.ac
parentInitial commit. (diff)
downloadgimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.tar.xz
gimp-5c1676dfe6d2f3c837a5e074117b45613fd29a72.zip
Adding upstream version 2.10.34.upstream/2.10.34upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac3243
1 files changed, 3243 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..c25415d
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,3243 @@
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.54)
+
+# Making releases on the stable branch:
+# gimp_micro_version += 1;
+# gimp_interface_age += 1;
+#
+# For a description of libtool version variables, see:
+# devel-docs/libtool-instructions.txt
+
+m4_define([gimp_major_version], [2])
+m4_define([gimp_minor_version], [10])
+m4_define([gimp_micro_version], [34])
+m4_define([gimp_real_version],
+ [gimp_major_version.gimp_minor_version.gimp_micro_version])
+m4_define([gimp_version], [gimp_real_version])
+m4_define([gimp_interface_age], [34])
+m4_define([gimp_binary_age],
+ [m4_eval(100 * gimp_minor_version + gimp_micro_version)])
+
+# For overriding the version string. Comment out if not needed.
+# m4_define([gimp_version], [2.10.0])
+
+# This is the X.Y used in -lgimp-X.Y
+m4_define([gimp_api_version], [2.0])
+
+# Versions used for apps, plugins, tools, pkg-config files, and data,
+# as well as global and user prefs
+m4_define([gimp_app_version], [2.10])
+m4_define([gimp_plugin_version], [2.0])
+m4_define([gimp_tool_version], [2.0])
+m4_define([gimp_pkgconfig_version], [2.0])
+m4_define([gimp_data_version], [2.0])
+m4_define([gimp_sysconf_version], [2.0])
+m4_define([gimp_user_version], [2.10])
+
+m4_define([gimp_unstable],
+ m4_if(m4_eval(gimp_minor_version % 2), [1], [yes], [no]))
+m4_define([gimp_stable],
+ m4_if(m4_eval(gimp_minor_version % 2), [0], [yes], [no]))
+
+m4_define([gimp_release],
+ m4_if(m4_eval(gimp_micro_version % 2), [0], [yes], [no]))
+
+m4_define([gimp_full_name], [GNU Image Manipulation Program])
+
+# required versions of other packages
+m4_define([alsa_required_version], [1.0.0])
+m4_define([atk_required_version], [2.2.0])
+m4_define([babl_required_version], [0.1.78])
+m4_define([cairo_pdf_required_version], [1.12.2])
+m4_define([cairo_required_version], [1.12.2])
+m4_define([fontconfig_required_version], [2.12.4])
+m4_define([freetype2_required_version], [2.1.7])
+m4_define([gdk_pixbuf_required_version], [2.30.8])
+m4_define([gegl_major_minor_version], [0.4])
+m4_define([gegl_micro_version], [38])
+m4_define([gegl_required_version],
+ [gegl_major_minor_version.gegl_micro_version])
+m4_define([gexiv2_required_version], [0.10.6])
+m4_define([glib_required_version], [2.56.2])
+m4_define([gtk_mac_integration_required_version], [2.0.0])
+m4_define([gtk_required_version], [2.24.32])
+m4_define([gtkdoc_required_version], [1.0])
+m4_define([harfbuzz_required_version], [0.9.19])
+m4_define([intltool_required_version], [0.40.1])
+m4_define([json_glib_required_version], [1.2.6])
+m4_define([lcms_required_version], [2.8])
+m4_define([libgudev_required_version], [167])
+m4_define([libheif_required_version], [1.3.2])
+m4_define([libjxl_required_version], [0.7.0])
+m4_define([liblzma_required_version], [5.0.0])
+m4_define([libmypaint_required_version], [1.3.0])
+m4_define([libpng_required_version], [1.6.25])
+m4_define([libunwind_required_version], [1.1.0])
+m4_define([openexr_required_version], [1.6.1])
+m4_define([openjpeg_required_version], [2.1.0])
+m4_define([pangocairo_required_version], [1.29.4])
+m4_define([perl_required_version], [5.10.0])
+m4_define([poppler_data_required_version], [0.4.7])
+m4_define([poppler_required_version], [0.50.0])
+m4_define([pycairo_required_version], [1.0.2])
+m4_define([pygtk_required_version], [2.10.4])
+m4_define([python2_required_version], [2.5.0])
+m4_define([rsvg_required_version], [2.40.6])
+m4_define([webkit_required_version], [1.6.1])
+m4_define([webp_required_version], [0.6.0])
+m4_define([wmf_required_version], [0.2.8])
+
+# Current test considers only 2 version numbers. If we update the recommended
+# version of gettext with more version numbers, please update the tests.
+m4_define([xgettext_required_version], [0.19])
+
+AC_INIT([GIMP], [gimp_version],
+ [https://gitlab.gnome.org/GNOME/gimp/issues/new],
+ [gimp])
+
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_SRCDIR([app/core/gimp.c])
+AC_CONFIG_MACRO_DIR([m4macros])
+
+AM_INIT_AUTOMAKE(no-define dist-bzip2 dist-xz no-dist-gzip -Wno-portability)
+
+# Enable silent build rules by default, requires at least
+# Automake-1.11. Disable by either passing --disable-silent-rules to
+# configure or passing V=1 to make
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
+
+GIMP_MAJOR_VERSION=gimp_major_version
+GIMP_MINOR_VERSION=gimp_minor_version
+GIMP_MICRO_VERSION=gimp_micro_version
+GIMP_INTERFACE_AGE=gimp_interface_age
+GIMP_BINARY_AGE=gimp_binary_age
+GIMP_VERSION=gimp_version
+GIMP_REAL_VERSION=gimp_real_version
+GIMP_API_VERSION=gimp_api_version
+GIMP_APP_VERSION=gimp_app_version
+GIMP_PLUGIN_VERSION=gimp_plugin_version
+GIMP_TOOL_VERSION=gimp_tool_version
+GIMP_PKGCONFIG_VERSION=gimp_pkgconfig_version
+GIMP_DATA_VERSION=gimp_data_version
+GIMP_SYSCONF_VERSION=gimp_sysconf_version
+GIMP_USER_VERSION=gimp_user_version
+GIMP_UNSTABLE=gimp_unstable
+GIMP_RELEASE=gimp_release
+GIMP_FULL_NAME="gimp_full_name"
+AC_SUBST(GIMP_MAJOR_VERSION)
+AC_SUBST(GIMP_MINOR_VERSION)
+AC_SUBST(GIMP_MICRO_VERSION)
+AC_SUBST(GIMP_INTERFACE_AGE)
+AC_SUBST(GIMP_BINARY_AGE)
+AC_SUBST(GIMP_VERSION)
+AC_SUBST(GIMP_REAL_VERSION)
+AC_SUBST(GIMP_API_VERSION)
+AC_SUBST(GIMP_APP_VERSION)
+AC_SUBST(GIMP_PLUGIN_VERSION)
+AC_SUBST(GIMP_TOOL_VERSION)
+AC_SUBST(GIMP_PKGCONFIG_VERSION)
+AC_SUBST(GIMP_DATA_VERSION)
+AC_SUBST(GIMP_SYSCONF_VERSION)
+AC_SUBST(GIMP_USER_VERSION)
+AC_SUBST(GIMP_UNSTABLE)
+AC_SUBST(GIMP_RELEASE)
+AC_SUBST(GIMP_FULL_NAME)
+
+# Version strings used in some source, though it seems unnecessary to
+# declare them in the public API (libgimpbase/gimpversion.h).
+AC_DEFINE(GIMP_PKGCONFIG_VERSION, "gimp_pkgconfig_version",
+ [libgimp pkg-config version])
+AC_DEFINE(GIMP_TOOL_VERSION, "gimp_tool_version",
+ [GIMP tools version])
+
+# These are used in the .pc files
+GLIB_REQUIRED_VERSION=glib_required_version
+GDK_PIXBUF_REQUIRED_VERSION=gdk_pixbuf_required_version
+GTK_REQUIRED_VERSION=gtk_required_version
+CAIRO_REQUIRED_VERSION=cairo_required_version
+CAIRO_PDF_REQUIRED_VERSION=cairo_pdf_required_version
+GEGL_MAJOR_MINOR_VERSION=gegl_major_minor_version
+GEGL_REQUIRED_VERSION=gegl_required_version
+GEXIV2_REQUIRED_VERSION=gexiv2_required_version
+LCMS_REQUIRED_VERSION=lcms_required_version
+LIBPNG_REQUIRED_VERSION=libpng_required_version
+LIBLZMA_REQUIRED_VERSION=liblzma_required_version
+LIBMYPAINT_REQUIRED_VERSION=libmypaint_required_version
+PANGOCAIRO_REQUIRED_VERSION=pangocairo_required_version
+BABL_REQUIRED_VERSION=babl_required_version
+FONTCONFIG_REQUIRED_VERSION=fontconfig_required_version
+FREETYPE2_REQUIRED_VERSION=freetype2_required_version
+HARFBUZZ_REQUIRED_VERSION=harfbuzz_required_version
+WEBKIT_REQUIRED_VERSION=webkit_required_version
+ATK_REQUIRED_VERSION=atk_required_version
+RSVG_REQUIRED_VERSION=rsvg_required_version
+WMF_REQUIRED_VERSION=wmf_required_version
+POPPLER_REQUIRED_VERSION=poppler_required_version
+POPPLER_DATA_REQUIRED_VERSION=poppler_data_required_version
+OPENEXR_REQUIRED_VERSION=openexr_required_version
+OPENJPEG_REQUIRED_VERSION=openjpeg_required_version
+INTLTOOL_REQUIRED_VERSION=intltool_required_version
+PERL_REQUIRED_VERSION=perl_required_version
+PYTHON2_REQUIRED_VERSION=python2_required_version
+WEBP_REQUIRED_VERSION=webp_required_version
+LIBHEIF_REQUIRED_VERSION=libheif_required_version
+LIBJXL_REQUIRED_VERSION=libjxl_required_version
+LIBUNWIND_REQUIRED_VERSION=libunwind_required_version
+XGETTEXT_REQUIRED_VERSION=xgettext_required_version
+AC_SUBST(GLIB_REQUIRED_VERSION)
+AC_SUBST(GDK_PIXBUF_REQUIRED_VERSION)
+AC_SUBST(GTK_REQUIRED_VERSION)
+AC_SUBST(CAIRO_REQUIRED_VERSION)
+AC_SUBST(CAIRO_PDF_REQUIRED_VERSION)
+AC_SUBST(GEGL_MAJOR_MINOR_VERSION)
+AC_SUBST(GEGL_REQUIRED_VERSION)
+AC_SUBST(GEXIV2_REQUIRED_VERSION)
+AC_SUBST(LCMS_REQUIRED_VERSION)
+AC_SUBST(LIBPNG_REQUIRED_VERSION)
+AC_SUBST(LIBLZMA_REQUIRED_VERSION)
+AC_SUBST(LIBMYPAINT_REQUIRED_VERSION)
+AC_SUBST(PANGOCAIRO_REQUIRED_VERSION)
+AC_SUBST(BABL_REQUIRED_VERSION)
+AC_SUBST(FONTCONFIG_REQUIRED_VERSION)
+AC_SUBST(FREETYPE2_REQUIRED_VERSION)
+AC_SUBST(HARFBUZZ_REQUIRED_VERSION)
+AC_SUBST(WEBKIT_REQUIRED_VERSION)
+AC_SUBST(ATK_REQUIRED_VERSION)
+AC_SUBST(RSVG_REQUIRED_VERSION)
+AC_SUBST(WMF_REQUIRED_VERSION)
+AC_SUBST(POPPLER_REQUIRED_VERSION)
+AC_SUBST(POPPLER_DATA_REQUIRED_VERSION)
+AC_SUBST(OPENEXR_REQUIRED_VERSION)
+AC_SUBST(OPENJPEG_REQUIRED_VERSION)
+AC_SUBST(INTLTOOL_REQUIRED_VERSION)
+AC_SUBST(PERL_REQUIRED_VERSION)
+AC_SUBST(PYTHON2_REQUIRED_VERSION)
+AC_SUBST(WEBP_REQUIRED_VERSION)
+AC_SUBST(LIBHEIF_REQUIRED_VERSION)
+AC_SUBST(LIBJXL_REQUIRED_VERSION)
+AC_SUBST(LIBUNWIND_REQUIRED_VERSION)
+AC_SUBST(XGETTEXT_REQUIRED_VERSION)
+
+# The symbol GIMP_UNSTABLE is defined above for substitution in
+# Makefiles and conditionally defined here as a preprocessor symbol
+# and automake conditional.
+if test "x$GIMP_UNSTABLE" = "xyes"; then
+ AC_DEFINE(GIMP_UNSTABLE, 1,
+ [Define to 1 if this is code from the unstable branch of GIMP])
+fi
+AM_CONDITIONAL(GIMP_UNSTABLE, test "x$GIMP_UNSTABLE" = "xyes")
+
+if test "x$GIMP_RELEASE" = "xyes"; then
+ AC_DEFINE(GIMP_RELEASE, 1,
+ [Define to 1 if this is a release version of GIMP])
+fi
+AM_CONDITIONAL(GIMP_RELEASE, test "x$GIMP_RELEASE" = "xyes")
+
+# libtool versioning
+m4_define([lt_current], [m4_eval(100 * gimp_minor_version + gimp_micro_version - gimp_interface_age)])
+m4_define([lt_revision], [gimp_interface_age])
+m4_define([lt_age], [m4_eval(gimp_binary_age - gimp_interface_age)])
+LT_VERSION_INFO="lt_current:lt_revision:lt_age"
+LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
+AC_SUBST(LT_VERSION_INFO)
+AC_SUBST(LT_CURRENT_MINUS_AGE)
+
+
+# gettext i18n support
+GETTEXT_PACKAGE=gimp20
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
+ [The prefix for our gettext translation domains.])
+
+# work around intltool-update issues during 'make distcheck'
+AS_IF([test "x$0" != "x./configure"], [
+ AC_SUBST([INTLTOOL_UPDATE], [/bin/true])
+])
+
+# Determine a C compiler to use
+AC_PROG_CC
+AX_PROG_CC_FOR_BUILD
+# Works around a bug in AX_PROG_CC_FOR_BUILD for build with MinGW on
+# Windows. See bug 780270, comment 18.
+case "$build_os" in
+ cygwin*|mingw32*|mingw64*) BUILD_EXEEXT=.exe ;;
+esac
+AM_PROG_CC_C_O
+
+# Determine a C++ compiler to use
+AC_PROG_CXX
+AX_CXX_COMPILE_STDCXX([14], , [mandatory])
+
+# Initialize libtool
+LT_PREREQ([2.2])
+LT_INIT([disable-static win32-dll])
+
+AM_PROG_AS
+
+# Initialize maintainer mode
+AM_MAINTAINER_MODE([enable])
+
+# Check for pkg-config
+PKG_PROG_PKG_CONFIG(0.16)
+
+
+#########################
+# Check host architecture
+#########################
+
+AC_CANONICAL_HOST
+
+AC_MSG_CHECKING([for host type])
+AC_MSG_RESULT([$host])
+
+AC_MSG_CHECKING([for host processor])
+case "$host_cpu" in
+ i*86)
+ have_x86=yes
+ AC_DEFINE(ARCH_X86, 1, [Define to 1 if you are compiling for ix86.])
+ AC_MSG_RESULT([x86])
+ ;;
+ x86_64)
+ have_x86=yes
+ AC_DEFINE(ARCH_X86, 1, [Define to 1 if you are compiling for ix86.])
+ AC_DEFINE(ARCH_X86_64, 1, [Define to 1 if you are compiling for amd64.])
+ AC_MSG_RESULT([x86-64])
+ ;;
+ ppc | powerpc)
+ have_ppc=yes
+ AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
+ AC_MSG_RESULT([PowerPC])
+ ;;
+ ppc64 | powerpc64)
+ have_ppc=yes
+ AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
+ AC_DEFINE(ARCH_PPC64, 1, [Define to 1 if you are compiling for PowerPC64.])
+ AC_MSG_RESULT([64-bit PowerPC])
+ ;;
+ *)
+ AC_MSG_RESULT([unknown])
+ ;;
+esac
+
+
+#################
+# Check for Linux
+#################
+
+AC_MSG_CHECKING([if compiling for Linux])
+case "$host_os" in
+ linux*)
+ platform_linux=yes
+ ;;
+ *)
+ platform_linux=no
+ ;;
+esac
+AC_MSG_RESULT([$platform_linux])
+AM_CONDITIONAL(PLATFORM_LINUX, test "$platform_linux" = "yes")
+
+
+#################
+# Check for Win32
+#################
+
+AC_MSG_CHECKING([if compiling for Win32])
+case "$host_os" in
+ msys* | mingw* | cygwin*)
+ platform_win32=yes
+ ;;
+ *)
+ platform_win32=no
+ ;;
+esac
+AC_MSG_RESULT([$platform_win32])
+AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
+
+PATHSEP=':'
+os_win32=no
+if test "x$platform_win32" != xno; then
+ AC_MSG_CHECKING([if this is native Win32])
+ case "$host_os" in
+ msys* | mingw*)
+ os_win32=yes
+ case "$host_cpu" in
+ x86_64)
+ ;;
+ *)
+ WIN32_LARGE_ADDRESS_AWARE='-Wl,--large-address-aware'
+ ;;
+ esac
+ PATHSEP=';'
+ ;;
+ *)
+ ;;
+ esac
+ AC_MSG_RESULT([$os_win32])
+fi
+AC_SUBST(WIN32_LARGE_ADDRESS_AWARE)
+AC_SUBST(PATHSEP)
+AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
+AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
+
+if test "$os_win32" = "yes"; then
+ AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
+ AC_CHECK_TOOL(WINDRES, windres, :)
+else
+ WINDRES=":"
+fi
+
+AM_CONDITIONAL(MS_LIB_AVAILABLE, test "x$ms_librarian" = xyes)
+AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
+
+AC_SUBST(WINDRES)
+
+
+####################
+# Check for Mac OS X
+####################
+
+platform_osx=no
+AC_MSG_CHECKING([if compiling for Mac OS X])
+case "$host_os" in
+ darwin*)
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(PLATFORM_OSX, 1, [define to 1 if compiling for Mac OS X])
+ platform_osx=yes
+ ;;
+ *)
+ ;;
+esac
+AC_MSG_RESULT($platform_osx)
+AM_CONDITIONAL(PLATFORM_OSX, test "x$platform_osx" = xyes)
+
+
+###############
+# Generic stuff
+###############
+
+# Checks for programs.
+AC_PROG_INSTALL
+AC_PROG_MAKE_SET
+AC_PROG_LN_S
+
+# Large file support for the swap file
+AC_SYS_LARGEFILE
+
+AC_MSG_CHECKING([whether to turn on debugging])
+AC_ARG_ENABLE(debug,
+ [ --enable-debug turn on debugging (default=no)],
+ if eval "test x$enable_debug = xyes"; then
+ DEBUGFLAG="-g"
+ fi)
+
+if test -n "$DEBUGFLAG"; then
+ AC_MSG_RESULT([yes])
+ CFLAGS="$DEBUGFLAG $CFLAGS"
+else
+ AC_MSG_RESULT([no])
+fi
+
+AC_MSG_CHECKING([whether to turn on profiling])
+AC_ARG_ENABLE(profile,
+ [ --enable-profile turn on profiling (default=no)],
+ if eval "test x$enable_profile = xyes"; then
+ PROFFLAG="-pg"
+ fi)
+
+if test -n "$PROFFLAG"; then
+ AC_MSG_RESULT([yes])
+ CFLAGS="$PROFFLAG $CFLAGS"
+else
+ AC_MSG_RESULT([no])
+fi
+
+AC_ARG_ENABLE(ansi,
+ [ --enable-ansi turn on strict ansi (default=no)],,
+ enable_ansi=no)
+
+changequote(,)dnl
+if eval "test x$GCC = xyes"; then
+ case " $CFLAGS " in
+ *[\ \ ]-Wall[\ \ ]*) ;;
+ *) CFLAGS="$CFLAGS -Wall" ;;
+ esac
+
+ if test "x$enable_ansi" = "xyes"; then
+ case " $CFLAGS " in
+ *[\ \ ]-ansi[\ \ ]*) ;;
+ *) CFLAGS="$CFLAGS -ansi" ;;
+ esac
+
+ case " $CFLAGS " in
+ *[\ \ ]-pedantic[\ \ ]*) ;;
+ *) CFLAGS="$CFLAGS -pedantic" ;;
+ esac
+ fi
+fi
+changequote([,])dnl
+
+
+# If possible, warn if C99isms are used
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wdeclaration-after-statement')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-prototypes')
+CFLAGS="$CFLAGS $extra_warnings"
+
+# We really don't want anyone using code with missing prototypes, which
+# can cause random behavior. If compile breaks due to the following,
+# come to us and we will point you to a newer version which works.
+#
+GIMP_DETECT_CFLAGS(extra_warnings, '-Werror=missing-prototypes')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wstrict-prototypes')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-declarations')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Winit-self')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wpointer-arith')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wold-style-definition')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-format-attribute')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wformat-security')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wlogical-op')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wtype-limits')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-fno-common')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-fdiagnostics-show-option')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '-Wreturn-type')
+CFLAGS="$CFLAGS $extra_warnings"
+
+# -Wreturn-type warns on forgotten return on non-void functions,
+# but not of g_return_if_fail() on non-void functions.
+# -Wsystem-headers is needed for that.
+# Unfortunately it pulls tons of warnings on some systems.
+# So we comment out for now.
+# GIMP_DETECT_CFLAGS(extra_warnings, '-Wsystem-headers')
+# CFLAGS="$CFLAGS $extra_warnings"
+
+# Extra optimization flags for super performance
+GIMP_DETECT_CFLAGS(extra_warnings, '--omg-optimized')
+CFLAGS="$CFLAGS $extra_warnings"
+
+GIMP_DETECT_CFLAGS(extra_warnings, '--disable-instructions')
+CFLAGS="$CFLAGS $extra_warnings"
+
+
+# Ensure MSVC-compatible struct packing convention is used when
+# compiling for Win32 with gcc.
+# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
+# gcc2 uses "-fnative-struct".
+if test "x$os_win32" = xyes; then
+ if test "x$GCC" = xyes; then
+ msnative_struct=''
+ AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
+ if test -z "$ac_cv_prog_CC"; then
+ our_gcc="$CC"
+ else
+ our_gcc="$ac_cv_prog_CC"
+ fi
+ case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
+ 2.)
+ if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
+ msnative_struct='-fnative-struct'
+ fi
+ ;;
+ *)
+ if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
+ msnative_struct='-mms-bitfields'
+ fi
+ ;;
+ esac
+ if test "x$msnative_struct" = x ; then
+ AC_MSG_RESULT([no way])
+ AC_MSG_WARN([build will be incompatible with GTK+ DLLs])
+ else
+ CFLAGS="$CFLAGS $msnative_struct"
+ AC_MSG_RESULT([${msnative_struct}])
+ fi
+ fi
+fi
+
+if test "x$GCC" = xyes; then
+ gcc_version=`$CC -v 2>&1|grep 'gcc version'|sed -e 's/.*gcc version \([[0-9.]]\+\)[[^0-9.]].*/\1/'`
+ if test "x$gcc_version" = "x7.2.0" ; then
+ warning_gcc="
+WARNING: GCC 7.2.0 has a serious bug affecting GEGL/GIMP. We advise
+ against using this version of the compiler (previous and
+ further versions are fine).
+ See https://bugzilla.gnome.org/show_bug.cgi?id=787222"
+ fi
+ # For GCC, use -v which has more information than --version.
+ CC_VERSION_OPTS="-v"
+else
+ # This is the list of common options used by autotools to check
+ # versions for various compilers.
+ CC_VERSION_OPTS="--version -v -V -qversion"
+fi
+
+for CC_VERSION_OPT in $CC_VERSION_OPTS; do
+ # We run $CC, and escape and format its output, in a single step,
+ # since some shells expand escape sequences in "echo" arguments.
+ CC_VERSION="`$CC $CC_VERSION_OPT 2>&1 | sed -e 's/\\\\/\\\\\\\\\\\\\\\\/g;s/^/\\\\t/;s/$/\\\\n/' | tr -d '\n'`"
+ if test $? -eq 0; then
+ break
+ fi
+done
+
+AC_SUBST(CC_VERSION)
+
+AC_HEADER_STDC
+AC_HEADER_SYS_WAIT
+AC_HEADER_TIME
+
+AC_CHECK_HEADERS(execinfo.h fcntl.h sys/param.h sys/prctl.h sys/thr.h sys/time.h sys/times.h sys/wait.h unistd.h)
+AC_CHECK_FUNCS(backtrace, , AC_CHECK_LIB(execinfo, backtrace))
+
+AC_TYPE_PID_T
+AC_FUNC_VPRINTF
+
+AC_FUNC_ALLOCA
+
+# check some more funcs
+AC_CHECK_FUNCS(fsync)
+AC_CHECK_FUNCS(difftime mmap)
+AC_CHECK_FUNCS(thr_self)
+
+
+# _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
+AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
+AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <langinfo.h>]],
+ [[char c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));]])],
+ [nl_ok=yes],
+ [nl_ok=no])
+AC_MSG_RESULT($nl_ok)
+if test "$nl_ok" = "yes"; then
+ AC_DEFINE(HAVE__NL_MEASUREMENT_MEASUREMENT, 1,
+ [Define to 1 if _NL_MEASUREMENT_MEASUREMENT is available])
+fi
+
+# Macro to keep track of failed dependencies.
+
+required_deps=''
+
+# To add a required dependency error, call: add_deps_error([dependency]).
+# If details about the dependency are needed:
+# add_deps_error([dependency], [first line, second line])
+m4_define([add_deps_error], [
+ AC_MSG_NOTICE([Eeeeeeeeeeeeeeeeeeeeek! Missing dep: $1])
+ required_deps="$required_deps
+ - Error: missing dependency $1"
+ m4_foreach([more], [$2], [
+ required_deps="$required_deps
+ *** more"])])
+
+######################
+# Internationalisation
+######################
+
+IT_PROG_INTLTOOL(intltool_required_version)
+AM_GLIB_GNU_GETTEXT
+
+# Testing xgettext version since we had some problem with localizing script-fu. See bug 720052.
+AC_MSG_CHECKING([for xgettext version (>= xgettext_required_version)])
+XGETTEXT_REQUIRED_VERSION_MAJOR=`echo $XGETTEXT_REQUIRED_VERSION | awk -F. '{ print $ 1; }'`
+XGETTEXT_REQUIRED_VERSION_MINOR_1=`echo $XGETTEXT_REQUIRED_VERSION | awk -F. '{ print $ 2; }'`
+
+XGETTEXT_APPLIED_VERSION=`$XGETTEXT --version | head -1 | cut -d" " -f4`
+XGETTEXT_APPLIED_VERSION_MAJOR=`echo $XGETTEXT_APPLIED_VERSION | awk -F. '{ print $ 1; }'`
+XGETTEXT_APPLIED_VERSION_MINOR_1=`echo $XGETTEXT_APPLIED_VERSION | awk -F. '{ print $ 2; }'`
+
+have_required_xgettext="no"
+if test -n "$XGETTEXT_APPLIED_VERSION_MAJOR"; then
+ if test "$XGETTEXT_REQUIRED_VERSION_MAJOR" -lt "$XGETTEXT_APPLIED_VERSION_MAJOR"; then
+ have_required_xgettext="yes"
+ elif test "$XGETTEXT_REQUIRED_VERSION_MAJOR" -eq "$XGETTEXT_APPLIED_VERSION_MAJOR"; then
+ if test -n "$XGETTEXT_APPLIED_VERSION_MINOR_1"; then
+ if test "$XGETTEXT_REQUIRED_VERSION_MINOR_1" -le "$XGETTEXT_APPLIED_VERSION_MINOR_1"; then
+ have_required_xgettext="yes"
+ fi
+ fi
+ fi
+fi
+AC_MSG_RESULT($have_required_xgettext)
+
+if test "x$have_required_xgettext" = "xno"; then
+ add_deps_error([xgettext], [xgettext >= xgettext_required_version])
+fi
+
+###########
+# iso-codes
+###########
+
+AC_MSG_CHECKING([for iso-codes])
+PKG_CHECK_EXISTS(iso-codes,
+ have_iso_codes="yes"
+ AC_DEFINE(HAVE_ISO_CODES, 1,
+ [Define to 1 if the iso-codes package is available])
+ ISO_CODES_PREFIX=`$PKG_CONFIG --variable=prefix iso-codes`
+ ISO_CODES_LOCATION="$ISO_CODES_PREFIX/share/xml/iso-codes"
+ ISO_CODES_LOCALEDIR="$ISO_CODES_PREFIX/$DATADIRNAME/locale",
+ have_iso_codes="no (iso-codes package not found)")
+AC_MSG_RESULT($have_iso_codes)
+
+AC_SUBST(ISO_CODES_LOCATION)
+AC_SUBST(ISO_CODES_LOCALEDIR)
+
+
+###############################
+# Checks for required libraries
+###############################
+
+PKG_CHECK_MODULES(BABL, [babl-0.1 >= babl_required_version],,
+ [
+ PKG_CHECK_MODULES(BABL, [babl >= babl_required_version],,
+ [add_deps_error([babl-0.1 >= babl_required_version])])
+ ])
+PKG_CHECK_MODULES(GEGL, gegl-gegl_major_minor_version >= gegl_required_version,,
+ [add_deps_error([gegl-gegl_major_minor_version >= gegl_required_version])])
+PKG_CHECK_MODULES(ATK, atk >= atk_required_version,,
+ [add_deps_error([atk >= atk_required_version])])
+
+AM_PATH_GLIB_2_0(glib_required_version,,
+ [add_deps_error([glib >= glib_required_version],
+ [Test for GLIB failed])],
+ gobject)
+
+PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0,,
+ [add_deps_error([gmodule-no-export-2.0])])
+
+PKG_CHECK_MODULES(GIO, gio-2.0,,
+ [add_deps_error([gio-2.0])])
+
+if test "x$os_win32" = "xyes"; then
+ PKG_CHECK_MODULES(GIO_WINDOWS, gio-windows-2.0,,
+ [add_deps_error([gio-windows-2.0])])
+else
+ PKG_CHECK_MODULES(GIO_UNIX, gio-unix-2.0,,
+ [add_deps_error([gio-unix-2.0])])
+fi
+
+AC_MSG_CHECKING([for glib-networking (GIO TLS implementation)])
+gimp_save_CFLAGS="$CFLAGS"
+gimp_save_LIBS="$LIBS"
+CFLAGS="$CFLAGS $GIO_CFLAGS"
+LIBS="$LIBS $GIO_LIBS"
+AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <gio/gio.h>],
+ [return !g_tls_backend_supports_tls (g_tls_backend_get_default ());])],
+ [have_glib_networking="yes"],
+ [have_glib_networking="no"],
+ [have_glib_networking="unknown (cross-compiling)"])
+CFLAGS="$gimp_save_CFLAGS"
+LIBS="$gimp_save_LIBS"
+AC_MSG_RESULT($have_glib_networking)
+
+if test "x$have_glib_networking" = "xno"; then
+ add_deps_error([glib-networking],
+ [Test for glib-networking failed. This is required.])
+elif test "x$have_glib_networking" != "xyes"; then
+ warning_glib_networking="
+WARNING: Test for glib-networking cannot be performed while cross-compiling.
+ Make sure glib-networking is installed, otherwise GIMP will not be able
+ to display the remote help pages through the help browser, nor will it
+ be able to open remote HTTPS (or other protocol using SSL/TLS) files.
+ HTTPS is becoming the expected standard and should not be considered
+ optional anymore."
+fi
+
+# AM_PATH_GLIB_2_0 already fills in the variable GLIB_COMPILE_RESOURCES.
+# Unfortunately it looks it up using $PKG_CONFIG, which search in
+# target-installed libraries, hence it would return a tool for the
+# target architecture in case of cross-compilation (which can't be run
+# during build, unless there is some compatibility layer in the OS).
+# Therefore we make our own check.
+AC_MSG_CHECKING([for native glib-compile-resources])
+if test -z "$HOST_GLIB_COMPILE_RESOURCES"; then
+ # Do not use $PKG_CONFIG as it will search target files.
+ HOST_GLIB_COMPILE_RESOURCES=`pkg-config --variable=glib_compile_resources gio-2.0`
+ if test -z "$HOST_GLIB_COMPILE_RESOURCES"; then
+ # As fallback, search in path.
+ AC_PATH_PROG(HOST_GLIB_COMPILE_RESOURCES, glib-compile-resources, no)
+ if test "x$HOST_GLIB_COMPILE_RESOURCES" = xno; then
+ add_deps_error([glib-compile-resources],
+ [Could not find glib-compile-resources in your PATH.])
+ fi
+ fi
+fi
+AC_MSG_RESULT($HOST_GLIB_COMPILE_RESOURCES)
+AC_SUBST(HOST_GLIB_COMPILE_RESOURCES)
+
+AC_PATH_PROG(GDBUS_CODEGEN, gdbus-codegen, no)
+if test "x$GDBUS_CODEGEN" = xno; then
+ add_deps_error([gdbus-codegen], [Could not find gdbus-codegen in your PATH.])
+fi
+
+AC_MSG_CHECKING([if GLib is version 2.57.0 or newer])
+if $PKG_CONFIG --atleast-version=2.57.0 glib-2.0; then
+ have_glib_2_57=yes
+else
+ have_glib_2_57=no
+fi
+AC_MSG_RESULT($have_glib_2_57)
+
+AC_PATH_PROG(GEGL, gegl, no)
+if test "x$GEGL" = xno; then
+ add_deps_error([gegl], [Could not find native gegl executable in your PATH.])
+fi
+
+
+# Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
+gimp_save_LIBS=$LIBS
+LIBS="$LIBS $GLIB_LIBS"
+AC_CHECK_FUNCS(bind_textdomain_codeset,,
+ add_deps_error([bind_textdomain_codeset()],
+ [Check for bind_textdomain_codeset() failed! This is required.]))
+LIBS=$gimp_save_LIBS
+
+
+AC_PATH_XTRA
+
+AM_PATH_GTK_2_0(gtk_required_version, :,
+ add_deps_error([gtk+-2.0 >= gtk_required_version],
+ [Test for GTK+ failed.]))
+
+AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
+if test "x$GTK_UPDATE_ICON_CACHE" = xno; then
+ add_deps_error([gtk-update-icon-cache],
+ [Could not find gtk-update-icon-cache in your PATH.])
+fi
+
+# GTK+ 2.26.0 will never be released, we keep the check around anyway
+# because we will need it again after the switch to GTK+ 3.x
+AC_MSG_CHECKING([if GTK+ is version 2.26.0 or newer (bogus placeholder check)])
+if $PKG_CONFIG --atleast-version=2.26.0 gtk+-2.0; then
+ have_gtk_2_26=yes
+else
+ have_gtk_2_26=no
+fi
+AC_MSG_RESULT($have_gtk_2_26)
+
+PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gdk_pixbuf_required_version,,
+ [add_deps_error([gdk-pixbuf-2.0 >= gdk_pixbuf_required_version])])
+
+AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
+if test "x$GDK_PIXBUF_CSOURCE" = xno; then
+ add_deps_error([gdk-pixbuf-csource],
+ [Could not find gdk-pixbuf-csource in your PATH.])
+fi
+
+PKG_CHECK_MODULES(CAIRO, cairo >= cairo_required_version,,
+ [add_deps_error([cairo >= cairo_required_version])])
+
+PKG_CHECK_MODULES(PANGOCAIRO,
+ [pangocairo >= pangocairo_required_version pangoft2], :,
+ [add_deps_error([pangocairo >= pangocairo_required_version and pangoft2],
+ [We require Pango with the optional support for Cairo compiled in.])])
+
+gimp_save_CFLAGS=$CFLAGS
+CFLAGS="$PANGOCAIRO_CFLAGS $CFLAGS"
+
+# Windows platform had a few bugs fixed in earlier fontconfig.
+# The bugs are serious enough (for instance very slow startups at each
+# GIMP start, but also slowness when closing, broken font features,
+# etc.) that we should bump the requirement for Win32.
+# See bugs 708110 (fontconfig 2.11.0), 703331 (2.11.1) and 782676
+# (2.12.4).
+PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= fontconfig_required_version,,
+ [add_deps_error([fontconfig >= fontconfig_required_version])])
+
+AC_MSG_CHECKING([if Pango is version 1.32.0 or newer])
+if $PKG_CONFIG --atleast-version=1.32.0 pango; then
+ have_pango_1_32=yes
+else
+ have_pango_1_32=no
+fi
+AC_MSG_RESULT($have_pango_1_32)
+
+CFLAGS="$PANGOCAIRO_CFLAGS $CFLAGS"
+
+AC_MSG_CHECKING([if Pango is built with a recent fontconfig])
+AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <fontconfig/fontconfig.h>]],
+ [[FcObjectSet *os; os = FcObjectSetBuild (FC_FAMILY, FC_WIDTH);]])],
+ [fontconfig_ok=yes],
+ [fontconfig_ok=no])
+AC_MSG_RESULT($fontconfig_ok)
+
+CFLAGS=$gimp_save_CFLAGS
+
+if test "x$fontconfig_ok" = xno; then
+ AC_MSG_ERROR([
+*** You have a fontconfig >= fontconfig_required_version installed on your system, but your
+*** Pango library is using an older version. This old version is probably in
+*** /usr/X11R6. Look at the above output, and note that the result for
+*** FONTCONFIG_CFLAGS is not in the result for PANGOCAIRO_CFLAGS, and that
+*** there is likely an extra -I line, other than the ones for GLIB,
+*** Freetype, and Pango itself. That's where your old fontconfig files are.
+*** Rebuild pango, and make sure that it uses the newer fontconfig. The
+*** easiest way be sure of this is to simply get rid of the old fontconfig.
+*** When you rebuild pango, make sure the result for FONTCONFIG_CFLAGS is
+*** the same as the result here.])
+fi
+
+
+PKG_CHECK_MODULES(FREETYPE, freetype2 >= freetype2_required_version,,
+ [add_deps_error([freetype2_required_version >= freetype2_required_version])])
+
+PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= harfbuzz_required_version,,
+ [add_deps_error([harfbuzz >= harfbuzz_required_version])])
+
+PKG_CHECK_MODULES(GEXIV2, gexiv2 >= gexiv2_required_version,,
+ [add_deps_error([gexiv2 >= gexiv2_required_version])])
+
+#################################
+# Check for debug console (Win32)
+#################################
+
+AC_ARG_ENABLE(win32-debug-console,
+ [ --enable-win32-debug-console
+ open a console when starting the program
+ (default=auto)],,
+ enable_win32_debug_console=auto)
+
+AC_MSG_CHECKING([if GIMP should open a debug console at start])
+if test "x$platform_win32" != "xyes"; then
+ enable_win32_debug_console=no
+elif test "x$enable_win32_debug_console" != xno &&
+ test "x$enable_win32_debug_console" != xyes; then
+ # By default, we enable the debug console only for unstable builds.
+ enable_win32_debug_console=gimp_unstable
+fi
+
+if test "x$enable_win32_debug_console" = "xyes"; then
+ AC_DEFINE(ENABLE_WIN32_DEBUG_CONSOLE, 1,
+ [Define to 1 if GIMP should open a debug console at start])
+fi
+AC_MSG_RESULT([$enable_win32_debug_console])
+
+######################################
+# Check for 32-bit DLLs (Win32 64-bit)
+######################################
+
+AC_ARG_WITH(win32-32bit-dll-folder,
+ [ --with-win32-32bit-dll-folder[=DIR]
+ alternative folder with 32-bit versions of DLL libraries on Windows (default: 32/bin/)],,
+ with_win32_32bit_dll_folder="32/bin")
+
+AC_MSG_CHECKING([the alternative folder containing 32-bit DLLs on Windows])
+if test "x$platform_win32" = "xyes"; then
+ case "$host_cpu" in
+ x86_64)
+ ;;
+ *)
+ with_win32_32bit_dll_folder="no"
+ ;;
+ esac
+else
+ with_win32_32bit_dll_folder="no"
+fi
+
+if test "x$with_win32_32bit_dll_folder" != "xno"; then
+ AC_DEFINE_UNQUOTED(WIN32_32BIT_DLL_FOLDER, "$with_win32_32bit_dll_folder",
+ [Define if 32-bit versions of libraries are packaged in an alternative folder])
+fi
+AC_MSG_RESULT([$with_win32_32bit_dll_folder])
+
+#####################
+# Check for Dr. Mingw
+#####################
+
+enable_drmingw="no"
+if test "x$platform_win32" = "xyes"; then
+ # Check for Dr. Mingw
+ AC_CHECK_LIB(exchndl, ExcHndlSetLogFileNameA,
+ [
+ AC_DEFINE(HAVE_EXCHNDL, 1, [Define to 1 when Dr. MingW is available])
+ LIBS="-lexchndl $LIBS"
+ enable_drmingw="yes"
+ ],
+ [enable_drmingw="no (ExcHndl library missing)"]
+ )
+fi
+AM_CONDITIONAL(HAVE_EXCHNDL, test "x$ac_cv_lib_exchndl_ExcHndlSetLogFileNameA" = "xyes")
+
+###########################
+# Check for backtrace() API
+###########################
+
+AC_CHECK_HEADERS([execinfo.h])
+
+#########################
+# Check for Matting Levin
+#########################
+
+AC_MSG_CHECKING([for matting engine Levin])
+if $GEGL --exists "gegl:matting-levin"; then
+ have_matting_levin=yes
+else
+ have_matting_levin='no (missing GEGL operation "gegl:matting-levin")'
+fi
+AC_MSG_RESULT($have_matting_levin)
+
+##########################################
+# Check for some special functions we need
+##########################################
+
+AC_CHECK_HEADERS(math.h ieeefp.h)
+
+# DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
+AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
+gimp_save_LIBS=$LIBS
+LIBS="$LIBS -lm"
+AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+ #include <math.h>
+ int main (void) { return (log(1) != log(1.)); }]])],
+ [AC_MSG_RESULT(none needed)],
+ [gimp_save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -std1"
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+ #include <math.h>
+ int main (void) { return (log(1) != log(1.)); }]])],
+ [AC_MSG_RESULT(-std1)],
+ [AC_MSG_RESULT()
+ CFLAGS=$gimp_save_CFLAGS
+ AC_MSG_WARN([No ANSI prototypes found in library. (-std1 didn't work.)])],
+ [AC_MSG_RESULT])],
+ [AC_MSG_RESULT()])
+
+# Check for finite
+AC_CHECK_FUNCS(finite, , [
+ AC_MSG_CHECKING(for finite in <math.h>)
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>]],
+ [[double f = 0.0; finite (f)]])],
+ [AC_DEFINE(HAVE_FINITE, 1)
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+ ]
+)
+
+# Check for isfinite
+AC_CHECK_FUNCS(isfinite, , [
+ AC_MSG_CHECKING(for isfinite in <math.h>)
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <math.h>]],
+ [[double f = 0.0; isfinite (f)]])],
+ [AC_DEFINE(HAVE_ISFINITE, 1)
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+ ]
+)
+
+AC_SUBST(HAVE_FINITE)
+AC_SUBST(HAVE_ISFINITE)
+
+LIBS=$gimp_save_LIBS
+
+
+# check for rint
+AC_CHECK_FUNC(rint, AC_DEFINE(HAVE_RINT, 1,
+ [Define to 1 if you have the rint function.]), [
+ AC_CHECK_LIB(m, rint, [
+ AC_DEFINE(HAVE_RINT)])])
+
+
+# check for vfork
+AC_CHECK_FUNCS(vfork, ,)
+AC_SUBST(HAVE_VFORK)
+
+
+##############################
+# Check for attributes we need
+##############################
+
+AX_GCC_FUNC_ATTRIBUTE(destructor)
+
+#####################################################################
+# Check for extra libs needed for getaddrinfo, getnameinfo and socket
+#####################################################################
+
+gimp_save_LIBS=$LIBS
+LIBS=""
+
+AC_CHECK_FUNCS(getaddrinfo, , AC_CHECK_LIB(nsl, getaddrinfo))
+AC_CHECK_FUNCS(getnameinfo, , AC_CHECK_LIB(nsl, getnameinfo))
+AC_CHECK_LIB(socket, socket)
+
+SOCKET_LIBS="$LIBS"
+LIBS=$gimp_save_LIBS
+
+AC_SUBST(SOCKET_LIBS)
+
+###################################
+# Check for Intel vector intrinsics
+###################################
+intrinsics_save_CFLAGS="$CFLAGS"
+#FIXME: Check the CFLAGS separately
+GIMP_DETECT_CFLAGS(SSE_MATH_CFLAG, '-mfpmath=sse')
+GIMP_DETECT_CFLAGS(SSE2_CFLAG, '-msse2')
+SSE2_EXTRA_CFLAGS="$SSE_MATH_CFLAG $SSE2_CFLAG"
+CFLAGS="$SSE2_EXTRA_CFLAGS $intrinsics_save_CFLAGS"
+
+AC_MSG_CHECKING(whether we can compile SSE2 intrinsics)
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <emmintrin.h>]],[[__m128i one = _mm_set1_epi32 (1);]])],
+ AC_DEFINE(COMPILE_SSE2_INTRINISICS, 1, [Define to 1 if SSE2 intrinsics are available.])
+ AC_SUBST(SSE2_EXTRA_CFLAGS)
+ AC_MSG_RESULT(yes)
+,
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([SSE2 intrinsics not available.])
+)
+
+
+GIMP_DETECT_CFLAGS(SSE4_1_CFLAG, '-msse4.1')
+SSE4_1_EXTRA_CFLAGS="$SSE_MATH_CFLAG $SSE4_1_CFLAG"
+CFLAGS="$SSE4_1_EXTRA_CFLAGS $intrinsics_save_CFLAGS"
+
+AC_MSG_CHECKING(whether we can compile SSE4.1 intrinsics)
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <smmintrin.h>]],[[__v4sf a, b, c; c = _mm_blend_ps(a, b, 0x08);]])],
+ AC_DEFINE(COMPILE_SSE4_1_INTRINISICS, 1, [Define to 1 if SSE4.1 intrinsics are available.])
+ AC_SUBST(SSE4_1_EXTRA_CFLAGS)
+ AC_MSG_RESULT(yes)
+,
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([SSE4.1 intrinsics not available.])
+)
+CFLAGS="$intrinsics_save_CFLAGS"
+
+
+########################
+# Check for MMX assembly
+########################
+
+AC_ARG_ENABLE(mmx,
+ [ --enable-mmx enable MMX support (default=auto)],,
+ enable_mmx=$have_x86)
+
+AC_ARG_ENABLE(sse,
+ [ --enable-sse enable SSE support (default=auto)],,
+ enable_sse=$enable_mmx)
+
+if test "x$enable_mmx" = xyes; then
+ GIMP_DETECT_CFLAGS(MMX_EXTRA_CFLAGS, '-mmmx')
+ SSE_EXTRA_CFLAGS=
+
+ AC_MSG_CHECKING(whether we can compile MMX code)
+
+ mmx_save_CFLAGS="$CFLAGS"
+ CFLAGS="$mmx_save_CFLAGS $MMX_EXTRA_CFLAGS"
+
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[asm ("movq 0, %mm0");]])],
+
+ AC_DEFINE(USE_MMX, 1, [Define to 1 if MMX assembly is available.])
+ AC_MSG_RESULT(yes)
+
+ if test "x$enable_sse" = xyes; then
+ GIMP_DETECT_CFLAGS(sse_flag, '-msse')
+ SSE_EXTRA_CFLAGS="$MMX_EXTRA_CFLAGS $sse_flag"
+
+ AC_MSG_CHECKING(whether we can compile SSE code)
+
+ CFLAGS="$CFLAGS $sse_flag"
+
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[asm ("movntps %xmm0, 0");]])],
+ AC_DEFINE(USE_SSE, 1, [Define to 1 if SSE assembly is available.])
+ AC_MSG_RESULT(yes)
+ ,
+ enable_sse=no
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([The assembler does not support the SSE command set.])
+ )
+
+ fi
+ ,
+ enable_mmx=no
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([The assembler does not support the MMX command set.])
+ )
+
+ CFLAGS="$mmx_save_CFLAGS"
+
+ AC_SUBST(MMX_EXTRA_CFLAGS)
+ AC_SUBST(SSE_EXTRA_CFLAGS)
+fi
+
+
+############################
+# Check for AltiVec assembly
+############################
+
+AC_ARG_ENABLE(altivec,
+ [ --enable-altivec enable AltiVec support (default=auto)],,
+ enable_altivec=$have_ppc)
+
+if test "x$enable_altivec" = xyes; then
+
+ GIMP_DETECT_CFLAGS(altivec_flag, '-faltivec' '-maltivec -mabi=altivec')
+
+ ALTIVEC_EXTRA_CFLAGS=
+ case "$altivec_flag" in
+ -maltivec*)
+ altivec_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$altivec_save_CPPFLAGS $altivec_flag"
+ AC_CHECK_HEADERS(altivec.h, [ALTIVEC_EXTRA_CFLAGS="$altivec_flag"])
+ CPPFLAGS="$altivec_save_CPPFLAGS"
+ ;;
+ *)
+ ALTIVEC_EXTRA_CFLAGS="$altivec_flag"
+ ;;
+ esac
+ AC_SUBST(ALTIVEC_EXTRA_CFLAGS)
+
+ AC_MSG_CHECKING(whether we can compile AltiVec code)
+
+ can_use_altivec=no
+ if test -z "$ALTIVEC_EXTRA_CFLAGS"; then
+ AC_MSG_RESULT(no)
+ AC_MSG_WARN([The compiler does not support the AltiVec command set.])
+ else
+ case "$host_os" in
+ darwin*)
+ can_use_altivec=yes
+ AC_DEFINE(HAVE_ALTIVEC_SYSCTL, 1,
+ [Define to 1 if the altivec runtime test should use a sysctl.])
+ ;;
+ *)
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[asm ("vand %v0, %v0, %v0");]])],
+ can_use_altivec=yes, can_use_altivec=no)
+ ;;
+ esac
+ AC_MSG_RESULT($can_use_altivec)
+
+ if test "x$can_use_altivec" = "xyes"; then
+ AC_DEFINE(USE_ALTIVEC, 1, [Define to 1 if AltiVec support is available.])
+ else
+ enable_altivec=no
+ AC_MSG_WARN([The assembler does not support the AltiVec command set.])
+ fi
+ fi
+
+ enable_altivec="$can_use_altivec"
+fi
+
+
+###################################
+# Checks for shared memory handling
+###################################
+
+# MacOS X has broken SysV shm
+case "$host_os" in
+ darwin* | rhapsody* | machten*)
+ shmdefault=posix
+ ;;
+ *)
+ shmdefault=sysv
+ ;;
+esac
+
+shmtype=auto
+AC_ARG_WITH(shm, [ --with-shm=none|sysv|posix|auto shared memory transport type (default=auto)], shmtype=$with_shm)
+
+case $shmtype in
+ none|sysv|posix) ;;
+ auto) shmtype=$shmdefault ;;
+ *) AC_MSG_ERROR([Invalid shared memory transport type: use none, sysv, posix, or auto.]);;
+esac
+
+
+if test "x$platform_win32" = "xyes"; then
+ shmtype=win32
+elif test "x$shmtype" = "xsysv"; then
+ AC_CHECK_HEADER(sys/ipc.h,
+ [AC_DEFINE(HAVE_IPC_H, 1,
+ [Define to 1 if you have the <sys/ipc.h> header file.])],
+ no_sys_ipc=yes)
+ AC_CHECK_HEADER(sys/shm.h,
+ [AC_DEFINE(HAVE_SHM_H, 1,
+ [Define to 1 if you have the <sys/shm.h> header file.])],
+ no_sys_shm=yes)
+
+ if test "$ac_cv_header_sys_shm_h" = "yes"; then
+ AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
+ #include <sys/types.h>
+ #include <sys/ipc.h>
+ #include <sys/shm.h>
+ int main()
+ {
+ int id;
+ char *shmaddr;
+ id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600);
+ if (id == -1)
+ exit (2);
+ shmaddr = shmat (id, 0, 0);
+ shmctl (id, IPC_RMID, 0);
+ if ((char*) shmat (id, 0, 0) == (char*) -1)
+ {
+ shmdt (shmaddr);
+ exit (1);
+ }
+ shmdt (shmaddr);
+ shmdt (shmaddr);
+ exit (0);
+ }
+ ]])],
+ [AC_DEFINE([IPC_RMID_DEFERRED_RELEASE],[1],
+ [Define to 1 if shared memory segments are released deferred.])
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)],
+ [AC_MSG_RESULT(assuming no)])
+
+ AC_DEFINE(USE_SYSV_SHM, 1, [Define to 1 to use SYSV shared memory])
+ else
+ shmtype=none
+ fi
+elif test "x$shmtype" = "xposix"; then
+ have_shm_open=no
+
+ AC_CHECK_FUNC(shm_open, have_shm_open=yes)
+
+ RT_LIBS=
+ if test "$have_shm_open" != "yes"; then
+ AC_CHECK_LIB(rt, shm_open, RT_LIBS="-lrt" have_shm_open=yes)
+ fi
+ AC_SUBST(RT_LIBS)
+
+ AC_CHECK_HEADER(sys/mman.h,
+ [AC_DEFINE(HAVE_MMAN_H, 1,
+ [Define to 1 if you have the <sys/mman.h> header file.])],
+ no_sys_mman=yes)
+
+ if test "$ac_cv_func_mmap" = "yes" &&
+ test "$ac_cv_header_sys_mman_h" = "yes" &&
+ test "$have_shm_open" = "yes"; then
+ AC_DEFINE(USE_POSIX_SHM, 1, [Define to 1 to use POSIX shared memory])
+ else
+ shmtype=none
+ fi
+fi
+
+AC_MSG_CHECKING(for shared memory transport type)
+AC_MSG_RESULT($shmtype)
+
+
+########################
+# Define a symbol prefix
+########################
+
+AC_MSG_CHECKING([whether symbols are prefixed])
+
+case "$host_os" in
+ mingw*)
+ case "$host_cpu" in
+ x86_64) SYMPREFIX='' ;;
+ *) SYMPREFIX='_' ;;
+ esac
+ ;;
+ darwin* | rhapsody* | machten*)
+ SYMPREFIX='_'
+ ;;
+ *)
+ ;;
+esac
+
+if test -n "$SYMPREFIX"; then
+ AC_MSG_RESULT([yes, with a $SYMPREFIX])
+else
+ AC_MSG_RESULT(no)
+fi
+
+AC_SUBST(SYMPREFIX)
+
+
+############################
+# Check for select and fdset
+############################
+
+if test "x$os_win32" != xyes; then
+ AC_MSG_CHECKING([fd_set and sys/select])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <sys/types.h>]],
+ [[fd_set readMask, writeMask;]])],
+ [gimp_ok=yes],
+ [gimp_ok=no])
+ if test "x$gimp_ok" = xno; then
+ AC_EGREP_HEADER(fd_mask, sys/select.h, gimp_ok=yes)
+ if test "x$gimp_ok" = xyes; then
+ AC_DEFINE(HAVE_SYS_SELECT_H, 1,
+ [Define to 1 if you have the <sys/select.h> header.])
+ fi
+ fi
+ AC_MSG_RESULT($gimp_ok)
+ if test "x$gimp_ok" = xno; then
+ AC_DEFINE(NO_FD_SET, 1,
+ [Define to 1 if you don't have the fd_set typedef.])
+ fi
+fi
+
+
+#############################
+# Threads and multi processor
+#############################
+
+AC_ARG_ENABLE(mp, [ --disable-mp disable support for multiple processors])
+
+if test "x$enable_mp" != "xno"; then
+ AC_DEFINE(ENABLE_MP, 1,
+ [Define to 1 to enable support for multiple processors.])
+fi
+
+
+################################
+# Some plug-ins are X11 specific
+################################
+
+# Check if building for GTK+-X11
+gdk_target=`$PKG_CONFIG --variable=target gtk+-2.0`
+
+have_libxmu="no (building for $gdk_target)"
+
+if test "$gdk_target" = x11; then
+
+ # doc-shooter is X11 specific
+ DOC_SHOOTER=doc-shooter
+
+ # screenshot plug-in needs to link to X11 explicitly
+ SCREENSHOT_LIBS="$X_LIBS -lX11"
+
+ gimp_save_CFLAGS="$CFLAGS"
+ gimp_save_LDFLAGS="$LDFLAGS"
+ CFLAGS="$CFLAGS $GTK_CFLAGS"
+ LDFLAGS="$LDFLAGS $X_LIBS"
+
+ # Test for Xmu
+ if test -z "$XMU_LIBS"; then
+ AC_CHECK_LIB(Xmu, XmuClientWindow,
+ [AC_CHECK_HEADERS(X11/Xmu/WinUtil.h,
+ have_libxmu=yes
+ XMU_LIBS="$X_LIBS $X_PRE_LIBS -lX11 -lXmu -lXt"
+ SCREENSHOT_LIBS="$XMU_LIBS",
+ [have_libxmu="no (XMU header file not found)"],[#include <gdk/gdkx.h>])],
+ [have_libxmu="no (XMU library not found)"], -lXt -lX11)
+ fi
+
+ # Check for shaped window extension
+ AC_CHECK_LIB(Xext, XShapeGetRectangles,
+ [AC_CHECK_HEADERS(X11/extensions/shape.h,
+ SCREENSHOT_LIBS="$SCREENSHOT_LIBS -lXext",,[#include <gdk/gdkx.h>])],,
+ -lX11 -lXext)
+
+ CFLAGS="$gimp_save_CFLAGS"
+ LDFLAGS="$gimp_save_LDFLAGS"
+
+ # check for the XFixes extension
+ PKG_CHECK_MODULES(XFIXES, xfixes,
+ AC_DEFINE(HAVE_XFIXES, 1,
+ [Define to 1 to if the XFIXES X extension is available])
+ SCREENSHOT_LIBS="$SCREENSHOT_LIBS $XFIXES_LIBS",
+ true)
+fi
+
+AC_SUBST(XMU_LIBS)
+AC_SUBST(SCREENSHOT_LIBS)
+
+AC_SUBST(DOC_SHOOTER)
+
+
+GIMP_COMMAND='gimp-gimp_app_version'
+
+AC_SUBST(GIMP_COMMAND)
+
+
+############
+# MIME types
+############
+
+# The list of MIME types that are supported by plug-ins that are compiled
+# unconditionally:
+MIME_TYPES="image/bmp;image/g3fax;image/gif;image/x-fits;image/x-pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/x-gimp-gbr;image/x-gimp-pat;image/x-gimp-gih;image/x-sun-raster"
+
+#################
+# Bundle packages
+#################
+
+AC_MSG_CHECKING([whether we build a relocatable package])
+AC_ARG_ENABLE(relocatable-bundle,
+ [ --enable-relocatable-bundle
+ build with resources considered bundled under the same prefix
+ (default=auto)],,
+ enable_relocatable_bundle=auto)
+
+if test "x$enable_relocatable_bundle" != xno &&
+ test "x$enable_relocatable_bundle" != xyes; then
+ # By default, assume building for Windows or macOS everything to be on
+ # the same prefix and can be relocated.
+ # On other platforms, build-time paths are meaningful.
+ if test "x$platform_osx" = "xyes" ||
+ test "x$platform_win32" = "xyes"; then
+ enable_relocatable_bundle=yes
+ else
+ enable_relocatable_bundle=no
+ fi
+fi
+if test "x$enable_relocatable_bundle" = xyes; then
+ AC_DEFINE(ENABLE_RELOCATABLE_RESOURCES, 1,
+ [Define to 1 if resources are considered bundled under the same prefix])
+fi
+AM_CONDITIONAL(ENABLE_RELOCATABLE_RESOURCES, test x$enable_relocatable_bundle = xyes)
+
+AC_MSG_RESULT([$enable_relocatable_bundle])
+
+###################
+# Check for libtiff
+###################
+
+libtiff_error=
+if test -z "$TIFF_LIBS"; then
+ AC_CHECK_LIB(tiff, TIFFReadScanline,
+ [AC_CHECK_HEADER(tiffio.h,
+ FILE_TIFF_LOAD='file-tiff-load$(EXEEXT)'; FILE_TIFF_SAVE='file-tiff-save$(EXEEXT)'; TIFF_LIBS='-ltiff',
+ [libtiff_error="TIFF header files not found"])],
+ [AC_CHECK_LIB(tiff, TIFFWriteScanline,
+ [AC_CHECK_HEADER(tiffio.h,
+ FILE_TIFF_LOAD='file-tiff-load$(EXEEXT)'; FILE_TIFF_SAVE='file-tiff-save$(EXEEXT)'; TIFF_LIBS='-ltiff -ljpeg -lz',
+ [libtiff_error="TIFF header files not found"])],
+ [AC_CHECK_LIB(tiff34, TIFFFlushData,
+ [AC_CHECK_HEADER(tiffio.h,
+ FILE_TIFF_LOAD='file-tiff-load$(EXEEXT)'; FILE_TIFF_SAVE='file-tiff-save$(EXEEXT)'; TIFF_LIBS='-ltiff34 -ljpeg -lz',
+ [libtiff_error="TIFF header files not found"])],
+ [libtiff_error="TIFF library not found"], -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
+fi
+
+if test -z "$TIFF_LIBS"; then
+ add_deps_error([libtiff], [Checks for TIFF library failed: $libtiff_error])
+fi
+
+MIME_TYPES="$MIME_TYPES;image/tiff"
+
+AC_SUBST(TIFF_LIBS)
+
+
+###################
+# Check for libjpeg
+###################
+
+if test -z "$JPEG_LIBS"; then
+ AC_CHECK_LIB(jpeg, jpeg_destroy_decompress, ,
+ add_deps_error([libjpeg], [JPEG library not found]))
+ AC_MSG_CHECKING([for jpeglib.h])
+ AC_PREPROC_IFELSE(
+ [AC_LANG_SOURCE([[
+#include <stdio.h>
+#undef HAVE_STDDEF_H
+#undef HAVE_STDLIB_H
+#undef PACKAGE
+#undef VERSION
+#include <jpeglib.h>]])],
+ AC_MSG_RESULT([yes]),
+ add_deps_error([libjpeg], [JPEG header file not found]))
+ AC_CHECK_LIB(jpeg, jpeg_save_markers,
+ JPEG_LIBS='-ljpeg',
+ add_deps_error([libjpeg], [JPEG library is too old]))
+fi
+
+MIME_TYPES="$MIME_TYPES;image/jpeg"
+
+AC_SUBST(JPEG_LIBS)
+
+
+################
+# Check for libz
+################
+
+if test -z "$Z_LIBS"; then
+ AC_CHECK_LIB(z, gzsetparams,
+ [AC_CHECK_HEADER(zlib.h,
+ Z_LIBS='-lz',
+ add_deps_error([zlib], [ZLIB header files not found]))],
+ add_deps_error([zlib], [ZLIB library not found]))
+fi
+
+MIME_TYPES="$MIME_TYPES;image/x-psp"
+
+AC_SUBST(Z_LIBS)
+
+
+####################
+# Check for libbzip2
+####################
+
+gimp_save_LIBS=$LIBS
+LIBS="$LIBS -lbz2"
+
+if test -z "$BZIP2_LIBS"; then
+ # We used to use AC_CHECK_LIB, but bz2 uses the WINAPI calling convention on
+ # windows, so the test needs to #include <bzlib.h> to be able to link properly
+ AC_CHECK_HEADER(bzlib.h,
+ [AC_MSG_CHECKING([for BZ2_bzCompress in -lbz2]);
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <bzlib.h>]],
+ [[BZ2_bzCompress (NULL, 0);]])],
+ [AC_MSG_RESULT([yes]); BZIP2_LIBS='-lbz2'],
+ add_deps_error([libbzip2], [libbzip2 library not found]))],
+ add_deps_error([libbzip2], [libbzip2 header files not found]))
+fi
+
+LIBS=$gimp_save_LIBS
+
+AC_SUBST(BZIP2_LIBS)
+
+
+###################
+# Check for liblzma
+###################
+
+PKG_CHECK_MODULES(LZMA, liblzma >= liblzma_required_version,,
+ [add_deps_error([liblzma >= liblzma_required_version])])
+
+
+###############################
+# Check for Ghostscript library
+###############################
+
+AC_ARG_WITH(gs, [ --without-gs build without Ghostscript support])
+
+have_gs=no
+if test "x$with_gs" != xno; then
+ have_gs=yes
+ AC_CHECK_LIB(gs, gsapi_new_instance,
+ [AC_CHECK_HEADER(ghostscript/iapi.h,
+ FILE_PS='file-ps$(EXEEXT)'; GS_LIBS='-lgs',
+ [have_gs="no (Ghostscript header files not found)"])],
+ [have_gs="no (Ghostscript library not found)"])
+ if test "x$have_gs" != xyes -a "x$with_gs" = xyes; then
+ AC_MSG_ERROR([
+*** Checks for Ghostscript library failed. You can build without it by passing
+*** --without-gs to configure but you won't be able to use PostScript files then.])
+ fi
+fi
+
+if test "x$have_gs" = xyes; then
+ MIME_TYPES="$MIME_TYPES;application/postscript"
+fi
+
+AC_SUBST(FILE_PS)
+AM_CONDITIONAL(HAVE_GS, test "x$have_gs" = xyes)
+AC_SUBST(GS_LIBS)
+
+
+##################
+# Check for libpng
+##################
+
+PKG_CHECK_MODULES(PNG, libpng >= libpng_required_version,,
+ [add_deps_error([libpng >= libpng_required_version])])
+
+MIME_TYPES="$MIME_TYPES;image/png;image/x-icon"
+PNG_CFLAGS="$PNG_CFLAGS -DPNG_PEDANTIC_WARNINGS"
+
+
+##################
+# Check for libmng
+##################
+
+AC_ARG_WITH(libmng, [ --without-libmng build without MNG support])
+
+have_libmng=no
+if test "x$with_libmng" != xno && test -z "$MNG_LIBS" &&
+ test -n "$PNG_LIBS" && test -n "$JPEG_LIBS" && test -n "$Z_LIBS"; then
+ AC_CHECK_LIB(mng, mng_create,
+ [AC_CHECK_HEADER(libmng.h, mng_ok=yes)],
+ [have_libmng="no (MNG library not found)"], -lz -lm)
+ if test "$mng_ok" = yes; then
+ have_libmng=yes
+ FILE_MNG='file-mng$(EXEEXT)'; MNG_LIBS="-lmng $JPEG_LIBS $PNG_LIBS"; MNG_CFLAGS="$PNG_CFLAGS"
+ if test "x$platform_win32" = "xyes"; then
+ MNG_CFLAGS="$MNG_CFLAGS -DMNG_USE_DLL"
+ fi
+ else
+ have_libmng="no (MNG header file not found)"
+ fi
+fi
+
+AC_SUBST(FILE_MNG)
+AC_SUBST(MNG_LIBS)
+AC_SUBST(MNG_CFLAGS)
+
+
+#################
+# Check for libaa
+#################
+
+AC_ARG_WITH(aa, [ --without-aa do not build the AA plug-in])
+
+have_libaa=no
+if test "x$with_aa" != xno && test -z "$AA_LIBS"; then
+ have_libaa=yes
+ AC_CHECK_LIB(aa, aa_printf,
+ [AC_CHECK_HEADER(aalib.h,
+ FILE_AA='file-aa$(EXEEXT)'; AA_LIBS='-laa',
+ [have_libaa="no (AA header file not found)"])],
+ [have_libaa="no (AA library not found)"])
+fi
+
+AC_SUBST(FILE_AA)
+AC_SUBST(AA_LIBS)
+
+
+##################
+# Check for libxpm
+##################
+
+AC_ARG_WITH(libxpm, [ --without-libxpm build without XPM support])
+
+gimp_save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $X_CFLAGS"
+gimp_save_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS $X_LIBS"
+if test "$gdk_target" = x11; then
+ lib_X11=-lX11
+fi
+have_libxpm=no
+if test "x$with_libxpm" != xno && test -z "$XPM_LIBS"; then
+ have_libxpm=yes
+ AC_CHECK_LIB(Xpm, XpmReadFileToXpmImage,
+ [AC_CHECK_HEADER(X11/xpm.h,
+ FILE_XPM='file-xpm$(EXEEXT)'; XPM_LIBS="$X_LIBS $X_PRE_LIBS $lib_X11 -lXpm",
+ [have_libxpm="no (XPM header file not found)"])],
+ [have_libxpm="no (XPM library not found)"], $X_PRE_LIBS $lib_X11)
+fi
+CFLAGS="$gimp_save_CFLAGS"
+LDFLAGS="$gimp_save_LDFLAGS"
+
+if test "x$have_libxpm" = xyes; then
+ MIME_TYPES="$MIME_TYPES;image/x-xpixmap"
+fi
+
+AC_SUBST(FILE_XPM)
+AC_SUBST(XPM_LIBS)
+
+
+###################
+# Check for OpenEXR
+###################
+
+AC_ARG_WITH(openexr, [ --without-openexr build without OpenEXR support])
+
+have_openexr=no
+if test "x$with_openexr" != xno; then
+ have_openexr=yes
+ PKG_CHECK_MODULES(OPENEXR, OpenEXR >= openexr_required_version,
+ FILE_EXR='file-exr$(EXEEXT)',
+ [have_openexr="no (OpenEXR not found)"])
+fi
+
+if test "x$have_openexr" = xyes; then
+ MIME_TYPES="$MIME_TYPES;image/x-exr"
+fi
+
+AC_SUBST(OPENEXR_CFLAGS)
+AC_SUBST(OPENEXR_LIBS)
+AC_SUBST(FILE_EXR)
+
+AM_CONDITIONAL(HAVE_OPENEXR, test "x$have_openexr" = xyes)
+
+
+################
+# Check for WebP
+################
+
+AC_ARG_WITH(webp, [ --without-webp build without WebP support])
+
+have_webp=no
+if test "x$with_webp" != xno; then
+ have_webp=yes
+ PKG_CHECK_MODULES(WEBP, libwebp >= webp_required_version,
+ [
+ PKG_CHECK_MODULES(WEBPMUX, libwebpmux >= webp_required_version,
+ [
+ PKG_CHECK_MODULES(WEBPDEMUX, libwebpdemux >= webp_required_version,,
+ [have_webp="no (WebP not built with libwebpdemux)"])
+ ],
+ [have_webp="no (WebP not built with libwebpmux)"])
+ ],
+ [have_webp="no (WebP not found)"])
+fi
+
+if test "x$have_webp" = xyes; then
+ MIME_TYPES="$MIME_TYPES;image/webp;image/x-webp"
+fi
+
+AM_CONDITIONAL(HAVE_WEBP, test "x$have_webp" = xyes)
+
+
+###################
+# Check for libheif
+###################
+
+AC_ARG_WITH(libheif, [ --without-libheif build without libheif support])
+
+# Overcomplex tests, but basically:
+# - Profiles supported only for libheif >= 1.4.0.
+# - libheif 1.5.0 and 1.5.1 are very broken and easily crash.
+# As a consequence we prioritize any libheif other than these 2 versions
+# (even when under 1.4.0 thus we lose profile support), and only use
+# these as last resort, outputting a warning.
+have_libheif=no
+have_libheif_1_4_0=no
+if test "x$with_libheif" != xno; then
+ have_libheif_1_4_0=yes
+ have_libheif=yes
+ PKG_CHECK_MODULES(LIBHEIF, libheif > 1.5.1,,
+ [
+ PKG_CHECK_MODULES(LIBHEIF, libheif = 1.4.0,,
+ [
+ have_libheif_1_4_0="no (libheif >= 1.4.0 not found)"
+ PKG_CHECK_MODULES(LIBHEIF, libheif = libheif_required_version,,
+ [
+ PKG_CHECK_MODULES(LIBHEIF, libheif >= 1.5.0,
+ [
+ have_libheif_1_4_0=yes
+ warning_libheif="
+WARNING: libheif version 1.5.0 and 1.5.1 are known to crash when
+ exporting (bug #4185). Please update."
+ ],
+ [ have_libheif="no (libheif not found)" ])
+ ])
+ ])
+ ])
+fi
+
+can_import_heic=no
+can_export_heic=no
+can_import_avif=no
+can_export_avif=no
+if test "x$have_libheif" = xyes; then
+ can_import_heic=`$PKG_CONFIG --variable=builtin_h265_decoder libheif`
+ can_export_heic=`$PKG_CONFIG --variable=builtin_h265_encoder libheif`
+ if test "x$can_import_heic" = xyes; then
+ MIME_TYPES="$MIME_TYPES;image/heif;image/heic"
+ fi
+ can_import_avif=`$PKG_CONFIG --variable=builtin_avif_decoder libheif`
+ can_export_avif=`$PKG_CONFIG --variable=builtin_avif_encoder libheif`
+ if test "x$can_import_avif" = xyes; then
+ MIME_TYPES="$MIME_TYPES;image/avif"
+ fi
+
+ if test "x$can_import_heic" != xyes && test "x$can_import_avif" != xyes; then
+ have_libheif=no
+ have_libheif_1_4_0=no
+ warning_libheif=""
+ else
+ FILE_HEIF='file-heif$(EXEEXT)'
+ fi
+fi
+
+AC_SUBST(FILE_HEIF)
+AM_CONDITIONAL(HAVE_LIBHEIF, test "x$have_libheif" = xyes)
+
+have_heif_profile_support=no
+if test "x$have_libheif_1_4_0" = xyes; then
+ AC_DEFINE(HAVE_LIBHEIF_1_4_0, 1,
+ [Define to 1 if libheif >= 1.4.0 is available])
+
+ if test "x$can_import_heic" = xyes || test "x$can_export_heic" = xyes; then
+ if test "x$warning_libheif" != "x"; then
+ have_heif_profile_support="yes (see warning below)"
+ else
+ have_heif_profile_support=yes
+ fi
+ fi
+fi
+
+
+###################
+# Check for JPEG XL
+###################
+
+AC_ARG_WITH(jpegxl, [ --without-jpegxl build without JPEG XL support])
+
+have_jpegxl=no
+if test "x$with_jpegxl" != xno; then
+ PKG_CHECK_MODULES(JXL, libjxl >= libjxl_required_version,
+ [
+ PKG_CHECK_MODULES(JXL_THREADS, libjxl_threads >= libjxl_required_version,
+ [have_jpegxl=yes],
+ [have_jpegxl="no (libjxl_threads not found)"])
+ ],
+ [have_jpegxl="no (libjxl not found)"])
+fi
+
+if test "x$have_jpegxl" = xyes; then
+ MIME_TYPES="$MIME_TYPES;image/jxl"
+ FILE_JPEGXL='file-jpegxl$(EXEEXT)'
+fi
+
+AM_CONDITIONAL(HAVE_JPEGXL, test "x$have_jpegxl" = xyes)
+AC_SUBST(FILE_JPEGXL)
+
+
+########################
+# Check for libbacktrace
+########################
+
+AC_ARG_WITH(libbacktrace, [ --without-libbacktrace build without libbacktrace support])
+
+have_libbacktrace=no
+if test "x$with_libbacktrace" != xno; then
+ have_libbacktrace=yes
+
+ gimp_save_LIBS=$LIBS
+ LIBS="$LIBS -lbacktrace"
+
+ AC_MSG_CHECKING([for LIBBACKTRACE])
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stddef.h>
+ #include <backtrace.h>
+ #include <backtrace-supported.h>
+
+ #if ! BACKTRACE_SUPPORTED
+ #error ! BACKTRACE_SUPPORTED
+ #endif
+ ]],
+ [[(void) backtrace_create_state (NULL, 0, NULL, NULL);]])],
+ [AC_MSG_RESULT([yes]); LIBBACKTRACE_LIBS='-lbacktrace'],
+ [AC_MSG_RESULT([no]); have_libbacktrace='no (libbacktrace is not found or not supported)'])
+
+ LIBS=$gimp_save_LIBS
+
+ AC_SUBST(LIBBACKTRACE_LIBS)
+fi
+
+if test "x$have_libbacktrace" = xyes; then
+ AC_DEFINE(HAVE_LIBBACKTRACE, 1,
+ [Define to 1 if libbacktrace is available])
+fi
+
+
+#####################
+# Check for libunwind
+#####################
+
+AC_ARG_WITH(libunwind, [ --without-libunwind build without libunwind support])
+
+have_libunwind=no
+if test "x$with_libunwind" != xno; then
+ have_libunwind=yes
+ PKG_CHECK_MODULES(LIBUNWIND, libunwind >= libunwind_required_version,
+ [],
+ [have_libunwind="no (libunwind not found)"])
+fi
+
+if test "x$have_libunwind" = xyes; then
+ AC_DEFINE(HAVE_LIBUNWIND, 1,
+ [Define to 1 if libunwind is available])
+fi
+
+
+#######################################
+# Check for detailed backtraces support
+#######################################
+
+detailed_backtraces=no
+if test "x$platform_linux" = xyes; then
+ if test "x$have_libbacktrace" = xyes -o "x$have_libunwind" = xyes; then
+ detailed_backtraces=yes
+ else
+ detailed_backtraces='no (libbacktrace and libunwind are not found or not supported)'
+ fi
+elif test "x$platform_win32" = xyes; then
+ detailed_backtraces=$enable_drmingw
+fi
+
+
+######################
+# Check for libmypaint
+######################
+
+PKG_CHECK_MODULES(LIBMYPAINT, libmypaint >= 1.4.0,,
+ [
+ PKG_CHECK_MODULES(LIBMYPAINT, libmypaint >= libmypaint_required_version,,
+ [add_deps_error([libmypaint >= libmypaint_required_version])])
+ warning_libmypaint="
+WARNING: libmypaint lower than version 1.4.0 is known to crash when
+ parsing MyPaint 2 brushes. Please update."
+ ])
+
+PKG_CHECK_MODULES(MYPAINT_BRUSHES, mypaint-brushes-1.0,,
+ [add_deps_error([mypaint-brushes-1.0])])
+
+if test "x$enable_relocatable_bundle" != xno; then
+ mypaint_brushes_dir='${gimp_installation_dir}/share/mypaint-data/1.0/brushes'
+else
+ mypaint_brushes_dir=`$PKG_CONFIG --variable=brushesdir mypaint-brushes-1.0`
+fi
+AC_SUBST(mypaint_brushes_dir)
+
+
+##################
+# Check for webkit
+##################
+
+AC_ARG_WITH(webkit, [ --without-webkit don't build the help-browser and web-page plug-ins])
+
+have_webkit=no
+if test "x$with_webkit" != xno; then
+ PKG_CHECK_MODULES(WEBKIT, webkit-1.0 >= webkit_required_version,
+ WEB_PAGE='web-page$(EXEEXT)'
+ have_webkit=yes,
+ have_webkit="no (WebKit not found)")
+else
+ have_webkit="no (WebKit support disabled)"
+fi
+
+AC_SUBST(WEB_PAGE)
+if test "x$have_webkit" = "xyes"; then
+ AC_DEFINE(HAVE_WEBKIT, 1, [Define to 1 if webkit is available])
+fi
+AM_CONDITIONAL(HAVE_WEBKIT, test "x$have_webkit" = xyes)
+
+
+###################
+# Check for librsvg
+###################
+
+PKG_CHECK_MODULES(SVG, librsvg-2.0 >= rsvg_required_version,,
+ [add_deps_error([rsvg >= rsvg_required_version])])
+
+MIME_TYPES="$MIME_TYPES;image/svg+xml"
+
+
+####################################
+# Allow to disable the print plug-in
+####################################
+
+AC_ARG_WITH(print,[ --without-print build without print support])
+
+enable_print="no (disabled)"
+if test "x$with_print" != xno; then
+ enable_print="yes"
+fi
+
+AM_CONDITIONAL(BUILD_PRINT, test "x$enable_print" = xyes)
+
+
+######################
+# Check for libpoppler
+######################
+
+# PDF import support is a granted feature.
+PKG_CHECK_MODULES(POPPLER, [poppler-glib >= poppler_required_version],,
+ [add_deps_error([poppler-glib >= poppler_required_version])])
+# All modern distributions have at least this version and CJK/Cyrillic
+# support should not be considered as "second-zone citizen".
+PKG_CHECK_MODULES(POPPLER_DATA, [poppler-data >= poppler_data_required_version],,
+ [add_deps_error([poppler-data >= poppler_data_required_version])])
+
+# MIME_TYPES is for the formats we can open as used for instance in the
+# desktop file. Even if cairo-pdf (used for PDF export) is not
+# installed, the mime-type list should contain application/pdf.
+MIME_TYPES="$MIME_TYPES;application/pdf"
+
+#####################
+# Check for cairo-pdf
+#####################
+
+AC_ARG_WITH(cairo_pdf,[ --without-cairo-pdf build without cairo-pdf support])
+have_cairo_pdf=no
+if test "x$with_cairo_pdf" != xno; then
+ have_cairo_pdf=yes
+ PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf >= cairo_pdf_required_version,
+ FILE_PDF_SAVE='file-pdf-save$(EXEEXT)',
+ have_cairo_pdf="no (cairo-pdf not found)")
+else
+ have_cairo_pdf="no (cairo-pdf support disabled)"
+fi
+
+AC_SUBST(FILE_PDF_SAVE)
+
+
+###################
+# Check for libwmf2
+###################
+
+AC_ARG_WITH(wmf, [ --without-wmf build without WMF support])
+
+have_libwmf=no
+AS_IF([test "x$with_wmf" != xno], [
+ PKG_CHECK_MODULES([WMF], libwmf >= wmf_required_version,
+ [have_libwmf=yes], [have_libwmf="no (libwmf not found)"])
+
+ AS_IF([test "x$have_libwmf" != xyes], [
+ # No pkg-config; try falling back to the traditional -config script
+ AC_PATH_PROG([WMF_CONFIG], [libwmf-config], [no])
+ AS_IF([test "x$WMF_CONFIG" != xno], [
+ AC_MSG_CHECKING(for libwmf >= wmf_required_version using $WMF_CONFIG)
+ wmf_version=`$WMF_CONFIG --version`
+ AS_IF(expr $wmf_version \>= wmf_required_version >/dev/null, [
+ AC_MSG_RESULT([yes (version $wmf_version)])
+ have_libwmf=yes
+ WMF_LIBS=`$WMF_CONFIG --libs`
+ WMF_CFLAGS=`$WMF_CONFIG --cflags`
+ ])
+ ])
+ ])
+])
+
+if test "x$have_libwmf" = xyes; then
+ FILE_WMF='file-wmf$(EXEEXT)'
+ MIME_TYPES="$MIME_TYPES;image/x-wmf"
+fi
+
+AC_SUBST(FILE_WMF)
+AC_SUBST(WMF_LIBS)
+AC_SUBST(WMF_CFLAGS)
+
+
+####################
+# Check for OpenJPEG
+####################
+
+AC_ARG_WITH(jpeg2000, [ --without-jpeg2000 build without JPEG 2000 support])
+
+have_openjpeg=no
+if test "x$with_jpeg2000" != xno; then
+ have_openjpeg=yes
+ PKG_CHECK_MODULES(OPENJPEG, libopenjp2 >= openjpeg_required_version,
+ FILE_JP2_LOAD='file-jp2-load$(EXEEXT)'
+ have_openjpeg=yes,
+ have_openjpeg="no (OpenJPEG not found)")
+fi
+
+if test "x$have_openjpeg" = xyes; then
+ MIME_TYPES="$MIME_TYPES;image/jp2"
+fi
+
+AM_CONDITIONAL(HAVE_OPENJPEG, test "x$have_openjpeg" = xyes)
+AC_SUBST(FILE_JP2_LOAD)
+
+
+################
+# Check for lcms
+################
+
+PKG_CHECK_MODULES(LCMS, lcms2 >= lcms_required_version,,
+ [add_deps_error([lcms2 >= lcms_required_version])])
+
+
+######################
+# Check for libXcursor
+######################
+
+AC_ARG_WITH(xmc,[ --without-xmc build without Xcursor support])
+
+have_xmc=no
+if test "x$with_xmc" != xno; then
+ have_xmc=yes
+ PKG_CHECK_MODULES(XMC, xcursor,
+ FILE_XMC='file-xmc$(EXEEXT)',
+ have_xmc="no (libXcursor not found)")
+else
+ have_xmc="no (libXcursor support disabled)"
+fi
+
+if test "x$have_xmc" = xyes; then
+ MIME_TYPES="$MIME_TYPES;image/x-xcursor"
+fi
+
+AC_SUBST(FILE_XMC)
+
+
+################
+# Check for alsa
+################
+
+AC_ARG_WITH(alsa, [ --without-alsa disable alsa support in midi input controller])
+
+have_alsa="no (alsa support disabled)"
+if test "x$with_alsa" != xno; then
+ have_alsa=yes
+ AM_PATH_ALSA(alsa_required_version,
+ AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if alsa is available]),
+ have_alsa="no (libasound not found or unusable)")
+fi
+
+
+#######################
+# Check for Linux Input
+#######################
+
+AC_ARG_WITH(linux-input, [ --without-linux-input don't build linux input event controller module])
+
+have_linux_input="no (linux input support disabled)"
+AS_IF([test "x$with_linux_input" != "xno"],
+ [AC_CHECK_HEADER([linux/input.h],
+ [AC_CHECK_DECL([KEY_OK],
+ [have_linux_input=yes],
+ [have_linux_input="no (needs Linux 2.6)"],
+ [#include <linux/input.h>])])])
+
+AM_CONDITIONAL([HAVE_LINUX_INPUT], [test "x$have_linux_input" = xyes])
+
+
+###############################
+# Check for DirectX DirectInput
+###############################
+
+AC_ARG_WITH(directx-sdk, [ --with-directx-sdk=PFX prefix where the DirectX SDK is installed(optional)])
+
+have_dx_dinput=no
+if test "x$os_win32" = xyes; then
+ case "$with_directx_sdk" in
+ *" "*) AC_MSG_WARN([The DirectX SDK should be accessible through a path without spaces. Use MSYS mounts. Ignoring your --with-directx-sdk switch.])
+ with_directx_sdk=;;
+ *\\*) AC_MSG_WARN([Use plain (forward) slashes only in your --with-directx-sdk switch. Ignoring your --with-directx-sdk switch.])
+ with_directx_sdk=;;
+ esac
+
+ dinput_save_CPPFLAGS="$CPPFLAGS"
+ dinput_save_LDFLAGS="$LDFLAGS"
+ if test "x$with_directx_sdk" != x; then
+ CPPFLAGS="-I $with_directx_sdk/Include $CPPFLAGS"
+ LDFLAGS="-L$with_directx_sdk/Lib/x86 $LDFLAGS"
+ AC_CHECK_HEADER(dinput.h,
+ [AC_CHECK_LIB(dxguid, GUID_XAxis, have_dx_dinput=yes)])
+ fi
+
+ if test "x$have_dx_dinput" = xyes; then
+ AC_DEFINE(HAVE_DX_DINPUT, 1, [Define to 1 if you have DirectX DirectInput headers and libraries])
+ else
+ CPPFLAGS="$dinput_save_CPPFLAGS"
+ LDFLAGS="$dinput_save_LDFLAGS"
+ fi
+fi
+
+AM_CONDITIONAL(HAVE_DX_DINPUT, test "x$have_dx_dinput" = xyes)
+
+
+####################
+# Check for libgudev
+####################
+
+AC_ARG_WITH(gudev, [ --without-gudev build without GUdev support])
+
+have_libgudev=no
+
+if test "x$with_gudev" = xno; then
+ have_libgudev="no (disabled)"
+fi
+
+if test "x$have_linux_input" = xyes && test "x$with_gudev" != xno; then
+ PKG_CHECK_MODULES(GUDEV, gudev-1.0 >= libgudev_required_version,
+ have_libgudev=yes,
+ have_libgudev="no (libgudev not found)")
+fi
+
+if test "x$have_libgudev" = xyes; then
+ AC_DEFINE(HAVE_LIBGUDEV, 1, [Define to 1 if libgudev is available])
+fi
+
+
+##########################
+# Check for Email Settings
+##########################
+
+# The default behavior is that xdg-email is searched in the user PATH,
+# and email plugin is enabled if found.
+# Sendmail can be used instead of xdg-email, but must be explicitly
+# enabled with --with-sendmail.
+
+have_email="no (xdg-email not found)"
+
+AC_ARG_WITH(sendmail,[ --with-sendmail[=DIR] use sendmail instead of xdg-email])
+
+have_sendmail=no
+# Sendmail must be explicitly enabled to replace xdg-email implementation.
+if test "x$with_sendmail" != "x" && test "x$with_sendmail" != "xno"; then
+ if test "x$with_sendmail" = "xyes"; then
+ sendmail_path=$PATH:/usr/sbin:/usr/lib
+ AC_DEFINE_UNQUOTED(SENDMAIL, "",
+ [The MTA used by the mail plug-in.])
+ else
+ sendmail_path=$with_sendmail
+ AC_DEFINE_UNQUOTED(SENDMAIL, "$with_sendmail",
+ [The MTA used by the mail plug-in.])
+ fi
+
+ AC_PATH_PROG(SENDMAIL, sendmail, , $sendmail_path)
+ if test "x$SENDMAIL" != "x"; then
+ have_email="yes (sendmail)"
+ else
+ # Not having sendmail at runtime is not a blocker.
+ have_email="needs runtime dependency: sendmail"
+ fi
+ have_sendmail=yes
+fi
+
+if test "x$have_sendmail" = xno; then
+ AC_PATH_PROG(XDG_EMAIL, xdg-email)
+ if test "x$XDG_EMAIL" != "x"; then
+ have_email="yes (xdg-email)"
+ else
+ # Not having xdg-email at runtime is not a blocker.
+ # But let's inform the builder that for the feature to be available,
+ # xdg-email is a runtime dependency.
+ have_email="needs runtime dependency: xdg-email"
+ fi
+fi
+
+################
+# Check for perl
+################
+
+AC_PATH_PROGS(PERL,perl5 perl,perl)
+AX_PROG_PERL_VERSION([perl_required_version],,
+ [add_deps_error([perl >= perl_required_version])])
+
+
+AC_ARG_WITH(pdbgen,
+ [ --with-pdbgen use 'pdbgen' code generation tool],,
+ with_pdbgen=$USE_MAINTAINER_MODE)
+
+AM_CONDITIONAL(WITH_PDBGEN, test "x$with_pdbgen" = xyes)
+
+
+#####################
+# Check for json-glib
+#####################
+
+PKG_CHECK_MODULES(JSON_GLIB, json-glib-1.0 >= json_glib_required_version,,
+ [add_deps_error([json-glib-1.0 >= json_glib_required_version])])
+
+##################
+# Check for python
+##################
+
+# Pygimp configure stuff ...
+AC_ARG_ENABLE(python,
+ AS_HELP_STRING([--disable-python],
+ [do not build the python extension]))
+
+m4_define([pycheck_error], [
+ required_deps="$required_deps
+ - $1
+ *** Please install $2, or skip building the python scripting extension by
+ *** passing --disable-python to configure (but then you will not be able
+ *** to use scripts for GIMP that are written in Python)."])
+
+# pygtk-codegen-2.0 and the defsdir are used for the `dist` target,
+# regardless of whether Python is enabled or not. Their absence don't
+# break simple builds but we still check them.
+AC_PATH_PROG(PYGTK_CODEGEN, pygtk-codegen-2.0, no)
+
+AC_MSG_CHECKING(for pygtk defs)
+PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
+AC_SUBST(PYGTK_DEFSDIR)
+AC_MSG_RESULT($PYGTK_DEFSDIR)
+
+if test "x$enable_python" != xno; then
+ enable_python="yes"
+ # check for Python
+ AM_PATH_PYTHON2(python2_required_version,,
+ [pycheck_error([Python 2 (python2_required_version or newer)], [it])])
+ AM_CHECK_PYTHON_HEADERS(, [pycheck_error([Python 2 headers], [them])])
+
+ # Win32 needs all symbols resolved for linking, even for DLLs
+ # Assume the link library is in $exec_prefix/libs
+ # This might be able to be figured out from distutils, but it's
+ # not documented so we won't rely on internal implementation
+ PYLINK_LIBS=
+ if test "x$platform_win32" = "xyes"; then
+ PYBIN_PATH="$py_exec_prefix\pythonw.exe"
+ PYTHON_INCLUDES=`echo "$PYTHON_INCLUDES" | sed -e 's/\\\\/\\//g'`
+ py_exec_prefix=`echo "$py_exec_prefix" | sed -e 's/\\\\/\\//g'`
+ pylibversion=`echo $PYTHON_VERSION | sed -e 's/\\.//'`
+ PYLINK_LIBS="-L${py_exec_prefix}/libs -lpython${pylibversion}"
+ else
+ PYBIN_PATH="$PYTHON"
+ fi
+ AC_SUBST(PYLINK_LIBS)
+ AC_SUBST(PYBIN_PATH)
+
+ # check for PyGTK
+ PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= pygtk_required_version,,
+ [pycheck_error([PyGTK pygtk_required_version or newer], [it])])
+
+ if test "x$PYGTK_CODEGEN" = xno; then
+ pycheck_error([pygtk-codegen-2.0 script], [it])
+ fi
+
+ PKG_CHECK_MODULES(PYCAIRO, pycairo >= pycairo_required_version,,
+ [pycheck_error([PyCairo pycairo_required_version or newer], [it])])
+
+ GIMP_DETECT_CFLAGS(PYGIMP_EXTRA_CFLAGS, '-fno-strict-aliasing')
+ AC_SUBST(PYGIMP_EXTRA_CFLAGS)
+
+ MIME_TYPES="$MIME_TYPES;image/openraster"
+fi
+AM_CONDITIONAL(BUILD_PYTHON, test "x$enable_python" != xno)
+
+
+###########################################################
+# Some plug-ins don't build on Win32, others are Win32-only
+###########################################################
+
+if test "x$os_win32" = xno; then
+ MAIL='mail$(EXEEXT)'
+fi
+
+AC_SUBST(MAIL)
+
+
+###############################
+# Check for GTK Mac Integration
+###############################
+
+gtk_mac_integration_ok=no
+if test "x$platform_osx" != xno &&
+ test "x`$PKG_CONFIG --variable=target gtk+-2.0`" == "xquartz"; then
+
+ PKG_CHECK_MODULES(GTK_MAC_INTEGRATION, gtk-mac-integration-gtk2 >= gtk_mac_integration_required_version,
+ gtk_mac_integration_ok=yes,
+ gtk_mac_integration_ok=no)
+
+ if test "x$gtk_mac_integration_ok" != "xyes"; then
+ PKG_CHECK_MODULES(GTK_MAC_INTEGRATION, gtk-mac-integration >= gtk_mac_integration_required_version,
+ gtk_mac_integration_ok=yes,
+ gtk_mac_integration_ok=no)
+ fi
+fi
+
+AM_CONDITIONAL(PLATFORM_OSX_QUARTZ, test "x$gtk_mac_integration_ok" = xyes)
+
+
+##########################################################
+# Determine where to install the desktop & mime info files
+##########################################################
+
+AC_ARG_WITH(desktop-dir, [ --with-desktop-dir=PATH where to install desktop files (default=PREFIX/share)])
+
+if test "x$with_desktop_dir" != x; then
+ DESKTOP_DATADIR=$with_desktop_dir
+else
+ DESKTOP_DATADIR="$datadir"
+fi
+
+AM_CONDITIONAL(DESKTOP_DATADIR, test "x$with_desktop_dir" != xno)
+AC_SUBST(DESKTOP_DATADIR)
+
+
+#####################
+# Check for XML tools
+#####################
+
+AC_PATH_PROG(XMLLINT, xmllint, no)
+AM_CONDITIONAL(HAVE_XMLLINT, test "x$XMLLINT" != "xno")
+
+AC_PATH_PROG(XSLTPROC, xsltproc, no)
+AM_CONDITIONAL(HAVE_XSLTPROC, test "x$XSLTPROC" != "xno")
+
+
+########################
+# Check for vector icons
+########################
+
+# If not cross-compiling, default build's link and compile flags to the
+# target's flags.
+if test "$cross_compiling" != "yes"; then
+ if test "x$LDFLAGS_FOR_BUILD" = "x"; then
+ LDFLAGS_FOR_BUILD="$LDFLAGS"
+ fi
+ if test "x$CFLAGS_FOR_BUILD" = "x"; then
+ CFLAGS_FOR_BUILD="$CFLAGS"
+ fi
+ if test "x$CPPFLAGS_FOR_BUILD" = "x"; then
+ CPPFLAGS_FOR_BUILD="$CPPFLAGS"
+ fi
+fi
+
+AC_ARG_ENABLE(vector-icons, [ --disable-vector-icons use raster icons rather than vector ones (default=auto)], ,
+ enable_vector_icons=auto)
+
+if test "x$enable_vector_icons" != "xno"; then
+ have_shared_mime_info=""
+ # shared-mime-info is needed to correctly detect SVG files (except on
+ # Windows, apparently).
+ PKG_CHECK_MODULES(MIME_INFO, [shared-mime-info],
+ have_shared_mime_info="yes", have_shared_mime_info="no")
+ if test "x$have_shared_mime_info" = "xyes" ||
+ test "x$platform_win32" = "xyes"; then
+ # Check if librsvg was built with --disable-pixbuf-loader.
+ gdk_pixbuf_moduledir=`$PKG_CONFIG --variable=gdk_pixbuf_moduledir gdk-pixbuf-2.0`
+ # AC_CHECK_FILE macro does not work when cross-compiling and exits with:
+ # error: cannot check for file existence when cross compiling
+ # So let's test files the shell way.
+ if (test "x$platform_win32" = "xyes" &&
+ test -f "$gdk_pixbuf_moduledir/libpixbufloader-svg.dll") ||
+ test -f "$gdk_pixbuf_moduledir/libpixbufloader-svg.so"; then
+ # We must not use $PKG_CONFIG nor PKG_CHECK_* macros because we need
+ # to make sure we use the native pkg-config (in case we cross-compile).
+ if pkg-config --atleast-version=glib_required_version glib-2.0 &&
+ pkg-config gio-2.0; then
+ NATIVE_GLIB_LIBS=`pkg-config --libs gio-2.0 glib-2.0`
+ NATIVE_GLIB_CFLAGS=`pkg-config --cflags gio-2.0 glib-2.0`
+ enable_vector_icons="yes"
+
+ if test "x$platform_win32" = "xyes"; then
+ warning_vector_icons_windows="
+WARNING: You enabled vector icons on Win32. Make sure to run:
+ $ gdk-pixbuf-query-loaders.exe --update-cache
+ on the target machine (this command generates loaders.cache)
+ so that GdkPixbuf knows where to find the SVG loader."
+ fi
+ else
+ enable_vector_icons="no (missing native glib-2.0 > glib_required_version or gio-2.0)"
+ fi
+ else
+ enable_vector_icons="no (librsvg GdkPixbuf loader missing)"
+ fi
+ else
+ enable_vector_icons="no (missing shared-mime-info)"
+ fi
+fi
+
+AC_SUBST(NATIVE_GLIB_LIBS)
+AC_SUBST(NATIVE_GLIB_CFLAGS)
+AM_CONDITIONAL(ENABLE_VECTOR_ICONS, test "x$enable_vector_icons" = "xyes")
+
+####################
+# Check for xvfb-run
+####################
+
+AC_ARG_WITH(xvfb-run, [ --without-xvfb-run do not use xvfb-run for UI-dependent automatic tests])
+
+have_xvfb_run="no (disabled)"
+if test "x$with_xvfb_run" != "xno"; then
+ AC_PATH_PROG(XVFB_RUN, xvfb-run, no)
+ if test "x$XVFB_RUN" != "xno"; then
+ have_xvfb_run="yes"
+ AC_DEFINE(HAVE_XVFB_RUN, 1, [Define to 1 if xvfb-run is available])
+ else
+ have_xvfb_run="no (not found)"
+ fi
+fi
+AM_CONDITIONAL(HAVE_XVFB_RUN, test "x$have_xvfb_run" = "xyes")
+
+##########################
+# Check for appstream-util
+##########################
+
+AC_ARG_WITH(appdata-test, [ --without-appdata-test do not validate the appdata file])
+
+have_appstream_util="no (disabled)"
+if test "x$with_appdata_test" != "xno"; then
+ AC_PATH_PROG(APPSTREAM_UTIL, appstream-util, no)
+ if test "x$APPSTREAM_UTIL" != "xno"; then
+ have_appstream_util="yes"
+ else
+ have_appstream_util="no (appstream-util not found)"
+ fi
+fi
+AM_CONDITIONAL(HAVE_APPSTREAM_UTIL, test "x$have_appstream_util" = "xyes")
+if test "x$have_appstream_util" = "xyes"; then
+ have_appstream_util="yes (this test requires network access; --without-appdata-test to disable)"
+fi
+
+
+#################################
+# Check for desktop-file-validate
+#################################
+
+AC_PATH_PROG(DESKTOP_FILE_VALIDATE, desktop-file-validate, no)
+if test "x$DESKTOP_FILE_VALIDATE" != "xno"; then
+ have_desktop_file_validate="yes"
+else
+ have_desktop_file_validate="no (desktop-file-validate not found)"
+fi
+AM_CONDITIONAL(HAVE_DESKTOP_FILE_VALIDATE, test "x$DESKTOP_FILE_VALIDATE" != "xno")
+
+####################
+# Set bug report URL
+####################
+
+# Allowing third-party packagers to set their own bugtracker URL, in
+# order to filter first packaging bugs from core bugs.
+
+AC_ARG_WITH(bug-report-url,
+ [ --with-bug-report-url URL used by the debug dialog to report bugs],,
+ [with_bug_report_url="$PACKAGE_BUGREPORT"])
+
+if test "x$with_bug_report_url" = "x"; then
+ with_bug_report_url="$PACKAGE_BUGREPORT"
+fi
+
+BUG_REPORT_URL="$with_bug_report_url"
+AC_DEFINE_UNQUOTED(BUG_REPORT_URL, "$with_bug_report_url",
+ [The URL to open in order to report bugs])
+AC_SUBST(BUG_REPORT_URL)
+
+override_bug_report_url=
+if test "x$with_bug_report_url" = "x$PACKAGE_BUGREPORT"; then
+override_bug_report_url="
+NOTE: if you plan on packaging GIMP for distribution, it is recommended
+ to override the bug report URL with option:
+ --with-bug-report-url=https://example.com/
+ so that you can filter packaging bugs from core bugs before
+ reporting upstream.
+"
+fi
+
+#####################
+# Build identifiers #
+#####################
+
+AC_ARG_WITH(build-id,
+ [ --with-build-id A unique string used to define your build],,
+ [with_build_id="unknown"])
+AC_DEFINE_UNQUOTED(GIMP_BUILD_ID, "$with_build_id",
+ [The string defining the build])
+
+AC_ARG_WITH(revision,
+ [ --with-revision Revision increment for a package],,
+ [with_revision="0"])
+GIMP_PACKAGE_REVISION=$with_revision
+AC_SUBST(GIMP_PACKAGE_REVISION)
+
+AC_ARG_ENABLE(check-update,
+ [ --enable-check-update
+ GIMP will not look up new version availability on startup (default=auto)],,
+ enable_check_update=auto)
+if test "x$enable_check_update" != xno &&
+ test "x$enable_check_update" != xyes; then
+ if test "x$platform_osx" = "xyes" ||
+ test "x$platform_win32" = "xyes"; then
+ enable_check_update=yes
+ else
+ enable_check_update=no
+ fi
+fi
+if test "x$enable_check_update" = xyes; then
+ AC_DEFINE(CHECK_UPDATE, 1,
+ [Define to 1 if automatic update check is enabled])
+fi
+
+AC_DEFINE_UNQUOTED(GIMP_BUILD_PLATFORM, "$host_os",
+ [The OS this was built for])
+if test "x$platform_linux" = xyes; then
+ platform_family="linux"
+elif test "x$platform_win32" = xyes; then
+ platform_family="windows"
+elif test "x$platform_osx" = xyes; then
+ platform_family="macos"
+else
+ platform_family="other"
+fi
+AC_DEFINE_UNQUOTED(GIMP_BUILD_PLATFORM_FAMILY, "$platform_family",
+ [The OS family this was built for])
+
+#########################
+# Default ICC directory #
+#########################
+
+# This is necessary because some Unix systems may have a different
+# standard path for color profiles. And in particular, sandbox builds
+# might mount the host system at a different root. This is for
+# instance the case of flatpak which mount the host root at /run/host/.
+if test "x$platform_osx" = "xno" &&
+ test "x$platform_win32" = "xno"; then
+ AC_MSG_CHECKING([default directory for color profiles])
+ AC_ARG_WITH(icc-directory,
+ [ --with-icc-directory Path to default color profiles for this system],,
+ [with_icc_directory="/usr/share/color/icc"])
+
+ if test "x$with_icc_directory" = "x"; then
+ with_icc_directory="/usr/share/color/icc"
+ fi
+
+ AC_DEFINE_UNQUOTED(COLOR_PROFILE_DIRECTORY,
+ "$with_icc_directory",
+ [The path to default color profiles for this system])
+ AC_MSG_RESULT([$with_icc_directory])
+fi
+
+######################################
+# Checks for gtk-doc and docbook-tools
+######################################
+
+# Check for GTK_DOC_CHECK availability. The GTK_DOC_CHECK invocation
+# must be on its own line, gtkdocize relies on it
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.0])
+])
+
+# NOTE: We need to use a separate automake conditional for this
+# to make this work with the tarballs.
+AM_CONDITIONAL(ENABLE_GTK_DOC, test "x$enable_gtk_doc" = xyes)
+
+AC_ARG_ENABLE(gtk-doc-app, [ --enable-gtk-doc-app build developer documentation for app (default=no)], , enable_gtk_doc_app=no)
+AM_CONDITIONAL(ENABLE_GTK_DOC_APP, test "x$enable_gtk_doc_app" = xyes)
+
+
+#############################
+# Check for Windows installer
+#############################
+
+AC_MSG_CHECKING([if building the Windows installer])
+AC_ARG_ENABLE(windows-installer,
+ [ --enable-windows-installer
+ generate files needed for the Windows installer
+ (default=no)],,
+ enable_windows_installer=no)
+
+if test "x$enable_windows_installer" != xno; then
+ if test ! -e "$srcdir/build/windows/installer/lang/setup.isl.in"; then
+ AC_MSG_RESULT([no (not building from git)])
+ AC_MSG_ERROR([Building the Windows installer is only supported when building from git.])
+ fi
+fi
+
+AC_MSG_RESULT([$enable_windows_installer])
+AM_CONDITIONAL(BUILD_WINDOWS_INSTALLER, test "x$enable_windows_installer" != xno)
+
+
+#########################################
+# Allow to configure the GIMP environment
+#########################################
+
+AC_ARG_ENABLE(default-binary, [ --enable-default-binary install this as the default gimp binary (default=gimp_stable)], , enable_default_binary=gimp_stable)
+
+AM_CONDITIONAL(DEFAULT_BINARY, test "x$enable_default_binary" = xyes)
+
+
+AC_ARG_ENABLE(gimp-console, [ --enable-gimp-console build a console-only binary which does not link GTK+], , enable_gimp_console=yes)
+
+AM_CONDITIONAL(ENABLE_GIMP_CONSOLE, test "x$enable_gimp_console" != xno)
+
+
+# Possibly change default gimpdir from $XDG_CONFIG_HOME/GIMP/gimp_user_version
+gimpdir=GIMP
+AC_ARG_WITH(gimpdir, [ --with-gimpdir=DIR change default gimpdir from $XDG_CONFIG_HOME/GIMP/gimp_user_version to $XDG_CONFIG_HOME/DIR/gimp_user_version, or to DIR if DIR is an absolute path],
+if eval "test x$with_gimpdir != x"; then
+ if eval "test x$with_gimpdir != xyes"; then
+ gimpdir=$with_gimpdir
+ fi
+fi)
+
+# Build the gimpdir to be used in manpages here, because the manpage
+# source is unreadable enough already
+case "$gimpdir" in
+ /*)
+ manpage_gimpdir="$gimpdir"
+ ;;
+ *)
+ manpage_gimpdir="\\fB\$XDG_CONFIG_HOME\\fP/$gimpdir/gimp_user_version"
+ ;;
+esac
+
+gimpdatadir="$datadir/$PACKAGE/gimp_data_version"
+gimpplugindir="$libdir/$PACKAGE/gimp_plugin_version"
+gimpsysconfdir="$sysconfdir/$PACKAGE/gimp_sysconf_version"
+
+AC_SUBST(gimpdir)
+AC_SUBST(manpage_gimpdir)
+AC_SUBST(gimpdatadir)
+AC_SUBST(gimpplugindir)
+AC_SUBST(gimpsysconfdir)
+
+
+# GNU format message catalogs go into $datadir/locale,
+# standard location is $libdir/locale. DATADIRNAME set accordingly.
+
+gimplocaledir="$datadir/locale"
+if test "$DATADIRNAME" = "lib"; then
+ gimplocaledir="$libdir/locale"
+fi
+
+AC_SUBST(gimplocaledir)
+
+
+############################
+# Some defines for the build
+############################
+
+AM_CONDITIONAL(STATICLIBS, test "x$enable_static" = xyes)
+
+# a tuned version of glib-mkenums
+GIMP_MKENUMS="\$(PERL) \$(top_srcdir)/tools/gimp-mkenums"
+AC_SUBST(GIMP_MKENUMS)
+
+#Add required trailing ; to list
+MIME_TYPES="$MIME_TYPES;"
+
+AC_SUBST(MIME_TYPES)
+
+
+#########################
+# Disable deprecated APIs
+#########################
+
+CPPFLAGS="${CPPFLAGS} -DGIMP_DISABLE_DEPRECATED -DBABL_DISABLE_DEPRECATED -DGSEAL_ENABLE"
+
+# Make sure not to disable deprecated APIs for unreleased versions.
+# We must build without problems with future releases of libraries
+# and disabling deprecated API risks breaking the build
+
+if test "x$have_glib_2_57" != "xyes"; then
+ CPPFLAGS="${CPPFLAGS} -DG_DISABLE_DEPRECATED"
+fi
+
+if test "x$have_gtk_2_26" != "xyes"; then
+ CPPFLAGS="${CPPFLAGS} -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
+fi
+
+if test "x$have_pango_1_32" != "xyes"; then
+ CPPFLAGS="${CPPFLAGS} -DPANGO_DISABLE_DEPRECATED"
+fi
+
+
+############################
+# Require multihead safe API
+############################
+
+CPPFLAGS="${CPPFLAGS} -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE"
+
+
+##################
+# configure output
+##################
+
+# easy way to skip the plug-in build
+GIMP_PLUGINS=plug-ins
+GIMP_MODULES=modules
+AC_SUBST(GIMP_PLUGINS)
+AC_SUBST(GIMP_MODULES)
+
+AC_CONFIG_COMMANDS([libgimpbase/gimpversion.h], [
+ outfile=gimpversion.h-tmp
+ cat > $outfile <<\_______EOF
+/* gimpversion.h
+ *
+ * This is a generated file. Please modify 'configure.ac'
+ */
+
+#if !defined (__GIMP_BASE_H_INSIDE__) && !defined (GIMP_BASE_COMPILATION)
+#error "Only <libgimpbase/gimpbase.h> can be included directly."
+#endif
+
+#ifndef __GIMP_VERSION_H__
+#define __GIMP_VERSION_H__
+
+G_BEGIN_DECLS
+
+
+/**
+ * SECTION: gimpversion
+ * @title: gimpversion
+ * @short_description: Macros and constants useful for determining
+ * GIMP's version number and capabilities.
+ *
+ * Macros and constants useful for determining GIMP's version number and
+ * capabilities.
+ **/
+
+_______EOF
+
+ cat >>$outfile <<_______EOF
+/**
+ * GIMP_MAJOR_VERSION:
+ *
+ * The major GIMP version number.
+ **/
+#define GIMP_MAJOR_VERSION ($gimp_major_ver)
+
+/**
+ * GIMP_MINOR_VERSION:
+ *
+ * The minor GIMP version number.
+ **/
+#define GIMP_MINOR_VERSION ($gimp_minor_ver)
+
+/**
+ * GIMP_MICRO_VERSION:
+ *
+ * The micro GIMP version number.
+ **/
+#define GIMP_MICRO_VERSION ($gimp_micro_ver)
+
+/**
+ * GIMP_VERSION:
+ *
+ * The GIMP version as a string.
+ **/
+#define GIMP_VERSION "$gimp_ver"
+
+/**
+ * GIMP_API_VERSION:
+ *
+ * Since: 2.2
+ **/
+#define GIMP_API_VERSION "$gimp_api_ver"
+
+_______EOF
+
+ cat >>$outfile <<\_______EOF
+#define GIMP_CHECK_VERSION(major, minor, micro) \
+ (GIMP_MAJOR_VERSION > (major) || \
+ (GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION > (minor)) || \
+ (GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION == (minor) && \
+ GIMP_MICRO_VERSION >= (micro)))
+
+
+G_END_DECLS
+
+#endif /* __GIMP_VERSION_H__ */
+_______EOF
+
+ if cmp -s $outfile libgimpbase/gimpversion.h; then
+ AC_MSG_NOTICE([libgimpbase/gimpversion.h is unchanged])
+ rm -f $outfile
+ else
+ mv $outfile libgimpbase/gimpversion.h
+ fi
+],[
+ gimp_major_ver=gimp_major_version
+ gimp_minor_ver=gimp_minor_version
+ gimp_micro_ver=gimp_micro_version
+ gimp_ver=gimp_version
+ gimp_api_ver=gimp_api_version
+])
+
+AC_CONFIG_FILES([
+INSTALL
+tools/Makefile
+pdb/Makefile
+libgimp/Makefile
+libgimpbase/Makefile
+libgimpconfig/Makefile
+libgimpcolor/Makefile
+libgimpmath/Makefile
+libgimpmodule/Makefile
+libgimpthumb/Makefile
+libgimpwidgets/Makefile
+app/Makefile
+app/actions/Makefile
+app/config/Makefile
+app/core/Makefile
+app/operations/Makefile
+app/operations/layer-modes/Makefile
+app/operations/layer-modes-legacy/Makefile
+app/operations/tests/Makefile
+app/gegl/Makefile
+app/dialogs/Makefile
+app/display/Makefile
+app/file/Makefile
+app/file-data/Makefile
+app/gui/Makefile
+app/menus/Makefile
+app/paint/Makefile
+app/pdb/Makefile
+app/plug-in/Makefile
+app/propgui/Makefile
+app/text/Makefile
+app/tools/Makefile
+app/vectors/Makefile
+app/widgets/Makefile
+app/xcf/Makefile
+app/tests/Makefile
+app/tests/files/Makefile
+app/tests/gimpdir-empty/Makefile
+app/tests/gimpdir-empty/brushes/Makefile
+app/tests/gimpdir-empty/gradients/Makefile
+app/tests/gimpdir-empty/patterns/Makefile
+app/tests/gimpdir/Makefile
+app/tests/gimpdir/brushes/Makefile
+app/tests/gimpdir/gradients/Makefile
+app/tests/gimpdir/patterns/Makefile
+app-tools/Makefile
+build/Makefile
+build/windows/Makefile
+build/windows/gimp.rc
+build/windows/gimp-plug-ins.rc
+build/windows/installer/Makefile
+build/windows/installer/lang/Makefile
+plug-ins/Makefile
+plug-ins/file-bmp/Makefile
+plug-ins/file-dds/Makefile
+plug-ins/file-exr/Makefile
+plug-ins/file-faxg3/Makefile
+plug-ins/file-fits/Makefile
+plug-ins/file-fli/Makefile
+plug-ins/file-ico/Makefile
+plug-ins/file-jpeg/Makefile
+plug-ins/file-psd/Makefile
+plug-ins/file-raw/Makefile
+plug-ins/file-sgi/Makefile
+plug-ins/file-tiff/Makefile
+plug-ins/file-webp/Makefile
+plug-ins/flame/Makefile
+plug-ins/fractal-explorer/Makefile
+plug-ins/fractal-explorer/examples/Makefile
+plug-ins/gfig/Makefile
+plug-ins/gfig/gfig-examples/Makefile
+plug-ins/gfig/images/Makefile
+plug-ins/ui/Makefile
+plug-ins/gimpressionist/Brushes/Makefile
+plug-ins/gimpressionist/Makefile
+plug-ins/gimpressionist/Paper/Makefile
+plug-ins/gimpressionist/Presets/Makefile
+plug-ins/gradient-flare/Makefile
+plug-ins/gradient-flare/flares/Makefile
+plug-ins/help-browser/Makefile
+plug-ins/help/Makefile
+plug-ins/ifs-compose/Makefile
+plug-ins/imagemap/Makefile
+plug-ins/imagemap/images/Makefile
+plug-ins/lighting/Makefile
+plug-ins/lighting/images/Makefile
+plug-ins/map-object/Makefile
+plug-ins/metadata/Makefile
+plug-ins/pagecurl/Makefile
+plug-ins/print/Makefile
+plug-ins/pygimp/Makefile
+plug-ins/pygimp/plug-ins/Makefile
+plug-ins/screenshot/Makefile
+plug-ins/script-fu/Makefile
+plug-ins/script-fu/ftx/Makefile
+plug-ins/script-fu/scripts/Makefile
+plug-ins/script-fu/scripts/images/Makefile
+plug-ins/script-fu/tinyscheme/Makefile
+plug-ins/selection-to-path/Makefile
+plug-ins/twain/Makefile
+plug-ins/common/Makefile
+modules/Makefile
+devel-docs/Makefile
+devel-docs/app/Makefile
+devel-docs/app/version
+devel-docs/libgimp/Makefile
+devel-docs/libgimp/version
+devel-docs/libgimpbase/Makefile
+devel-docs/libgimpbase/version
+devel-docs/libgimpconfig/Makefile
+devel-docs/libgimpconfig/version
+devel-docs/libgimpcolor/Makefile
+devel-docs/libgimpcolor/version
+devel-docs/libgimpmath/Makefile
+devel-docs/libgimpmath/version
+devel-docs/libgimpmodule/Makefile
+devel-docs/libgimpmodule/version
+devel-docs/libgimpthumb/Makefile
+devel-docs/libgimpthumb/version
+devel-docs/libgimpwidgets/Makefile
+devel-docs/libgimpwidgets/version
+devel-docs/performance-logs/Makefile
+devel-docs/tools/Makefile
+docs/Makefile
+menus/Makefile
+cursors/Makefile
+icons/Makefile
+icons/hicolor/Makefile
+icons/Color/Makefile
+icons/Legacy/Makefile
+icons/Symbolic/Makefile
+icons/Symbolic-High-Contrast/Makefile
+icons/Symbolic-Inverted/Makefile
+icons/Symbolic-Inverted-High-Contrast/Makefile
+themes/Makefile
+themes/System/Makefile
+themes/Dark/Makefile
+themes/Gray/Makefile
+themes/Light/Makefile
+data/Makefile
+data/brushes/Makefile
+data/brushes/Basic/Makefile
+data/brushes/Fun/Makefile
+data/brushes/gimp-obsolete-files/Makefile
+data/brushes/Media/Makefile
+data/brushes/Legacy/Makefile
+data/brushes/Sketch/Makefile
+data/brushes/Splatters/Makefile
+data/brushes/Texture/Makefile
+data/dynamics/Makefile
+data/dynamics/Basic/Makefile
+data/dynamics/FX/Makefile
+data/environ/Makefile
+data/gradients/Makefile
+data/images/Makefile
+data/interpreters/Makefile
+data/palettes/Makefile
+data/patterns/Makefile
+data/patterns/Animal/Makefile
+data/patterns/Fabric/Makefile
+data/patterns/Food/Makefile
+data/patterns/Legacy/Makefile
+data/patterns/Paper/Makefile
+data/patterns/Plant/Makefile
+data/patterns/Sky/Makefile
+data/patterns/Stone/Makefile
+data/patterns/Water/Makefile
+data/patterns/Wood/Makefile
+data/tags/Makefile
+data/tips/Makefile
+data/tool-presets/Makefile
+data/tool-presets/Crop/Makefile
+data/tool-presets/FX/Makefile
+data/tool-presets/Paint/Makefile
+data/tool-presets/Selection/Makefile
+data/tool-presets/Sketch/Makefile
+desktop/Makefile
+desktop/gimp-data-extras.metainfo.xml.in
+desktop/gimp.desktop.in
+desktop/org.gimp.GIMP.appdata.xml.in
+desktop/test-appdata.sh
+etc/Makefile
+etc/gimprc
+m4macros/Makefile
+po/Makefile.in
+po-libgimp/Makefile.in
+po-plug-ins/Makefile.in
+po-python/Makefile.in
+po-script-fu/Makefile.in
+po-tips/Makefile.in
+po-windows-installer/Makefile.in
+gimp-zip
+Makefile
+])
+
+# Files with versions in their names
+AC_CONFIG_FILES(
+docs/gimp-gimp_app_version.1:docs/gimp.1.in
+docs/gimprc-gimp_app_version.5:docs/gimprc.5.in
+docs/gimptool-gimp_tool_version.1:docs/gimptool.1.in
+gimp-gimp_pkgconfig_version.pc:gimp.pc.in
+gimpthumb-gimp_pkgconfig_version.pc:gimpthumb.pc.in
+gimpui-gimp_pkgconfig_version.pc:gimpui.pc.in
+)
+
+# By default, autoconf will create only po/Makefile.
+# This code is used to create the POTFILES and Makefile for all
+# additional gettext catalogs.
+m4_define([generate_po_makefile], [
+ AC_MSG_NOTICE([Generating POTFILES and Makefile for $1])
+
+ AC_CONFIG_COMMANDS([$1/stamp-it],
+ [[
+ if ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ; then
+ as_fn_error $? "$1/Makefile.in.in was not created by intltoolize." "$LINENO" 5
+ fi
+ rm -f "$1/stamp-it" "$1/POTFILES"
+ sed -e '/^#/d' -e 's/^[[].*] *//' \
+ -e '/^[ ]*$/d' \
+ -e "s|^| $ac_top_srcdir/|" \
+ "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" && \
+ sed -e "/^# This comment gets stripped out/ {" \
+ -e 'r $1/POTFILES' \
+ -e "d" -e "}" \
+ "$1/Makefile.in" >"$1/Makefile" && \
+ touch "$1/stamp-it"
+ ]])
+])
+
+generate_po_makefile([po-libgimp])
+generate_po_makefile([po-python])
+generate_po_makefile([po-plug-ins])
+generate_po_makefile([po-script-fu])
+generate_po_makefile([po-tips])
+generate_po_makefile([po-windows-installer])
+
+# Print a summary of features enabled/disabled:
+optional_deps="
+Extra Binaries:
+ gimp-console: $enable_gimp_console
+
+Optional Features:
+ Check updates at startup: $enable_check_update
+ Levin matting engine: $have_matting_levin
+ Language selection: $have_iso_codes
+ Vector icons: $enable_vector_icons
+ Dr. Mingw (Win32): $enable_drmingw
+ Relocatable bundle: $enable_relocatable_bundle
+ Default ICC directory: $with_icc_directory
+ Debug console (Win32): $enable_win32_debug_console
+ 32-bit DLL folder (Win32): $with_win32_32bit_dll_folder
+ Detailed backtraces: $detailed_backtraces
+
+Optional Plug-Ins:
+ Ascii Art: $have_libaa
+ Ghostscript: $have_gs
+ Help Browser: $have_webkit
+ JPEG 2000: $have_openjpeg
+ JPEG XL: $have_jpegxl
+ MNG: $have_libmng
+ OpenEXR: $have_openexr
+ WebP: $have_webp
+ HEIC: import: $can_import_heic - export: $can_export_heic [[profile support: $have_heif_profile_support]]
+ AVIF: import: $can_import_avif - export: $can_export_avif
+ PDF (export): $have_cairo_pdf
+ Print: $enable_print
+ Python 2: $enable_python
+ TWAIN (Win32): $os_win32
+ Webpage: $have_webkit
+ WMF: $have_libwmf
+ X11 Mouse Cursor: $have_xmc
+ XPM: $have_libxpm
+ Email: $have_email
+
+Optional Modules:
+ ALSA (MIDI Input): $have_alsa
+ Linux Input: $have_linux_input (GUdev support: $have_libgudev)
+ DirectInput (Win32): $have_dx_dinput
+
+Tests:
+ Use xvfb-run $have_xvfb_run
+ Test appdata $have_appstream_util
+ Test desktop file $have_desktop_file_validate
+
+Bug report URL: $with_bug_report_url
+$override_bug_report_url$warning_vector_icons_windows$warning_glib_networking$warning_gcc$warning_libheif$warning_libmypaint"
+
+if test "x$required_deps" = "x"; then
+ AC_OUTPUT
+ AC_MSG_RESULT([
+Building GIMP with prefix=$prefix, datarootdir=$datarootdir
+Desktop files install into $DESKTOP_DATADIR
+$optional_deps]);
+else
+ AC_MSG_ERROR([
+$optional_deps
+
+Error: GIMP configuration failed.
+$required_deps
+
+See the file 'INSTALL' for more help.]);
+fi