configure.ac 98 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
# 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])
13
m4_define([gimp_minor_version], [99])
14
m4_define([gimp_micro_version], [7])
15 16 17
m4_define([gimp_real_version],
          [gimp_major_version.gimp_minor_version.gimp_micro_version])
m4_define([gimp_version], [gimp_real_version])
18
m4_define([gimp_interface_age], [7])
19 20 21 22
m4_define([gimp_binary_age],
          [m4_eval(100 * gimp_minor_version + gimp_micro_version)])

# For overriding the version string. Comment out if not needed.
23
# m4_define([gimp_version], [2.99.1])
24 25

# This is the X.Y used in -lgimp-X.Y
26 27 28 29
m4_define([gimp_api_major_version], [3])
m4_define([gimp_api_minor_version], [0])
m4_define([gimp_api_version],
          [gimp_api_major_version.gimp_api_minor_version])
30 31 32

# Versions used for apps, plugins, tools, pkg-config files, and data,
# as well as global and user prefs
33 34 35 36 37 38 39
m4_define([gimp_app_version], [2.99])
m4_define([gimp_plugin_version], [2.99])
m4_define([gimp_tool_version], [2.99])
m4_define([gimp_pkgconfig_version], [3.0])
m4_define([gimp_data_version], [2.99])
m4_define([gimp_sysconf_version], [2.99])
m4_define([gimp_user_version], [2.99])
40 41 42 43 44 45 46 47 48

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_full_name], [GNU Image Manipulation Program])

# required versions of other packages
49 50 51
m4_define([alsa_required_version], [1.0.0])
m4_define([appstream_glib_required_version], [0.7.7])
m4_define([atk_required_version], [2.4.0])
Niels De Graef's avatar
Niels De Graef committed
52
m4_define([babl_major_minor_version], [0.1])
53
m4_define([babl_micro_version], [78])
Niels De Graef's avatar
Niels De Graef committed
54 55
m4_define([babl_required_version],
          [babl_major_minor_version.babl_micro_version])
56
m4_define([babl_required_version], [0.1.74])
57 58 59 60 61
m4_define([cairo_required_version], [1.14.0])
m4_define([cairo_pdf_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])
62
m4_define([gegl_major_minor_version], [0.4])
63
m4_define([gegl_micro_version], [30])
64 65
m4_define([gegl_required_version],
          [gegl_major_minor_version.gegl_micro_version])
66
m4_define([gexiv2_required_version], [0.10.6])
67
m4_define([glib_required_version], [2.56.2])
68
m4_define([gtk_mac_integration_required_version], [2.0.0])
69
m4_define([gtk_required_version], [3.22.29])
70
m4_define([gtkdoc_required_version], [1.0])
71
m4_define([harfbuzz_required_version], [1.0.5])
72
m4_define([intltool_required_version], [0.40.1])
73
m4_define([introspection_required_version], [1.32.0])
74
m4_define([json_glib_required_version], [1.2.6])
75
m4_define([lcms_required_version], [2.8])
76
m4_define([libgudev_required_version], [167])
77
m4_define([libheif_required_version], [1.3.2])
78
m4_define([liblzma_required_version], [5.0.0])
79
m4_define([libmypaint_required_version], [1.3.0])
80
m4_define([libpng_required_version], [1.6.25])
81
m4_define([libunwind_required_version], [1.1.0])
82
m4_define([openexr_required_version], [1.6.1])
83
m4_define([openjpeg_required_version], [2.1.0])
84
m4_define([pangocairo_required_version], [1.44.0])
Ell's avatar
Ell committed
85
m4_define([perl_required_version], [5.10.0])
86 87
m4_define([poppler_required_version], [0.69.0])
m4_define([poppler_data_required_version], [0.4.9])
88
m4_define([python3_required_version], [3.6.0])
89
m4_define([rsvg_required_version], [2.40.6])
Niels De Graef's avatar
Niels De Graef committed
90
m4_define([vala_required_version], [0.40.0])
91
m4_define([webkitgtk_required_version], [2.20.3])
92
m4_define([webp_required_version], [0.6.0])
93
m4_define([wmf_required_version], [0.2.8])
94

