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

3
AC_PREREQ(2.54)
4

5 6 7 8 9 10
# Making releases:
#   GIMP_MICRO_VERSION += 1;
#   GIMP_INTERFACE_AGE += 1;
#   GIMP_BINARY_AGE += 1;
# if any functions have been added, set GIMP_INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
11
# set GIMP_BINARY_AGE and GIMP_INTERFACE_AGE to 0.
12

13
m4_define([gimp_major_version], [2])
14
m4_define([gimp_minor_version], [1])
15
m4_define([gimp_micro_version], [1])
16 17 18
m4_define([gimp_real_version],
          [gimp_major_version.gimp_minor_version.gimp_micro_version])
m4_define([gimp_version], [gimp_real_version])
19 20
m4_define([gimp_interface_age], [0])
m4_define([gimp_binary_age], [0])
21 22

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

# This is the X.Y used in -lgimp-X.Y
26
m4_define([gimp_api_version], [2.0])
27 28 29

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

38 39
m4_define([gimp_unstable],
          m4_if(m4_eval(gimp_minor_version % 2), [1], [yes], [no]))
40 41
m4_define([gimp_stable],
          m4_if(m4_eval(gimp_minor_version % 2), [0], [yes], [no]))
42 43 44

m4_define([gimp_full_name], [The GIMP])

45
# required versions of other packages
46 47
m4_define([glib_required_version], [2.4.0])
m4_define([gtk_required_version], [2.4.0])
48
m4_define([gdk_pixbuf_required_version], [gtk_required_version])
49
m4_define([pangoft2_required_version], [1.4.0])
50 51 52 53
m4_define([fontconfig_required_version], [2.2.0])
m4_define([gtkdoc_required_version], [1.0])
m4_define([gtkhtml2_required_version], [2.0.0])
m4_define([gimpprint_required_version], [4.2.0])
54
m4_define([gimpprint_suggested_version], [4.2.6])
55 56 57
m4_define([gimpprint_toonew_version], [4.3.0])
m4_define([rsvg_required_version], [2.2.0])
m4_define([wmf_required_version], [0.2.8])
58
m4_define([pygtk_required_version], [1.99.15])
59 60 61 62 63 64 65 66 67

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

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

AM_INIT_AUTOMAKE(no-define)
AM_CONFIG_HEADER(config.h)
Elliot Lee's avatar
Elliot Lee committed
68

69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
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
84 85
GIMP_UNSTABLE=gimp_unstable
GIMP_FULL_NAME="gimp_full_name"
86 87 88
AC_SUBST(GIMP_MAJOR_VERSION)
AC_SUBST(GIMP_MINOR_VERSION)
AC_SUBST(GIMP_MICRO_VERSION)
89 90 91
AC_SUBST(GIMP_INTERFACE_AGE)
AC_SUBST(GIMP_BINARY_AGE)
AC_SUBST(GIMP_API_VERSION)
92
AC_SUBST(GIMP_VERSION)
93 94 95 96 97 98 99 100 101
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)
102 103
AC_SUBST(GIMP_UNSTABLE)
AC_SUBST(GIMP_FULL_NAME)
104

105

106 107 108 109 110 111
dnl The symbol GIMP_UNSTABLE is defined above for substitution in
dnl Makefiles and conditionally defined here as a preprocessor symbol.
if test "x$GIMP_UNSTABLE" = "xyes"; then
  AC_DEFINE(GIMP_UNSTABLE,1,
            [Define to 1 if this is an unstable version of the GIMP])
fi
112

113 114
dnl Choose a desktop icon
if test "x$GIMP_UNSTABLE" = "xyes"; then
Sven Neumann's avatar
Sven Neumann committed
115
  GIMP_DESKTOP_ICON="wilber-devel-icon.png"
116
else
Sven Neumann's avatar
Sven Neumann committed
117
  GIMP_DESKTOP_ICON="wilber-icon.png"
118 119 120 121 122
fi

AC_SUBST(GIMP_DESKTOP_ICON)


123
# libtool versioning
124
m4_define([lt_current], [m4_eval(100 * gimp_minor_version + gimp_micro_version - gimp_interface_age)])
125 126
m4_define([lt_revision], [gimp_interface_age])
m4_define([lt_age], [m4_eval(gimp_binary_age - gimp_interface_age)])
127 128 129
LT_CURRENT=lt_current
LT_REVISION=lt_revision
LT_AGE=lt_age
130 131
LT_VERSION_INFO="lt_current:lt_revision:lt_age"
LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
132 133 134
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
135
AC_SUBST(LT_VERSION_INFO)
136 137
AC_SUBST(LT_CURRENT_MINUS_AGE)

