1 # Process this file with autoconf to produce a configure script.
5 # Making releases on the stable branch:
6 # gimp_micro_version += 1;
7 # gimp_interface_age += 1;
9 # For a description of libtool version variables, see:
10 # devel-docs/libtool-instructions.txt
12 m4_define([gimp_major_version], [2])
13 m4_define([gimp_minor_version], [99])
14 m4_define([gimp_micro_version], [1])
15 m4_define([gimp_real_version],
16 [gimp_major_version.gimp_minor_version.gimp_micro_version])
17 m4_define([gimp_version], [gimp_real_version])
18 m4_define([gimp_interface_age], [0])
19 m4_define([gimp_binary_age],
20 [m4_eval(100 * gimp_minor_version + gimp_micro_version)])
22 # For overriding the version string. Comment out if not needed.
23 # m4_define([gimp_version], [2.99.1])
25 # This is the X.Y used in -lgimp-X.Y
26 m4_define([gimp_api_version], [3.0])
28 # Versions used for apps, plugins, tools, pkg-config files, and data,
29 # as well as global and user prefs
30 m4_define([gimp_app_version], [2.99])
31 m4_define([gimp_plugin_version], [2.99])
32 m4_define([gimp_tool_version], [2.99])
33 m4_define([gimp_pkgconfig_version], [3.0])
34 m4_define([gimp_data_version], [2.99])
35 m4_define([gimp_sysconf_version], [2.99])
36 m4_define([gimp_user_version], [2.99])
38 m4_define([gimp_unstable],
39 m4_if(m4_eval(gimp_minor_version % 2), [1], [yes], [no]))
40 m4_define([gimp_stable],
41 m4_if(m4_eval(gimp_minor_version % 2), [0], [yes], [no]))
43 m4_define([gimp_full_name], [GNU Image Manipulation Program])
45 # required versions of other packages
46 m4_define([alsa_required_version], [1.0.0])
47 m4_define([appstream_glib_required_version], [0.7.7])
48 m4_define([atk_required_version], [2.4.0])
49 m4_define([babl_required_version], [0.1.56])
50 m4_define([cairo_required_version], [1.14.0])
51 m4_define([cairo_pdf_required_version], [1.12.2])
52 m4_define([fontconfig_required_version], [2.12.4])
53 m4_define([freetype2_required_version], [2.1.7])
54 m4_define([gdk_pixbuf_required_version], [2.30.8])
55 m4_define([gegl_major_minor_version], [0.4])
56 m4_define([gegl_micro_version], [9])
57 m4_define([gegl_required_version],
58 [gegl_major_minor_version.gegl_micro_version])
59 m4_define([gexiv2_required_version], [0.10.6])
60 m4_define([glib_required_version], [2.56.0])
61 m4_define([gtk_mac_integration_required_version], [2.0.0])
62 m4_define([gtk_required_version], [3.22.29])
63 m4_define([gtkdoc_required_version], [1.0])
64 m4_define([harfbuzz_required_version], [0.9.19])
65 m4_define([intltool_required_version], [0.40.1])
66 m4_define([lcms_required_version], [2.8])
67 m4_define([libgudev_required_version], [167])
68 m4_define([libheif_required_version], [1.1.0])
69 m4_define([liblzma_required_version], [5.0.0])
70 m4_define([libmypaint_required_version], [1.3.0])
71 m4_define([libpng_required_version], [1.6.25])
72 m4_define([openexr_required_version], [1.6.1])
73 m4_define([openjpeg_required_version], [2.1.0])
74 m4_define([pangocairo_required_version], [1.42.0])
75 m4_define([perl_required_version], [5.10.0])
76 m4_define([poppler_required_version], [0.44.0])
77 m4_define([poppler_data_required_version], [0.4.7])
78 m4_define([pycairo_required_version], [1.0.2])
79 m4_define([pygtk_required_version], [2.10.4])
80 m4_define([python2_required_version], [2.5.0])
81 m4_define([rsvg_required_version], [2.40.6])
82 m4_define([webkitgtk_required_version], [2.20.3])
83 m4_define([webp_required_version], [0.6.0])
84 m4_define([wmf_required_version], [0.2.8])
86 # Current test considers only 2 version numbers. If we update the recommended
87 # version of gettext with more version numbers, please update the tests.
88 m4_define([xgettext_required_version], [0.19])
90 AC_INIT([GIMP], [gimp_version],
91 [https://gitlab.gnome.org/GNOME/gimp/issues/new],
94 AC_CONFIG_HEADERS([config.h])
95 AC_CONFIG_SRCDIR([app/core/gimp.c])
96 AC_CONFIG_MACRO_DIR([m4macros])
98 AM_INIT_AUTOMAKE(no-define dist-bzip2 dist-xz no-dist-gzip -Wno-portability)
100 # Enable silent build rules by default, requires at least
101 # Automake-1.11. Disable by either passing --disable-silent-rules to
102 # configure or passing V=1 to make
103 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
105 GIMP_MAJOR_VERSION=gimp_major_version
106 GIMP_MINOR_VERSION=gimp_minor_version
107 GIMP_MICRO_VERSION=gimp_micro_version
108 GIMP_INTERFACE_AGE=gimp_interface_age
109 GIMP_BINARY_AGE=gimp_binary_age
110 GIMP_VERSION=gimp_version
111 GIMP_REAL_VERSION=gimp_real_version
112 GIMP_API_VERSION=gimp_api_version
113 GIMP_APP_VERSION=gimp_app_version
114 GIMP_PLUGIN_VERSION=gimp_plugin_version
115 GIMP_TOOL_VERSION=gimp_tool_version
116 GIMP_PKGCONFIG_VERSION=gimp_pkgconfig_version
117 GIMP_DATA_VERSION=gimp_data_version
118 GIMP_SYSCONF_VERSION=gimp_sysconf_version
119 GIMP_USER_VERSION=gimp_user_version
120 GIMP_UNSTABLE=gimp_unstable
121 GIMP_FULL_NAME="gimp_full_name"
122 AC_SUBST(GIMP_MAJOR_VERSION)
123 AC_SUBST(GIMP_MINOR_VERSION)
124 AC_SUBST(GIMP_MICRO_VERSION)
125 AC_SUBST(GIMP_INTERFACE_AGE)
126 AC_SUBST(GIMP_BINARY_AGE)
127 AC_SUBST(GIMP_VERSION)
128 AC_SUBST(GIMP_REAL_VERSION)
129 AC_SUBST(GIMP_API_VERSION)
130 AC_SUBST(GIMP_APP_VERSION)
131 AC_SUBST(GIMP_PLUGIN_VERSION)
132 AC_SUBST(GIMP_TOOL_VERSION)
133 AC_SUBST(GIMP_PKGCONFIG_VERSION)
134 AC_SUBST(GIMP_DATA_VERSION)
135 AC_SUBST(GIMP_SYSCONF_VERSION)
136 AC_SUBST(GIMP_USER_VERSION)
137 AC_SUBST(GIMP_UNSTABLE)
138 AC_SUBST(GIMP_FULL_NAME)
140 # Version strings used in some source, though it seems unnecessary to
141 # declare them in the public API (libgimpbase/gimpversion.h).
142 AC_DEFINE(GIMP_PKGCONFIG_VERSION, "gimp_pkgconfig_version",
143 [libgimp pkg-config version])
144 AC_DEFINE(GIMP_TOOL_VERSION, "gimp_tool_version",
145 [GIMP tools version])
147 # These are used for substitution (.pc, INSTALL, etc.).
148 APPSTREAM_GLIB_REQUIRED_VERSION=appstream_glib_required_version
149 ATK_REQUIRED_VERSION=atk_required_version
150 BABL_REQUIRED_VERSION=babl_required_version
151 CAIRO_REQUIRED_VERSION=cairo_required_version
152 CAIRO_PDF_REQUIRED_VERSION=cairo_pdf_required_version
153 FONTCONFIG_REQUIRED_VERSION=fontconfig_required_version
154 FREETYPE2_REQUIRED_VERSION=freetype2_required_version
155 GDK_PIXBUF_REQUIRED_VERSION=gdk_pixbuf_required_version
156 GEGL_MAJOR_MINOR_VERSION=gegl_major_minor_version
157 GEGL_REQUIRED_VERSION=gegl_required_version
158 GEXIV2_REQUIRED_VERSION=gexiv2_required_version
159 GLIB_REQUIRED_VERSION=glib_required_version
160 GTK_REQUIRED_VERSION=gtk_required_version
161 GTK_WIN32_RECOMMENDED_VERSION=gtk_win32_recommended_version
162 HARFBUZZ_REQUIRED_VERSION=harfbuzz_required_version
163 INTLTOOL_REQUIRED_VERSION=intltool_required_version
164 LCMS_REQUIRED_VERSION=lcms_required_version
165 LIBHEIF_REQUIRED_VERSION=libheif_required_version
166 LIBLZMA_REQUIRED_VERSION=liblzma_required_version
167 LIBMYPAINT_REQUIRED_VERSION=libmypaint_required_version
168 LIBPNG_REQUIRED_VERSION=libpng_required_version
169 OPENEXR_REQUIRED_VERSION=openexr_required_version
170 OPENJPEG_REQUIRED_VERSION=openjpeg_required_version
171 PANGOCAIRO_REQUIRED_VERSION=pangocairo_required_version
172 PERL_REQUIRED_VERSION=perl_required_version
173 POPPLER_REQUIRED_VERSION=poppler_required_version
174 POPPLER_DATA_REQUIRED_VERSION=poppler_data_required_version
175 PYTHON2_REQUIRED_VERSION=python2_required_version
176 RSVG_REQUIRED_VERSION=rsvg_required_version
177 WEBKITGTK_REQUIRED_VERSION=webkitgtk_required_version
178 WEBP_REQUIRED_VERSION=webp_required_version
179 WMF_REQUIRED_VERSION=wmf_required_version
180 XGETTEXT_REQUIRED_VERSION=xgettext_required_version
181 AC_SUBST(APPSTREAM_GLIB_REQUIRED_VERSION)
182 AC_SUBST(ATK_REQUIRED_VERSION)
183 AC_SUBST(BABL_REQUIRED_VERSION)
184 AC_SUBST(CAIRO_REQUIRED_VERSION)
185 AC_SUBST(CAIRO_PDF_REQUIRED_VERSION)
186 AC_SUBST(FONTCONFIG_REQUIRED_VERSION)
187 AC_SUBST(FREETYPE2_REQUIRED_VERSION)
188 AC_SUBST(GDK_PIXBUF_REQUIRED_VERSION)
189 AC_SUBST(GEGL_MAJOR_MINOR_VERSION)
190 AC_SUBST(GEGL_REQUIRED_VERSION)
191 AC_SUBST(GEXIV2_REQUIRED_VERSION)
192 AC_SUBST(GLIB_REQUIRED_VERSION)
193 AC_SUBST(GTK_REQUIRED_VERSION)
194 AC_SUBST(GTK_WIN32_RECOMMENDED_VERSION)
195 AC_SUBST(HARFBUZZ_REQUIRED_VERSION)
196 AC_SUBST(INTLTOOL_REQUIRED_VERSION)
197 AC_SUBST(LCMS_REQUIRED_VERSION)
198 AC_SUBST(LIBHEIF_REQUIRED_VERSION)
199 AC_SUBST(LIBLZMA_REQUIRED_VERSION)
200 AC_SUBST(LIBMYPAINT_REQUIRED_VERSION)
201 AC_SUBST(LIBPNG_REQUIRED_VERSION)
202 AC_SUBST(OPENEXR_REQUIRED_VERSION)
203 AC_SUBST(OPENJPEG_REQUIRED_VERSION)
204 AC_SUBST(PANGOCAIRO_REQUIRED_VERSION)
205 AC_SUBST(PERL_REQUIRED_VERSION)
206 AC_SUBST(POPPLER_REQUIRED_VERSION)
207 AC_SUBST(POPPLER_DATA_REQUIRED_VERSION)
208 AC_SUBST(PYTHON2_REQUIRED_VERSION)
209 AC_SUBST(RSVG_REQUIRED_VERSION)
210 AC_SUBST(WEBKITGTK_REQUIRED_VERSION)
211 AC_SUBST(WEBP_REQUIRED_VERSION)
212 AC_SUBST(WMF_REQUIRED_VERSION)
213 AC_SUBST(XGETTEXT_REQUIRED_VERSION)
215 # The symbol GIMP_UNSTABLE is defined above for substitution in
216 # Makefiles and conditionally defined here as a preprocessor symbol
217 # and automake conditional.
218 if test "x$GIMP_UNSTABLE" = "xyes"; then
219 AC_DEFINE(GIMP_UNSTABLE, 1,
220 [Define to 1 if this is an unstable version of GIMP])
222 AM_CONDITIONAL(GIMP_UNSTABLE, test "x$GIMP_UNSTABLE" = "xyes")
226 m4_define([lt_current], [m4_eval(100 * gimp_minor_version + gimp_micro_version - gimp_interface_age)])
227 m4_define([lt_revision], [gimp_interface_age])
228 m4_define([lt_age], [m4_eval(gimp_binary_age - gimp_interface_age)])
229 LT_VERSION_INFO="lt_current:lt_revision:lt_age"
230 LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
231 AC_SUBST(LT_VERSION_INFO)
232 AC_SUBST(LT_CURRENT_MINUS_AGE)
235 # gettext i18n support
236 GETTEXT_PACKAGE=gimp30
237 AC_SUBST(GETTEXT_PACKAGE)
238 AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
239 [The prefix for our gettext translation domains.])
241 # work around intltool-update issues during 'make distcheck'
242 AS_IF([test "x$0" != "x./configure"], [
243 AC_SUBST([INTLTOOL_UPDATE], [/bin/true])
246 # Determine a C compiler to use
249 # Works around a bug in AX_PROG_CC_FOR_BUILD for build with MinGW on
250 # Windows. See bug 780270, comment 18.
252 cygwin*|mingw32*|mingw64*) BUILD_EXEEXT=.exe ;;
256 # Determine a C++ compiler to use
258 AX_CXX_COMPILE_STDCXX([14], , [mandatory])
262 LT_INIT([disable-static win32-dll])
266 # Initialize maintainer mode
267 AM_MAINTAINER_MODE([enable])
269 # Check for pkg-config
270 PKG_PROG_PKG_CONFIG(0.16)
273 #########################
274 # Check host architecture
275 #########################
279 AC_MSG_CHECKING([for host type])
280 AC_MSG_RESULT([$host])
282 AC_MSG_CHECKING([for host processor])
286 AC_DEFINE(ARCH_X86, 1, [Define to 1 if you are compiling for ix86.])
291 AC_DEFINE(ARCH_X86, 1, [Define to 1 if you are compiling for ix86.])
292 AC_DEFINE(ARCH_X86_64, 1, [Define to 1 if you are compiling for amd64.])
293 AC_MSG_RESULT([x86-64])
297 AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
298 AC_MSG_RESULT([PowerPC])
302 AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
303 AC_DEFINE(ARCH_PPC64, 1, [Define to 1 if you are compiling for PowerPC64.])
304 AC_MSG_RESULT([64-bit PowerPC])
307 AC_MSG_RESULT([unknown])
316 AC_MSG_CHECKING([if compiling for Win32])
325 AC_MSG_RESULT([$platform_win32])
326 AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
330 if test "x$platform_win32" != xno; then
331 AC_MSG_CHECKING([if this is native Win32])
339 WIN32_LARGE_ADDRESS_AWARE='-Wl,--large-address-aware'
347 AC_MSG_RESULT([$os_win32])
349 AC_SUBST(WIN32_LARGE_ADDRESS_AWARE)
351 AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
352 AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
354 if test "$os_win32" = "yes"; then
355 AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
356 AC_CHECK_TOOL(WINDRES, windres, :)
361 AM_CONDITIONAL(MS_LIB_AVAILABLE, test "x$ms_librarian" = xyes)
362 AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
372 AC_MSG_CHECKING([if compiling for Mac OS X])
376 AC_DEFINE(PLATFORM_OSX, 1, [define to 1 if compiling for Mac OS X])
382 AC_MSG_RESULT($platform_osx)
383 AM_CONDITIONAL(PLATFORM_OSX, test "x$platform_osx" = xyes)
390 # Checks for programs.
395 # Large file support for the swap file
398 AC_MSG_CHECKING([whether to turn on debugging])
400 [ --enable-debug turn on debugging (default=no)],
401 if eval "test x$enable_debug = xyes"; then
405 if test -n "$DEBUGFLAG"; then
407 CFLAGS="$DEBUGFLAG $CFLAGS"
412 AC_MSG_CHECKING([whether to turn on profiling])
413 AC_ARG_ENABLE(profile,
414 [ --enable-profile turn on profiling (default=no)],
415 if eval "test x$enable_profile = xyes"; then
419 if test -n "$PROFFLAG"; then
421 CFLAGS="$PROFFLAG $CFLAGS"
427 [ --enable-ansi turn on strict ansi (default=no)],,
431 if eval "test x$GCC = xyes"; then
433 *[\ \ ]-Wall[\ \ ]*) ;;
434 *) CFLAGS="$CFLAGS -Wall" ;;
437 if test "x$enable_ansi" = "xyes"; then
439 *[\ \ ]-ansi[\ \ ]*) ;;
440 *) CFLAGS="$CFLAGS -ansi" ;;
444 *[\ \ ]-pedantic[\ \ ]*) ;;
445 *) CFLAGS="$CFLAGS -pedantic" ;;
452 # If possible, warn if C99isms are used
453 GIMP_DETECT_CFLAGS(extra_warnings, '-Wdeclaration-after-statement')
454 CFLAGS="$CFLAGS $extra_warnings"
456 GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-prototypes')
457 CFLAGS="$CFLAGS $extra_warnings"
459 # We really don't want anyone using code with missing prototypes, which
460 # can cause random behavior. If compile breaks due to the following,
461 # come to us and we will point you to a newer version which works.
463 GIMP_DETECT_CFLAGS(extra_warnings, '-Werror=missing-prototypes')
464 CFLAGS="$CFLAGS $extra_warnings"
466 GIMP_DETECT_CFLAGS(extra_warnings, '-Wstrict-prototypes')
467 CFLAGS="$CFLAGS $extra_warnings"
469 GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-declarations')
470 CFLAGS="$CFLAGS $extra_warnings"
472 GIMP_DETECT_CFLAGS(extra_warnings, '-Winit-self')
473 CFLAGS="$CFLAGS $extra_warnings"
475 GIMP_DETECT_CFLAGS(extra_warnings, '-Wpointer-arith')
476 CFLAGS="$CFLAGS $extra_warnings"
478 GIMP_DETECT_CFLAGS(extra_warnings, '-Wold-style-definition')
479 CFLAGS="$CFLAGS $extra_warnings"
481 GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-format-attribute')
482 CFLAGS="$CFLAGS $extra_warnings"
484 GIMP_DETECT_CFLAGS(extra_warnings, '-Wformat-security')
485 CFLAGS="$CFLAGS $extra_warnings"
487 GIMP_DETECT_CFLAGS(extra_warnings, '-Wlogical-op')
488 CFLAGS="$CFLAGS $extra_warnings"
490 GIMP_DETECT_CFLAGS(extra_warnings, '-Wtype-limits')
491 CFLAGS="$CFLAGS $extra_warnings"
493 GIMP_DETECT_CFLAGS(extra_warnings, '-fno-common')
494 CFLAGS="$CFLAGS $extra_warnings"
496 GIMP_DETECT_CFLAGS(extra_warnings, '-fdiagnostics-show-option')
497 CFLAGS="$CFLAGS $extra_warnings"
499 GIMP_DETECT_CFLAGS(extra_warnings, '-Wreturn-type')
500 CFLAGS="$CFLAGS $extra_warnings"
502 # -Wreturn-type warns on forgotten return on non-void functions,
503 # but not of g_return_if_fail() on non-void functions.
504 # -Wsystem-headers is needed for that.
505 # Unfortunately it pulls tons of warnings on some systems.
506 # So we comment out for now.
507 # GIMP_DETECT_CFLAGS(extra_warnings, '-Wsystem-headers')
508 # CFLAGS="$CFLAGS $extra_warnings"
510 # Extra optimization flags for super performance
511 GIMP_DETECT_CFLAGS(extra_warnings, '--omg-optimized')
512 CFLAGS="$CFLAGS $extra_warnings"
514 GIMP_DETECT_CFLAGS(extra_warnings, '--disable-instructions')
515 CFLAGS="$CFLAGS $extra_warnings"
518 # Ensure MSVC-compatible struct packing convention is used when
519 # compiling for Win32 with gcc.
520 # What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
521 # gcc2 uses "-fnative-struct".
522 if test "x$os_win32" = xyes; then
523 if test "x$GCC" = xyes; then
525 AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
526 if test -z "$ac_cv_prog_CC"; then
529 our_gcc="$ac_cv_prog_CC"
531 case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
533 if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
534 msnative_struct='-fnative-struct'
538 if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
539 msnative_struct='-mms-bitfields'
543 if test "x$msnative_struct" = x ; then
544 AC_MSG_RESULT([no way])
545 AC_MSG_WARN([build will be incompatible with GTK+ DLLs])
547 CFLAGS="$CFLAGS $msnative_struct"
548 AC_MSG_RESULT([${msnative_struct}])
553 if test "x$GCC" = xyes; then
554 gcc_version=`$CC -v 2>&1|grep 'gcc version'|sed -e 's/.*gcc version \([[0-9.]]\+\)[[^0-9.]].*/\1/'`
555 if test "x$gcc_version" = "x7.2.0" ; then
557 WARNING: GCC 7.2.0 has a serious bug affecting GEGL/GIMP. We advise
558 against using this version of the compiler (previous and
559 further versions are fine).
560 See https://bugzilla.gnome.org/show_bug.cgi?id=787222"
562 # For GCC, use -v which has more information than --version.
563 CC_VERSION="\\\\t`$CC -v 2>&1 | sed -e 's/$/\\\\n\\\\t/g' | tr -d '\n'`"
565 # This is the list of common options used by autotools to check
566 # versions for various compilers.
567 CC_VERSION="\\\\t`$CC --version 2>&1 | sed -e 's/$/\\\\n\\\\t/g' | tr -d '\n'`"
568 if test $? != 0; then
569 CC_VERSION="\\\\t`$CC -v 2>&1` | sed -e 's/$/\\\\n\\\\t/g' | tr -d '\n'"
570 if test $? != 0; then
571 CC_VERSION="\\\\t`$CC -V 2>&1` | sed -e 's/$/\\\\n\\\\t/g' | tr -d '\n'"
572 if test $? != 0; then
573 CC_VERSION="\\\\t`$CC -qversion 2>&1` | sed -e 's/$/\\\\n\\\\t/g' | tr -d '\n'"
584 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)
585 AC_CHECK_FUNCS(backtrace, , AC_CHECK_LIB(execinfo, backtrace))
592 # check some more funcs
593 AC_CHECK_FUNCS(fsync)
594 AC_CHECK_FUNCS(difftime mmap)
595 AC_CHECK_FUNCS(thr_self)
601 # _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
602 AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
605 [[#include <langinfo.h>]],
606 [[char c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));]])],
609 AC_MSG_RESULT($nl_ok)
610 if test "$nl_ok" = "yes"; then
611 AC_DEFINE(HAVE__NL_MEASUREMENT_MEASUREMENT, 1,
612 [Define to 1 if _NL_MEASUREMENT_MEASUREMENT is available])
615 # Macro to keep track of failed dependencies.
619 # To add a required dependency error, call: add_deps_error([dependency]).
620 # If details about the dependency are needed:
621 # add_deps_error([dependency], [first line, second line])
622 m4_define([add_deps_error], [
623 AC_MSG_NOTICE([Eeeeeeeeeeeeeeeeeeeeek! Missing dep: $1])
624 required_deps="$required_deps
625 - Error: missing dependency $1"
626 m4_foreach([more], [$2], [
627 required_deps="$required_deps
630 ######################
631 # Internationalisation
632 ######################
634 IT_PROG_INTLTOOL(intltool_required_version)
637 # Testing xgettext version since we had some problem with localizing script-fu. See bug 720052.
638 AC_MSG_CHECKING([for xgettext version (>= xgettext_required_version)])
639 XGETTEXT_REQUIRED_VERSION_MAJOR=`echo $XGETTEXT_REQUIRED_VERSION | awk -F. '{ print $ 1; }'`
640 XGETTEXT_REQUIRED_VERSION_MINOR_1=`echo $XGETTEXT_REQUIRED_VERSION | awk -F. '{ print $ 2; }'`
642 XGETTEXT_APPLIED_VERSION=`$XGETTEXT --version | head -1 | cut -d" " -f4`
643 XGETTEXT_APPLIED_VERSION_MAJOR=`echo $XGETTEXT_APPLIED_VERSION | awk -F. '{ print $ 1; }'`
644 XGETTEXT_APPLIED_VERSION_MINOR_1=`echo $XGETTEXT_APPLIED_VERSION | awk -F. '{ print $ 2; }'`
646 have_required_xgettext="no"
647 if test -n "$XGETTEXT_APPLIED_VERSION_MAJOR"; then
648 if test "$XGETTEXT_REQUIRED_VERSION_MAJOR" -lt "$XGETTEXT_APPLIED_VERSION_MAJOR"; then
649 have_required_xgettext="yes"
650 elif test "$XGETTEXT_REQUIRED_VERSION_MAJOR" -eq "$XGETTEXT_APPLIED_VERSION_MAJOR"; then
651 if test -n "$XGETTEXT_APPLIED_VERSION_MINOR_1"; then
652 if test "$XGETTEXT_REQUIRED_VERSION_MINOR_1" -le "$XGETTEXT_APPLIED_VERSION_MINOR_1"; then
653 have_required_xgettext="yes"
658 AC_MSG_RESULT($have_required_xgettext)
660 if test "x$have_required_xgettext" = "xno"; then
661 add_deps_error([xgettext], [xgettext >= xgettext_required_version])
668 AC_MSG_CHECKING([for iso-codes])
669 PKG_CHECK_EXISTS(iso-codes,
671 AC_DEFINE(HAVE_ISO_CODES, 1,
672 [Define to 1 if the iso-codes package is available])
673 ISO_CODES_PREFIX=`$PKG_CONFIG --variable=prefix iso-codes`
674 ISO_CODES_LOCATION="$ISO_CODES_PREFIX/share/xml/iso-codes"
675 ISO_CODES_LOCALEDIR="$ISO_CODES_PREFIX/$DATADIRNAME/locale",
676 have_iso_codes="no (iso-codes package not found)")
677 AC_MSG_RESULT($have_iso_codes)
679 AC_SUBST(ISO_CODES_LOCATION)
680 AC_SUBST(ISO_CODES_LOCALEDIR)
683 ###############################
684 # Checks for required libraries
685 ###############################
687 PKG_CHECK_MODULES(BABL, [babl >= babl_required_version],,
688 [add_deps_error([babl >= babl_required_version])])
689 PKG_CHECK_MODULES(GEGL, gegl-gegl_major_minor_version >= gegl_required_version,,
690 [add_deps_error([gegl-gegl_major_minor_version >= gegl_required_version])])
691 PKG_CHECK_MODULES(ATK, atk >= atk_required_version,,
692 [add_deps_error([atk >= atk_required_version])])
694 # glib 2.56.0 and 2.56.1 have a bad bug on Win32, breaking the file
695 # chooser dialogs. This has been fixed, but no release made yet. When
696 # 2.56.2 is released, the additional test for these broken versions can
697 # be removed and we can bump the requirement to glib 2.56.2.
698 AM_PATH_GLIB_2_0(glib_required_version,
699 [if test "x$platform_win32" = "xyes"; then
700 PKG_CHECK_MODULES(GLIB_WIN_BUG, glib-2.0 >= 2.56.0 glib-2.0 < 2.56.2,
701 [add_deps_error([glib >= glib_required_version except glib 2.56.0 and 2.56.1 (broken on Win32 - bug 795855)])],:)
703 [add_deps_error([glib >= glib_required_version],
704 [Test for GLIB failed])],
707 PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0,,
708 [add_deps_error([gmodule-no-export-2.0])])
710 PKG_CHECK_MODULES(GIO, gio-2.0,,
711 [add_deps_error([gio-2.0])])
713 if test "x$os_win32" = "xyes"; then
714 PKG_CHECK_MODULES(GIO_WINDOWS, gio-windows-2.0,,
715 [add_deps_error([gio-windows-2.0])])
717 PKG_CHECK_MODULES(GIO_UNIX, gio-unix-2.0,,
718 [add_deps_error([gio-unix-2.0])])
721 AC_MSG_CHECKING([for glib-networking (GIO TLS implementation)])
722 gimp_save_CFLAGS="$CFLAGS"
723 gimp_save_LIBS="$LIBS"
724 CFLAGS="$CFLAGS $GIO_CFLAGS"
725 LIBS="$LIBS $GIO_LIBS"
726 AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <gio/gio.h>],
727 [return !g_tls_backend_supports_tls (g_tls_backend_get_default ());])],
728 [have_glib_networking="yes"],
729 [have_glib_networking="no"],
730 [have_glib_networking="unknown (cross-compiling)"])
731 CFLAGS="$gimp_save_CFLAGS"
732 LIBS="$gimp_save_LIBS"
733 AC_MSG_RESULT($have_glib_networking)
735 if test "x$have_glib_networking" = "xno"; then
736 add_deps_error([glib-networking],
737 [Test for glib-networking failed. This is required.])
738 elif test "x$have_glib_networking" != "xyes"; then
739 warning_glib_networking="
740 WARNING: Test for glib-networking cannot be performed while cross-compiling.
741 Make sure glib-networking is installed, otherwise GIMP will not be able
742 to display the remote help pages through the help browser, nor will it
743 be able to open remote HTTPS (or other protocol using SSL/TLS) files.
744 HTTPS is becoming the expected standard and should not be considered
748 # AM_PATH_GLIB_2_0 already fills in the variable GLIB_COMPILE_RESOURCES.
749 # Unfortunately it looks it up using $PKG_CONFIG, which search in
750 # target-installed libraries, hence it would return a tool for the
751 # target architecture in case of cross-compilation (which can't be run
752 # during build, unless there is some compatibility layer in the OS).
753 # Therefore we make our own check.
754 AC_MSG_CHECKING([for native glib-compile-resources])
755 if test -z "$HOST_GLIB_COMPILE_RESOURCES"; then
756 # Do not use $PKG_CONFIG as it will search target files.
757 HOST_GLIB_COMPILE_RESOURCES=`pkg-config --variable=glib_compile_resources gio-2.0`
758 if test -z "$HOST_GLIB_COMPILE_RESOURCES"; then
759 # As fallback, search in path.
760 AC_PATH_PROG(HOST_GLIB_COMPILE_RESOURCES, glib-compile-resources, no)
761 if test "x$HOST_GLIB_COMPILE_RESOURCES" = xno; then
762 add_deps_error([glib-compile-resources],
763 [Could not find glib-compile-resources in your PATH.])
767 AC_MSG_RESULT($HOST_GLIB_COMPILE_RESOURCES)
768 AC_SUBST(HOST_GLIB_COMPILE_RESOURCES)
770 AC_PATH_PROG(GDBUS_CODEGEN, gdbus-codegen, no)
771 if test "x$GDBUS_CODEGEN" = xno; then
772 add_deps_error([gdbus-codegen], [Could not find gdbus-codegen in your PATH.])
775 AC_MSG_CHECKING([if GLib is version 2.57.0 or newer])
776 if $PKG_CONFIG --atleast-version=2.57.0 glib-2.0; then
781 AC_MSG_RESULT($have_glib_2_57)
783 AC_PATH_PROG(GEGL, gegl, no)
784 if test "x$GEGL" = xno; then
785 add_deps_error([gegl], [Could not find native gegl executable in your PATH.])
789 # Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
791 LIBS="$LIBS $GLIB_LIBS"
792 AC_CHECK_FUNCS(bind_textdomain_codeset,,
793 add_deps_error([bind_textdomain_codeset()],
794 [Check for bind_textdomain_codeset() failed! This is required.]))
800 AM_PATH_GTK_3_0(gtk_required_version, :,
801 add_deps_error([gtk+-3.0 >= gtk_required_version],
802 [Test for GTK+ failed.]))
804 AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no)
805 if test "x$GTK_UPDATE_ICON_CACHE" = xno; then
806 add_deps_error([gtk-update-icon-cache],
807 [Could not find gtk-update-icon-cache in your PATH.])
810 PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gdk_pixbuf_required_version,,
811 [add_deps_error([gdk-pixbuf-2.0 >= gdk_pixbuf_required_version])])
813 AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
814 if test "x$GDK_PIXBUF_CSOURCE" = xno; then
815 add_deps_error([gdk-pixbuf-csource],
816 [Could not find gdk-pixbuf-csource in your PATH.])
819 PKG_CHECK_MODULES(CAIRO, cairo >= cairo_required_version,,
820 [add_deps_error([cairo >= cairo_required_version])])
822 PKG_CHECK_MODULES(PANGOCAIRO,
823 [pangocairo >= pangocairo_required_version pangoft2], :,
824 [add_deps_error([pangocairo >= pangocairo_required_version and pangoft2],
825 [We require Pango with the optional support for Cairo compiled in.])])
827 gimp_save_CFLAGS=$CFLAGS
828 CFLAGS="$PANGOCAIRO_CFLAGS $CFLAGS"
830 # Windows platform had a few bugs fixed in earlier fontconfig.
831 # The bugs are serious enough (for instance very slow startups at each
832 # GIMP start, but also slowness when closing, broken font features,
833 # etc.) that we should bump the requirement for Win32.
834 # See bugs 708110 (fontconfig 2.11.0), 703331 (2.11.1) and 782676
836 PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= fontconfig_required_version,,
837 [add_deps_error([fontconfig >= fontconfig_required_version])])
839 AC_MSG_CHECKING([if Pango is version 1.43.0 or newer])
840 if $PKG_CONFIG --atleast-version=1.43.0 pango; then
845 AC_MSG_RESULT($have_pango_1_43)
847 CFLAGS="$PANGOCAIRO_CFLAGS $CFLAGS"
849 AC_MSG_CHECKING([if Pango is built with a recent fontconfig])
852 [[#include <fontconfig/fontconfig.h>]],
853 [[FcObjectSet *os; os = FcObjectSetBuild (FC_FAMILY, FC_WIDTH);]])],
856 AC_MSG_RESULT($fontconfig_ok)
858 CFLAGS=$gimp_save_CFLAGS
860 if test "x$fontconfig_ok" = xno; then
862 *** You have a fontconfig >= fontconfig_required_version installed on your system, but your
863 *** Pango library is using an older version. This old version is probably in
864 *** /usr/X11R6. Look at the above output, and note that the result for
865 *** FONTCONFIG_CFLAGS is not in the result for PANGOCAIRO_CFLAGS, and that
866 *** there is likely an extra -I line, other than the ones for GLIB,
867 *** Freetype, and Pango itself. That's where your old fontconfig files are.
868 *** Rebuild pango, and make sure that it uses the newer fontconfig. The
869 *** easiest way be sure of this is to simply get rid of the old fontconfig.
870 *** When you rebuild pango, make sure the result for FONTCONFIG_CFLAGS is
871 *** the same as the result here.])
875 PKG_CHECK_MODULES(FREETYPE, freetype2 >= freetype2_required_version,,
876 [add_deps_error([freetype2_required_version >= freetype2_required_version])])
878 PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= harfbuzz_required_version,,
879 [add_deps_error([harfbuzz >= harfbuzz_required_version])])
881 PKG_CHECK_MODULES(GEXIV2, gexiv2 >= gexiv2_required_version,,
882 [add_deps_error([gexiv2 >= gexiv2_required_version])])
884 #################################
885 # Check for debug console (Win32)
886 #################################
888 AC_ARG_ENABLE(win32-debug-console,
889 [ --enable-win32-debug-console
890 open a console when starting the program
892 enable_win32_debug_console=auto)
894 AC_MSG_CHECKING([if GIMP should open a debug console at start])
895 if test "x$platform_win32" != "xyes"; then
896 enable_win32_debug_console=no
897 elif test "x$enable_win32_debug_console" != xno &&
898 test "x$enable_win32_debug_console" != xyes; then
899 # By default, we enable the debug console only for unstable builds.
900 enable_win32_debug_console=gimp_unstable
903 if test "x$enable_win32_debug_console" = "xyes"; then
904 AC_DEFINE(ENABLE_WIN32_DEBUG_CONSOLE, 1,
905 [Define to 1 if GIMP should open a debug console at start])
907 AC_MSG_RESULT([$enable_win32_debug_console])
909 ######################################
910 # Check for 32-bit DLLs (Win32 64-bit)
911 ######################################
913 AC_ARG_WITH(win32-32bit-dll-folder,
914 [ --with-win32-32bit-dll-folder[=DIR]
915 alternative folder with 32-bit versions of DLL libraries on Windows (default: 32/bin/)],,
916 with_win32_32bit_dll_folder="32/bin")
918 AC_MSG_CHECKING([the alternative folder containing 32-bit DLLs on Windows])
919 if test "x$platform_win32" = "xyes"; then
924 with_win32_32bit_dll_folder="no"
928 with_win32_32bit_dll_folder="no"
931 if test "x$with_win32_32bit_dll_folder" != "xno"; then
932 AC_DEFINE_UNQUOTED(WIN32_32BIT_DLL_FOLDER, "$with_win32_32bit_dll_folder",
933 [Define if 32-bit versions of libraries are packaged in an alternative folder])
935 AC_MSG_RESULT([$with_win32_32bit_dll_folder])
937 #####################
938 # Check for Dr. Mingw
939 #####################
942 if test "x$platform_win32" = "xyes"; then
943 # Check for Dr. Mingw
944 AC_CHECK_LIB(exchndl, ExcHndlSetLogFileNameA,
946 AC_DEFINE(HAVE_EXCHNDL, 1, [Define to 1 when Dr. MingW is available])
947 LIBS="-lexchndl $LIBS"
950 [enable_drmingw="no (ExcHndl library missing)"]
953 AM_CONDITIONAL(HAVE_EXCHNDL, test "x$ac_cv_lib_exchndl_ExcHndlSetLogFileNameA" = "xyes")
955 ###########################
956 # Check for backtrace() API
957 ###########################
959 AC_CHECK_HEADERS([execinfo.h])
961 ##########################################
962 # Check for some special functions we need
963 ##########################################
965 AC_CHECK_HEADERS(math.h ieeefp.h)
967 # DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
968 AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
974 int main (void) { return (log(1) != log(1.)); }]])],
975 [AC_MSG_RESULT(none needed)],
976 [gimp_save_CFLAGS=$CFLAGS
977 CFLAGS="$CFLAGS -std1"
981 int main (void) { return (log(1) != log(1.)); }]])],
982 [AC_MSG_RESULT(-std1)],
984 CFLAGS=$gimp_save_CFLAGS
985 AC_MSG_WARN([No ANSI prototypes found in library. (-std1 didn't work.)])],
989 # Check for finite or isfinite
990 AC_CHECK_FUNCS(finite, , [
991 AC_MSG_CHECKING(for finite in <math.h>)
994 [[#include <math.h>]],
995 [[double f = 0.0; finite (f)]])],
996 [AC_DEFINE(HAVE_FINITE, 1)
999 AC_MSG_CHECKING(for isfinite in <math.h>)
1002 [[#include <math.h>]],
1003 [[float f = 0.0; isfinite(f)]])],
1004 [AC_DEFINE([HAVE_ISFINITE],[1],[Define to 1 if you have the isfinite function.])
1005 AC_MSG_RESULT(yes)],
1006 [AC_MSG_RESULT(no)])])])
1007 AC_SUBST(HAVE_FINITE)
1008 AC_SUBST(HAVE_ISFINITE)
1010 LIBS=$gimp_save_LIBS
1014 AC_CHECK_FUNC(rint, AC_DEFINE(HAVE_RINT, 1,
1015 [Define to 1 if you have the rint function.]), [
1016 AC_CHECK_LIB(m, rint, [
1017 AC_DEFINE(HAVE_RINT)])])
1021 AC_CHECK_FUNCS(vfork, ,)
1022 AC_SUBST(HAVE_VFORK)
1025 ##############################
1026 # Check for attributes we need
1027 ##############################
1029 AX_GCC_FUNC_ATTRIBUTE(destructor)
1031 #####################################################################
1032 # Check for extra libs needed for getaddrinfo, getnameinfo and socket
1033 #####################################################################
1035 gimp_save_LIBS=$LIBS
1038 AC_CHECK_FUNCS(getaddrinfo, , AC_CHECK_LIB(nsl, getaddrinfo))
1039 AC_CHECK_FUNCS(getnameinfo, , AC_CHECK_LIB(nsl, getnameinfo))
1040 AC_CHECK_LIB(socket, socket)
1043 LIBS=$gimp_save_LIBS
1045 AC_SUBST(SOCKET_LIBS)
1047 ###################################
1048 # Check for Intel vector intrinsics
1049 ###################################
1050 intrinsics_save_CFLAGS="$CFLAGS"
1051 #FIXME: Check the CFLAGS separately
1052 GIMP_DETECT_CFLAGS(SSE_MATH_CFLAG, '-mfpmath=sse')
1053 GIMP_DETECT_CFLAGS(SSE2_CFLAG, '-msse2')
1054 SSE2_EXTRA_CFLAGS="$SSE_MATH_CFLAG $SSE2_CFLAG"
1055 CFLAGS="$intrinsics_save_CFLAGS $SSE2_EXTRA_CFLAGS"
1057 AC_MSG_CHECKING(whether we can compile SSE2 intrinsics)
1058 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <emmintrin.h>]],[[__m128i one = _mm_set1_epi32 (1);]])],
1059 AC_DEFINE(COMPILE_SSE2_INTRINISICS, 1, [Define to 1 if SSE2 intrinsics are available.])
1060 AC_SUBST(SSE2_EXTRA_CFLAGS)
1064 AC_MSG_WARN([SSE2 intrinsics not available.])
1068 GIMP_DETECT_CFLAGS(SSE4_1_CFLAG, '-msse4.1')
1069 SSE4_1_EXTRA_CFLAGS="$SSE_MATH_CFLAG $SSE4_1_CFLAG"
1070 CFLAGS="$intrinsics_save_CFLAGS $SSE4_1_EXTRA_CFLAGS"
1072 AC_MSG_CHECKING(whether we can compile SSE4.1 intrinsics)
1073 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <smmintrin.h>]],[[__v4sf a, b, c; c = _mm_blend_ps(a, b, 0x08);]])],
1074 AC_DEFINE(COMPILE_SSE4_1_INTRINISICS, 1, [Define to 1 if SSE4.1 intrinsics are available.])
1075 AC_SUBST(SSE4_1_EXTRA_CFLAGS)
1079 AC_MSG_WARN([SSE4.1 intrinsics not available.])
1081 CFLAGS="$intrinsics_save_CFLAGS"
1084 ########################
1085 # Check for MMX assembly
1086 ########################
1089 [ --enable-mmx enable MMX support (default=auto)],,
1090 enable_mmx=$have_x86)
1093 [ --enable-sse enable SSE support (default=auto)],,
1094 enable_sse=$enable_mmx)
1096 if test "x$enable_mmx" = xyes; then
1097 GIMP_DETECT_CFLAGS(MMX_EXTRA_CFLAGS, '-mmmx')
1100 AC_MSG_CHECKING(whether we can compile MMX code)
1102 mmx_save_CFLAGS="$CFLAGS"
1103 CFLAGS="$mmx_save_CFLAGS $MMX_EXTRA_CFLAGS"
1105 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[asm ("movq 0, %mm0");]])],
1107 AC_DEFINE(USE_MMX, 1, [Define to 1 if MMX assembly is available.])
1110 if test "x$enable_sse" = xyes; then
1111 GIMP_DETECT_CFLAGS(sse_flag, '-msse')
1112 SSE_EXTRA_CFLAGS="$MMX_EXTRA_CFLAGS $sse_flag"
1114 AC_MSG_CHECKING(whether we can compile SSE code)
1116 CFLAGS="$CFLAGS $sse_flag"
1118 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[asm ("movntps %xmm0, 0");]])],
1119 AC_DEFINE(USE_SSE, 1, [Define to 1 if SSE assembly is available.])
1124 AC_MSG_WARN([The assembler does not support the SSE command set.])
1131 AC_MSG_WARN([The assembler does not support the MMX command set.])
1134 CFLAGS="$mmx_save_CFLAGS"
1136 AC_SUBST(MMX_EXTRA_CFLAGS)
1137 AC_SUBST(SSE_EXTRA_CFLAGS)
1141 ############################
1142 # Check for AltiVec assembly
1143 ############################
1145 AC_ARG_ENABLE(altivec,
1146 [ --enable-altivec enable AltiVec support (default=auto)],,
1147 enable_altivec=$have_ppc)
1149 if test "x$enable_altivec" = xyes; then
1151 GIMP_DETECT_CFLAGS(altivec_flag, '-faltivec' '-maltivec -mabi=altivec')
1153 ALTIVEC_EXTRA_CFLAGS=
1154 case "$altivec_flag" in
1156 altivec_save_CPPFLAGS="$CPPFLAGS"
1157 CPPFLAGS="$altivec_save_CPPFLAGS $altivec_flag"
1158 AC_CHECK_HEADERS(altivec.h, [ALTIVEC_EXTRA_CFLAGS="$altivec_flag"])
1159 CPPFLAGS="$altivec_save_CPPFLAGS"
1162 ALTIVEC_EXTRA_CFLAGS="$altivec_flag"
1165 AC_SUBST(ALTIVEC_EXTRA_CFLAGS)
1167 AC_MSG_CHECKING(whether we can compile AltiVec code)
1170 if test -z "$ALTIVEC_EXTRA_CFLAGS"; then
1172 AC_MSG_WARN([The compiler does not support the AltiVec command set.])
1177 AC_DEFINE(HAVE_ALTIVEC_SYSCTL, 1,
1178 [Define to 1 if the altivec runtime test should use a sysctl.])
1181 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[asm ("vand %v0, %v0, %v0");]])],
1182 can_use_altivec=yes, can_use_altivec=no)
1185 AC_MSG_RESULT($can_use_altivec)
1187 if test "x$can_use_altivec" = "xyes"; then
1188 AC_DEFINE(USE_ALTIVEC, 1, [Define to 1 if AltiVec support is available.])
1191 AC_MSG_WARN([The assembler does not support the AltiVec command set.])
1195 enable_altivec="$can_use_altivec"
1199 ###################################
1200 # Checks for shared memory handling
1201 ###################################
1203 # MacOS X has broken SysV shm
1205 darwin* | rhapsody* | machten*)
1214 AC_ARG_WITH(shm, [ --with-shm=none|sysv|posix|auto shared memory transport type (default=auto)], shmtype=$with_shm)
1218 auto) shmtype=$shmdefault ;;
1219 *) AC_MSG_ERROR([Invalid shared memory transport type: use none, sysv, posix, or auto.]);;
1223 if test "x$platform_win32" = "xyes"; then
1225 elif test "x$shmtype" = "xsysv"; then
1226 AC_CHECK_HEADER(sys/ipc.h,
1227 [AC_DEFINE(HAVE_IPC_H, 1,
1228 [Define to 1 if you have the <sys/ipc.h> header file.])],
1230 AC_CHECK_HEADER(sys/shm.h,
1231 [AC_DEFINE(HAVE_SHM_H, 1,
1232 [Define to 1 if you have the <sys/shm.h> header file.])],
1235 if test "$ac_cv_header_sys_shm_h" = "yes"; then
1236 AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
1239 #include <sys/types.h>
1240 #include <sys/ipc.h>
1241 #include <sys/shm.h>
1246 id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600);
1249 shmaddr = shmat (id, 0, 0);
1250 shmctl (id, IPC_RMID, 0);
1251 if ((char*) shmat (id, 0, 0) == (char*) -1)
1261 [AC_DEFINE([IPC_RMID_DEFERRED_RELEASE],[1],
1262 [Define to 1 if shared memory segments are released deferred.])
1263 AC_MSG_RESULT(yes)],
1264 [AC_MSG_RESULT(no)],
1265 [AC_MSG_RESULT(assuming no)])
1267 AC_DEFINE(USE_SYSV_SHM, 1, [Define to 1 to use SYSV shared memory])
1271 elif test "x$shmtype" = "xposix"; then
1274 AC_CHECK_FUNC(shm_open, have_shm_open=yes)
1277 if test "$have_shm_open" != "yes"; then
1278 AC_CHECK_LIB(rt, shm_open, RT_LIBS="-lrt" have_shm_open=yes)
1282 AC_CHECK_HEADER(sys/mman.h,
1283 [AC_DEFINE(HAVE_MMAN_H, 1,
1284 [Define to 1 if you have the <sys/mman.h> header file.])],
1287 if test "$ac_cv_func_mmap" = "yes" &&
1288 test "$ac_cv_header_sys_mman_h" = "yes" &&
1289 test "$have_shm_open" = "yes"; then
1290 AC_DEFINE(USE_POSIX_SHM, 1, [Define to 1 to use POSIX shared memory])
1296 AC_MSG_CHECKING(for shared memory transport type)
1297 AC_MSG_RESULT($shmtype)
1300 ########################
1301 # Define a symbol prefix
1302 ########################
1304 AC_MSG_CHECKING([whether symbols are prefixed])
1309 x86_64) SYMPREFIX='' ;;
1313 darwin* | rhapsody* | machten*)
1320 if test -n "$SYMPREFIX"; then
1321 AC_MSG_RESULT([yes, with a $SYMPREFIX])
1329 ############################
1330 # Check for select and fdset
1331 ############################
1333 if test "x$os_win32" != xyes; then
1334 AC_MSG_CHECKING([fd_set and sys/select])
1337 [[#include <sys/types.h>]],
1338 [[fd_set readMask, writeMask;]])],
1341 if test "x$gimp_ok" = xno; then
1342 AC_EGREP_HEADER(fd_mask, sys/select.h, gimp_ok=yes)
1343 if test "x$gimp_ok" = xyes; then
1344 AC_DEFINE(HAVE_SYS_SELECT_H, 1,
1345 [Define to 1 if you have the <sys/select.h> header.])
1348 AC_MSG_RESULT($gimp_ok)
1349 if test "x$gimp_ok" = xno; then
1350 AC_DEFINE(NO_FD_SET, 1,
1351 [Define to 1 if you don't have the fd_set typedef.])
1356 #############################
1357 # Threads and multi processor
1358 #############################
1360 AC_ARG_ENABLE(mp, [ --disable-mp disable support for multiple processors])
1362 if test "x$enable_mp" != "xno"; then
1363 AC_DEFINE(ENABLE_MP, 1,
1364 [Define to 1 to enable support for multiple processors.])
1368 ################################
1369 # Some plug-ins are X11 specific
1370 ################################
1372 # Check if building for GTK+-X11
1373 GTK_CHECK_BACKEND([x11], [gtk_required_version],
1374 [have_gtk_x11=yes], [have_gtk_x11=no])
1376 have_libxmu="no (building for `pkg-config --variable=targets gtk+-3.0`)"
1378 if test "x$have_gtk_x11" = "xyes"; then
1380 # doc-shooter is X11 specific
1381 DOC_SHOOTER=doc-shooter
1383 # screenshot plug-in needs to link to X11 explicitly
1384 SCREENSHOT_LIBS="$X_LIBS -lX11"
1386 gimp_save_CFLAGS="$CFLAGS"
1387 gimp_save_LDFLAGS="$LDFLAGS"
1388 CFLAGS="$CFLAGS $GTK_CFLAGS"
1389 LDFLAGS="$LDFLAGS $X_LIBS"
1392 if test -z "$XMU_LIBS"; then
1393 AC_CHECK_LIB(Xmu, XmuClientWindow,
1394 [AC_CHECK_HEADERS(X11/Xmu/WinUtil.h,
1396 XMU_LIBS="$X_LIBS $X_PRE_LIBS -lX11 -lXmu -lXt"
1397 SCREENSHOT_LIBS="$XMU_LIBS",
1398 [have_libxmu="no (XMU header file not found)"],[#include <gdk/gdkx.h>])],
1399 [have_libxmu="no (XMU library not found)"], -lXt -lX11)
1402 # Check for shaped window extension
1403 AC_CHECK_LIB(Xext, XShapeGetRectangles,
1404 [AC_CHECK_HEADERS(X11/extensions/shape.h,
1405 SCREENSHOT_LIBS="$SCREENSHOT_LIBS -lXext",,[#include <gdk/gdkx.h>])],,
1408 CFLAGS="$gimp_save_CFLAGS"
1409 LDFLAGS="$gimp_save_LDFLAGS"
1411 # check for the XFixes extension
1412 PKG_CHECK_MODULES(XFIXES, xfixes,
1413 AC_DEFINE(HAVE_XFIXES, 1,
1414 [Define to 1 to if the XFIXES X extension is available])
1415 SCREENSHOT_LIBS="$SCREENSHOT_LIBS $XFIXES_LIBS",
1420 AC_SUBST(SCREENSHOT_LIBS)
1422 AC_SUBST(DOC_SHOOTER)
1425 GIMP_COMMAND='gimp-gimp_app_version'
1427 AC_SUBST(GIMP_COMMAND)
1434 # The list of MIME types that are supported by plug-ins that are compiled
1436 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"
1442 AC_MSG_CHECKING([whether we build a relocatable package])
1443 AC_ARG_ENABLE(relocatable-bundle,
1444 [ --enable-relocatable-bundle
1445 build with resources considered bundled under the same prefix
1447 enable_relocatable_bundle=auto)
1449 if test "x$enable_relocatable_bundle" != xno &&
1450 test "x$enable_relocatable_bundle" != xyes; then
1451 # By default, assume building for Windows or macOS everything to be on
1452 # the same prefix and can be relocated.
1453 # On other platforms, build-time paths are meaningful.
1454 if test "x$platform_osx" = "xyes" ||
1455 test "x$platform_win32" = "xyes"; then
1456 enable_relocatable_bundle=yes
1458 enable_relocatable_bundle=no
1461 if test "x$enable_relocatable_bundle" = xyes; then
1462 AC_DEFINE(ENABLE_RELOCATABLE_RESOURCES, 1,
1463 [Define to 1 if resources are considered bundled under the same prefix])
1466 AC_MSG_RESULT([$enable_relocatable_bundle])
1473 if test -z "$TIFF_LIBS"; then
1474 AC_CHECK_LIB(tiff, TIFFReadScanline,
1475 [AC_CHECK_HEADER(tiffio.h,
1476 FILE_TIFF_LOAD='file-tiff-load$(EXEEXT)'; FILE_TIFF_SAVE='file-tiff-save$(EXEEXT)'; TIFF_LIBS='-ltiff',
1477 [libtiff_error="TIFF header files not found"])],
1478 [AC_CHECK_LIB(tiff, TIFFWriteScanline,
1479 [AC_CHECK_HEADER(tiffio.h,
1480 FILE_TIFF_LOAD='file-tiff-load$(EXEEXT)'; FILE_TIFF_SAVE='file-tiff-save$(EXEEXT)'; TIFF_LIBS='-ltiff -ljpeg -lz',
1481 [libtiff_error="TIFF header files not found"])],
1482 [AC_CHECK_LIB(tiff34, TIFFFlushData,
1483 [AC_CHECK_HEADER(tiffio.h,
1484 FILE_TIFF_LOAD='file-tiff-load$(EXEEXT)'; FILE_TIFF_SAVE='file-tiff-save$(EXEEXT)'; TIFF_LIBS='-ltiff34 -ljpeg -lz',
1485 [libtiff_error="TIFF header files not found"])],
1486 [libtiff_error="TIFF library not found"], -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
1489 if test -z "$TIFF_LIBS"; then
1490 add_deps_error([libtiff], [Checks for TIFF library failed: $libtiff_error])
1493 MIME_TYPES="$MIME_TYPES;image/tiff"
1502 if test -z "$JPEG_LIBS"; then
1503 AC_CHECK_LIB(jpeg, jpeg_destroy_decompress, ,
1504 add_deps_error([libjpeg], [JPEG library not found]))
1505 AC_MSG_CHECKING([for jpeglib.h])
1509 #undef HAVE_STDDEF_H
1510 #undef HAVE_STDLIB_H
1513 #include <jpeglib.h>]])],
1514 AC_MSG_RESULT([yes]),
1515 add_deps_error([libjpeg], [JPEG header file not found]))
1516 AC_CHECK_LIB(jpeg, jpeg_save_markers,
1518 add_deps_error([libjpeg], [JPEG library is too old]))
1521 MIME_TYPES="$MIME_TYPES;image/jpeg"
1530 if test -z "$Z_LIBS"; then
1531 AC_CHECK_LIB(z, gzsetparams,
1532 [AC_CHECK_HEADER(zlib.h,
1534 add_deps_error([zlib], [ZLIB header files not found]))],
1535 add_deps_error([zlib], [ZLIB library not found]))
1538 MIME_TYPES="$MIME_TYPES;image/x-psp"
1543 ####################
1544 # Check for libbzip2
1545 ####################
1547 gimp_save_LIBS=$LIBS
1550 if test -z "$BZIP2_LIBS"; then
1551 # We used to use AC_CHECK_LIB, but bz2 uses the WINAPI calling convention on
1552 # windows, so the test needs to #include <bzlib.h> to be able to link properly
1553 AC_CHECK_HEADER(bzlib.h,
1554 [AC_MSG_CHECKING([for BZ2_bzCompress in -lbz2]);
1557 [[#include <bzlib.h>]],
1558 [[BZ2_bzCompress (NULL, 0);]])],
1559 [AC_MSG_RESULT([yes]); BZIP2_LIBS='-lbz2'],
1560 add_deps_error([libbzip2], [libbzip2 library not found]))],
1561 add_deps_error([libbzip2], [libbzip2 header files not found]))
1564 LIBS=$gimp_save_LIBS
1566 AC_SUBST(BZIP2_LIBS)
1573 PKG_CHECK_MODULES(LZMA, liblzma >= liblzma_required_version,,
1574 [add_deps_error([liblzma >= liblzma_required_version])])
1577 ##########################
1578 # Check for appstream-glib
1579 ##########################
1581 PKG_CHECK_MODULES(APPSTREAM_GLIB, appstream-glib >= appstream_glib_required_version,,
1582 [add_deps_error([appstream-glib >= appstream_glib_required_version])])
1585 ###############################
1586 # Check for Ghostscript library
1587 ###############################
1589 AC_ARG_WITH(gs, [ --without-gs build without Ghostscript support])
1592 if test "x$with_gs" != xno; then
1594 AC_CHECK_LIB(gs, gsapi_new_instance,
1595 [AC_CHECK_HEADER(ghostscript/iapi.h,
1596 FILE_PS='file-ps$(EXEEXT)'; GS_LIBS='-lgs',
1597 [have_gs="no (Ghostscript header files not found)"])],
1598 [have_gs="no (Ghostscript library not found)"])
1599 if test "x$have_gs" != xyes -a "x$with_gs" = xyes; then
1601 *** Checks for Ghostscript library failed. You can build without it by passing
1602 *** --without-gs to configure but you won't be able to use PostScript files then.])
1606 if test "x$have_gs" = xyes; then
1607 MIME_TYPES="$MIME_TYPES;application/postscript"
1611 AM_CONDITIONAL(HAVE_GS, test "x$have_gs" = xyes)
1619 PKG_CHECK_MODULES(PNG, libpng >= libpng_required_version,,
1620 [add_deps_error([libpng >= libpng_required_version])])
1622 MIME_TYPES="$MIME_TYPES;image/png;image/x-icon"
1623 PNG_CFLAGS="$PNG_CFLAGS -DPNG_PEDANTIC_WARNINGS"
1630 AC_ARG_WITH(libmng, [ --without-libmng build without MNG support])
1633 if test "x$with_libmng" != xno && test -z "$MNG_LIBS" &&
1634 test -n "$PNG_LIBS" && test -n "$JPEG_LIBS" && test -n "$Z_LIBS"; then
1635 AC_CHECK_LIB(mng, mng_create,
1636 [AC_CHECK_HEADER(libmng.h, mng_ok=yes)],
1637 [have_libmng="no (MNG library not found)"], -lz -lm)
1638 if test "$mng_ok" = yes; then
1640 FILE_MNG='file-mng$(EXEEXT)'; MNG_LIBS="-lmng $JPEG_LIBS $PNG_LIBS"; MNG_CFLAGS="$PNG_CFLAGS"
1641 if test "x$platform_win32" = "xyes"; then
1642 MNG_CFLAGS="$MNG_CFLAGS -DMNG_USE_DLL"
1645 have_libmng="no (MNG header file not found)"
1651 AC_SUBST(MNG_CFLAGS)
1658 AC_ARG_WITH(aa, [ --without-aa do not build the AA plug-in])
1661 if test "x$with_aa" != xno && test -z "$AA_LIBS"; then
1663 AC_CHECK_LIB(aa, aa_printf,
1664 [AC_CHECK_HEADER(aalib.h,
1665 FILE_AA='file-aa$(EXEEXT)'; AA_LIBS='-laa',
1666 [have_libaa="no (AA header file not found)"])],
1667 [have_libaa="no (AA library not found)"])
1678 AC_ARG_WITH(libxpm, [ --without-libxpm build without XPM support])
1680 gimp_save_CFLAGS="$CFLAGS"
1681 CFLAGS="$CFLAGS $X_CFLAGS"
1682 gimp_save_LDFLAGS="$LDFLAGS"
1683 LDFLAGS="$LDFLAGS $X_LIBS"
1684 if test "x$have_gtk_x11" = "xyes"; then
1688 if test "x$with_libxpm" != xno && test -z "$XPM_LIBS"; then
1690 AC_CHECK_LIB(Xpm, XpmReadFileToXpmImage,
1691 [AC_CHECK_HEADER(X11/xpm.h,
1692 FILE_XPM='file-xpm$(EXEEXT)'; XPM_LIBS="$X_LIBS $X_PRE_LIBS $lib_X11 -lXpm",
1693 [have_libxpm="no (XPM header file not found)"])],
1694 [have_libxpm="no (XPM library not found)"], $X_PRE_LIBS $lib_X11)
1696 CFLAGS="$gimp_save_CFLAGS"
1697 LDFLAGS="$gimp_save_LDFLAGS"
1699 if test "x$have_libxpm" = xyes; then
1700 MIME_TYPES="$MIME_TYPES;image/x-xpixmap"
1711 AC_ARG_WITH(openexr, [ --without-openexr build without OpenEXR support])
1714 if test "x$with_openexr" != xno; then
1716 PKG_CHECK_MODULES(OPENEXR, OpenEXR >= openexr_required_version,
1717 FILE_EXR='file-exr$(EXEEXT)',
1718 [have_openexr="no (OpenEXR not found)"])
1721 if test "x$have_openexr" = xyes; then
1722 MIME_TYPES="$MIME_TYPES;image/x-exr"
1725 AC_SUBST(OPENEXR_CFLAGS)
1726 AC_SUBST(OPENEXR_LIBS)
1729 AM_CONDITIONAL(HAVE_OPENEXR, test "x$have_openexr" = xyes)
1736 AC_ARG_WITH(webp, [ --without-webp build without WebP support])
1739 if test "x$with_webp" != xno; then
1741 PKG_CHECK_MODULES(WEBP, libwebp >= webp_required_version,
1743 PKG_CHECK_MODULES(WEBPMUX, libwebpmux >= webp_required_version,
1745 PKG_CHECK_MODULES(WEBPDEMUX, libwebpdemux >= webp_required_version,,
1746 [have_webp="no (WebP not built with libwebpdemux)"])
1748 [have_webp="no (WebP not built with libwebpmux)"])
1750 [have_webp="no (WebP not found)"])
1753 if test "x$have_webp" = xyes; then
1754 MIME_TYPES="$MIME_TYPES;image/x-webp"
1757 AM_CONDITIONAL(HAVE_WEBP, test "x$have_webp" = xyes)
1764 AC_ARG_WITH(libheif, [ --without-libheif build without libheif support])
1767 if test "x$with_libheif" != xno; then
1769 PKG_CHECK_MODULES(LIBHEIF, libheif >= libheif_required_version,
1770 FILE_HEIF='file-heif$(EXEEXT)',
1771 [have_libheif="no (libheif not found)"])
1774 if test "x$have_libheif" = xyes; then
1775 MIME_TYPES="$MIME_TYPES;image/heif;image/heic"
1779 AM_CONDITIONAL(HAVE_LIBHEIF, test "x$have_libheif" = xyes)
1782 ######################
1783 # Check for libmypaint
1784 ######################
1786 PKG_CHECK_MODULES(LIBMYPAINT, libmypaint >= libmypaint_required_version,,
1787 [add_deps_error([libmypaint >= libmypaint_required_version])])
1789 PKG_CHECK_MODULES(MYPAINT_BRUSHES, mypaint-brushes-1.0,,
1790 [add_deps_error([mypaint-brushes-1.0])])
1792 if test "x$enable_relocatable_bundle" != xno; then
1793 mypaint_brushes_dir='${gimp_installation_dir}/share/mypaint-data/1.0/brushes'
1795 mypaint_brushes_dir=`$PKG_CONFIG --variable=brushesdir mypaint-brushes-1.0`
1797 AC_SUBST(mypaint_brushes_dir)
1804 AC_ARG_WITH(webkit, [ --without-webkit don't build the help-browser and web-page plug-ins])
1807 if test "x$with_webkit" != xno; then
1808 PKG_CHECK_MODULES(WEBKIT, webkit2gtk-4.0 >= webkitgtk_required_version,
1809 WEB_PAGE='web-page$(EXEEXT)'
1811 have_webkit="no (WebKit not found)")
1813 have_webkit="no (WebKit support disabled)"
1817 if test "x$have_webkit" = "xyes"; then
1818 AC_DEFINE(HAVE_WEBKIT, 1, [Define to 1 if webkit is available])
1820 AM_CONDITIONAL(HAVE_WEBKIT, test "x$have_webkit" = xyes)
1827 PKG_CHECK_MODULES(SVG, librsvg-2.0 >= rsvg_required_version,,
1828 [add_deps_error([rsvg >= rsvg_required_version])])
1830 MIME_TYPES="$MIME_TYPES;image/svg+xml"
1832 AC_CHECK_PROGS(GTK_ENCODE_SYMBOLIC_SVG, gtk-encode-symbolic-svg, no)
1834 if test "x$GTK_ENCODE_SYMBOLIC_SVG" = xno; then
1835 add_deps_error([gtk-encode-symbolic-svg],
1836 [Could not find gtk-encode-symbolic-svg in your PATH.])
1839 ####################################
1840 # Allow to disable the print plug-in
1841 ####################################
1843 AC_ARG_WITH(print,[ --without-print build without print support])
1845 enable_print="no (disabled)"
1846 if test "x$with_print" != xno; then
1850 AM_CONDITIONAL(BUILD_PRINT, test "x$enable_print" = xyes)
1853 ######################
1854 # Check for libpoppler
1855 ######################
1857 # PDF import support is a granted feature.
1858 PKG_CHECK_MODULES(POPPLER, [poppler-glib >= poppler_required_version],,
1859 [add_deps_error([poppler-glib >= poppler_required_version])])
1860 # All modern distributions have at least this version and CJK/Cyrillic
1861 # support should not be considered as "second-zone citizen".
1862 PKG_CHECK_MODULES(POPPLER_DATA, [poppler-data >= poppler_data_required_version],,
1863 [add_deps_error([poppler-data >= poppler_data_required_version])])
1865 # MIME_TYPES is for the formats we can open as used for instance in the
1866 # desktop file. Even if cairo-pdf (used for PDF export) is not
1867 # installed, the mime-type list should contain application/pdf.
1868 MIME_TYPES="$MIME_TYPES;application/pdf"
1870 #####################
1871 # Check for cairo-pdf
1872 #####################
1874 AC_ARG_WITH(cairo_pdf,[ --without-cairo-pdf build without cairo-pdf support])
1876 if test "x$with_cairo_pdf" != xno; then
1878 PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf >= cairo_pdf_required_version,
1879 FILE_PDF_SAVE='file-pdf-save$(EXEEXT)',
1880 have_cairo_pdf="no (cairo-pdf not found)")
1882 have_cairo_pdf="no (cairo-pdf support disabled)"
1885 AC_SUBST(FILE_PDF_SAVE)
1892 AC_ARG_WITH(wmf, [ --without-wmf build without WMF support])
1895 if test "x$with_wmf" != xno; then
1896 AC_PATH_PROG(WMF_CONFIG, libwmf-config, no)
1897 if test "x$WMF_CONFIG" != "xno" ; then
1899 AC_MSG_CHECKING(for libwmf >= wmf_required_version)
1900 wmf_version=`$WMF_CONFIG --version`
1901 if expr $wmf_version \>= wmf_required_version >/dev/null; then
1902 AC_MSG_RESULT([yes (version $wmf_version)])
1903 FILE_WMF='file-wmf$(EXEEXT)'
1904 WMF_LIBS=`$WMF_CONFIG --libs`
1905 WMF_CFLAGS=`$WMF_CONFIG --cflags`
1907 have_libwmf="no (libwmf is too old)"
1910 have_libwmf="no (libwmf not found)"
1914 if test "x$have_libwmf" = xyes; then
1915 MIME_TYPES="$MIME_TYPES;image/x-wmf"
1920 AC_SUBST(WMF_CFLAGS)
1923 ####################
1924 # Check for OpenJPEG
1925 ####################
1927 AC_ARG_WITH(jpeg2000, [ --without-jpeg2000 build without JPEG 2000 support])
1930 if test "x$with_jpeg2000" != xno; then
1932 PKG_CHECK_MODULES(OPENJPEG, libopenjp2 >= openjpeg_required_version,
1933 FILE_JP2_LOAD='file-jp2-load$(EXEEXT)'
1935 have_openjpeg="no (OpenJPEG not found)")
1938 if test "x$have_openjpeg" = xyes; then
1939 MIME_TYPES="$MIME_TYPES;image/jp2"
1942 AM_CONDITIONAL(HAVE_OPENJPEG, test "x$have_openjpeg" = xyes)
1943 AC_SUBST(FILE_JP2_LOAD)
1950 PKG_CHECK_MODULES(LCMS, lcms2 >= lcms_required_version,,
1951 [add_deps_error([lcms2 >= lcms_required_version])])
1954 ######################
1955 # Check for libXcursor
1956 ######################
1958 AC_ARG_WITH(xmc,[ --without-xmc build without Xcursor support])
1961 if test "x$with_xmc" != xno; then
1963 PKG_CHECK_MODULES(XMC, xcursor,
1964 FILE_XMC='file-xmc$(EXEEXT)',
1965 have_xmc="no (libXcursor not found)")
1967 have_xmc="no (libXcursor support disabled)"
1970 if test "x$have_xmc" = xyes; then
1971 MIME_TYPES="$MIME_TYPES;image/x-xcursor"
1981 AC_ARG_WITH(alsa, [ --without-alsa disable alsa support in midi input controller])
1983 have_alsa="no (alsa support disabled)"
1984 if test "x$with_alsa" != xno; then
1986 AM_PATH_ALSA(alsa_required_version,
1987 AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if alsa is available]),
1988 have_alsa="no (libasound not found or unusable)")
1992 #######################
1993 # Check for Linux Input
1994 #######################
1996 AC_ARG_WITH(linux-input, [ --without-linux-input don't build linux input event controller module])
1998 have_linux_input="no (linux input support disabled)"
1999 if test "x$with_linux_input" != "xno"; then
2000 AC_CHECK_HEADER(linux/input.h,
2001 AC_CHECK_DECL(KEY_OK,
2002 have_linux_input=yes,
2003 have_linux_input="no (needs Linux 2.6)",
2004 [#include <linux/input.h>]))
2007 AM_CONDITIONAL(HAVE_LINUX_INPUT, test "x$have_linux_input" = xyes)
2010 ###############################
2011 # Check for DirectX DirectInput
2012 ###############################
2014 AC_ARG_WITH(directx-sdk, [ --with-directx-sdk=PFX prefix where the DirectX SDK is installed(optional)])
2017 if test "x$os_win32" = xyes; then
2018 case "$with_directx_sdk" in
2019 *" "*) AC_MSG_WARN([The DirectX SDK should be accessible through a path without spaces. Use MSYS mounts. Ignoring your --with-directx-sdk switch.])
2021 *\\*) AC_MSG_WARN([Use plain (forward) slashes only in your --with-directx-sdk switch. Ignoring your --with-directx-sdk switch.])
2025 dinput_save_CPPFLAGS="$CPPFLAGS"
2026 dinput_save_LDFLAGS="$LDFLAGS"
2027 if test "x$with_directx_sdk" != x; then
2028 CPPFLAGS="-I $with_directx_sdk/Include $CPPFLAGS"
2029 LDFLAGS="-L$with_directx_sdk/Lib/x86 $LDFLAGS"
2030 AC_CHECK_HEADER(dinput.h,
2031 [AC_CHECK_LIB(dxguid, GUID_XAxis, have_dx_dinput=yes)])
2034 if test "x$have_dx_dinput" = xyes; then
2035 AC_DEFINE(HAVE_DX_DINPUT, 1, [Define to 1 if you have DirectX DirectInput headers and libraries])
2037 CPPFLAGS="$dinput_save_CPPFLAGS"
2038 LDFLAGS="$dinput_save_LDFLAGS"
2042 AM_CONDITIONAL(HAVE_DX_DINPUT, test "x$have_dx_dinput" = xyes)
2045 ####################
2046 # Check for libgudev
2047 ####################
2049 AC_ARG_WITH(gudev, [ --without-gudev build without GUdev support])
2053 if test "x$with_gudev" = xno; then
2054 have_libgudev="no (disabled)"
2057 if test "x$have_linux_input" = xyes && test "x$with_gudev" != xno; then
2058 PKG_CHECK_MODULES(GUDEV, gudev-1.0 >= libgudev_required_version,
2060 have_libgudev="no (libgudev not found)")
2063 if test "x$have_libgudev" = xyes; then
2064 AC_DEFINE(HAVE_LIBGUDEV, 1, [Define to 1 if libgudev is available])
2068 ##########################
2069 # Check for Email Settings
2070 ##########################
2072 # The default behavior is that xdg-email is searched in the user PATH,
2073 # and email plugin is enabled if found.
2074 # Sendmail can be used instead of xdg-email, but must be explicitly
2075 # enabled with --with-sendmail.
2077 have_email="no (xdg-email not found)"
2079 AC_ARG_WITH(sendmail,[ --with-sendmail[=DIR] use sendmail instead of xdg-email])
2082 # Sendmail must be explicitly enabled to replace xdg-email implementation.
2083 if test "x$with_sendmail" != "x" && test "x$with_sendmail" != "xno"; then
2084 if test "x$with_sendmail" = "xyes"; then
2085 sendmail_path=$PATH:/usr/sbin:/usr/lib
2086 AC_DEFINE_UNQUOTED(SENDMAIL, "",
2087 [The MTA used by the mail plug-in.])
2089 sendmail_path=$with_sendmail
2090 AC_DEFINE_UNQUOTED(SENDMAIL, "$with_sendmail",
2091 [The MTA used by the mail plug-in.])
2094 AC_PATH_PROG(SENDMAIL, sendmail, , $sendmail_path)
2095 if test "x$SENDMAIL" != "x"; then
2096 have_email="yes (sendmail)"
2098 # Not having sendmail at runtime is not a blocker.
2099 have_email="needs runtime dependency: sendmail"
2104 if test "x$have_sendmail" = xno; then
2105 AC_PATH_PROG(XDG_EMAIL, xdg-email)
2106 if test "x$XDG_EMAIL" != "x"; then
2107 have_email="yes (xdg-email)"
2109 # Not having xdg-email at runtime is not a blocker.
2110 # But let's inform the builder that for the feature to be available,
2111 # xdg-email is a runtime dependency.
2112 have_email="needs runtime dependency: xdg-email"
2120 AC_PATH_PROGS(PERL,perl5 perl,perl)
2121 AX_PROG_PERL_VERSION([perl_required_version],,
2122 [add_deps_error([perl >= perl_required_version])])
2126 [ --with-pdbgen use 'pdbgen' code generation tool],,
2127 with_pdbgen=$USE_MAINTAINER_MODE)
2129 AM_CONDITIONAL(WITH_PDBGEN, test "x$with_pdbgen" = xyes)
2136 # Pygimp configure stuff ...
2137 AC_ARG_ENABLE(python,
2138 AS_HELP_STRING([--disable-python],
2139 [do not build the python extension]))
2141 m4_define([pycheck_error], [
2142 required_deps="$required_deps
2144 *** Please install $2, or skip building the python scripting extension by
2145 *** passing --disable-python to configure (but then you will not be able
2146 *** to use scripts for GIMP that are written in Python)."])
2148 if test "x$enable_python" != xno; then
2151 AM_PATH_PYTHON2(python2_required_version,,
2152 [pycheck_error([Python 2 (python2_required_version or newer)], [it])])
2153 AM_CHECK_PYTHON_HEADERS(, [pycheck_error([Python 2 headers], [them])])
2155 # Win32 needs all symbols resolved for linking, even for DLLs
2156 # Assume the link library is in $exec_prefix/libs
2157 # This might be able to be figured out from distutils, but it's
2158 # not documented so we won't rely on internal implementation
2160 if test "x$platform_win32" = "xyes"; then
2161 PYBIN_PATH="$py_exec_prefix\pythonw.exe"
2162 PYTHON_INCLUDES=`echo "$PYTHON_INCLUDES" | sed -e 's/\\\\/\\//g'`
2163 py_exec_prefix=`echo "$py_exec_prefix" | sed -e 's/\\\\/\\//g'`
2164 pylibversion=`echo $PYTHON_VERSION | sed -e 's/\\.//'`
2165 PYLINK_LIBS="-L${py_exec_prefix}/libs -lpython${pylibversion}"
2167 PYBIN_PATH="$PYTHON"
2169 AC_SUBST(PYLINK_LIBS)
2170 AC_SUBST(PYBIN_PATH)
2173 PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= pygtk_required_version,,
2174 [pycheck_error([PyGTK pygtk_required_version or newer], [it])])
2176 AC_PATH_PROG(PYGTK_CODEGEN, pygtk-codegen-2.0, no)
2177 if test "x$PYGTK_CODEGEN" = xno; then
2178 pycheck_error([pygtk-codegen-2.0 script], [it])
2181 AC_MSG_CHECKING(for pygtk defs)
2182 PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
2183 AC_SUBST(PYGTK_DEFSDIR)
2184 AC_MSG_RESULT($PYGTK_DEFSDIR)
2186 PKG_CHECK_MODULES(PYCAIRO, pycairo >= pycairo_required_version,,
2187 [pycheck_error([PyCairo pycairo_required_version or newer], [it])])
2189 GIMP_DETECT_CFLAGS(PYGIMP_EXTRA_CFLAGS, '-fno-strict-aliasing')
2190 AC_SUBST(PYGIMP_EXTRA_CFLAGS)
2192 AM_CONDITIONAL(BUILD_PYTHON, test "x$enable_python" != xno)
2195 ###########################################################
2196 # Some plug-ins don't build on Win32, others are Win32-only
2197 ###########################################################
2199 if test "x$os_win32" = xno; then
2200 MAIL='mail$(EXEEXT)'
2206 ###############################
2207 # Check for GTK Mac Integration
2208 ###############################
2210 gtk_mac_integration_ok=no
2211 if test "x$platform_osx" != xno &&
2212 (echo `pkg-config --variable=targets gtk+-3.0` | grep quartz); then
2214 PKG_CHECK_MODULES(GTK_MAC_INTEGRATION, gtk-mac-integration-gtk3 >= gtk_mac_integration_required_version,
2215 gtk_mac_integration_ok=yes,
2216 gtk_mac_integration_ok=no)
2218 if test "x$gtk_mac_integration_ok" != "xyes"; then
2219 PKG_CHECK_MODULES(GTK_MAC_INTEGRATION, gtk-mac-integration >= gtk_mac_integration_required_version,
2220 gtk_mac_integration_ok=yes,
2221 gtk_mac_integration_ok=no)
2225 AM_CONDITIONAL(PLATFORM_OSX_QUARTZ, test "x$gtk_mac_integration_ok" = xyes)
2228 ##########################################################
2229 # Determine where to install the desktop & mime info files
2230 ##########################################################
2232 AC_ARG_WITH(desktop-dir, [ --with-desktop-dir=PATH where to install desktop files (default=PREFIX/share)])
2234 if test "x$with_desktop_dir" != x; then
2235 DESKTOP_DATADIR=$with_desktop_dir
2237 DESKTOP_DATADIR="$datadir"
2240 AM_CONDITIONAL(DESKTOP_DATADIR, test "x$with_desktop_dir" != xno)
2241 AC_SUBST(DESKTOP_DATADIR)
2244 #####################
2245 # Check for XML tools
2246 #####################
2248 AC_PATH_PROG(XMLLINT, xmllint, no)
2249 AM_CONDITIONAL(HAVE_XMLLINT, test "x$XMLLINT" != "xno")
2251 AC_PATH_PROG(XSLTPROC, xsltproc, no)
2252 AM_CONDITIONAL(HAVE_XSLTPROC, test "x$XSLTPROC" != "xno")
2255 ########################
2256 # Check for vector icons
2257 ########################
2259 # If not cross-compiling, default build's link and compile flags to the
2261 if test "$cross_compiling" != "yes"; then
2262 if test "x$LDFLAGS_FOR_BUILD" = "x"; then
2263 LDFLAGS_FOR_BUILD="$LDFLAGS"
2265 if test "x$CFLAGS_FOR_BUILD" = "x"; then
2266 CFLAGS_FOR_BUILD="$CFLAGS"
2268 if test "x$CPPFLAGS_FOR_BUILD" = "x"; then
2269 CPPFLAGS_FOR_BUILD="$CPPFLAGS"
2273 AC_ARG_ENABLE(vector-icons, [ --disable-vector-icons use raster icons rather than vector ones (default=auto)], ,
2274 enable_vector_icons=auto)
2276 if test "x$enable_vector_icons" != "xno"; then
2277 if test "x$have_recommended_gtk" != "x"; then
2278 enable_vector_icons="no (gtk+-2-0 < gtk_win32_recommended_version)"
2280 have_shared_mime_info=""
2281 # shared-mime-info is needed to correctly detect SVG files (except on
2282 # Windows, apparently).
2283 PKG_CHECK_MODULES(MIME_INFO, [shared-mime-info],
2284 have_shared_mime_info="yes", have_shared_mime_info="no")
2285 if test "x$have_shared_mime_info" = "xyes" ||
2286 test "x$platform_win32" = "xyes"; then
2287 # Check if librsvg was built with --disable-pixbuf-loader.
2288 gdk_pixbuf_moduledir=`$PKG_CONFIG --variable=gdk_pixbuf_moduledir gdk-pixbuf-2.0`
2289 # AC_CHECK_FILE macro does not work when cross-compiling and exits with:
2290 # error: cannot check for file existence when cross compiling
2291 # So let's test files the shell way.
2292 if (test "x$platform_win32" = "xyes" &&
2293 test -f "$gdk_pixbuf_moduledir/libpixbufloader-svg.dll") ||
2294 test -f "$gdk_pixbuf_moduledir/libpixbufloader-svg.so"; then
2295 # We must not use $PKG_CONFIG nor PKG_CHECK_* macros because we need
2296 # to make sure we use the native pkg-config (in case we cross-compile).
2297 if pkg-config --atleast-version=glib_required_version glib-2.0 &&
2298 pkg-config gio-2.0; then
2299 NATIVE_GLIB_LIBS=`pkg-config --libs gio-2.0 glib-2.0`
2300 NATIVE_GLIB_CFLAGS=`pkg-config --cflags gio-2.0 glib-2.0`
2301 enable_vector_icons="yes"
2303 if test "x$platform_win32" = "xyes"; then
2304 warning_vector_icons_windows="
2305 WARNING: You enabled vector icons on Win32. Make sure to run:
2306 $ gdk-pixbuf-query-loaders.exe --update-cache
2307 on the target machine (this command generates loaders.cache)
2308 so that GdkPixbuf knows where to find the SVG loader."
2311 enable_vector_icons="no (missing native glib-2.0 > glib_required_version or gio-2.0)"
2314 enable_vector_icons="no (librsvg GdkPixbuf loader missing)"
2317 enable_vector_icons="no (missing shared-mime-info)"
2322 AC_SUBST(NATIVE_GLIB_LIBS)
2323 AC_SUBST(NATIVE_GLIB_CFLAGS)
2324 AM_CONDITIONAL(ENABLE_VECTOR_ICONS, test "x$enable_vector_icons" = "xyes")
2326 ####################
2327 # Check for xvfb-run
2328 ####################
2330 AC_ARG_WITH(xvfb-run, [ --without-xvfb-run do not use xvfb-run for UI-dependent automatic tests])
2332 have_xvfb_run="no (disabled)"
2333 if test "x$with_xvfb_run" != "xno"; then
2334 AC_PATH_PROG(XVFB_RUN, xvfb-run, no)
2335 if test "x$XVFB_RUN" != "xno"; then
2337 AC_DEFINE(HAVE_XVFB_RUN, 1, [Define to 1 if xvfb-run is available])
2339 have_xvfb_run="no (not found)"
2342 AM_CONDITIONAL(HAVE_XVFB_RUN, test "x$have_xvfb_run" = "xyes")
2344 ##########################
2345 # Check for appstream-util
2346 ##########################
2348 AC_ARG_WITH(appdata-test, [ --without-appdata-test do not validate the appdata file])
2350 have_appstream_util="no (disabled)"
2351 if test "x$with_appdata_test" != "xno"; then
2352 AC_PATH_PROG(APPSTREAM_UTIL, appstream-util, no)
2353 if test "x$APPSTREAM_UTIL" != "xno"; then
2354 have_appstream_util="yes"
2356 have_appstream_util="no (appstream-util not found)"
2359 AM_CONDITIONAL(HAVE_APPSTREAM_UTIL, test "x$have_appstream_util" = "xyes")
2360 if test "x$have_appstream_util" = "xyes"; then
2361 have_appstream_util="yes (this test requires network access; --without-appdata-test to disable)"
2365 #################################
2366 # Check for desktop-file-validate
2367 #################################
2369 AC_PATH_PROG(DESKTOP_FILE_VALIDATE, desktop-file-validate, no)
2370 if test "x$DESKTOP_FILE_VALIDATE" != "xno"; then
2371 have_desktop_file_validate="yes"
2373 have_desktop_file_validate="no (desktop-file-validate not found)"
2375 AM_CONDITIONAL(HAVE_DESKTOP_FILE_VALIDATE, test "x$DESKTOP_FILE_VALIDATE" != "xno")
2377 ####################
2378 # Set bug report URL
2379 ####################
2381 # Allowing third-party packagers to set their own bugtracker URL, in
2382 # order to filter first packaging bugs from core bugs.
2384 AC_ARG_WITH(bug-report-url,
2385 [ --with-bug-report-url URL used by the debug dialog to report bugs],,
2386 [with_bug_report_url="$PACKAGE_BUGREPORT"])
2388 if test "x$with_bug_report_url" = "x"; then
2389 with_bug_report_url="$PACKAGE_BUGREPORT"
2392 BUG_REPORT_URL="$with_bug_report_url"
2393 AC_DEFINE_UNQUOTED(BUG_REPORT_URL, "$with_bug_report_url",
2394 [The URL to open in order to report bugs])
2395 AC_SUBST(BUG_REPORT_URL)
2397 override_bug_report_url=
2398 if test "x$with_bug_report_url" = "x$PACKAGE_BUGREPORT"; then
2399 override_bug_report_url="
2400 NOTE: if you plan on packaging GIMP for distribution, it is recommended
2401 to override the bug report URL with option:
2402 --with-bug-report-url=https://example.com/
2403 so that you can filter packaging bugs from core bugs before
2408 #########################
2409 # Default ICC directory #
2410 #########################
2412 # This is necessary because some Unix systems may have a different
2413 # standard path for color profiles. And in particular, sandbox builds
2414 # might mount the host system at a different root. This is for
2415 # instance the case of flatpak which mount the host root at /run/host/.
2416 if test "x$platform_osx" = "xno" &&
2417 test "x$platform_win32" = "xno"; then
2418 AC_MSG_CHECKING([default directory for color profiles])
2419 AC_ARG_WITH(icc-directory,
2420 [ --with-icc-directory Path to default color profiles for this system],,
2421 [with_icc_directory="/usr/share/color/icc"])
2423 if test "x$with_icc_directory" = "x"; then
2424 with_icc_directory="/usr/share/color/icc"
2427 AC_DEFINE_UNQUOTED(COLOR_PROFILE_DIRECTORY,
2428 "$with_icc_directory",
2429 [The path to default color profiles for this system])
2432 ######################################
2433 # Checks for gtk-doc and docbook-tools
2434 ######################################
2436 # Check for GTK_DOC_CHECK availability. The GTK_DOC_CHECK invocation
2437 # must be on its own line, gtkdocize relies on it
2438 m4_ifdef([GTK_DOC_CHECK], [
2439 GTK_DOC_CHECK([1.0])
2442 # NOTE: We need to use a separate automake conditional for this
2443 # to make this work with the tarballs.
2444 AM_CONDITIONAL(ENABLE_GTK_DOC, test "x$enable_gtk_doc" = xyes)
2446 AC_ARG_ENABLE(gtk-doc-app, [ --enable-gtk-doc-app build developer documentation for app (default=no)], , enable_gtk_doc_app=no)
2447 AM_CONDITIONAL(ENABLE_GTK_DOC_APP, test "x$enable_gtk_doc_app" = xyes)
2450 #############################
2451 # Check for Windows installer
2452 #############################
2454 AC_MSG_CHECKING([if building the Windows installer])
2455 AC_ARG_ENABLE(windows-installer,
2456 [ --enable-windows-installer
2457 generate files needed for the Windows installer
2459 enable_windows_installer=no)
2461 if test "x$enable_windows_installer" != xno; then
2462 if test ! -e "$srcdir/build/windows/installer/lang/setup.isl.in"; then
2463 AC_MSG_RESULT([no (not building from git)])
2464 AC_MSG_ERROR([Building the Windows installer is only supported when building from git.])
2468 AC_MSG_RESULT([$enable_windows_installer])
2469 AM_CONDITIONAL(BUILD_WINDOWS_INSTALLER, test "x$enable_windows_installer" != xno)
2472 #########################################
2473 # Allow to configure the GIMP environment
2474 #########################################
2476 AC_ARG_ENABLE(default-binary, [ --enable-default-binary install this as the default gimp binary (default=gimp_stable)], , enable_default_binary=gimp_stable)
2478 AM_CONDITIONAL(DEFAULT_BINARY, test "x$enable_default_binary" = xyes)
2481 AC_ARG_ENABLE(gimp-console, [ --enable-gimp-console build a console-only binary which does not link GTK+], , enable_gimp_console=yes)
2483 AM_CONDITIONAL(ENABLE_GIMP_CONSOLE, test "x$enable_gimp_console" != xno)
2486 # Possibly change default gimpdir from $XDG_CONFIG_HOME/GIMP/gimp_user_version
2488 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],
2489 if eval "test x$with_gimpdir != x"; then
2490 if eval "test x$with_gimpdir != xyes"; then
2491 gimpdir=$with_gimpdir
2495 # Build the gimpdir to be used in manpages here, because the manpage
2496 # source is unreadable enough already
2499 manpage_gimpdir="$gimpdir"
2502 manpage_gimpdir="\\fB\$XDG_CONFIG_HOME\\fP/$gimpdir/gimp_user_version"
2506 gimpdatadir="$datadir/$PACKAGE/gimp_data_version"
2507 gimpplugindir="$libdir/$PACKAGE/gimp_plugin_version"
2508 gimpsysconfdir="$sysconfdir/$PACKAGE/gimp_sysconf_version"
2511 AC_SUBST(manpage_gimpdir)
2512 AC_SUBST(gimpdatadir)
2513 AC_SUBST(gimpplugindir)
2514 AC_SUBST(gimpsysconfdir)
2517 # GNU format message catalogs go into $datadir/locale,
2518 # standard location is $libdir/locale. DATADIRNAME set accordingly.
2520 gimplocaledir="$datadir/locale"
2521 if test "$DATADIRNAME" = "lib"; then
2522 gimplocaledir="$libdir/locale"
2525 AC_SUBST(gimplocaledir)
2528 ############################
2529 # Some defines for the build
2530 ############################
2532 AM_CONDITIONAL(STATICLIBS, test "x$enable_static" = xyes)
2534 # a tuned version of glib-mkenums
2535 GIMP_MKENUMS="\$(PERL) \$(top_srcdir)/tools/gimp-mkenums"
2536 AC_SUBST(GIMP_MKENUMS)
2538 #Add required trailing ; to list
2539 MIME_TYPES="$MIME_TYPES;"
2541 AC_SUBST(MIME_TYPES)
2544 #########################
2545 # Disable deprecated APIs
2546 #########################
2548 CPPFLAGS="${CPPFLAGS} -DGIMP_DISABLE_DEPRECATED -DBABL_DISABLE_DEPRECATED -DGSEAL_ENABLE"
2550 # Make sure not to disable deprecated APIs for unreleased versions.
2551 # We must build without problems with future releases of libraries
2552 # and disabling deprecated API risks breaking the build
2554 if test "x$have_glib_2_57" != "xyes"; then
2555 CPPFLAGS="${CPPFLAGS} -DG_DISABLE_DEPRECATED"
2558 if test "x$have_pango_1_43" != "xyes"; then
2559 CPPFLAGS="${CPPFLAGS} -DPANGO_DISABLE_DEPRECATED"
2567 # easy way to skip the plug-in build
2568 GIMP_PLUGINS=plug-ins
2569 GIMP_MODULES=modules
2570 AC_SUBST(GIMP_PLUGINS)
2571 AC_SUBST(GIMP_MODULES)
2573 AC_CONFIG_COMMANDS([libgimpbase/gimpversion.h], [
2574 outfile=gimpversion.h-tmp
2575 cat > $outfile <<\_______EOF
2578 * This is a generated file. Please modify 'configure.ac'
2581 #if !defined (__GIMP_BASE_H_INSIDE__) && !defined (GIMP_BASE_COMPILATION)
2582 #error "Only <libgimpbase/gimpbase.h> can be included directly."
2585 #ifndef __GIMP_VERSION_H__
2586 #define __GIMP_VERSION_H__
2592 * SECTION: gimpversion
2593 * @title: gimpversion
2594 * @short_description: Macros and constants useful for determining
2595 * GIMP's version number and capabilities.
2597 * Macros and constants useful for determining GIMP's version number and
2603 cat >>$outfile <<_______EOF
2605 * GIMP_MAJOR_VERSION:
2607 * The major GIMP version number.
2609 #define GIMP_MAJOR_VERSION ($gimp_major_ver)
2612 * GIMP_MINOR_VERSION:
2614 * The minor GIMP version number.
2616 #define GIMP_MINOR_VERSION ($gimp_minor_ver)
2619 * GIMP_MICRO_VERSION:
2621 * The micro GIMP version number.
2623 #define GIMP_MICRO_VERSION ($gimp_micro_ver)
2628 * The GIMP version as a string.
2630 #define GIMP_VERSION "$gimp_ver"
2637 #define GIMP_API_VERSION "$gimp_api_ver"
2641 cat >>$outfile <<\_______EOF
2642 #define GIMP_CHECK_VERSION(major, minor, micro) \
2643 (GIMP_MAJOR_VERSION > (major) || \
2644 (GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION > (minor)) || \
2645 (GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION == (minor) && \
2646 GIMP_MICRO_VERSION >= (micro)))
2651 #endif /* __GIMP_VERSION_H__ */
2654 if cmp -s $outfile libgimpbase/gimpversion.h; then
2655 AC_MSG_NOTICE([libgimpbase/gimpversion.h is unchanged])
2658 mv $outfile libgimpbase/gimpversion.h
2661 gimp_major_ver=gimp_major_version
2662 gimp_minor_ver=gimp_minor_version
2663 gimp_micro_ver=gimp_micro_version
2664 gimp_ver=gimp_version
2665 gimp_api_ver=gimp_api_version
2673 libgimpbase/Makefile
2674 libgimpconfig/Makefile
2675 libgimpcolor/Makefile
2676 libgimpmath/Makefile
2677 libgimpmodule/Makefile
2678 libgimpthumb/Makefile
2679 libgimpwidgets/Makefile
2681 app/actions/Makefile
2684 app/operations/Makefile
2685 app/operations/layer-modes/Makefile
2686 app/operations/layer-modes-legacy/Makefile
2687 app/operations/tests/Makefile
2689 app/dialogs/Makefile
2690 app/display/Makefile
2696 app/plug-in/Makefile
2697 app/propgui/Makefile
2700 app/vectors/Makefile
2701 app/widgets/Makefile
2704 app/tests/files/Makefile
2705 app/tests/gimpdir-empty/Makefile
2706 app/tests/gimpdir-empty/brushes/Makefile
2707 app/tests/gimpdir-empty/gradients/Makefile
2708 app/tests/gimpdir-empty/patterns/Makefile
2709 app/tests/gimpdir/Makefile
2710 app/tests/gimpdir/brushes/Makefile
2711 app/tests/gimpdir/gradients/Makefile
2712 app/tests/gimpdir/patterns/Makefile
2715 build/windows/Makefile
2716 build/windows/gimp.rc
2717 build/windows/gimp-plug-ins.rc
2718 build/windows/installer/Makefile
2719 build/windows/installer/lang/Makefile
2721 plug-ins/file-bmp/Makefile
2722 plug-ins/file-exr/Makefile
2723 plug-ins/file-faxg3/Makefile
2724 plug-ins/file-fits/Makefile
2725 plug-ins/file-fli/Makefile
2726 plug-ins/file-ico/Makefile
2727 plug-ins/file-jpeg/Makefile
2728 plug-ins/file-psd/Makefile
2729 plug-ins/file-raw/Makefile
2730 plug-ins/file-sgi/Makefile
2731 plug-ins/file-tiff/Makefile
2732 plug-ins/file-webp/Makefile
2733 plug-ins/flame/Makefile
2734 plug-ins/fractal-explorer/Makefile
2735 plug-ins/fractal-explorer/examples/Makefile
2736 plug-ins/gfig/Makefile
2737 plug-ins/gfig/gfig-examples/Makefile
2738 plug-ins/gfig/images/Makefile
2739 plug-ins/ui/Makefile
2740 plug-ins/gimpressionist/Brushes/Makefile
2741 plug-ins/gimpressionist/Makefile
2742 plug-ins/gimpressionist/Paper/Makefile
2743 plug-ins/gimpressionist/Presets/Makefile
2744 plug-ins/gradient-flare/Makefile
2745 plug-ins/gradient-flare/flares/Makefile
2746 plug-ins/help-browser/Makefile
2747 plug-ins/help/Makefile
2748 plug-ins/ifs-compose/Makefile
2749 plug-ins/imagemap/Makefile
2750 plug-ins/imagemap/images/Makefile
2751 plug-ins/lighting/Makefile
2752 plug-ins/lighting/images/Makefile
2753 plug-ins/map-object/Makefile
2754 plug-ins/metadata/Makefile
2755 plug-ins/pagecurl/Makefile
2756 plug-ins/print/Makefile
2758 dnl plug-ins/pygimp/Makefile
2759 dnl plug-ins/pygimp/plug-ins/Makefile
2761 plug-ins/screenshot/Makefile
2762 plug-ins/script-fu/Makefile
2763 plug-ins/script-fu/ftx/Makefile
2764 plug-ins/script-fu/scripts/Makefile
2765 plug-ins/script-fu/scripts/images/Makefile
2766 plug-ins/script-fu/tinyscheme/Makefile
2767 plug-ins/selection-to-path/Makefile
2768 plug-ins/twain/Makefile
2769 plug-ins/common/Makefile
2772 dnl devel-docs/Makefile
2773 dnl devel-docs/app/Makefile
2774 dnl devel-docs/app/version
2775 dnl devel-docs/libgimp/Makefile
2776 dnl devel-docs/libgimp/version
2777 dnl devel-docs/libgimpbase/Makefile
2778 dnl devel-docs/libgimpbase/version
2779 dnl devel-docs/libgimpconfig/Makefile
2780 dnl devel-docs/libgimpconfig/version
2781 dnl devel-docs/libgimpcolor/Makefile
2782 dnl devel-docs/libgimpcolor/version
2783 dnl devel-docs/libgimpmath/Makefile
2784 dnl devel-docs/libgimpmath/version
2785 dnl devel-docs/libgimpmodule/Makefile
2786 dnl devel-docs/libgimpmodule/version
2787 dnl devel-docs/libgimpthumb/Makefile
2788 dnl devel-docs/libgimpthumb/version
2789 dnl devel-docs/libgimpwidgets/Makefile
2790 dnl devel-docs/libgimpwidgets/version
2791 dnl devel-docs/tools/Makefile
2797 icons/Color/Makefile
2798 icons/Legacy/Makefile
2799 icons/Symbolic/Makefile
2801 themes/System/Makefile
2803 data/brushes/Makefile
2804 data/brushes/Basic/Makefile
2805 data/brushes/Fun/Makefile
2806 data/brushes/Media/Makefile
2807 data/brushes/Legacy/Makefile
2808 data/brushes/Sketch/Makefile
2809 data/brushes/Splatters/Makefile
2810 data/brushes/Texture/Makefile
2811 data/dynamics/Makefile
2812 data/dynamics/Basic/Makefile
2813 data/dynamics/FX/Makefile
2814 data/environ/Makefile
2815 data/gradients/Makefile
2816 data/images/Makefile
2817 data/interpreters/Makefile
2818 data/palettes/Makefile
2819 data/patterns/Makefile
2820 data/patterns/Animal/Makefile
2821 data/patterns/Fabric/Makefile
2822 data/patterns/Food/Makefile
2823 data/patterns/Legacy/Makefile
2824 data/patterns/Paper/Makefile
2825 data/patterns/Plant/Makefile
2826 data/patterns/Sky/Makefile
2827 data/patterns/Stone/Makefile
2828 data/patterns/Water/Makefile
2829 data/patterns/Wood/Makefile
2832 data/tool-presets/Makefile
2833 data/tool-presets/Crop/Makefile
2834 data/tool-presets/FX/Makefile
2835 data/tool-presets/Paint/Makefile
2836 data/tool-presets/Selection/Makefile
2837 data/tool-presets/Sketch/Makefile
2839 desktop/gimp-data-extras.metainfo.xml.in
2840 desktop/gimp.desktop.in
2841 desktop/org.gimp.GIMP.appdata.xml.in
2846 po-libgimp/Makefile.in
2847 po-plug-ins/Makefile.in
2849 dnl po-python/Makefile.in
2851 po-script-fu/Makefile.in
2853 po-windows-installer/Makefile.in
2858 # Files with versions in their names
2860 docs/gimp-gimp_app_version.1:docs/gimp.1.in
2861 docs/gimprc-gimp_app_version.5:docs/gimprc.5.in
2862 docs/gimptool-gimp_tool_version.1:docs/gimptool.1.in
2863 gimp-gimp_pkgconfig_version.pc:gimp.pc.in
2864 gimpthumb-gimp_pkgconfig_version.pc:gimpthumb.pc.in
2865 gimpui-gimp_pkgconfig_version.pc:gimpui.pc.in
2868 # By default, autoconf will create only po/Makefile.
2869 # This code is used to create the POTFILES and Makefile for all
2870 # additional gettext catalogs.
2871 m4_define([generate_po_makefile], [
2872 AC_MSG_NOTICE([Generating POTFILES and Makefile for $1])
2874 AC_CONFIG_COMMANDS([$1/stamp-it],
2876 if ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ; then
2877 as_fn_error $? "$1/Makefile.in.in was not created by intltoolize." "$LINENO" 5
2879 rm -f "$1/stamp-it" "$1/POTFILES"
2880 sed -e '/^#/d' -e 's/^[[].*] *//' \
2882 -e "s|^| $ac_top_srcdir/|" \
2883 "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" && \
2884 sed -e "/^# This comment gets stripped out/ {" \
2885 -e 'r $1/POTFILES' \
2887 "$1/Makefile.in" >"$1/Makefile" && \
2892 generate_po_makefile([po-libgimp])
2893 #generate_po_makefile([po-python])
2894 generate_po_makefile([po-plug-ins])
2895 generate_po_makefile([po-script-fu])
2896 generate_po_makefile([po-tips])
2897 generate_po_makefile([po-windows-installer])
2899 # Print a summary of features enabled/disabled:
2902 gimp-console: $enable_gimp_console
2905 Language selection: $have_iso_codes
2906 Vector icons: $enable_vector_icons
2907 Dr. Mingw (Win32): $enable_drmingw
2908 Relocatable bundle: $enable_relocatable_bundle
2909 Default ICC directory: $with_icc_directory
2910 Debug console (Win32): $enable_win32_debug_console
2911 32-bit DLL folder (Win32): $with_win32_32bit_dll_folder
2914 Ascii Art: $have_libaa
2915 Ghostscript: $have_gs
2916 Help Browser: $have_webkit
2917 JPEG 2000: $have_openjpeg
2919 OpenEXR: $have_openexr
2922 PDF (export): $have_cairo_pdf
2923 Print: $enable_print
2924 Python 2: $enable_python
2925 TWAIN (Win32): $os_win32
2926 Webpage: $have_webkit
2928 X11 Mouse Cursor: $have_xmc
2933 ALSA (MIDI Input): $have_alsa
2934 Linux Input: $have_linux_input (GUdev support: $have_libgudev)
2935 DirectInput (Win32): $have_dx_dinput
2938 Use xvfb-run $have_xvfb_run
2939 Test appdata $have_appstream_util
2940 Test desktop file $have_desktop_file_validate
2942 Bug report URL: $with_bug_report_url
2943 $override_bug_report_url$have_recommended_gtk$warning_vector_icons_windows$warning_glib_networking$warning_gcc"
2945 if test "x$required_deps" = "x"; then
2948 Building GIMP with prefix=$prefix, datarootdir=$datarootdir
2949 Desktop files install into $DESKTOP_DATADIR
2955 Error: GIMP configuration failed.
2958 See the file 'INSTALL' for more help.]);