configure.in 58.2 KB
Newer Older
1
# Process this file with autoconf to produce a configure script.
Elliot Lee's avatar
Elliot Lee committed
2

3
AC_PREREQ(2.54)
4

Sven Neumann's avatar
Sven Neumann committed
5
# Making releases on the stable branch:
6
7
#   GIMP_MICRO_VERSION += 1;
#   GIMP_INTERFACE_AGE += 1;
8

9
m4_define([gimp_major_version], [2])
10
11
m4_define([gimp_minor_version], [7])
m4_define([gimp_micro_version], [0])
12
13
14
m4_define([gimp_real_version],
          [gimp_major_version.gimp_minor_version.gimp_micro_version])
m4_define([gimp_version], [gimp_real_version])
15
m4_define([gimp_interface_age], [0])
16
17
m4_define([gimp_binary_age],
          [m4_eval(100 * gimp_minor_version + gimp_micro_version)])
18
19

# For overriding the version string. Comment out if not needed.
20
# m4_define([gimp_version], [2.7.0])
21
22

# This is the X.Y used in -lgimp-X.Y
23
m4_define([gimp_api_version], [2.0])
24
25
26

# Versions used for apps, plugins, tools, pkg-config files, and data,
# as well as global and user prefs
27
m4_define([gimp_app_version], [2.7])
28
29
m4_define([gimp_plugin_version], [2.0])
m4_define([gimp_tool_version], [2.0])
30
m4_define([gimp_pkgconfig_version], [2.0])
31
32
m4_define([gimp_data_version], [2.0])
m4_define([gimp_sysconf_version], [2.0])
33
m4_define([gimp_user_version], [2.7])
34

35
36
m4_define([gimp_unstable],
          m4_if(m4_eval(gimp_minor_version % 2), [1], [yes], [no]))
37
38
m4_define([gimp_stable],
          m4_if(m4_eval(gimp_minor_version % 2), [0], [yes], [no]))
39

40
m4_define([gimp_full_name], [GNU Image Manipulation Program])
41

42
# required versions of other packages
43
m4_define([babl_required_version], [0.0.22])
44
m4_define([gegl_required_version], [0.0.21])
45
m4_define([glib_required_version], [2.16.1])
46
m4_define([gtk_required_version], [2.12.5])
47
m4_define([gdk_pixbuf_required_version], [gtk_required_version])
48
m4_define([cairo_required_version], [1.6.0])
49
m4_define([pangocairo_required_version], [1.20.1])
50
51
m4_define([fontconfig_required_version], [2.2.0])
m4_define([gtkdoc_required_version], [1.0])
52
m4_define([webkit_required_version], [0.1])
53
m4_define([alsa_required_version], [1.0.0])
54
m4_define([rsvg_required_version], [2.14.0])
55
m4_define([wmf_required_version], [0.2.8])
56
m4_define([pygtk_required_version], [2.10.4])
57
m4_define([poppler_required_version], [0.4.1])
58
59
m4_define([gnome_vfs_required_version], [2.10.0])
m4_define([gnomeui_required_version], [2.10.0])
Michael Natterer's avatar
Michael Natterer committed
60
m4_define([gnome_keyring_required_version], [0.4.5])
61
m4_define([libcurl_required_version], [7.15.1])
62
m4_define([dbus_glib_required_version], [0.70])
63
m4_define([libhal_required_version], [0.5.7])
64
m4_define([exif_required_version], [0.6.15])
65
m4_define([lcms_required_version], [1.16])
66

67
68
69
70
71
72
73

AC_INIT([GIMP], [gimp_version],
        [http://bugzilla.gnome.org/enter_bug.cgi?product=GIMP],
        [gimp])

AC_CONFIG_SRCDIR([app/core/gimp.c])

Sven Neumann's avatar
Sven Neumann committed
74
AM_INIT_AUTOMAKE(no-define dist-bzip2)
75
AM_CONFIG_HEADER(config.h)
Elliot Lee's avatar
Elliot Lee committed
76

77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
GIMP_MAJOR_VERSION=gimp_major_version
GIMP_MINOR_VERSION=gimp_minor_version
GIMP_MICRO_VERSION=gimp_micro_version
GIMP_INTERFACE_AGE=gimp_interface_age
GIMP_BINARY_AGE=gimp_binary_age
GIMP_VERSION=gimp_version
GIMP_REAL_VERSION=gimp_real_version
GIMP_API_VERSION=gimp_api_version
GIMP_APP_VERSION=gimp_app_version
GIMP_PLUGIN_VERSION=gimp_plugin_version
GIMP_TOOL_VERSION=gimp_tool_version
GIMP_PKGCONFIG_VERSION=gimp_pkgconfig_version
GIMP_DATA_VERSION=gimp_data_version
GIMP_SYSCONF_VERSION=gimp_sysconf_version
GIMP_USER_VERSION=gimp_user_version
92
93
GIMP_UNSTABLE=gimp_unstable
GIMP_FULL_NAME="gimp_full_name"
94
95
96
AC_SUBST(GIMP_MAJOR_VERSION)
AC_SUBST(GIMP_MINOR_VERSION)
AC_SUBST(GIMP_MICRO_VERSION)
97
98
AC_SUBST(GIMP_INTERFACE_AGE)
AC_SUBST(GIMP_BINARY_AGE)
99
AC_SUBST(GIMP_VERSION)
100
101
102
103
104
105
106
107
108
AC_SUBST(GIMP_REAL_VERSION)
AC_SUBST(GIMP_API_VERSION)
AC_SUBST(GIMP_APP_VERSION)
AC_SUBST(GIMP_PLUGIN_VERSION)
AC_SUBST(GIMP_TOOL_VERSION)
AC_SUBST(GIMP_PKGCONFIG_VERSION)
AC_SUBST(GIMP_DATA_VERSION)
AC_SUBST(GIMP_SYSCONF_VERSION)
AC_SUBST(GIMP_USER_VERSION)
109
110
AC_SUBST(GIMP_UNSTABLE)
AC_SUBST(GIMP_FULL_NAME)
111

112

113
114
115
116
117
118
119
120
121
# These are used in the .pc files
GLIB_REQUIRED_VERSION=glib_required_version
GTK_REQUIRED_VERSION=gtk_required_version
AC_SUBST(GLIB_REQUIRED_VERSION)
AC_SUBST(GTK_REQUIRED_VERSION)

# The symbol GIMP_UNSTABLE is defined above for substitution in
# Makefiles and conditionally defined here as a preprocessor symbol
# and automake conditional.
122
if test "x$GIMP_UNSTABLE" = "xyes"; then
123
  AC_DEFINE(GIMP_UNSTABLE, 1,
124
            [Define to 1 if this is an unstable version of GIMP])
125
fi
126
127
AM_CONDITIONAL(GIMP_UNSTABLE, test "x$GIMP_UNSTABLE" = "xyes")

128
129

# libtool versioning
130
m4_define([lt_current], [m4_eval(100 * gimp_minor_version + gimp_micro_version - gimp_interface_age)])
131
132
133
134
135
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)
136
137
AC_SUBST(LT_CURRENT_MINUS_AGE)