138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
GLIB_REQUIRED_VERSION=glib_required_version
GTK_REQUIRED_VERSION=gtk_required_version
GDK_PIXBUF_REQUIRED_VERSION=gdk_pixbuf_required_version
PANGOFT2_REQUIRED_VERSION=pangoft2_required_version
FONTCONFIG_REQUIRED_VERSION=fontconfig_required_version
GTKDOC_REQUIRED_VERSION=gtkdoc_required_version
GTKHTML2_REQUIRED_VERSION=gtkhtml2_required_version
GIMPPRINT_REQUIRED_VERSION=gimpprint_required_version
GIMPPRINT_TOONEW_VERSION=gimpprint_toonew_version
RSVG_REQUIRED_VERSION=rsvg_required_version
WMF_REQUIRED_VERSION=wmf_required_version
AC_SUBST(GLIB_REQUIRED_VERSION)
AC_SUBST(GTK_REQUIRED_VERSION)
AC_SUBST(GDK_PIXBUF_REQUIRED_VERSION)
AC_SUBST(PANGOFT2_REQUIRED_VERSION)
AC_SUBST(FONTCONFIG_REQUIRED_VERSION)
AC_SUBST(GTKDOC_REQUIRED_VERSION)
AC_SUBST(GTKHTML2_REQUIRED_VERSION)
AC_SUBST(GIMPPRINT_REQUIRED_VERSION)
AC_SUBST(GIMPPRINT_TOONEW_VERSION)
AC_SUBST(RSVG_REQUIRED_VERSION)
AC_SUBST(WMF_REQUIRED_VERSION)

GETTEXT_PACKAGE=gimp20
162

163 164 165 166
GETTEXT_PACKAGE=gimp20
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
                   [The prefix for our gettext translation domains.])
167

Manish Singh's avatar
Manish Singh committed
168

169 170 171 172 173
dnl Initialize libtool
AC_PROG_CC
AM_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
Elliot Lee's avatar
Elliot Lee committed
174

175
AM_PROG_AS
Elliot Lee's avatar
Elliot Lee committed
176

177 178 179 180
dnl Initialize maintainer mode
AM_MAINTAINER_MODE


181 182 183 184 185 186 187 188 189 190 191 192 193 194
###########################
# 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
195
  i*86-*-*)
196 197 198
    have_x86=yes
    AC_DEFINE(ARCH_X86, 1, [Define to 1 if you are compiling for ix86.])
    ;;
Manish Singh's avatar
Manish Singh committed
199 200 201 202 203
  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.])
    ;;
204 205 206 207 208 209 210 211 212
  ppc-*-linux* | powerpc-*)
    have_ppc=yes
    AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
    ;;
  *)
    ;;
esac


213 214 215
#################
# Check for Win32
#################
216

217
AC_MSG_CHECKING([for some Win32 platform])
218 219
case "$target_or_host" in
  *-*-mingw* | *-*-cygwin*)
220 221 222 223 224 225 226 227 228 229
    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])
230
case "$target_or_host" in
231 232 233 234 235 236 237 238 239 240 241 242
  *-*-mingw*)
    os_win32=yes
    PATHSEP=';'
    ;;
  *)
    os_win32=no
    PATHSEP=':'
    ;;
esac
AC_MSG_RESULT([$os_win32])
AC_SUBST(PATHSEP)
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
243
AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
244 245 246 247 248 249

if test "$os_win32" = "yes"; then
  AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
fi
AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)

250 251 252 253 254

###############
# Generic stuff
###############

255 256 257 258 259 260
dnl Checks for programs.
AC_ISC_POSIX
AM_PROG_CC_STDC
AC_PROG_INSTALL
AC_PROG_MAKE_SET

261 262
dnl Large file support for the swap file
AC_SYS_LARGEFILE
263

264
AC_MSG_CHECKING([whether to turn on debugging])
265
AC_ARG_ENABLE(debug,
266
              [  --enable-debug          turn on debugging (default=no)],
267 268 269
              if eval "test x$enable_debug = xyes"; then
                DEBUGFLAG="-g"
              fi)
270

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

292
AC_ARG_ENABLE(ansi,
293
              [  --enable-ansi           turn on strict ansi (default=no)],,
294
              enable_ansi=no)
295

296
changequote(,)dnl
297 298 299 300 301
if eval "test x$GCC = xyes"; then
  case " $CFLAGS " in
  *[\ \	]-Wall[\ \	]*) ;;
  *) CFLAGS="$CFLAGS -Wall" ;;
  esac
Elliot Lee's avatar
Elliot Lee committed
302

303 304 305 306 307
  if test "x$enable_ansi" = "xyes"; then
    case " $CFLAGS " in
    *[\ \	]-ansi[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -ansi" ;;
    esac
308

309 310 311 312
    case " $CFLAGS " in
    *[\ \	]-pedantic[\ \	]*) ;;
    *) CFLAGS="$CFLAGS -pedantic" ;;
    esac
Elliot Lee's avatar
Elliot Lee committed
313 314
  fi
fi
315
changequote([,])dnl
Elliot Lee's avatar
Elliot Lee committed
316

317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343
# Ensure MSVC-compatible struct packing convention is used when
# compiling for Win32 with gcc.
# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
# gcc2 uses "-fnative-struct".
if test x"$os_win32" = xyes; then
  if test x"$GCC" = xyes; then
    msnative_struct=''
    AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
    if test -z "$ac_cv_prog_CC"; then
      our_gcc="$CC"
    else
      our_gcc="$ac_cv_prog_CC"
    fi
    case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
      2.)
	if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
	  msnative_struct='-fnative-struct'
	fi
	;;
      *)
	if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
	  msnative_struct='-mms-bitfields'
	fi
	;;
    esac
    if test x"$msnative_struct" = x ; then
      AC_MSG_RESULT([no way])