95 96
# Current test considers only 2 version numbers. If we update the recommended
# version of gettext with more version numbers, please update the tests.
97
m4_define([xgettext_required_version], [0.19])
98

99
AC_INIT([GIMP], [gimp_version],
100
        [https://gitlab.gnome.org/GNOME/gimp/issues/new],
101 102
        [gimp])

103
AC_CONFIG_HEADERS([config.h])
104
AC_CONFIG_SRCDIR([app/core/gimp.c])
105
AC_CONFIG_MACRO_DIR([m4macros])
106

107
AM_INIT_AUTOMAKE(no-define dist-bzip2 dist-xz no-dist-gzip -Wno-portability)
Elliot Lee's avatar
Elliot Lee committed
108

109 110 111 112 113
# 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])])

114 115 116 117 118 119 120
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
121 122
GIMP_API_MAJOR_VERSION=gimp_api_major_version
GIMP_API_MINOR_VERSION=gimp_api_minor_version
123 124 125 126 127 128 129 130
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
131 132
GIMP_UNSTABLE=gimp_unstable
GIMP_FULL_NAME="gimp_full_name"
133 134 135
AC_SUBST(GIMP_MAJOR_VERSION)
AC_SUBST(GIMP_MINOR_VERSION)
AC_SUBST(GIMP_MICRO_VERSION)
136 137
AC_SUBST(GIMP_INTERFACE_AGE)
AC_SUBST(GIMP_BINARY_AGE)
138
AC_SUBST(GIMP_VERSION)
139
AC_SUBST(GIMP_REAL_VERSION)
140 141
AC_SUBST(GIMP_API_MAJOR_VERSION)
AC_SUBST(GIMP_API_MINOR_VERSION)
142 143 144 145 146 147 148 149
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)
150 151
AC_SUBST(GIMP_UNSTABLE)
AC_SUBST(GIMP_FULL_NAME)
152

153 154 155 156 157 158
# 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])
159