138

Sven Neumann's avatar
Sven Neumann committed
139
# gettext i18n support
140
141
142
143
GETTEXT_PACKAGE=gimp20
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
                   [The prefix for our gettext translation domains.])
144

145
146
147
# Determine a C compiler to use
AC_PROG_CC
AM_PROG_CC_C_O
Manish Singh's avatar
Manish Singh committed
148

149
# Initialize libtool
150
151
152
AM_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
Elliot Lee's avatar
Elliot Lee committed
153

154
AM_PROG_AS
Elliot Lee's avatar
Elliot Lee committed
155

156
# Initialize maintainer mode
157
158
AM_MAINTAINER_MODE

159
# Honor aclocal flags
160
161
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"

162

163
164
165
166
# Check for pkg-config
PKG_PROG_PKG_CONFIG(0.16)


167
168
169
170
171
172
173
174
175
176
177
178
179
180
###########################
# Check target architecture
###########################

AC_MSG_CHECKING([for target architecture])
case x"$target" in
  xNONE | x)
    target_or_host="$host" ;;
  *)
    target_or_host="$target" ;;
esac
AC_MSG_RESULT([$target_or_host])

case "$target_or_host" in
Manish Singh's avatar
Manish Singh committed
181
  i*86-*-*)
182
183
184
    have_x86=yes
    AC_DEFINE(ARCH_X86, 1, [Define to 1 if you are compiling for ix86.])
    ;;
Manish Singh's avatar
Manish Singh committed
185
186
187
188
189
  x86_64-*-*)
    have_x86=yes
    AC_DEFINE(ARCH_X86, 1, [Define to 1 if you are compiling for ix86.])
    AC_DEFINE(ARCH_X86_64, 1, [Define to 1 if you are compiling for amd64.])
    ;;
Manish Singh's avatar
Manish Singh committed
190
  ppc-*-* | powerpc-*)
191
192
193
    have_ppc=yes
    AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
    ;;
Manish Singh's avatar
Manish Singh committed
194
195
196
197
198
  ppc64-*-* | powerpc64-*)
    have_ppc=yes
    AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
    AC_DEFINE(ARCH_PPC64, 1, [Define to 1 if you are compiling for PowerPC64.])
    ;;
199
200
201
202
203
  *)
    ;;
esac


204
205
206
#################
# Check for Win32
#################
207

208
AC_MSG_CHECKING([for some Win32 platform])
209
210
case "$target_or_host" in
  *-*-mingw* | *-*-cygwin*)
211
212
213
214
215
216
217
218
219
220
    platform_win32=yes
    ;;
  *)
    platform_win32=no
    ;;
esac
AC_MSG_RESULT([$platform_win32])
AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")

AC_MSG_CHECKING([for native Win32])
221
case "$target_or_host" in
222
223
  *-*-mingw*)
    os_win32=yes
224
225
226
227
228
229
230
    case "$host" in
      x86_64-*-*)
	;;
      *)
	WIN32_LARGE_ADDRESS_AWARE='-Wl,--large-address-aware'
	;;
    esac
231
232
233
234
235
236
237
238
    PATHSEP=';'
    ;;
  *)
    os_win32=no
    PATHSEP=':'
    ;;
esac
AC_MSG_RESULT([$os_win32])
239
AC_SUBST(WIN32_LARGE_ADDRESS_AWARE)
240
241
AC_SUBST(PATHSEP)
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
242
AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
243
244
245

if test "$os_win32" = "yes"; then
  AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
Manish Singh's avatar
Manish Singh committed
246
  AC_CHECK_TOOL(WINDRES, windres, :)
247
248
else
  WINDRES=":"
249
fi
Manish Singh's avatar
Manish Singh committed
250

251
AM_CONDITIONAL(MS_LIB_AVAILABLE, test "x$ms_librarian" = xyes)
252
AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
Manish Singh's avatar
Manish Singh committed
253
254

AC_SUBST(WINDRES)
255

256

257
258
259
260
###############
# Generic stuff
###############

261
# Checks for programs.
262
263
264
265
AC_ISC_POSIX
AC_PROG_INSTALL
AC_PROG_MAKE_SET

266
# Large file support for the swap file
267
AC_SYS_LARGEFILE
268

269
AC_MSG_CHECKING([whether to turn on debugging])
270
AC_ARG_ENABLE(debug,
271
              [  --enable-debug          turn on debugging (default=no)],
272
273
274
              if eval "test x$enable_debug = xyes"; then
                DEBUGFLAG="-g"
              fi)
275

276
if test -n "$DEBUGFLAG"; then
277
  AC_MSG_RESULT([yes])
278
  CFLAGS="$DEBUGFLAG $CFLAGS"
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
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])
295
fi
296

297
AC_ARG_ENABLE(ansi,
298
              [  --enable-ansi           turn on strict ansi (default=no)],,
299
              enable_ansi=no)
300