Tor Lillqvist's avatar
Tor Lillqvist committed
344
      AC_MSG_WARN([build will be incompatible with GTK+ DLLs])
345 346 347 348 349 350 351
    else
      CFLAGS="$CFLAGS $msnative_struct"
      AC_MSG_RESULT([${msnative_struct}])
    fi
  fi
fi

352 353 354
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"

355

356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
AC_HEADER_DIRENT
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

dnl check some more funcs
AC_CHECK_FUNCS(difftime putenv mmap)


######################
# Internationalisation
######################
376

377 378 379
dnl Note to translators: you MUST have .po files in all 4 directories: po,
dnl po-libgimp, po-plug-ins, and po-script-fu before adding you language
dnl code to ALL_LINGUAS
380
ALL_LINGUAS="ca cs da de el en_CA en_GB es eu fi fr ga gl he hu hr id it ja ko lt ms nl no pl pt pt_BR ro ru sk sr sr@Latn sv tr uk vi yi zh_CN zh_TW"
381

382
AC_PROG_INTLTOOL
383
AM_GLIB_GNU_GETTEXT
384

385

386 387 388
###############################
# Checks for required libraries
###############################
389

390
AM_PATH_GLIB_2_0(glib_required_version, :,
Sven Neumann's avatar
Sven Neumann committed
391 392
  AC_MSG_ERROR(Test for GLIB failed. See the file 'INSTALL' for help.),
  gobject)
Sven Neumann's avatar
Sven Neumann committed
393

394
PKG_CHECK_MODULES(GMODULE, gmodule-2.0 gobject-2.0)
395 396 397
AC_SUBST(GMODULE_CFLAGS)
AC_SUBST(GMODULE_LIBS)

398 399 400 401 402 403 404 405
AC_MSG_CHECKING([if GLib is version 2.5.0 or newer])
if $PKG_CONFIG --atleast-version=2.5.0 glib-2.0; then
  have_glib_2_5=yes
else
  have_glib_2_5=no
fi
AC_MSG_RESULT($have_glib_2_5)

406 407 408 409 410 411 412 413 414
dnl Check for bind_textdomain_codeset, including -lintl if GLib brings it in.
gimp_save_LIBS=$LIBS
LIBS="$LIBS $GLIB_LIBS"
AC_CHECK_FUNCS(bind_textdomain_codeset)
LIBS=$gimp_save_LIBS


AC_PATH_XTRA

415
AM_PATH_GTK_2_0(gtk_required_version, :,
416
    AC_MSG_ERROR(Test for GTK+ failed. See the file 'INSTALL' for help.))
Elliot Lee's avatar
Elliot Lee committed
417

418 419 420
AC_MSG_CHECKING([if GTK+ is version 2.5.0 or newer])
if $PKG_CONFIG --atleast-version=2.5.0 gtk+-2.0; then
  have_gtk_2_5=yes
421
else
422
  have_gtk_2_5=no
423
fi
424
AC_MSG_RESULT($have_gtk_2_5)
425

426
PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gdk_pixbuf_required_version)
427 428
AC_SUBST(GDK_PIXBUF_CFLAGS)
AC_SUBST(GDK_PIXBUF_LIBS)
429

430 431 432 433 434
AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
if test x$GDK_PIXBUF_CSOURCE = xno; then
  AC_MSG_ERROR(Could not find gdk-pixbuf-csource in your PATH)
fi

435 436 437 438
PKG_CHECK_MODULES(LIBART, libart-2.0)
AC_SUBST(LIBART_CFLAGS)
AC_SUBST(LIBART_LIBS)

439 440
PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= fontconfig_required_version)

441
PKG_CHECK_MODULES(PANGOFT2, pangoft2 >= pangoft2_required_version, :,
442 443 444
  AC_MSG_ERROR([Test for PangoFT2 failed.
*** We require Pango with the optional support for FreeType2 compiled in.
*** See the file 'INSTALL' for more help.]))
445 446
AC_SUBST(PANGOFT2_CFLAGS)
AC_SUBST(PANGOFT2_LIBS)
447

448 449 450 451 452 453 454 455
AC_MSG_CHECKING([if Pango is version 1.5.0 or newer])
if $PKG_CONFIG --atleast-version=1.5.0 pango; then
  have_pango_1_5=yes
else
  have_pango_1_5=no
fi
AC_MSG_RESULT($have_pango_1_5)

456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479
gimp_save_CFLAGS=$CFLAGS
CFLAGS="$PANGOFT2_CFLAGS $CFLAGS"

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
*** PangoFT2 is using an older version. This old version is probably in
*** /usr/X11R6. Look at the above output, and note that the result for
*** FONTCONFIG_CFLAGS is not in the result for PANGOFT2_CFLAGS, and that
*** there is likely an extra -I line, other than the ones for GLIB,
*** Freetype, and Pango itself. That's where your old fontconfig files are.
*** Rebuild pango, and make sure that it uses the newer fontconfig. The
*** easiest way be sure of this is to simply get rid of the old fontconfig.
*** When you rebuild pango, make sure the result for FONTCONFIG_CFLAGS is
*** the same as the result here.])
fi
Manish Singh's avatar
Manish Singh committed
480