160
# These are used for substitution (.pc, INSTALL, etc.).
161
APPSTREAM_GLIB_REQUIRED_VERSION=appstream_glib_required_version
162
ATK_REQUIRED_VERSION=atk_required_version
Niels De Graef's avatar
Niels De Graef committed
163
BABL_MAJOR_MINOR_VERSION=babl_major_minor_version
164
BABL_REQUIRED_VERSION=babl_required_version
165
CAIRO_REQUIRED_VERSION=cairo_required_version
166
CAIRO_PDF_REQUIRED_VERSION=cairo_pdf_required_version
167 168 169
FONTCONFIG_REQUIRED_VERSION=fontconfig_required_version
FREETYPE2_REQUIRED_VERSION=freetype2_required_version
GDK_PIXBUF_REQUIRED_VERSION=gdk_pixbuf_required_version
170
GEGL_MAJOR_MINOR_VERSION=gegl_major_minor_version
Michael Natterer's avatar
Michael Natterer committed
171
GEGL_REQUIRED_VERSION=gegl_required_version
172
GEXIV2_REQUIRED_VERSION=gexiv2_required_version
173 174 175 176
GLIB_REQUIRED_VERSION=glib_required_version
GTK_REQUIRED_VERSION=gtk_required_version
HARFBUZZ_REQUIRED_VERSION=harfbuzz_required_version
INTLTOOL_REQUIRED_VERSION=intltool_required_version
177
LCMS_REQUIRED_VERSION=lcms_required_version
178
LIBHEIF_REQUIRED_VERSION=libheif_required_version
179
LIBLZMA_REQUIRED_VERSION=liblzma_required_version
Jehan's avatar
Jehan committed
180
LIBMYPAINT_REQUIRED_VERSION=libmypaint_required_version
181
LIBPNG_REQUIRED_VERSION=libpng_required_version
182
OPENEXR_REQUIRED_VERSION=openexr_required_version
183
OPENJPEG_REQUIRED_VERSION=openjpeg_required_version
184
PANGOCAIRO_REQUIRED_VERSION=pangocairo_required_version
Ell's avatar
Ell committed
185
PERL_REQUIRED_VERSION=perl_required_version
186 187
POPPLER_REQUIRED_VERSION=poppler_required_version
POPPLER_DATA_REQUIRED_VERSION=poppler_data_required_version
188
PYTHON3_REQUIRED_VERSION=python3_required_version
189
RSVG_REQUIRED_VERSION=rsvg_required_version
Niels De Graef's avatar
Niels De Graef committed
190
VALA_REQUIRED_VERSION=vala_required_version
191
WEBKITGTK_REQUIRED_VERSION=webkitgtk_required_version
192
WEBP_REQUIRED_VERSION=webp_required_version
193
WMF_REQUIRED_VERSION=wmf_required_version
Ell's avatar
Ell committed
194
LIBUNWIND_REQUIRED_VERSION=libunwind_required_version
195
XGETTEXT_REQUIRED_VERSION=xgettext_required_version
196
AC_SUBST(APPSTREAM_GLIB_REQUIRED_VERSION)
197
AC_SUBST(ATK_REQUIRED_VERSION)
Niels De Graef's avatar
Niels De Graef committed
198
AC_SUBST(BABL_MAJOR_MINOR_VERSION)
199
AC_SUBST(BABL_REQUIRED_VERSION)
200
AC_SUBST(CAIRO_REQUIRED_VERSION)
201
AC_SUBST(CAIRO_PDF_REQUIRED_VERSION)
202 203 204
AC_SUBST(FONTCONFIG_REQUIRED_VERSION)
AC_SUBST(FREETYPE2_REQUIRED_VERSION)
AC_SUBST(GDK_PIXBUF_REQUIRED_VERSION)
205
AC_SUBST(GEGL_MAJOR_MINOR_VERSION)
Michael Natterer's avatar
Michael Natterer committed
206
AC_SUBST(GEGL_REQUIRED_VERSION)
207
AC_SUBST(GEXIV2_REQUIRED_VERSION)
208 209 210 211
AC_SUBST(GLIB_REQUIRED_VERSION)
AC_SUBST(GTK_REQUIRED_VERSION)
AC_SUBST(HARFBUZZ_REQUIRED_VERSION)
AC_SUBST(INTLTOOL_REQUIRED_VERSION)
212
AC_SUBST(LCMS_REQUIRED_VERSION)
213
AC_SUBST(LIBHEIF_REQUIRED_VERSION)
214
AC_SUBST(LIBLZMA_REQUIRED_VERSION)
Jehan's avatar
Jehan committed
215
AC_SUBST(LIBMYPAINT_REQUIRED_VERSION)
216
AC_SUBST(LIBPNG_REQUIRED_VERSION)
217
AC_SUBST(OPENEXR_REQUIRED_VERSION)
218
AC_SUBST(OPENJPEG_REQUIRED_VERSION)
219
AC_SUBST(PANGOCAIRO_REQUIRED_VERSION)
Ell's avatar
Ell committed
220
AC_SUBST(PERL_REQUIRED_VERSION)
221 222
AC_SUBST(POPPLER_REQUIRED_VERSION)
AC_SUBST(POPPLER_DATA_REQUIRED_VERSION)
223
AC_SUBST(PYTHON3_REQUIRED_VERSION)
224
AC_SUBST(RSVG_REQUIRED_VERSION)
Niels De Graef's avatar
Niels De Graef committed
225
AC_SUBST(VALA_REQUIRED_VERSION)
226
AC_SUBST(WEBKITGTK_REQUIRED_VERSION)
227
AC_SUBST(WEBP_REQUIRED_VERSION)
228
AC_SUBST(WMF_REQUIRED_VERSION)
Ell's avatar
Ell committed
229
AC_SUBST(LIBUNWIND_REQUIRED_VERSION)
230
AC_SUBST(XGETTEXT_REQUIRED_VERSION)
231 232 233 234