301
changequote(,)dnl
302
303
304
305
306
if eval "test x$GCC = xyes"; then
  case " $CFLAGS " in
  *[\ \	]-Wall[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wall" ;;
  esac
Elliot Lee's avatar
Elliot Lee committed
307

308
309
310
311
312
  if test "x$enable_ansi" = "xyes"; then
    case " $CFLAGS " in
    *[\ \	]-ansi[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -ansi" ;;
    esac
313

314
315
316
317
    case " $CFLAGS " in
    *[\ \	]-pedantic[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -pedantic" ;;
    esac
Elliot Lee's avatar
Elliot Lee committed
318
319
  fi
fi
320
changequote([,])dnl
Elliot Lee's avatar
Elliot Lee committed
321

322

323
# If possible, warn if C99isms are used
324
325
326
GIMP_DETECT_CFLAGS(extra_warnings, '-Wdeclaration-after-statement')
CFLAGS="$CFLAGS $extra_warnings"

327
328
329
GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-prototypes')
CFLAGS="$CFLAGS $extra_warnings"

330
331
332
GIMP_DETECT_CFLAGS(extra_warnings, '-Wstrict-prototypes')
CFLAGS="$CFLAGS $extra_warnings"

333
334
335
GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-declarations')
CFLAGS="$CFLAGS $extra_warnings"

336
337
338
339
340
GIMP_DETECT_CFLAGS(extra_warnings, '-Winit-self')
CFLAGS="$CFLAGS $extra_warnings"

GIMP_DETECT_CFLAGS(extra_warnings, '-Wpointer-arith')
CFLAGS="$CFLAGS $extra_warnings"
341
342
343

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

345
346
347
GIMP_DETECT_CFLAGS(extra_warnings, '-Wmissing-format-attribute')
CFLAGS="$CFLAGS $extra_warnings"

348

349
350
351
352
# 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".
353
354
if test "x$os_win32" = xyes; then
  if test "x$GCC" = xyes; then
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
    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
374
    if test "x$msnative_struct" = x ; then
375
      AC_MSG_RESULT([no way])
Tor Lillqvist's avatar
Tor Lillqvist committed
376
      AC_MSG_WARN([build will be incompatible with GTK+ DLLs])
377
378
379
380
381
382
383
    else
      CFLAGS="$CFLAGS $msnative_struct"
      AC_MSG_RESULT([${msnative_struct}])
    fi
  fi
fi

384

385
386
387
388
389
390
391
392
393
394
395
396
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_HEADER_TIME

AC_CHECK_HEADERS(sys/param.h sys/time.h sys/times.h sys/wait.h unistd.h)

AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_FUNC_VPRINTF

AC_FUNC_ALLOCA

397
# check some more funcs
Michael Natterer's avatar
Michael Natterer committed
398
AC_CHECK_FUNCS(difftime mmap)
399

400
401
AM_BINRELOC

402

403
404
405
406
407
408
409
410
411
412
413
414
# _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
AC_TRY_LINK([#include <langinfo.h>], [
char c = *((unsigned char *)  nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
], nl_ok=yes, nl_ok=no)
AC_MSG_RESULT($nl_ok)
if test "$nl_ok" = "yes"; then
  AC_DEFINE(HAVE__NL_MEASUREMENT_MEASUREMENT, 1,
	    [Define to 1 if _NL_MEASUREMENT_MEASUREMENT is available])
fi


415
416
417
######################
# Internationalisation
######################
418

419
IT_PROG_INTLTOOL(0.35.5)
420
AM_GLIB_GNU_GETTEXT
421

422

Sven Neumann's avatar
Sven Neumann committed
423
424
425
426
###########
# iso-codes
###########

427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
AC_MSG_CHECKING([for iso-codes])
PKG_CHECK_EXISTS(iso-codes,
  have_iso_codes="yes"
  AC_DEFINE(HAVE_ISO_CODES, 1,
  	    [Define to 1 if the iso-codes package is available])
  ISO_CODES_PREFIX=`$PKG_CONFIG --variable=prefix iso-codes`   
  ISO_CODES_LOCATION="$ISO_CODES_PREFIX/share/xml/iso-codes"
  ISO_CODES_LOCALEDIR="$ISO_CODES_PREFIX/$DATADIRNAME/locale",
  have_iso_codes="no (iso-codes package not found)")
AC_MSG_RESULT($have_iso_codes)

AC_SUBST(ISO_CODES_LOCATION)
AC_SUBST(ISO_CODES_LOCALEDIR)


442
443
444
###############################
# Checks for required libraries
###############################
445

446
447
PKG_CHECK_MODULES(BABL, babl >= babl_required_version)
PKG_CHECK_MODULES(GEGL, gegl >= gegl_required_version)
Sven Neumann's avatar
Sven Neumann committed
448

449
AM_PATH_GLIB_2_0(glib_required_version, :,
Sven Neumann's avatar
Sven Neumann committed
450
  AC_MSG_ERROR(Test for GLIB failed. See the file 'INSTALL' for help.),
451
  gobject gthread)
Sven Neumann's avatar
Sven Neumann committed
452

453
PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0)
454

455
456
PKG_CHECK_MODULES(GIO, gio-2.0)

457
458
459
AC_MSG_CHECKING([if GLib is version 2.19.0 or newer])
if $PKG_CONFIG --atleast-version=2.19.0 glib-2.0; then
  have_glib_2_19=yes
460
else
461
  have_glib_2_19=no
462
fi
463
AC_MSG_RESULT($have_glib_2_19)
464

Sven Neumann's avatar
Sven Neumann committed
465

466
# Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
467
468
gimp_save_LIBS=$LIBS
LIBS="$LIBS $GLIB_LIBS"
469
470
471
472
AC_CHECK_FUNCS(bind_textdomain_codeset,,
  AC_MSG_ERROR([
*** Check for bind_textdomain_codeset() failed!  This is required.
]))
473
474
475
476
477
LIBS=$gimp_save_LIBS


AC_PATH_XTRA

478
AM_PATH_GTK_2_0(gtk_required_version, :,
479
480
  AC_MSG_ERROR(Test for GTK+ failed. See the file 'INSTALL' for help.),
  gthread)
Elliot Lee's avatar
Elliot Lee committed
481

482
483
AC_MSG_CHECKING([if GTK+ is version 2.17.0 or newer])
if $PKG_CONFIG --atleast-version=2.17.0 gtk+-2.0; then
484
  have_gtk_2_15=yes
485
else
486
  have_gtk_2_15=no
487
fi
488
AC_MSG_RESULT($have_gtk_2_15)
489

490
PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gdk_pixbuf_required_version)
491

492
AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
493
if test "x$GDK_PIXBUF_CSOURCE" = xno; then
494
495
496
  AC_MSG_ERROR(Could not find gdk-pixbuf-csource in your PATH)
fi

497
PKG_CHECK_MODULES(CAIRO, cairo >= cairo_required_version)
498

499
500
PKG_CHECK_MODULES(PANGOCAIRO,
	          pangocairo >= pangocairo_required_version freetype2, :,
501
502
503
504
  AC_MSG_ERROR([Test for PangoCairo failed.
*** We require Pango with the optional support for Cairo compiled in.
*** See the file 'INSTALL' for more help.]))

Martin Nordholts's avatar
Martin Nordholts committed
505
gimp_save_CFLAGS=$CFLAGS
506
507
CFLAGS="$PANGOCAIRO_CFLAGS $CFLAGS"

508
509
PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= fontconfig_required_version)

510
511
512
AC_MSG_CHECKING([if Pango is version 1.21.0 or newer])
if $PKG_CONFIG --atleast-version=1.21.0 pango; then
  have_pango_1_21=yes
513
else
514
  have_pango_1_21=no
515
fi
516
AC_MSG_RESULT($have_pango_1_21)
517

Sven Neumann's avatar
Sven Neumann committed
518
CFLAGS="$PANGOCAIRO_CFLAGS $CFLAGS"
519
520
521
522
523
524
525
526
527
528
529
530

AC_MSG_CHECKING([if Pango is built with a recent fontconfig])
AC_TRY_COMPILE([#include <fontconfig/fontconfig.h>],
  [FcObjectSet *os; os = FcObjectSetBuild (FC_FAMILY, FC_WIDTH);],
  fontconfig_ok=yes, fontconfig_ok=no)
AC_MSG_RESULT($fontconfig_ok)

CFLAGS=$gimp_save_CFLAGS

if test "x$fontconfig_ok" = xno; then
  AC_MSG_ERROR([
*** You have a fontconfig >= fontconfig_required_version installed on your system, but your
Sven Neumann's avatar
Sven Neumann committed
531
*** Pango library is using an older version. This old version is probably in
532
*** /usr/X11R6. Look at the above output, and note that the result for
Sven Neumann's avatar
Sven Neumann committed
533
*** FONTCONFIG_CFLAGS is not in the result for PANGOCAIRO_CFLAGS, and that
534
535
536
537
538
539
540
*** 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
541

542

543
544
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
if test "x$FREETYPE_CONFIG" != "xno" ; then
545
  AC_MSG_CHECKING([for freetype libraries])
546
547
548
549
550
551
  FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
  AC_MSG_RESULT($FREETYPE_LIBS)
fi
AC_SUBST(FREETYPE_LIBS)


552
553
554
##########################################
# Check for some special functions we need
##########################################
Elliot Lee's avatar
Elliot Lee committed
555

David Neary's avatar
ted    
David Neary committed
556
557
AC_CHECK_HEADERS(math.h ieeefp.h)

558
# DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
Manish Singh's avatar
Manish Singh committed
559
560
561
562
563
564
565
566
567
568
569
570
571
AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
gimp_save_LIBS=$LIBS
LIBS="$LIBS -lm"
AC_TRY_RUN([#include <math.h>
             int main (void) { return (log(1) != log(1.)); }],
  AC_MSG_RESULT(none needed),
  gimp_save_CFLAGS=$CFLAGS
  CFLAGS="$CFLAGS -std1"
  AC_TRY_RUN([#include <math.h>
               int main (void) { return (log(1) != log(1.)); }],
    AC_MSG_RESULT(-std1),
    AC_MSG_RESULT()
    CFLAGS=$gimp_save_CFLAGS
572
573
574
575
    AC_MSG_WARN([No ANSI prototypes found in library. (-std1 didn't work.)]),
    AC_MSG_RESULT),
  AC_MSG_RESULT())

576
# Check for finite or isfinite
577
578
579
580
581
582
583
584
585
586
587
588
589
590
AC_CHECK_FUNCS(finite, , [
  AC_MSG_CHECKING(for finite in <math.h>)
  AC_TRY_LINK([#include <math.h>], [double f = 0.0; finite (f)], [
    AC_DEFINE(HAVE_FINITE, 1)
    AC_MSG_RESULT(yes)], [
    AC_MSG_RESULT(no)
    AC_MSG_CHECKING(for isfinite in <math.h>)
    AC_TRY_LINK([#include <math.h>], [float f = 0.0; isfinite(f)], [
      AC_DEFINE(HAVE_ISFINITE, 1,
                [Define to 1 if you have the isfinite function.])
      AC_MSG_RESULT(yes)], AC_MSG_RESULT(no))])])
AC_SUBST(HAVE_FINITE)
AC_SUBST(HAVE_ISFINITE)

591
592
593
LIBS=$gimp_save_LIBS


594
# NeXTStep cc seems to need this
595
596
597
598
599
600
601
602
603
604
605
AC_MSG_CHECKING([for extra flags for POSIX compliance])
AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
  AC_MSG_RESULT(none needed),
  gimp_save_CFLAGS=$CFLAGS
  CFLAGS="$CFLAGS -posix"
  AC_TRY_COMPILE([#include <dirent.h>], [DIR *dir;],
    AC_MSG_RESULT(-posix),
    AC_MSG_RESULT()
    CFLAGS=$gimp_save_CFLAGS
    AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)])))

606
# check for rint
607
608
609
610
611
612
AC_CHECK_FUNC(rint, AC_DEFINE(HAVE_RINT, 1,
                              [Define to 1 if you have the rint function.]), [
  AC_CHECK_LIB(m, rint, [
    AC_DEFINE(HAVE_RINT)])])


613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
######################################################
# Check for extra libs needed for inet_ntoa and socket
######################################################

gimp_save_LIBS=$LIBS
LIBS=""

AC_CHECK_FUNCS(inet_ntoa, , AC_CHECK_LIB(nsl, inet_ntoa))
AC_CHECK_LIB(socket, socket)

SOCKET_LIBS="$LIBS"
LIBS=$gimp_save_LIBS

AC_SUBST(SOCKET_LIBS)


629
630
631
########################
# Check for MMX assembly
########################
Manish Singh's avatar
Manish Singh committed
632

633
634
635
636
637
638
AC_ARG_ENABLE(mmx,
  [  --enable-mmx            enable MMX support (default=auto)],,
  enable_mmx=$have_x86)

AC_ARG_ENABLE(sse,
  [  --enable-sse            enable SSE support (default=auto)],,
639
  enable_sse=$enable_mmx)
640
641

if test "x$enable_mmx" = xyes; then
642
643
  GIMP_DETECT_CFLAGS(MMX_EXTRA_CFLAGS, '-mmmx')
  SSE_EXTRA_CFLAGS=
644

Sven Neumann's avatar
Sven Neumann committed
645
  AC_MSG_CHECKING(whether we can compile MMX code)
646

647
648
  mmx_save_CFLAGS="$CFLAGS"
  CFLAGS="$mmx_save_CFLAGS $MMX_EXTRA_CFLAGS"
649

650
651
  AC_COMPILE_IFELSE([asm ("movq 0, %mm0");],

652
653
654
    AC_DEFINE(USE_MMX, 1, [Define to 1 if MMX assembly is available.])
    AC_MSG_RESULT(yes)

655
    if test "x$enable_sse" = xyes; then
656
657
      GIMP_DETECT_CFLAGS(sse_flag, '-msse')
      SSE_EXTRA_CFLAGS="$MMX_EXTRA_CFLAGS $sse_flag"
658
659
660

      AC_MSG_CHECKING(whether we can compile SSE code)

661
662
      CFLAGS="$CFLAGS $sse_flag"

663
      AC_COMPILE_IFELSE([asm ("movntps %xmm0, 0");],
664
665
        AC_DEFINE(USE_SSE, 1, [Define to 1 if SSE assembly is available.])
        AC_MSG_RESULT(yes)
666
      ,
667
668
669
        enable_sse=no
        AC_MSG_RESULT(no)
        AC_MSG_WARN([The assembler does not support the SSE command set.])
670
      )
671

672
    fi
673
  ,
674
675
    enable_mmx=no
    AC_MSG_RESULT(no)
676
    AC_MSG_WARN([The assembler does not support the MMX command set.])
677
  )
678

679
680
681
682
  CFLAGS="$mmx_save_CFLAGS"

  AC_SUBST(MMX_EXTRA_CFLAGS)
  AC_SUBST(SSE_EXTRA_CFLAGS)
683
fi
684

685
686

############################
687
# Check for AltiVec assembly
688
689
690
############################

AC_ARG_ENABLE(altivec,
691
  [  --enable-altivec        enable AltiVec support (default=auto)],,
692
693
694
  enable_altivec=$have_ppc)

if test "x$enable_altivec" = xyes; then
Manish Singh's avatar
Manish Singh committed
695

696
  GIMP_DETECT_CFLAGS(altivec_flag, '-faltivec' '-maltivec -mabi=altivec')
Manish Singh's avatar
Manish Singh committed
697
698
699
700
701
702
703
704
705
706
707
708
709

  ALTIVEC_EXTRA_CFLAGS=
  case "$altivec_flag" in
    -maltivec*)
      altivec_save_CPPFLAGS="$CPPFLAGS"
      CPPFLAGS="$altivec_save_CPPFLAGS $altivec_flag"
      AC_CHECK_HEADERS(altivec.h, [ALTIVEC_EXTRA_CFLAGS="$altivec_flag"])
      CPPFLAGS="$altivec_save_CPPFLAGS"
      ;;
    *)
      ALTIVEC_EXTRA_CFLAGS="$altivec_flag"
      ;;
  esac
710
  AC_SUBST(ALTIVEC_EXTRA_CFLAGS)
711

712
  AC_MSG_CHECKING(whether we can compile AltiVec code)
713

Manish Singh's avatar
Manish Singh committed
714
  can_use_altivec=no
715
  if test -z "$ALTIVEC_EXTRA_CFLAGS"; then
716
    AC_MSG_RESULT(no)
Manish Singh's avatar
Manish Singh committed
717
    AC_MSG_WARN([The compiler does not support the AltiVec command set.])
718
719
720
721
722
723
724
725
726
727
728
729
730
  else
    case "$target_or_host" in
      *-*-darwin*)
        can_use_altivec=yes
        AC_DEFINE(HAVE_ALTIVEC_SYSCTL, 1,
         [Define to 1 if the altivec runtime test should use a sysctl.])
        ;;
      *)
        AC_COMPILE_IFELSE([asm ("vand %v0, %v0, %v0");],
          can_use_altivec=yes, can_use_altivec=no)
        ;;
    esac
    AC_MSG_RESULT($can_use_altivec)