481 482
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
if test "x$FREETYPE_CONFIG" != "xno" ; then
483
  AC_MSG_CHECKING([for freetype libraries])
484 485 486 487 488 489
  FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
  AC_MSG_RESULT($FREETYPE_LIBS)
fi
AC_SUBST(FREETYPE_LIBS)


490 491 492
##########################################
# Check for some special functions we need
##########################################
Elliot Lee's avatar
Elliot Lee committed
493

David Neary's avatar
ted  
David Neary committed
494 495
AC_CHECK_HEADERS(math.h ieeefp.h)

Manish Singh's avatar
Manish Singh committed
496 497 498 499 500 501 502 503 504 505 506 507 508 509
dnl DU4 native cc currently needs -std1 for ANSI mode (instead of K&R)
AC_MSG_CHECKING([for extra flags to get ANSI library prototypes])
gimp_save_LIBS=$LIBS
LIBS="$LIBS -lm"
AC_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
510 511 512 513
    AC_MSG_WARN([No ANSI prototypes found in library. (-std1 didn't work.)]),
    AC_MSG_RESULT),
  AC_MSG_RESULT())

514 515 516 517 518 519 520 521 522 523 524 525 526 527 528
dnl Check for finite or isfinite
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)

529 530 531 532 533 534 535 536 537 538 539 540 541 542 543
LIBS=$gimp_save_LIBS


dnl NeXTStep cc seems to need this
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.)])))

544 545 546 547 548 549 550
dnl check for rint
AC_CHECK_FUNC(rint, AC_DEFINE(HAVE_RINT, 1,
                              [Define to 1 if you have the rint function.]), [
  AC_CHECK_LIB(m, rint, [
    AC_DEFINE(HAVE_RINT)])])


551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566
######################################################
# 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)


567 568 569
########################
# Check for MMX assembly
########################
Manish Singh's avatar
Manish Singh committed
570

571 572 573 574 575 576
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)],,
577
  enable_sse=$enable_mmx)
578 579 580

if test "x$enable_mmx" = xyes; then

Sven Neumann's avatar
Sven Neumann committed
581
  AC_MSG_CHECKING(whether we can compile MMX code)
582

583 584
  AC_COMPILE_IFELSE([asm ("movq 0, %mm0");],

585 586 587
    AC_DEFINE(USE_MMX, 1, [Define to 1 if MMX assembly is available.])
    AC_MSG_RESULT(yes)

588 589 590 591
    if test "x$enable_sse" = xyes; then

      AC_MSG_CHECKING(whether we can compile SSE code)

592
      AC_COMPILE_IFELSE([asm ("movntps %xmm0, 0");],
593 594
        AC_DEFINE(USE_SSE, 1, [Define to 1 if SSE assembly is available.])
        AC_MSG_RESULT(yes)
595
      ,
596 597 598
        enable_sse=no
        AC_MSG_RESULT(no)
        AC_MSG_WARN([The assembler does not support the SSE command set.])
599
      )
600

601
    fi
602
  ,
603 604
    enable_mmx=no
    AC_MSG_RESULT(no)
605
    AC_MSG_WARN([The assembler does not support the MMX command set.])
606
  )
607

608
fi
609

610 611 612 613 614 615 616 617 618 619 620 621 622

############################
# Check for Altivec assembly
############################

AC_ARG_ENABLE(altivec,
  [  --enable-altivec        enable Altivec support (default=auto)],,
  enable_altivec=$have_ppc)

if test "x$enable_altivec" = xyes; then

  AC_MSG_CHECKING(whether we can compile Altivec code)

623
  AC_COMPILE_IFELSE([asm ("vand %v0, %v0, %v0");],
624 625
    AC_DEFINE(USE_ALTIVEC, 1, [Define to 1 if Altivec assembly is available.])
    AC_MSG_RESULT(yes)
626
  ,
627 628 629
    enable_altivec=no
    AC_MSG_RESULT(no)
    AC_MSG_WARN([The assembler does not support the Altivec command set.])
630
  )
631 632

fi
633

634

635 636 637
###################################
# Checks for shared memory handling
###################################
Sven Neumann's avatar
Sven Neumann committed
638

639
dnl MacOS X has broken SysV shm
640 641
case "$host_os" in
  darwin* | rhapsody* | machten*)
642
    shmdefault=posix
643 644 645 646 647 648 649
    ;;
  *)
    shmdefault=sysv
    ;;
esac

shmtype=auto
650
AC_ARG_WITH(shm, [  --with-shm=none|sysv|posix|auto    shared memory transport type (default=auto)], shmtype=$with_shm)
651 652

case $shmtype in
653
  none|sysv|posix) ;;
654
  auto) shmtype=$shmdefault ;;
655
  *) AC_MSG_ERROR([Invalid shared memory transport type: use none, sysv, posix, or auto.]);;
656 657
esac

658 659 660 661

if test "x$platform_win32" = "xyes"; then
  shmtype=win32