# The symbol GIMP_UNSTABLE is defined above for substitution in
# Makefiles and conditionally defined here as a preprocessor symbol
# and automake conditional.
235
if test "x$GIMP_UNSTABLE" = "xyes"; then
236
  AC_DEFINE(GIMP_UNSTABLE, 1,
237
            [Define to 1 if this is an unstable version of GIMP])
238
fi
239 240
AM_CONDITIONAL(GIMP_UNSTABLE, test "x$GIMP_UNSTABLE" = "xyes")

241 242

# libtool versioning
243
m4_define([lt_current], [m4_eval(100 * gimp_minor_version + gimp_micro_version - gimp_interface_age)])
244 245 246 247 248
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)
249 250
AC_SUBST(LT_CURRENT_MINUS_AGE)

251

Sven Neumann's avatar
Sven Neumann committed
252
# gettext i18n support
253
GETTEXT_PACKAGE=gimp30
254 255 256
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
                   [The prefix for our gettext translation domains.])
257

258 259 260 261 262
# work around intltool-update issues during 'make distcheck'
AS_IF([test "x$0" != "x./configure"], [
        AC_SUBST([INTLTOOL_UPDATE], [/bin/true])
])

263 264
# Determine a C compiler to use
AC_PROG_CC
265
AX_PROG_CC_FOR_BUILD
266 267 268 269 270
# 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
271
AM_PROG_CC_C_O
Manish Singh's avatar
Manish Singh committed
272

273 274
# Determine a C++ compiler to use
AC_PROG_CXX
Ell's avatar
Ell committed
275
AX_CXX_COMPILE_STDCXX([14], , [mandatory])
276

277
# Initialize libtool
278 279
LT_PREREQ([2.2])
LT_INIT([disable-static win32-dll])
Elliot Lee's avatar
Elliot Lee committed
280

281
AM_PROG_AS
Elliot Lee's avatar
Elliot Lee committed
282

283
# Initialize maintainer mode
284
AM_MAINTAINER_MODE([enable])
285

286 287 288 289
# Check for pkg-config
PKG_PROG_PKG_CONFIG(0.16)


290 291 292 293 294 295 296 297
#########################
# Check host architecture
#########################

AC_CANONICAL_HOST

AC_MSG_CHECKING([for host type])
AC_MSG_RESULT([$host])
298

299 300 301
AC_MSG_CHECKING([for host processor])
case "$host_cpu" in
  i*86)
302 303
    have_x86=yes
    AC_DEFINE(ARCH_X86, 1, [Define to 1 if you are compiling for ix86.])
304
    AC_MSG_RESULT([x86])
305
    ;;
306
  x86_64)
Manish Singh's avatar
Manish Singh committed
307 308 309
    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.])
310
    AC_MSG_RESULT([x86-64])
Manish Singh's avatar
Manish Singh committed
311
    ;;
312
  ppc | powerpc)
313 314
    have_ppc=yes
    AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
315
    AC_MSG_RESULT([PowerPC])
316
    ;;
317
  ppc64 | powerpc64)
Manish Singh's avatar
Manish Singh committed
318 319 320
    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.])
321
    AC_MSG_RESULT([64-bit PowerPC])
Manish Singh's avatar
Manish Singh committed
322
    ;;
323
  *)
324
    AC_MSG_RESULT([unknown])
325 326 327 328
    ;;
esac


Ell's avatar
Ell committed
329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345
#################
# 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")


346 347 348
#################
# Check for Win32
#################
349

350 351
AC_MSG_CHECKING([if compiling for Win32])
case "$host_os" in
Marco Spiess's avatar
Marco Spiess committed
352
  msys* | mingw* | cygwin*)
353 354 355 356 357 358 359 360 361
    platform_win32=yes
    ;;
  *)
    platform_win32=no
    ;;
esac
AC_MSG_RESULT([$platform_win32])
AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")

362 363 364 365 366
PATHSEP=':'
os_win32=no
if test "x$platform_win32" != xno; then
  AC_MSG_CHECKING([if this is native Win32])
  case "$host_os" in
Marco Spiess's avatar
Marco Spiess committed
367
    msys* | mingw*)
368 369 370 371 372 373 374 375 376 377 378 379 380 381 382
      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