731

732
733
734
735
736
737
738
    if test "x$can_use_altivec" = "xyes"; then
      AC_DEFINE(USE_ALTIVEC, 1, [Define to 1 if AltiVec support is available.])
    else
      enable_altivec=no
      AC_MSG_WARN([The assembler does not support the AltiVec command set.])
    fi
  fi
Manish Singh's avatar
Manish Singh committed
739
740

  enable_altivec="$can_use_altivec"
741
fi
742

743

744
745
746
###################################
# Checks for shared memory handling
###################################
Sven Neumann's avatar
Sven Neumann committed
747

748
# MacOS X has broken SysV shm
749
750
case "$target_or_host" in
  *-*-darwin* | *-*-rhapsody* | *-*-machten*)
751
    shmdefault=posix
752
753
754
755
756
757
758
    ;;
  *)
    shmdefault=sysv
    ;;
esac

shmtype=auto
759
AC_ARG_WITH(shm, [  --with-shm=none|sysv|posix|auto    shared memory transport type (default=auto)], shmtype=$with_shm)
760
761

case $shmtype in
762
  none|sysv|posix) ;;
763
  auto) shmtype=$shmdefault ;;
764
  *) AC_MSG_ERROR([Invalid shared memory transport type: use none, sysv, posix, or auto.]);;