elif test "x$shmtype" = "xsysv"; then
662 663
  AC_CHECK_HEADER(sys/ipc.h,
    [AC_DEFINE(HAVE_IPC_H, 1,
664
               [Define to 1 if you have the <sys/ipc.h> header file.])],
665 666 667 668 669
    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)
670

671 672 673
  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
674 675 676 677 678 679 680
	#include <sys/types.h>
	#include <sys/ipc.h>
	#include <sys/shm.h>
	int main()
	{
	  int id;
	  char *shmaddr;
681
	id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600);
Elliot Lee's avatar
Elliot Lee committed
682 683 684 685 686 687 688 689 690 691 692 693 694
	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);
	}
695 696 697 698 699 700
      ],
      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))
701 702 703 704 705 706

    AC_DEFINE(USE_SYSV_SHM, 1, [Define to 1 to use SYSV shared memory])
  else
    shmtype=none
  fi
elif test "x$shmtype" = "xposix"; then
707 708 709 710 711 712
  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
713
    AC_CHECK_LIB(rt, shm_open, RT_LIBS="-lrt" have_shm_open=yes)
714 715
  fi
  AC_SUBST(RT_LIBS)
716 717 718

  AC_CHECK_HEADER(sys/mman.h,
    [AC_DEFINE(HAVE_MMAN_H, 1,
719
               [Define to 1 if you have the <sys/mman.h> header file.])],
720 721 722
    no_sys_mman=yes)

  if test "$ac_cv_func_mmap" = "yes" &&
723 724
     test "$ac_cv_header_sys_mman_h" = "yes" &&
     test "$have_shm_open" = "yes"; then
725 726 727
    AC_DEFINE(USE_POSIX_SHM, 1, [Define to 1 to use POSIX shared memory])
  else
    shmtype=none
728
  fi
Elliot Lee's avatar
Elliot Lee committed
729 730
fi

731 732
AC_MSG_CHECKING(for shared memory transport type)
AC_MSG_RESULT($shmtype)
733

734

735 736 737 738 739 740
########################
# Define a symbol prefix
########################

AC_MSG_CHECKING([whether symbols are prefixed])

741 742
case "$host_os" in
  mingw*)
743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760
    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)


761 762 763 764
##################################
# Check for regex support in glibc
##################################

765 766 767 768 769 770 771 772 773 774 775 776
AC_MSG_CHECKING(checking for regex in glibc)
AC_TRY_RUN([
#include <features.h>
#include <stdio.h>
#include <regex.h>
int main()
{
#if __GLIBC__ >= 2
  return (0);
#else
  return (1);
#endif
777 778
}], AC_DEFINE(HAVE_GLIBC_REGEX, 1,
              [Define to 1 if glibc has regex support.])
779
    have_glibc_regex=yes
780 781 782
    AC_MSG_RESULT(yes),
    AC_MSG_RESULT(no),
    AC_MSG_RESULT(assuming no))
783
AM_CONDITIONAL(HAVE_GLIBC_REGEX, test x$have_glibc_regex = xyes)
784

785
AC_SUBST(HAVE_GLIBC_REGEX)
Manish Singh's avatar
Manish Singh committed
786

David Neary's avatar
ted  
David Neary committed
787

788 789 790
############################
# Check for select and fdset
############################
Elliot Lee's avatar
Elliot Lee committed
791 792 793 794 795

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)
if test $gimp_ok = no; then
Sven Neumann's avatar
Sven Neumann committed
796
    AC_EGREP_HEADER(fd_mask, sys/select.h, gimp_ok=yes)
Elliot Lee's avatar
Elliot Lee committed
797
    if test $gimp_ok = yes; then
798 799
        AC_DEFINE(HAVE_SYS_SELECT_H, 1,
                  [Define to 1 if you have the <sys/select.h> header.])
Elliot Lee's avatar
Elliot Lee committed
800 801 802 803
    fi