383
AC_SUBST(WIN32_LARGE_ADDRESS_AWARE)
384 385
AC_SUBST(PATHSEP)
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
386
AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
387 388 389

if test "$os_win32" = "yes"; then
  AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
Manish Singh's avatar
Manish Singh committed
390
  AC_CHECK_TOOL(WINDRES, windres, :)
391 392
else
  WINDRES=":"
393
fi
Manish Singh's avatar
Manish Singh committed
394

395
AM_CONDITIONAL(MS_LIB_AVAILABLE, test "x$ms_librarian" = xyes)
396
AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
Manish Singh's avatar
Manish Singh committed
397 398

AC_SUBST(WINDRES)
399

400

401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419
####################
# 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)


420 421 422 423
###############
# Generic stuff
###############

424
# Checks for programs.
425 426
AC_PROG_INSTALL
AC_PROG_MAKE_SET
427
AC_PROG_LN_S
428

429
# Large file support for the swap file
430
AC_SYS_LARGEFILE
431

432
AC_MSG_CHECKING([whether to turn on debugging])
433
AC_ARG_ENABLE(debug,
434
              [  --enable-debug          turn on debugging (default=no)],
435 436 437
              if eval "test x$enable_debug = xyes"; then
                DEBUGFLAG="-g"
              fi)
438

439
if test -n "$DEBUGFLAG"; then
440
  AC_MSG_RESULT([yes])
441
  CFLAGS="$DEBUGFLAG $CFLAGS"
442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457
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])
458
fi
459

460
AC_ARG_ENABLE(ansi,
461
              [  --enable-ansi           turn on strict ansi (default=no)],,
462
              enable_ansi=no)
463