765
766
esac

767
768
769
770

if test "x$platform_win32" = "xyes"; then
  shmtype=win32
elif test "x$shmtype" = "xsysv"; then
771
772
  AC_CHECK_HEADER(sys/ipc.h,
    [AC_DEFINE(HAVE_IPC_H, 1,
773
               [Define to 1 if you have the <sys/ipc.h> header file.])],
774
775
776
777
778
    no_sys_ipc=yes)
  AC_CHECK_HEADER(sys/shm.h,
    [AC_DEFINE(HAVE_SHM_H, 1,
               [Define to 1 if you have the <sys/shm.h> header file.])],
    no_sys_shm=yes)
779

780
781
782
  if test "$ac_cv_header_sys_shm_h" = "yes"; then
    AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
    AC_TRY_RUN([
Elliot Lee's avatar
Elliot Lee committed
783
784
785
786
787
788
789
	#include <sys/types.h>
	#include <sys/ipc.h>
	#include <sys/shm.h>
	int main()
	{
	  int id;
	  char *shmaddr;
790
	id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600);
Elliot Lee's avatar
Elliot Lee committed
791
792
793
794
795
796
797
798
799
800
801
802
803
	if (id == -1)
	  exit (2);
	  shmaddr = shmat (id, 0, 0);
	  shmctl (id, IPC_RMID, 0);
	  if ((char*) shmat (id, 0, 0) == (char*) -1)
	  {
	    shmdt (shmaddr);
	    exit (1);
	  }
	  shmdt (shmaddr);
	  shmdt (shmaddr);
	  exit (0);
	}
804
805
806
807
808
809
      ],
      AC_DEFINE(IPC_RMID_DEFERRED_RELEASE, 1,
	        [Define to 1 if shared memory segments are released deferred.])
        AC_MSG_RESULT(yes),
      AC_MSG_RESULT(no),
      AC_MSG_RESULT(assuming no))