fi
AC_MSG_RESULT($gimp_ok)
if test $gimp_ok = no; then
804 805
    AC_DEFINE(NO_FD_SET, 1,
              [Define to 1 if you don't have the fd_set function.])
Elliot Lee's avatar
Elliot Lee committed
806 807
fi

808 809 810 811

#############################
# Threads and multi processor 
#############################
812

813
dnl AC_ARG_ENABLE(threads, [  --enable-threads    support POSIX threading (default=no)])
Sven Neumann's avatar
Sven Neumann committed
814 815 816 817 818 819 820 821 822 823 824 825
dnl if test "x$enable_threads" = "xyes"; then
dnl   AC_CHECK_LIB(pthread, pthread_attr_init, 
dnl     [AC_DEFINE(USE_PTHREADS)
dnl     GIMP_THREAD_LIBS="-lpthread"
dnl     GIMP_THREAD_FLAGS="-D_REENTRANT"],
dnl     # AIX has libpthreads, cause they're special. Special friends (TM)
dnl     AC_CHECK_LIB(pthreads, pthread_attr_init,
dnl       [AC_DEFINE(USE_PTHREADS)
dnl       GIMP_THREAD_LIBS="-lpthreads"
dnl       GIMP_THREAD_FLAGS="-D_REENTRANT -D_THREAD_SAFE"]))
dnl fi

826 827 828 829
AC_SUBST(GIMP_THREAD_FLAGS)
AC_SUBST(GIMP_THREAD_LIBS)


830
AC_ARG_ENABLE(mp, [  --enable-mp             support multiple processors (default=no)])
Sven Neumann's avatar
Sven Neumann committed
831 832
if test "x$enable_mp" = "xyes"; then
  AC_CHECK_LIB(pthread, pthread_attr_init, 
833 834
    [AC_DEFINE(ENABLE_MP, 1,
	       [Define to 1 to enable support for multiple processors.])
Sven Neumann's avatar
Sven Neumann committed
835 836 837 838 839 840 841 842 843
    GIMP_MP_LIBS="-lpthread"
    GIMP_MP_FLAGS="-D_REENTRANT"],
    # AIX has libpthreads, cause they're special. Special friends (TM)
    AC_CHECK_LIB(pthreads, pthread_attr_init,
      [AC_DEFINE(ENABLE_MP)
      GIMP_MP_LIBS="-lpthreads"
      GIMP_MP_FLAGS="-D_REENTRANT -D_THREAD_SAFE"]))
fi

844 845 846 847 848 849 850
AC_SUBST(GIMP_MP_FLAGS)
AC_SUBST(GIMP_MP_LIBS)


################################
# Some plug-ins are X11 specific
################################
Sven Neumann's avatar
Sven Neumann committed
851 852 853 854

dnl Check if building for GTK+-X11
gdk_target=`$PKG_CONFIG --variable=target gtk+-2.0`
if test "$gdk_target" = x11; then
855
    dnl Test for Xmu
Sven Neumann's avatar
Sven Neumann committed
856
    if test -z "$LIBXMU"; then
857
      gimp_save_CFLAGS="$CFLAGS"
858
      gimp_save_LDFLAGS="$LDFLAGS"
859
      CFLAGS="$CFLAGS $GTK_CFLAGS"
860
      LDFLAGS="$LDFLAGS $X_LIBS"
Sven Neumann's avatar
Sven Neumann committed
861
      AC_CHECK_LIB(Xmu, XmuClientWindow,
862
        [AC_CHECK_HEADERS(X11/Xmu/WinUtil.h,
863
          GIMP_REMOTE='gimp-remote-gimp_app_version';
864
	  have_libxmu=yes
865
          LIBXMU="$X_LIBS $X_PRE_LIBS -lX11 -lXmu -lXt",
866 867
	  [AC_MSG_WARN(*** gimp-remote will not be built (XMU header file not found) ***)],[#include <gdk/gdkx.h>])],
	[AC_MSG_WARN(*** gimp-remote will not be built (XMU library not found) ***)], -lXt)
868
      CFLAGS="$gimp_save_CFLAGS"
869
      LDFLAGS="$gimp_save_LDFLAGS"
Sven Neumann's avatar
Sven Neumann committed
870
    fi
871 872 873

   dnl screenshot plug-in needs to link to X11 explicitely
   LIBSCREENSHOT="$X_LIBS -lX11"
874
fi
Sven Neumann's avatar
Sven Neumann committed
875

876
AC_SUBST(LIBXMU)
877
AC_SUBST(LIBSCREENSHOT)
878 879 880 881 882 883 884
AC_SUBST(GIMP_REMOTE)


###################
# Check for libtiff
###################

Sven Neumann's avatar
Sven Neumann committed
885 886 887 888
AC_ARG_WITH(libtiff,  [  --without-libtiff       build without TIFF support])
  if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
    AC_CHECK_LIB(tiff, TIFFReadScanline,
      [AC_CHECK_HEADER(tiffio.h,
889
	TIFF='tiff$(EXEEXT)'; LIBTIFF='-ltiff',
Sven Neumann's avatar
Sven Neumann committed
890 891 892
	[AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF header files not found) ***)])],
      [AC_CHECK_LIB(tiff, TIFFWriteScanline,
	[AC_CHECK_HEADER(tiffio.h,
893
          TIFF='tiff$(EXEEXT)'; LIBTIFF='-ltiff -ljpeg -lz',
Sven Neumann's avatar
Sven Neumann committed
894 895 896
	  [AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF header files not found) ***)])],
	[AC_CHECK_LIB(tiff34, TIFFFlushData,
	  [AC_CHECK_HEADER(tiffio.h,
897
            TIFF='tiff$(EXEEXT)'; LIBTIFF='-ltiff34 -ljpeg -lz',
Sven Neumann's avatar
Sven Neumann committed
898 899 900 901 902 903 904 905 906 907
	    [AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF header files not found) ***)])],
        [AC_MSG_WARN(*** TIFF plug-in will not be built (TIFF library not found) ***)], -ljpeg -lz -lm)], -ljpeg -lz -lm)], -lm)
  fi

  if test x$with_libtiff != xno && test -z "$LIBTIFF"; then
     AC_MSG_ERROR([
*** Checks for TIFF libary failed. You can build without it by passing 
*** --without-libtiff to configure but you won't be able to use TIFFs then.])
  fi

908 909 910 911 912 913 914
AC_SUBST(TIFF)
AC_SUBST(LIBTIFF)


###################
# Check for libjpeg
###################
Sven Neumann's avatar
Sven Neumann committed
915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935

AC_ARG_WITH(libjpeg,  [  --without-libjpeg       build without JPEG support])
  if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
    AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
      jpeg_ok=yes,
      [jpeg_ok=no
      AC_MSG_WARN(*** JPEG plug-in will not be built (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([
#include <stdio.h>
#undef HAVE_STDDEF_H
#undef HAVE_STDLIB_H
#undef PACKAGE
#undef VERSION
#include <jpeglib.h>],
	jpeg_ok=yes,
	jpeg_ok=no)
      AC_MSG_RESULT($jpeg_ok)
      if test "$jpeg_ok" = yes; then
936
	JPEG='jpeg$(EXEEXT)'; LIBJPEG='-ljpeg'
Sven Neumann's avatar
Sven Neumann committed
937
	AC_CHECK_LIB(jpeg, jpeg_simple_progression,	
938 939
	  AC_DEFINE(HAVE_PROGRESSIVE_JPEG, 1,
                    [Define to 1 if jpeglib supports progressive JPEG.]),
Sven Neumann's avatar
Sven Neumann committed
940 941 942 943 944 945 946 947 948 949 950 951 952 953
	  AC_MSG_WARN(JPEG library does not support progressive saving.))
      else
	AC_MSG_WARN(*** JPEG plug-in will not be built (JPEG header file not found) ***)
        AC_MSG_WARN(*** XJT plug-in will not be built (JPEG header file not found) ***)
      fi
    fi
  fi

  if test x$with_libjpeg != xno && test -z "$LIBJPEG"; then
     AC_MSG_ERROR([
*** Checks for JPEG library failed. You can build without it by passing 
*** --without-libjpeg to configure but you won't be able to use JPEGs then.])
  fi

954 955
AC_SUBST(JPEG)
AC_SUBST(LIBJPEG)
Sven Neumann's avatar
Sven Neumann committed
956

957 958 959 960
## 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
AM_CONDITIONAL(BUILD_XJT, test x$jpeg_ok = xyes && test x"$os_win32" = xno)

Sven Neumann's avatar
Sven Neumann committed
961

962 963 964 965 966 967 968
################
# Check for libz
################

if test -z "$LIBZ"; then
  AC_CHECK_LIB(z, gzsetparams,
    [AC_CHECK_HEADER(zlib.h,
969
      PSP='psp$(EXEEXT)'; LIBZ='-lz',
970 971 972 973 974 975 976 977 978 979 980 981
      [AC_MSG_WARN(*** PSP and PNG plug-ins will not be built (ZLIB header files not found) ***)])],
    [AC_MSG_WARN(*** PSP and PNG plug-ins will not be built (ZLIB library not found) ***)])
fi

AC_SUBST(LIBZ)
AC_SUBST(PSP)


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

Sven Neumann's avatar
Sven Neumann committed
982 983 984 985 986 987 988 989 990 991 992 993 994 995 996
AC_ARG_WITH(libpng,  [  --without-libpng        build without PNG support])
  if test x$with_libpng != xno && test -z "$LIBPNG" && test -n "$LIBZ"; then
    AC_CHECK_LIB(png, png_read_info,
      [AC_CHECK_HEADER(png.h,
	png_ok=yes,
	png_ok=no)],
      [AC_MSG_WARN(*** PNG plug-in will not be built (PNG library not found) ***)], -lz -lm)
    if test "$png_ok" = yes; then
      AC_MSG_CHECKING([for png_structp in png.h])
      AC_TRY_COMPILE([#include <png.h>],
        [png_structp pp; png_infop info; png_colorp cmap; png_create_read_struct;],
        png_ok=yes,
        png_ok=no)
      AC_MSG_RESULT($png_ok)
      if test "$png_ok" = yes; then
997
        PNG='png$(EXEEXT)'; LIBPNG="-lpng $LIBZ"
Sven Neumann's avatar
Sven Neumann committed
998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011
      else
        AC_MSG_WARN(*** PNG plug-in will not be built (PNG library is too old) ***)
      fi
    else
      AC_MSG_WARN(*** PNG plug-in will not be built (PNG header file not found) ***)
    fi
  fi

  if test x$with_libpng != xno && test -z "$LIBPNG"; then
     AC_MSG_ERROR([
*** 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

1012 1013
AC_SUBST(PNG)
AC_SUBST(LIBPNG)
Sven Neumann's avatar
Sven Neumann committed
1014 1015


1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026
##################
# Check for libmng
##################

AC_ARG_WITH(libmng,  [  --without-libmng        build without MNG support])
  if test x$with_libmng != xno && test -z "$LIBMNG" &&
     test -n "$LIBPNG" && test -n "$LIBJPEG" && test -n "$LIBZ"; then
    AC_CHECK_LIB(mng, mng_create,
      [AC_CHECK_HEADER(libmng.h, mng_ok=yes)],
      [AC_MSG_WARN(*** MNG plug-in will not be built (MNG library not found) ***)], -lz -lm)
    if test "$mng_ok" = yes; then
1027
      MNG='mng$(EXEEXT)'; LIBMNG="-lmng $LIBJPEG $LIBPNG"
1028 1029 1030 1031 1032 1033 1034 1035 1036
    else
      AC_MSG_WARN(*** MNG plug-in will not be built (MNG header file not found) ***)
    fi
  fi

AC_SUBST(MNG)
AC_SUBST(LIBMNG)


1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051
############################################################
# libexif: Library to allow exif tags to be read from, and
# saved to, jpeg files. Currently, this permits exif data to
# avoid destruction, but no data modification is performed.
############################################################

AC_ARG_WITH(libexif,  [  --without-libexif       build without EXIF support])
if test x$with_libexif != xno && test -z "$LIBEXIF" && test -n "$LIBJPEG"; then
  PKG_CHECK_MODULES(EXIF, libexif, 
    AC_DEFINE(HAVE_EXIF, 1, "Define to 1 if libexif is available"),
    AC_MSG_WARN([libexif not found!
EXIF support will not be built into the JPEG plug-in. 
libexif is available from http://www.sourceforge.net/projects/libexif]))
fi

1052 1053
AC_SUBST(EXIF_CFLAGS)
AC_SUBST(EXIF_LIBS)
1054

1055 1056 1057
#################
# Check for libaa
#################
1058

1059

1060
AC_ARG_WITH(aa,  [  --without-aa            do not build the AA plug-in])
1061
if test x$with_aa != xno && test -z "$LIBAA"; then
1062 1063
  AC_CHECK_LIB(aa, aa_printf,
    [AC_CHECK_HEADER(aalib.h,
1064
      AA='aa$(EXEEXT)'; LIBAA='-laa',
1065 1066 1067
      [AC_MSG_WARN(*** AA plug-in will not be built (AA header file not found) ***)])],
    [AC_MSG_WARN(*** AA plug-in will not be built (AA library not found) ***)])
fi
1068

1069 1070
AC_SUBST(AA)
AC_SUBST(LIBAA)
1071

1072

1073 1074 1075
##################
# Check for libxpm
##################
1076

1077 1078
gimp_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $X_CFLAGS"
1079 1080 1081 1082
gimp_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $X_LIBS"
if test "$gdk_target" = x11; then
  lib_X11=-lX11
1083
fi
1084 1085 1086
if test -z "$LIBXPM"; then
  AC_CHECK_LIB(Xpm, XpmReadFileToXpmImage,
    [AC_CHECK_HEADER(X11/xpm.h,
1087
      XPM='xpm$(EXEEXT)'; LIBXPM="$X_LIBS $X_PRE_LIBS $lib_X11 -lXpm",
1088 1089
      [AC_MSG_WARN(*** XPM plug-in will not be built (XPM header file not found) ***)])],
    [AC_MSG_WARN(*** XPM plug-in will not be built (XPM library not found) ***)], $X_PRE_LIBS $lib_X11)
Sven Neumann's avatar
Sven Neumann committed
1090
fi
1091
CFLAGS="$gimp_save_CFLAGS"
1092
LDFLAGS="$gimp_save_LDFLAGS"
Sven Neumann's avatar
Sven Neumann committed
1093

1094 1095
AC_SUBST(XPM)
AC_SUBST(LIBXPM)
Sven Neumann's avatar
Sven Neumann committed
1096

1097

1098 1099 1100 1101
####################
# Check for gtkhtml2
####################

1102
PKG_CHECK_MODULES(GTKHTML2, libgtkhtml-2.0 >= gtkhtml2_required_version,
1103
  have_gtkhtml2=yes,
1104 1105 1106
  AC_MSG_WARN([*** Help browser plug-in will not be built (GtkHtml2 not found) ***]))
AC_SUBST(GTKHTML2_CFLAGS)
AC_SUBST(GTKHTML2_LIBS)
1107
AM_CONDITIONAL(BUILD_HELPBROWSER, test x$have_gtkhtml2 = xyes)
1108

1109

Sven Neumann's avatar
Sven Neumann committed
1110 1111 1112 1113
###################
# Check for librsvg
###################

1114
PKG_CHECK_MODULES(SVG, librsvg-2.0 >= rsvg_required_version,
1115
  SVG='svg$(EXEEXT)'
Sven Neumann's avatar
Sven Neumann committed
1116 1117 1118 1119 1120 1121 1122
  LIBSVG=$SVG_LIBS,
  AC_MSG_WARN([*** SVG import plug-in will not be built (librsvg not found) ***]))
AC_SUBST(SVG)
AC_SUBST(SVG_CFLAGS)
AC_SUBST(LIBSVG)


1123 1124 1125
######################
# Check for gimp-print
######################
1126 1127

AC_ARG_ENABLE(print, [  --disable-print         build without print support (requires libgimpprint)])
1128 1129 1130 1131 1132 1133 1134

have_gimp_print=no
if test "x$enable_print" != "xno"; then
  AM_PATH_GIMPPRINT(gimpprint_required_version,
    [print_version=`$GIMPPRINT_CONFIG --version`
      if expr $print_version \>= gimpprint_toonew_version >/dev/null; then
        AC_MSG_WARN([
1135 1136
*** libgimpprint version $print_version is too new.
*** It is likely an unstable development version.
1137
*** You need a version before gimpprint_toonew_version.])
1138
      else
1139
        have_gimp_print=yes