464
changequote(,)dnl
465 466 467 468 469
if eval "test x$GCC = xyes"; then
  case " $CFLAGS " in
  *[\ \	]-Wall[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wall" ;;
  esac
Elliot Lee's avatar
Elliot Lee committed
470

471 472 473 474 475
  if test "x$enable_ansi" = "xyes"; then
    case " $CFLAGS " in
    *[\ \	]-ansi[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -ansi" ;;
    esac
476

477 478 479 480
    case " $CFLAGS " in
    *[\ \	]-pedantic[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -pedantic" ;;
    esac
Elliot Lee's avatar
Elliot Lee committed
481 482
  fi
fi
483
changequote([,])dnl
Elliot Lee's avatar
Elliot Lee committed
484

485

486
# If possible, warn if C99isms are used
487 488 489
GIMP_DETECT_CFLAGS(extra_warnings, '-Wdeclaration-after-statement')
CFLAGS="$CFLAGS $extra_warnings"

490
GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-prototypes')
491 492 493 494 495
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.
496
#
497 498
GIMP_DETECT_CFLAGS(extra_warnings, '-Werror=missing-prototypes')
CFLAGS="$CFLAGS $extra_warnings"
499

500 501 502
GIMP_DETECT_CFLAGS(extra_warnings, '-Wstrict-prototypes')
CFLAGS="$CFLAGS $extra_warnings"

503 504 505
GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-declarations')
CFLAGS="$CFLAGS $extra_warnings"

506 507 508 509 510
GIMP_DETECT_CFLAGS(extra_warnings, '-Winit-self')
CFLAGS="$CFLAGS $extra_warnings"

GIMP_DETECT_CFLAGS(extra_warnings, '-Wpointer-arith')
CFLAGS="$CFLAGS $extra_warnings"
511 512 513

GIMP_DETECT_CFLAGS(extra_warnings, '-Wold-style-definition')
CFLAGS="$CFLAGS $extra_warnings"
514

515 516 517
GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-format-attribute')
CFLAGS="$CFLAGS $extra_warnings"

518 519 520
GIMP_DETECT_CFLAGS(extra_warnings, '-Wformat-security')
CFLAGS="$CFLAGS $extra_warnings"

521 522 523 524 525 526
GIMP_DETECT_CFLAGS(extra_warnings, '-Wlogical-op')
CFLAGS="$CFLAGS $extra_warnings"

GIMP_DETECT_CFLAGS(extra_warnings, '-Wtype-limits')
CFLAGS="$CFLAGS $extra_warnings"

Mukund Sivaraman's avatar
Mukund Sivaraman committed
527 528 529
GIMP_DETECT_CFLAGS(extra_warnings, '-fno-common')
CFLAGS="$CFLAGS $extra_warnings"

530 531 532
GIMP_DETECT_CFLAGS(extra_warnings, '-fdiagnostics-show-option')
CFLAGS="$CFLAGS $extra_warnings"

533 534 535 536 537 538
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.
539 540 541 542
# 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"
543

544 545 546 547 548 549 550 551
# 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"


552 553 554 555
# 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".
556 557
if test "x$os_win32" = xyes; then
  if test "x$GCC" = xyes; then
558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576
    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
577
    if test "x$msnative_struct" = x ; then
578
      AC_MSG_RESULT([no way])
Tor Lillqvist's avatar
Tor Lillqvist committed
579
      AC_MSG_WARN([build will be incompatible with GTK+ DLLs])
580 581 582 583 584 585 586
    else
      CFLAGS="$CFLAGS $msnative_struct"
      AC_MSG_RESULT([${msnative_struct}])
    fi
  fi
fi

587 588 589 590 591 592 593 594 595
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
Jehan's avatar
Jehan committed
596
  # For GCC, use -v which has more information than --version.
597
  CC_VERSION_OPTS="-v"
Jehan's avatar
Jehan committed
598 599 600
else
  # This is the list of common options used by autotools to check
  # versions for various compilers.
601
  CC_VERSION_OPTS="--version -v -V -qversion"
602
fi
603 604 605 606

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.
607
  CC_VERSION="`$CC $CC_VERSION_OPT 2>&1 | sed -e 's/\\\\/\\\\\\\\\\\\\\\\/g;s/^/\\\\t/;s/$/\\\\n/' | tr -d '\n'`"
608 609 610 611 612
  if test $? -eq 0; then
    break
  fi
done

Jehan's avatar
Jehan committed
613
AC_SUBST(CC_VERSION)
614

615 616 617 618
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_HEADER_TIME

619
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)
620
AC_CHECK_FUNCS(backtrace, , AC_CHECK_LIB(execinfo, backtrace))
621 622 623 624 625 626

AC_TYPE_PID_T
AC_FUNC_VPRINTF

AC_FUNC_ALLOCA

627
# check some more funcs
Sven Neumann's avatar
Sven Neumann committed
628
AC_CHECK_FUNCS(fsync)
Michael Natterer's avatar
Michael Natterer committed
629
AC_CHECK_FUNCS(difftime mmap)
630
AC_CHECK_FUNCS(thr_self)
631

Sven Neumann's avatar
Sven Neumann committed
632

633 634
# _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
635 636
AC_LINK_IFELSE(
  [AC_LANG_PROGRAM(
637 638 639 640
    [[#include <langinfo.h>]],
    [[char c = *((unsigned char *)  nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));]])],
  [nl_ok=yes],
  [nl_ok=no])
641 642 643 644 645 646
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

647 648 649 650 651 652 653 654 655 656 657 658 659 660
# 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"])])
661

662 663 664
######################
# Internationalisation
######################
665

666
IT_PROG_INTLTOOL(intltool_required_version)
667
AM_GLIB_GNU_GETTEXT
668

669
# Testing xgettext version since we had some problem with localizing script-fu. See bug 720052.
670 671 672
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; }'`
673 674 675 676 677

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; }'`

678
have_required_xgettext="no"
679
if test -n "$XGETTEXT_APPLIED_VERSION_MAJOR"; then
680 681 682
    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
683
        if test -n "$XGETTEXT_APPLIED_VERSION_MINOR_1"; then
684 685
            if test "$XGETTEXT_REQUIRED_VERSION_MINOR_1" -le "$XGETTEXT_APPLIED_VERSION_MINOR_1"; then
                have_required_xgettext="yes"
686 687 688 689
            fi
        fi
    fi
fi
690
AC_MSG_RESULT($have_required_xgettext)
691

692 693
if test "x$have_required_xgettext" = "xno"; then
    add_deps_error([xgettext], [xgettext >= xgettext_required_version])
694
fi
695

Sven Neumann's avatar
Sven Neumann committed
696 697 698 699
###########
# iso-codes
###########

700 701 702 703 704
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])
Sven Neumann's avatar
Sven Neumann committed
705
  ISO_CODES_PREFIX=`$PKG_CONFIG --variable=prefix iso-codes`