810
811
812
813
814
815

    AC_DEFINE(USE_SYSV_SHM, 1, [Define to 1 to use SYSV shared memory])
  else
    shmtype=none
  fi
elif test "x$shmtype" = "xposix"; then
816
817
818
819
820
821
  have_shm_open=no

  AC_CHECK_FUNC(shm_open, have_shm_open=yes)

  RT_LIBS=
  if test "$have_shm_open" != "yes"; then
Manish Singh's avatar
Manish Singh committed
822
    AC_CHECK_LIB(rt, shm_open, RT_LIBS="-lrt" have_shm_open=yes)
823
824
  fi
  AC_SUBST(RT_LIBS)
825
826
827

  AC_CHECK_HEADER(sys/mman.h,
    [AC_DEFINE(HAVE_MMAN_H, 1,
828
               [Define to 1 if you have the <sys/mman.h> header file.])],
829
830
831
    no_sys_mman=yes)

  if test "$ac_cv_func_mmap" = "yes" &&
832
833
     test "$ac_cv_header_sys_mman_h" = "yes" &&
     test "$have_shm_open" = "yes"; then
834
835
836
    AC_DEFINE(USE_POSIX_SHM, 1, [Define to 1 to use POSIX shared memory])
  else
    shmtype=none
837
  fi
Elliot Lee's avatar
Elliot Lee committed
838
839
fi

840
841
AC_MSG_CHECKING(for shared memory transport type)
AC_MSG_RESULT($shmtype)
842

843

844
845
846
847
848
849
########################
# Define a symbol prefix
########################

AC_MSG_CHECKING([whether symbols are prefixed])

850
851
case "$host_os" in
  mingw*)
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
    SYMPREFIX='_'
    ;;
  darwin* | rhapsody* | machten*)
    SYMPREFIX='_'
    ;;
  *)
    ;;
esac

if test -n "$SYMPREFIX"; then
  AC_MSG_RESULT([yes, with a $SYMPREFIX])
else
  AC_MSG_RESULT(no)
fi

AC_SUBST(SYMPREFIX)


870
871
872
############################
# Check for select and fdset
############################
Elliot Lee's avatar
Elliot Lee committed
873

874
if test "x$os_win32" != xyes; then
875
876
877
  AC_MSG_CHECKING([fd_set and sys/select])
  AC_TRY_COMPILE([#include <sys/types.h>],
	  [fd_set readMask, writeMask;], gimp_ok=yes, gimp_ok=no)
878
  if test "x$gimp_ok" = xno; then
879
      AC_EGREP_HEADER(fd_mask, sys/select.h, gimp_ok=yes)
880
      if test "x$gimp_ok" = xyes; then
881
882
883
884
885
	  AC_DEFINE(HAVE_SYS_SELECT_H, 1,
		    [Define to 1 if you have the <sys/select.h> header.])
      fi
  fi
  AC_MSG_RESULT($gimp_ok)
886
  if test "x$gimp_ok" = xno; then
887
888
889
      AC_DEFINE(NO_FD_SET, 1,
		[Define to 1 if you don't have the fd_set typedef.])
  fi
Elliot Lee's avatar
Elliot Lee committed
890
891
fi

892

893
#############################
894
# Threads and multi processor
895
#############################
896

897
AC_ARG_ENABLE(mp, [  --disable-mp            disable support for multiple processors])
898

899
if test "x$enable_mp" != "xno"; then
900
901
  AC_DEFINE(ENABLE_MP, 1,
	    [Define to 1 to enable support for multiple processors.])
Sven Neumann's avatar
Sven Neumann committed
902
903
fi

904

905
906
907
908
909
910
911
912
913
###################################################
# gimp-remote is obsolete, but can still be enabled
###################################################

AC_ARG_ENABLE(gimp-remote,
	      [  --enable-gimp-remote    build gimp-remote utility (default=no)],
	      enable_gimp_remote=yes,
	      enable_gimp_remote="no (not enabled)")

914
915
916
917

################################
# Some plug-ins are X11 specific
################################
Sven Neumann's avatar
Sven Neumann committed
918

919
# Check if building for GTK+-X11
Sven Neumann's avatar
Sven Neumann committed
920
gdk_target=`$PKG_CONFIG --variable=target gtk+-2.0`
Sven Neumann's avatar
Sven Neumann committed
921

922
923
have_libxmu="no (building for $gdk_target)"

Sven Neumann's avatar
Sven Neumann committed
924
if test "$gdk_target" = x11; then
925

926
   # doc-shooter is X11 specific
927
928
   DOC_SHOOTER=doc-shooter

929
   # screenshot plug-in needs to link to X11 explicitely
930
   SCREENSHOT_LIBS="$X_LIBS -lX11"
Sven Neumann's avatar
Sven Neumann committed
931

932
933
934
935
936
   gimp_save_CFLAGS="$CFLAGS"
   gimp_save_LDFLAGS="$LDFLAGS"
   CFLAGS="$CFLAGS $GTK_CFLAGS"
   LDFLAGS="$LDFLAGS $X_LIBS"

937
   # Test for Xmu
938
   if test -z "$XMU_LIBS"; then
Sven Neumann's avatar
Sven Neumann committed
939
      AC_CHECK_LIB(Xmu, XmuClientWindow,
940
        [AC_CHECK_HEADERS(X11/Xmu/WinUtil.h,
941
	  have_libxmu=yes
942
          XMU_LIBS="$X_LIBS $X_PRE_LIBS -lX11 -lXmu -lXt",
943
944
	  [have_libxmu="no (XMU header file not found)"],[#include <gdk/gdkx.h>])],
	[have_libxmu="no (XMU library not found)"], -lXt -lX11)
945
      SCREENSHOT_LIBS="$XMU_LIBS"
946
   fi
947

948
   # Check for shaped window extension
949
950
   AC_CHECK_LIB(Xext, XShapeGetRectangles,
     [AC_CHECK_HEADERS(X11/extensions/shape.h,
951
        SCREENSHOT_LIBS="$SCREENSHOT_LIBS -lXext",,[#include <gdk/gdkx.h>])],,
952
953
954
955
     -lX11 -lXext)

   CFLAGS="$gimp_save_CFLAGS"
   LDFLAGS="$gimp_save_LDFLAGS"
Sven Neumann's avatar
Sven Neumann committed
956

957
   # check for the XFixes extension
Sven Neumann's avatar
Sven Neumann committed
958
959
960
   PKG_CHECK_MODULES(XFIXES, xfixes,
      AC_DEFINE(HAVE_XFIXES, 1,
                [Define to 1 to if the XFIXES X extension is available])
961
      SCREENSHOT_LIBS="$SCREENSHOT_LIBS $XFIXES_LIBS",
962
      true)
963
fi
Sven Neumann's avatar
Sven Neumann committed
964

965
966
AC_SUBST(XMU_LIBS)
AC_SUBST(SCREENSHOT_LIBS)
967

968
AC_SUBST(DOC_SHOOTER)
969

970
971
972
973
974
975
976
977
978
979
980
981
982

if test x"$enable_gimp_remote" = xyes; then
  enable_gimp_remote="$have_libxmu"
fi

if test x"$enable_gimp_remote" = xyes; then
  GIMP_REMOTE='gimp-remote-gimp_app_version$(EXEEXT)'
  GIMP_REMOTE_MANPAGE='gimp-remote-gimp_app_version.1'
  GIMP_COMMAND='gimp-remote-gimp_app_version'
else
  GIMP_COMMAND='gimp-gimp_app_version'
fi

983
AC_SUBST(GIMP_REMOTE)
984
AC_SUBST(GIMP_REMOTE_MANPAGE)
985
986
AC_SUBST(GIMP_COMMAND)

987

988
989
990
991
992
993
994
995
996
############
# MIME types
############

# The list of MIME types that are supported by plug-ins that are compiled
# unconditionally:
MIME_TYPES="application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/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"


997
998
999
1000
###################
# Check for libtiff
###################

Sven Neumann's avatar
Sven Neumann committed
1001
AC_ARG_WITH(libtiff,  [  --without-libtiff       build without TIFF support])
1002
1003
1004
1005
1006
1007
1008
1009
1010

have_libtiff=no
if test "x$with_libtiff" != xno && test -z "$TIFF_LIBS"; then
  have_libtiff=yes
  AC_CHECK_LIB(tiff, TIFFReadScanline,
    [AC_CHECK_HEADER(tiffio.h,
      FILE_TIFF_LOAD='file-tiff-load$(EXEEXT)'; FILE_TIFF_SAVE='file-tiff-save$(EXEEXT)'; TIFF_LIBS='-ltiff',
      [have_libtiff="no (TIFF header files not found)"])],
    [AC_CHECK_LIB(tiff, TIFFWriteScanline,
Sven Neumann's avatar
Sven Neumann committed
1011
      [AC_CHECK_HEADER(tiffio.h,
1012
        FILE_TIFF_LOAD='file-tiff-load$(EXEEXT)'; FILE_TIFF_SAVE='file-tiff-save$(EXEEXT)'; TIFF_LIBS='-ltiff -ljpeg -lz',
1013
	[have_libtiff="no (TIFF header files not found)"])],
1014
      [AC_CHECK_LIB(tiff34, TIFFFlushData,
Sven Neumann's avatar
Sven Neumann committed
1015
	[AC_CHECK_HEADER(tiffio.h,
1016
          FILE_TIFF_LOAD='file-tiff-load$(EXEEXT)'; FILE_TIFF_SAVE='file-tiff-save$(EXEEXT)'; TIFF_LIBS='-ltiff34 -ljpeg -lz',
1017
	  [have_libtiff="no (TIFF header files not found)"])],
1018
1019
      [have_libtiff="no (TIFF library not found)"], -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
fi
Sven Neumann's avatar
Sven Neumann committed
1020

1021
1022
if test "x$with_libtiff" != xno && test -z "$TIFF_LIBS"; then
  AC_MSG_ERROR([
1023
*** Checks for TIFF libary failed. You can build without it by passing
Sven Neumann's avatar
Sven Neumann committed
1024
*** --without-libtiff to configure but you won't be able to use TIFFs then.])
1025
fi
Sven Neumann's avatar
Sven Neumann committed
1026

1027
1028
1029
if test "x$have_libtiff" = xyes; then
  MIME_TYPES="$MIME_TYPES;image/tiff"
fi
1030

1031
1032
AC_SUBST(FILE_TIFF_LOAD)
AC_SUBST(FILE_TIFF_SAVE)
1033
AC_SUBST(TIFF_LIBS)
1034
1035
1036
1037
1038


###################
# Check for libjpeg
###################
Sven Neumann's avatar
Sven Neumann committed
1039
1040

AC_ARG_WITH(libjpeg,  [  --without-libjpeg       build without JPEG support])
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050

jpeg_ok=no
if test "x$with_libjpeg" != xno && test -z "$JPEG_LIBS"; then
  AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
    jpeg_ok=yes,
    [jpeg_ok="no (JPEG library not found)"
    AC_MSG_WARN(*** XJT plug-in will not be built (JPEG library not found) ***)])
  if test "$jpeg_ok" = yes; then
    AC_MSG_CHECKING([for jpeglib.h])
    AC_TRY_CPP([
Sven Neumann's avatar
Sven Neumann committed
1051
1052
1053
1054
1055
1056
#include <stdio.h>
#undef HAVE_STDDEF_H
#undef HAVE_STDLIB_H
#undef PACKAGE
#undef VERSION
#include <jpeglib.h>],
1057
1058
1059
1060
1061
1062
1063
1064
1065
      jpeg_ok=yes,
      jpeg_ok="no (Can't include jpeglib.h)")
    AC_MSG_RESULT($jpeg_ok)
    if test "$jpeg_ok" = yes; then
      AC_CHECK_LIB(jpeg, jpeg_save_markers,
      JPEG='jpeg$(EXEEXT)'; JPEG_LIBS='-ljpeg',
      jpeg_ok="no (JPEG library is too old)")
    else
      jpeg_ok="no (JPEG header file not found)"
Sven Neumann's avatar
Sven Neumann committed
1066
1067
    fi
  fi
1068
fi
Sven Neumann's avatar
Sven Neumann committed
1069

1070
1071
if test "x$with_libjpeg" != xno && test -z "$JPEG_LIBS"; then
  AC_MSG_ERROR([
1072
*** Checks for JPEG library failed. You can build without it by passing
Sven Neumann's avatar
Sven Neumann committed
1073
*** --without-libjpeg to configure but you won't be able to use JPEGs then.])
1074
fi
Sven Neumann's avatar
Sven Neumann committed
1075

1076
1077
1078
if test "x$jpeg_ok" = xyes; then
  MIME_TYPES="$MIME_TYPES;image/jpeg"
fi
1079

1080
AM_CONDITIONAL(BUILD_JPEG, test "x$jpeg_ok" = xyes)
1081
AC_SUBST(JPEG_LIBS)
Sven Neumann's avatar
Sven Neumann committed
1082

1083

1084
1085
## xjt does build, but it is more confusing than useful on Win32,
## as it wants to run tar, mv and bzip2, which seldom are available
1086
1087
AM_CONDITIONAL(BUILD_XJT, test "x$jpeg_ok" = xyes && test "x$os_win32" = xno)
if test "x$jpeg_ok" != xyes; then
1088
  have_xjt="no (no JPEG library)"
1089
elif test "x$os_win32" = xyes; then
1090
1091
1092
1093
  have_xjt="no (not built on Windows)"
else
  have_xjt=yes
fi
1094

Sven Neumann's avatar
Sven Neumann committed
1095

1096
1097
1098
1099
################
# Check for libz
################

1100
have_zlib=yes
1101
if test -z "$Z_LIBS"; then
1102
1103
  AC_CHECK_LIB(z, gzsetparams,
    [AC_CHECK_HEADER(zlib.h,
1104
      FILE_PSP='file-psp$(EXEEXT)'; Z_LIBS='-lz',
1105
1106
      [have_zlib="no (ZLIB header files not found)"])],
    [have_zlib="no (ZLIB library not found)"])
1107
1108
fi

1109
1110
1111
1112
if test "x$have_zlib" = xyes; then
  MIME_TYPES="$MIME_TYPES;image/x-psd"
fi

1113
AC_SUBST(FILE_PSP)
1114
AC_SUBST(Z_LIBS)
1115
1116
1117
1118
1119
1120


##################
# Check for libpng
##################

Sven Neumann's avatar
Sven Neumann committed
1121
AC_ARG_WITH(libpng,  [  --without-libpng        build without PNG support])
1122
1123

have_libpng=no
1124
if test "x$with_libpng" != xno; then
1125
  have_libpng=yes
1126
  PKG_CHECK_MODULES(PNG, libpng,
1127
    FILE_PNG='file-png$(EXEEXT)',
1128
    [have_libpng="no (libpng not found)"
Sven Neumann's avatar
Sven Neumann committed
1129
     AC_MSG_ERROR([
1130
1131
1132
*** Checks for PNG library failed. You can build without it by passing
*** --without-libpng to configure but you won't be able to use PNGs then.])])
fi
Sven Neumann's avatar
Sven Neumann committed
1133

1134
1135
1136
1137
if test "x$have_libpng" = xyes; then
  MIME_TYPES="$MIME_TYPES;image/png;image/x-icon"
fi

1138
AC_SUBST(FILE_PNG)
Sven Neumann's avatar
Sven Neumann committed
1139