706 707 708 709 710 711 712 713 714
  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)


715 716 717
###############################
# Checks for required libraries
###############################
718

719 720
PKG_CHECK_MODULES(BABL, [babl >= babl_required_version],,
                  [add_deps_error([babl >= babl_required_version])])
721 722
PKG_CHECK_MODULES(GEGL, gegl-gegl_major_minor_version >= gegl_required_version,,
                  [add_deps_error([gegl-gegl_major_minor_version >= gegl_required_version])])
723 724
PKG_CHECK_MODULES(ATK, atk >= atk_required_version,,
                  [add_deps_error([atk >= atk_required_version])])
Sven Neumann's avatar
Sven Neumann committed
725

Ell's avatar
Ell committed
726 727 728 729 730
AM_PATH_GLIB_2_0(glib_required_version,,
                 [add_deps_error([glib >= glib_required_version],
                                 [Test for GLIB failed])],
                 gobject)

731 732
PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0,,
                  [add_deps_error([gmodule-no-export-2.0])])
733

734 735
PKG_CHECK_MODULES(GIO, gio-2.0,,
                  [add_deps_error([gio-2.0])])
736

737
if test "x$os_win32" = "xyes"; then
738 739
  PKG_CHECK_MODULES(GIO_WINDOWS, gio-windows-2.0,,
                    [add_deps_error([gio-windows-2.0])])
740
else
741 742
  PKG_CHECK_MODULES(GIO_UNIX, gio-unix-2.0,,
                    [add_deps_error([gio-unix-2.0])])
743 744
fi

745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771
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

772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789
# 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
790
fi
791 792
AC_MSG_RESULT($HOST_GLIB_COMPILE_RESOURCES)
AC_SUBST(HOST_GLIB_COMPILE_RESOURCES)
793

794 795
AC_PATH_PROG(GDBUS_CODEGEN, gdbus-codegen, no)
if test "x$GDBUS_CODEGEN" = xno; then
796
  add_deps_error([gdbus-codegen], [Could not find gdbus-codegen in your PATH.])
797 798
fi

799 800 801
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
802
else
803
  have_glib_2_57=no
804
fi
805
AC_MSG_RESULT($have_glib_2_57)
806

807 808
AC_PATH_PROG(GEGL, gegl, no)
if test "x$GEGL" = xno; then
809
  add_deps_error([gegl], [Could not find native gegl executable in your PATH.])
810 811
fi

Sven Neumann's avatar
Sven Neumann committed
812

813
# Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
814 815
gimp_save_LIBS=$LIBS
LIBS="$LIBS $GLIB_LIBS"
816
AC_CHECK_FUNCS(bind_textdomain_codeset,,
817 818
  add_deps_error([bind_textdomain_codeset()],
                 [Check for bind_textdomain_codeset() failed! This is required.]))
819 820 821 822 823
LIBS=$gimp_save_LIBS


AC_PATH_XTRA

824 825 826
# Do not delay GTK errors and exit immediately as it will provoke
# harder to understand syntax errors of missing autoconf macros.
PKG_CHECK_MODULES(GTK, gtk+-3.0 >= gtk_required_version);
Elliot Lee's avatar
Elliot Lee committed
827

828
AC_PATH_PROGS(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache-3.0 gtk-update-icon-cache, no)
829
if test "x$GTK_UPDATE_ICON_CACHE" = xno; then
830 831
  add_deps_error([gtk-update-icon-cache],
                 [Could not find gtk-update-icon-cache in your PATH.])
832 833
fi

834 835
PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gdk_pixbuf_required_version,,
                  [add_deps_error([gdk-pixbuf-2.0 >= gdk_pixbuf_required_version])])
836

837
AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
838
if test "x$GDK_PIXBUF_CSOURCE" = xno; then
839 840
  add_deps_error([gdk-pixbuf-csource],
                 [Could not find gdk-pixbuf-csource in your PATH.])
841 842
fi

843 844
PKG_CHECK_MODULES(CAIRO, cairo >= cairo_required_version,,
                  [add_deps_error([cairo >= cairo_required_version])])
845

846
PKG_CHECK_MODULES(PANGOCAIRO,
847 848 849
                  [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.])])
850

Martin Nordholts's avatar
Martin Nordholts committed
851
gimp_save_CFLAGS=$CFLAGS
852 853
CFLAGS="$PANGOCAIRO_CFLAGS $CFLAGS"

854
# Windows platform had a few bugs fixed in earlier fontconfig.
855 856 857 858 859
# 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).
860 861
PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= fontconfig_required_version,,
                  [add_deps_error([fontconfig >= fontconfig_required_version])])
862

863 864 865
AC_MSG_CHECKING([if Pango is version 1.43.0 or newer])
if $PKG_CONFIG --atleast-version=1.43.0 pango; then
  have_pango_1_43=yes
866
else
867
  have_pango_1_43=no
868
fi
869
AC_MSG_RESULT($have_pango_1_43)
870

Sven Neumann's avatar
Sven Neumann committed
871
CFLAGS="$PANGOCAIRO_CFLAGS $CFLAGS"
872 873

AC_MSG_CHECKING([if Pango is built with a recent fontconfig])
874 875 876 877 878 879
AC_COMPILE_IFELSE(
  [AC_LANG_PROGRAM(
    [[#include <fontconfig/fontconfig.h>]],
    [[FcObjectSet *os; os = FcObjectSetBuild (FC_FAMILY, FC_WIDTH);]])],
  [fontconfig_ok=yes],
  [fontconfig_ok=no])
880 881 882 883 884 885 886
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
Sven Neumann's avatar
Sven Neumann committed
887
*** Pango library is using an older version. This old version is probably in
888
*** /usr/X11R6. Look at the above output, and note that the result for
Sven Neumann's avatar
Sven Neumann committed
889
*** FONTCONFIG_CFLAGS is not in the result for PANGOCAIRO_CFLAGS, and that
890 891 892 893 894 895 896
*** 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
Manish Singh's avatar
Manish Singh committed
897

898

899
PKG_CHECK_MODULES(FREETYPE, freetype2 >= freetype2_required_version,,
900
                  [add_deps_error([freetype2_required_version >= freetype2_required_version])])
901

902 903
PKG_CHECK_MODULES(HARFBUZZ, harfbuzz >= harfbuzz_required_version,,
                 [add_deps_error([harfbuzz >= harfbuzz_required_version])])
904

905 906
PKG_CHECK_MODULES(GEXIV2, gexiv2 >= gexiv2_required_version,,
                 [add_deps_error([gexiv2 >= gexiv2_required_version])])
907

908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932
#################################
# 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])

933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960
######################################
# 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])

961 962 963 964
#####################
# Check for Dr. Mingw
#####################

965
enable_drmingw="no"
966 967 968
if test "x$platform_win32" = "xyes"; then
   # Check for Dr. Mingw
   AC_CHECK_LIB(exchndl, ExcHndlSetLogFileNameA,
969 970
                [
                 AC_DEFINE(HAVE_EXCHNDL, 1, [Define to 1 when Dr. MingW is available])
971
                 LIBS="-lexchndl $LIBS"
972 973 974 975
                 enable_drmingw="yes"
                ],
                [enable_drmingw="no (ExcHndl library missing)"]
               )
976 977 978
fi
AM_CONDITIONAL(HAVE_EXCHNDL, test "x$ac_cv_lib_exchndl_ExcHndlSetLogFileNameA" = "xyes")

979 980 981 982 983 984
###########################
# Check for backtrace() API
###########################

AC_CHECK_HEADERS([execinfo.h])

985 986