gimp/configure.in

1374 lines
37 KiB
Plaintext

dnl Process this file with autoconf to produce a configure script.
###############
# Sanity checks
###############
# require autoconf 2.54
AC_PREREQ(2.54)
AC_INIT(app/core/gimp.c)
############
# Versioning
############
GLIB_REQUIRED_VERSION=2.2.0
GTK_REQUIRED_VERSION=$GLIB_REQUIRED_VERSION
PANGOFT2_REQUIRED_VERSION=1.2.0
GTKDOC_REQUIRED_VERSION=1.0
GTKHTML2_REQUIRED_VERSION=2.0.0
GIMPPRINT_REQUIRED_VERSION=4.2.0
GIMPPRINT_TOONEW_VERSION=4.3.0
#
# 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,
# set GIMP_BINARY_AGE and GIMP_INTERFACE_AGE to 0.
#
GIMP_MAJOR_VERSION=1
GIMP_MINOR_VERSION=3
GIMP_MICRO_VERSION=20
GIMP_INTERFACE_AGE=0
GIMP_BINARY_AGE=0
GIMP_VERSION=$GIMP_MAJOR_VERSION.$GIMP_MINOR_VERSION.$GIMP_MICRO_VERSION
AC_SUBST(GIMP_MAJOR_VERSION)
AC_SUBST(GIMP_MINOR_VERSION)
AC_SUBST(GIMP_MICRO_VERSION)
AC_SUBST(GIMP_VERSION)
dnl libtool versioning
LT_RELEASE=$GIMP_MAJOR_VERSION.$GIMP_MINOR_VERSION
LT_CURRENT=`expr $GIMP_MICRO_VERSION - $GIMP_INTERFACE_AGE`
LT_REVISION=$GIMP_INTERFACE_AGE
LT_AGE=`expr $GIMP_BINARY_AGE - $GIMP_INTERFACE_AGE`
LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
AC_SUBST(LT_CURRENT_MINUS_AGE)
#####################
# Initialize automake
#####################
VERSION=$GIMP_VERSION
PACKAGE=gimp
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
dnl Specify a configuration file
AM_CONFIG_HEADER(config.h)
dnl Initialize maintainer mode
AM_MAINTAINER_MODE
# Honor aclocal flags
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
####################
# Initialize libtool
####################
dnl Initialize libtool
AC_PROG_CC
AC_LIBTOOL_WIN32_DLL
AC_PROG_LIBTOOL
###########################
# 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
i*86-*-*)
have_x86=yes
AC_DEFINE(ARCH_X86, 1, [Define to 1 if you are compiling for ix86.])
;;
ppc-*-linux* | powerpc-*)
have_ppc=yes
AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
;;
*)
;;
esac
#################
# Check for Win32
#################
AC_MSG_CHECKING([for some Win32 platform])
case "$target_or_host" in
*-*-mingw* | *-*-cygwin*)
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])
case "$target_or_host" in
*-*-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")
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)
###############
# Generic stuff
###############
dnl Checks for programs.
AC_ISC_POSIX
AM_PROG_CC_STDC
AM_PROG_AS
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_CPP
dnl Large file support for the swap file
AC_SYS_LARGEFILE
AC_MSG_CHECKING([whether to turn on debugging])
AC_ARG_ENABLE(debug,
[ --enable-debug turn on debugging (default=no)],
if eval "test x$enable_debug = xyes"; then
DEBUGFLAG="-g"
fi)
if test -n "$DEBUGFLAG"; then
AC_MSG_RESULT([yes])
CFLAGS="$DEBUGFLAG $CFLAGS"
else
AC_MSG_RESULT([no])
fi
AC_MSG_CHECKING([whether to turn on profiling])
AC_ARG_ENABLE(profile,
[ --enable-profile turn on profiling (default=no)],
if eval "test x$enable_profile = xyes"; then
PROFFLAG="-pg"
fi)
if test -n "$PROFFLAG"; then
AC_MSG_RESULT([yes])
CFLAGS="$PROFFLAG $CFLAGS"
else
AC_MSG_RESULT([no])
fi
AC_ARG_ENABLE(ansi,
[ --enable-ansi turn on strict ansi (default=no)],,
enable_ansi=no)
if eval "test x$GCC = xyes"; then
case " $CFLAGS " in
*[\ \ ]-Wall[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -Wall" ;;
esac
if test "x$enable_ansi" = "xyes"; then
case " $CFLAGS " in
*[\ \ ]-ansi[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -ansi" ;;
esac
case " $CFLAGS " in
*[\ \ ]-pedantic[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -pedantic" ;;
esac
fi
fi
# Ensure MSVC-compatible struct packing convention is used when
# compiling for Win32 with gcc.
# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
# gcc2 uses "-fnative-struct".
if test x"$os_win32" = xyes; then
if test x"$GCC" = xyes; then
msnative_struct=''
AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
if test -z "$ac_cv_prog_CC"; then
our_gcc="$CC"
else
our_gcc="$ac_cv_prog_CC"
fi
case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
2.)
if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
msnative_struct='-fnative-struct'
fi
;;
*)
if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
msnative_struct='-mms-bitfields'
fi
;;
esac
if test x"$msnative_struct" = x ; then
AC_MSG_RESULT([no way])
AC_MSG_WARN([build will be incompatible with GTK+ DLLs])
else
CFLAGS="$CFLAGS $msnative_struct"
AC_MSG_RESULT([${msnative_struct}])
fi
fi
fi
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
######################
GETTEXT_PACKAGE=gimp20
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
[The prefix for our gettext translation domains.])
ALL_LINGUAS="ca cs da de el en_GB es fi fr ga gl he hu hr id it ja ko nl no pl pt pt_BR ro ru sk sr sr@Latn sv tr uk vi yi zh_CN zh_TW"
AC_PROG_INTLTOOL
AM_GLIB_GNU_GETTEXT
###############################
# Checks for required libraries
###############################
AM_PATH_GLIB_2_0($GLIB_REQUIRED_VERSION,,
AC_MSG_ERROR(Test for GLIB failed. See the file 'INSTALL' for help.),
gobject)
PKG_CHECK_MODULES(GMODULE, gmodule-2.0)
AC_SUBST(GMODULE_CFLAGS)
AC_SUBST(GMODULE_LIBS)
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
dnl Additional test for GTK+ 2.2.2. We want to avoid bug reports
dnl related to XInput support (known to be broken in 2.2.1) but we do
dnl not want to make the upgrade mandatory yet. The extra test can
dnl be removed once GTK+ 2.2.2 or later becomes mandatory (this is
dnl planned for the next stable release).
AM_PATH_GTK_2_0(2.2.2,gimp_broken_gtk=no,gimp_broken_gtk=yes)
if test x$gimp_broken_gtk = xyes; then
AM_PATH_GTK_2_0($GTK_REQUIRED_VERSION,
AC_MSG_WARN([Please upgrade your GTK+ installation!
*** The GTK+ version you are using is too old.
*** Please upgrade to GTK+ version 2.2.2 or better
*** or your extended input devices (tablets) will not
*** work at all!]),
AC_MSG_ERROR(Test for GTK failed. See the file 'INSTALL' for help.))
fi
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
PKG_CHECK_MODULES(LIBART, libart-2.0)
AC_SUBST(LIBART_CFLAGS)
AC_SUBST(LIBART_LIBS)
PKG_CHECK_MODULES(PANGOFT2, pangoft2 >= $PANGOFT2_REQUIRED_VERSION,,
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.]))
AC_SUBST(PANGOFT2_CFLAGS)
AC_SUBST(PANGOFT2_LIBS)
PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 1.0.1, have_fontconfig=true, :)
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
if test "x$FREETYPE_CONFIG" != "xno" ; then
AC_MSG_CHECKING(FREETYPE_LIBS)
FREETYPE_LIBS=`$FREETYPE_CONFIG --libs`
AC_MSG_RESULT($FREETYPE_LIBS)
fi
AC_SUBST(FREETYPE_LIBS)
##########################################
# Check for some special functions we need
##########################################
AC_CHECK_HEADERS(math.h ieeefp.h)
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
AC_MSG_WARN([No ANSI prototypes found in library. (-std1 didn't work.)]),
AC_MSG_RESULT),
AC_MSG_RESULT())
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)
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.)])))
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)])])
######################################################
# 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)
########################
# Check for MMX assembly
########################
AC_ARG_ENABLE(mmx,
[ --enable-mmx enable MMX support (default=auto)],,
enable_mmx=$have_x86)
AC_ARG_ENABLE(sse,
[ --enable-sse enable SSE support (default=auto)],,
enable_sse=$enable_mmx)
if test "x$enable_mmx" = xyes; then
AC_MSG_CHECKING(whether we can compile MMX code)
AC_COMPILE_IFELSE([asm ("movq 0, %mm0");],
AC_DEFINE(USE_MMX, 1, [Define to 1 if MMX assembly is available.])
AC_MSG_RESULT(yes)
if test "x$enable_sse" = xyes; then
AC_MSG_CHECKING(whether we can compile SSE code)
AC_COMPILE_IFELSE([asm ("movntps %xmm0, 0");],
AC_DEFINE(USE_SSE, 1, [Define to 1 if SSE assembly is available.])
AC_MSG_RESULT(yes)
,
enable_sse=no
AC_MSG_RESULT(no)
AC_MSG_WARN([The assembler does not support the SSE command set.])
)
fi
,
enable_mmx=no
AC_MSG_RESULT(no)
AC_MSG_WARN([The assembler does not support the MMX command set.])
)
fi
############################
# Check for Altivec assembly
############################
AC_ARG_ENABLE(altivec,
[ --enable-altivec enable Altivec support (default=auto)],,
enable_altivec=$have_ppc)
if test "x$enable_altivec" = xyes; then
AC_MSG_CHECKING(whether we can compile Altivec code)
AC_COMPILE_IFELSE([asm ("vand %v0, %v0, %v0");],
AC_DEFINE(USE_ALTIVEC, 1, [Define to 1 if Altivec assembly is available.])
AC_MSG_RESULT(yes)
,
enable_altivec=no
AC_MSG_RESULT(no)
AC_MSG_WARN([The assembler does not support the Altivec command set.])
)
fi
###################################
# Checks for shared memory handling
###################################
dnl MacOS X has broken SysV shm
case "$host_os" in
darwin* | rhapsody* | machten*)
# We can put something else here when something that works is implemented
shmdefault=none
;;
*)
shmdefault=sysv
;;
esac
shmtype=auto
AC_ARG_WITH(shm, [ --with-shm=none|sysv|auto shared memory transport type (default=auto)], shmtype=$with_shm)
case $shmtype in
none|sysv) ;;
auto) shmtype=$shmdefault ;;
*) AC_MSG_ERROR([Invalid shared memory transport type: use none, sysv, or auto.]);;
esac
if test "x$shmtype" = "xsysv"; then
AC_CHECK_HEADER(sys/ipc.h,
[AC_DEFINE(HAVE_IPC_H, 1,
[Define to 1 if you have the <sys/ipc.h> heacder file.])],
no_sys_ipc=yes)
AC_CHECK_HEADER(sys/shm.h,
[AC_DEFINE(HAVE_SHM_H, 1,
[Define to 1 if you have the <sys/shm.h> header file.])],
no_sys_shm=yes)
if test "$ac_cv_header_sys_shm_h" = "yes"; then
AC_MSG_CHECKING(whether shmctl IPC_RMID allowes subsequent attaches)
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int main()
{
int id;
char *shmaddr;
id = shmget (IPC_PRIVATE, 4, IPC_CREAT | 0600);
if (id == -1)
exit (2);
shmaddr = shmat (id, 0, 0);
shmctl (id, IPC_RMID, 0);
if ((char*) shmat (id, 0, 0) == (char*) -1)
{
shmdt (shmaddr);
exit (1);
}
shmdt (shmaddr);
shmdt (shmaddr);
exit (0);
}
],
AC_DEFINE(IPC_RMID_DEFERRED_RELEASE, 1,
[Define to 1 if shared memory segments are released deferred.])
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no),
AC_MSG_RESULT(assuming no))
fi
fi
##################################
# Check for regex support in glibc
##################################
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
}], AC_DEFINE(HAVE_GLIBC_REGEX, 1,
[Define to 1 if glibc has regex support.])
have_glibc_regex=yes
AC_MSG_RESULT(yes),
AC_MSG_RESULT(no),
AC_MSG_RESULT(assuming no))
AM_CONDITIONAL(HAVE_GLIBC_REGEX, test x$have_glibc_regex = xyes)
AC_SUBST(HAVE_GLIBC_REGEX)
############################
# Check for select and fdset
############################
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
AC_EGREP_HEADER(fd_mask, sys/select.h, gimp_ok=yes)
if test $gimp_ok = yes; then
AC_DEFINE(HAVE_SYS_SELECT_H, 1,
[Define to 1 if you have the <sys/select.h> header.])
fi
fi
AC_MSG_RESULT($gimp_ok)
if test $gimp_ok = no; then
AC_DEFINE(NO_FD_SET, 1,
[Define to 1 if you don't have the fd_set function.])
fi
#############################
# Threads and multi processor
#############################
dnl AC_ARG_ENABLE(threads, [ --enable-threads support POSIX threading (default=no)])
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
AC_SUBST(GIMP_THREAD_FLAGS)
AC_SUBST(GIMP_THREAD_LIBS)
AC_ARG_ENABLE(mp, [ --enable-mp support multiple processors (default=no)])
if test "x$enable_mp" = "xyes"; then
AC_CHECK_LIB(pthread, pthread_attr_init,
[AC_DEFINE(ENABLE_MP, 1,
[Define to 1 to enable support for multiple processors.])
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
AC_SUBST(GIMP_MP_FLAGS)
AC_SUBST(GIMP_MP_LIBS)
################################
# Some plug-ins are X11 specific
################################
dnl Check if building for GTK+-X11
gdk_target=`$PKG_CONFIG --variable=target gtk+-2.0`
if test "$gdk_target" = x11; then
dnl Test for Xmu
if test -z "$LIBXMU"; then
gimp_save_CFLAGS="$CFLAGS"
gimp_save_LDFLAGS="$LDFLAGS"
CFLAGS="$CFLAGS $X_CFLAGS"
LDFLAGS="$LDFLAGS $X_LIBS"
AC_CHECK_LIB(Xmu, XmuClientWindow,
[AC_CHECK_HEADER(X11/Xmu/WinUtil.h,
GIMP_REMOTE='gimp-remote-1.3';
have_libxmu=yes
LIBXMU="$X_LIBS $X_PRE_LIBS -lX11 -lXmu -lXt",
[AC_MSG_WARN(*** webbrowser plug-in and gimp-remote will not be built (XMU header file not found) ***)])],
[AC_CHECK_LIB(Xmu, XmuUpdateMapHints,
[AC_CHECK_HEADER(X11/Xmu/WinUtil.h,
GIMP_REMOTE='gimp-remote-1.3';
have_libxmu=yes
LIBXMU="$X_LIBS $X_PRE_LIBS -lX11 -lXmu -lXt",
[AC_MSG_WARN(*** webbrowser plug-in and gimp-remote will not be built (XMU header file not found) ***)])],
AC_MSG_WARN(*** webbrowser plug-in and gimp-remote will not be built (XMU library not found) ***), -lXt)], -lXt)
CFLAGS="$gimp_save_CFLAGS"
LDFLAGS="$gimp_save_LDFLAGS"
fi
fi
AC_SUBST(LIBXMU)
AC_SUBST(GIMP_REMOTE)
## webbrowser has ifdefs for Win32
AM_CONDITIONAL(BUILD_WEBBROWSER,
test x"$have_libxmu" = xyes || test x"$os_win32" = xyes)
###################
# Check for libtiff
###################
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,
TIFF='tiff'; LIBTIFF='-ltiff',
[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,
TIFF='tiff'; LIBTIFF='-ltiff -ljpeg -lz',
[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,
TIFF='tiff'; LIBTIFF='-ltiff34 -ljpeg -lz',
[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
AC_SUBST(TIFF)
AC_SUBST(LIBTIFF)
###################
# Check for libjpeg
###################
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
JPEG='jpeg'; LIBJPEG='-ljpeg'
AC_CHECK_LIB(jpeg, jpeg_simple_progression,
AC_DEFINE(HAVE_PROGRESSIVE_JPEG, 1,
[Define to 1 if jpeglib supports progressive JPEG.]),
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
AC_SUBST(JPEG)
AC_SUBST(LIBJPEG)
## 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)
################
# Check for libz
################
if test -z "$LIBZ"; then
AC_CHECK_LIB(z, gzsetparams,
[AC_CHECK_HEADER(zlib.h,
PSP='psp'; LIBZ='-lz',
[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
##################
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
PNG='png'; LIBPNG="-lpng $LIBZ"
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
AC_SUBST(PNG)
AC_SUBST(LIBPNG)
##################
# 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
MNG='mng'; LIBMNG="-lmng $LIBJPEG $LIBPNG"
else
AC_MSG_WARN(*** MNG plug-in will not be built (MNG header file not found) ***)
fi
fi
AC_SUBST(MNG)
AC_SUBST(LIBMNG)
############################################################
# 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
#################
# Check for libaa
#################
AC_ARG_WITH(aa, [ --without-aa do not build the AA plug-in])
if test x$with_aa != xno && test -z "$LIBAA"; then
AC_CHECK_LIB(aa, aa_printf,
[AC_CHECK_HEADER(aalib.h,
AA='aa'; LIBAA='-laa',
[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
AC_SUBST(AA)
AC_SUBST(LIBAA)
##################
# Check for libxpm
##################
gimp_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $X_CFLAGS"
gimp_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $X_LIBS"
if test "$gdk_target" = x11; then
lib_X11=-lX11
fi
if test -z "$LIBXPM"; then
AC_CHECK_LIB(Xpm, XpmReadFileToXpmImage,
[AC_CHECK_HEADER(X11/xpm.h,
XPM='xpm'; LIBXPM="$X_LIBS $X_PRE_LIBS $lib_X11 -lXpm",
[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)
fi
CFLAGS="$gimp_save_CFLAGS"
LDFLAGS="$gimp_save_LDFLAGS"
AC_SUBST(XPM)
AC_SUBST(LIBXPM)
####################
# Check for gtkhtml2
####################
PKG_CHECK_MODULES(GTKHTML2, libgtkhtml-2.0 >= $GTKHTML2_REQUIRED_VERSION,
have_gtkhtml2=yes,
AC_MSG_WARN([*** Help browser plug-in will not be built (GtkHtml2 not found) ***]))
AC_SUBST(GTKHTML2_CFLAGS)
AC_SUBST(GTKHTML2_LIBS)
AM_CONDITIONAL(BUILD_HELPBROWSER, test x$have_gtkhtml2 = xyes)
######################
# Check for gimp-print
######################
AC_ARG_ENABLE(print, [ --disable-print build without print support (requires libgimpprint)])
if test "x$enable_print" != "xno"; then
AC_PATH_PROG(PRINT_CONFIG, gimpprint-config, no)
if test "x$PRINT_CONFIG" != "xno"; then
AC_MSG_CHECKING(for appropriate gimpprint library)
print_version=`$PRINT_CONFIG --version`
if expr $print_version \>= $GIMPPRINT_REQUIRED_VERSION >/dev/null; then
if expr $print_version \< $GIMPPRINT_TOONEW_VERSION >/dev/null; then
AC_MSG_RESULT([yes (version $print_version)])
have_gimp_print=yes
PRINT_LIBS=`$PRINT_CONFIG --libs`
PRINT_CFLAGS=`$PRINT_CONFIG --cflags`
else
AC_MSG_WARN([
*** libgimpprint version $print_version is too new.
*** It is likely an unstable development version.
*** You need a version before $GIMPPRINT_TOONEW_VERSION.])
fi
else
AC_MSG_WARN([
*** libgimpprint version $print_version is too old.
*** You need at least version $GIMPPRINT_REQUIRED_VERSION.])
fi
fi
fi
if test x$enable_print != xno && test x$have_gimp_print != xyes; then
AC_MSG_ERROR([
*** Check for libgimpprint failed. You can download it from
*** http://gimp-print.sourceforge.net/ or you can build without it by passing
*** --disable-print to configure (but you won't be able to print then).])
fi
AC_SUBST(PRINT_LIBS)
AC_SUBST(PRINT_CFLAGS)
AM_CONDITIONAL(BUILD_PRINT,
test x$enable_print != xno && test x$have_gimp_print = xyes)
############################################################
# GIF compression: Allow builder to specify at compile time
# which compression style she wants to use for GIFs.
# LZW: Unisys patented Lempel-Ziff encoding.
# RLE: Runlength encoding (produces files about twice as big
# as the LZW compressed equivalent).
# None: Raw data.
############################################################
AC_ARG_WITH(gif-compression,
[ --with-gif-compression=lzw|rle|none GIF compression style (default=lzw)])
case x"$with_gif_compression" in
xnone)
AC_DEFINE(GIF_UN, 1, [Define to 1 for no GIF compression]) ;;
xrle)
AC_DEFINE(GIF_RLE, 1, [Define to 1 for RLE GIF compression]) ;;
esac
####################
# Check for sendmail
####################
AC_ARG_WITH(sendmail,[ --with-sendmail=DIR set sendmail command location])
if test "x$with_sendmail" != "x"; then
sendmail_path=$with_sendmail
else
sendmail_path=$PATH:/usr/sbin:/usr/lib
fi
AC_PATH_PROG(SENDMAIL, sendmail, , $sendmail_path)
if test "x$SENDMAIL" != "x"; then
AC_DEFINE_UNQUOTED(SENDMAIL, "$SENDMAIL",
[The MTA used by the mail plug-in.])
fi
################
# Check for perl
################
AC_ARG_WITH(pdbgen,
[ --with-pdbgen use 'pdbgen' code generation tool],,
with_pdbgen=$enable_maintainer_mode)
if test "x$with_pdbgen" = xyes ; then
AC_PATH_PROGS(PERL,perl5 perl perl5.005 perl5.004,perl)
fi
AM_CONDITIONAL(WITH_PDBGEN, test x$with_pdbgen = xyes)
AM_CONDITIONAL(WITH_AUTHORSGEN, test x$enable_maintainer_mode = xyes)
##################
# Check for python
##################
dnl Pygimp configure stuff ...
AC_ARG_ENABLE(python,
AC_HELP_STRING([--enable-python],
[build python extension (by default disabled)]),,
[enable_python=no])
if test "x$enable_python" != xno; then
dnl check for Python
AM_PATH_PYTHON(2.2)
AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)])
dnl check for PyGTK
PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= 1.99.12)
AC_SUBST(PYGTK_CFLAGS)
fi
AM_CONDITIONAL(BUILD_PYTHON, test "x$enable_python" != xno)
###########################################################
# Some plug-ins don't build on Win32, others are Win32-only
###########################################################
if test x"$os_win32" = xyes; then
WINCLIPBOARD='winclipboard'
WINPRINT='winprint'
else
BZ2='bz2'
MAIL='mail'
SCREENSHOT='screenshot'
URL='url'
fi
AC_SUBST(BZ2)
AC_SUBST(MAIL)
AC_SUBST(SCREENSHOT)
AC_SUBST(URL)
AC_SUBST(WINCLIPBOARD)
AC_SUBST(WINPRINT)
##########################################################
# Determine where to install the desktop & mime info files
##########################################################
AC_ARG_WITH(desktop-dir, [ --with-desktop-dir=PATH where to install desktop files (default=PREFIX/share)])
if test "x$with_desktop_dir" != x; then
DESKTOP_DATADIR=$with_desktop_dir
else
DESKTOP_DATADIR="$datadir"
fi
AM_CONDITIONAL(DESKTOP_DATADIR, test "x$with_desktop_dir" != xno)
AC_SUBST(DESKTOP_DATADIR)
######################################
# Checks for gtk-doc and docbook-tools
######################################
AC_ARG_WITH(html-dir, [ --with-html-dir=PATH path to installed docs ])
if test "x$with_html_dir" = "x" ; then
HTML_DIR='${datadir}/gtk-doc/html'
else
HTML_DIR=$with_html_dir
fi
AC_SUBST(HTML_DIR)
AC_CHECK_PROG(GTKDOC, gtkdoc-mkdb, true, false)
if $GTKDOC ; then
gtk_doc_version=`gtkdoc-mkdb --version`
AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $GTKDOC_REQUIRED_VERSION])
IFS="${IFS= }"; gimp_save_IFS="$IFS"; IFS="."
set $gtk_doc_version
for min in $gtk_doc_min_version ; do
cur=$1; shift
if test -z $min ; then break; fi
if test -z $cur ; then GTKDOC=false; break; fi
if test $cur -gt $min ; then break ; fi
if test $cur -lt $min ; then GTKDOC=false; break ; fi
done
IFS="$gimp_save_IFS"
if $GTKDOC ; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
GTKDOC=false
fi
fi
dnl Make people enable the gtk-doc stuff explicitely.
AC_ARG_ENABLE(gtk-doc, [ --enable-gtk-doc use gtk-doc to build documentation (default=no)], enable_gtk_doc="$enableval", enable_gtk_doc=auto)
if test x$enable_gtk_doc = xyes ; then
if test x$GTKDOC != xtrue ; then
enable_gtk_doc=no
fi
fi
dnl NOTE: We need to use a separate automake conditional for this
dnl to make this work with the tarballs.
AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
#########################################
# Allow to configure the gimp environment
#########################################
AC_ARG_ENABLE(default-binary, [ --enable-default-binary install this as the default gimp binary (default=no)], , enable_default_binary=no)
AM_CONDITIONAL(DEFAULT_BINARY, test x$enable_default_binary = xyes)
dnl Possibly change default gimpdir from .gimp-major.minor
gimpdir=.$PACKAGE-$GIMP_MAJOR_VERSION.$GIMP_MINOR_VERSION
AC_ARG_ENABLE(gimpdir, [ --enable-gimpdir=DIR change default gimpdir from .gimp-1.3 to DIR],
if eval "test x$enable_gimpdir != x"; then
if eval "test x$enable_gimpdir != xyes"; then
gimpdir=$enable_gimpdir
fi
fi)
gimpdatadir=$datadir/$PACKAGE/$GIMP_MAJOR_VERSION.$GIMP_MINOR_VERSION
gimpplugindir=$libdir/$PACKAGE/$GIMP_MAJOR_VERSION.$GIMP_MINOR_VERSION
gimpsysconfdir=$sysconfdir/$PACKAGE/$GIMP_MAJOR_VERSION.$GIMP_MINOR_VERSION
localedir='${prefix}/${DATADIRNAME}/locale'
AC_SUBST(gimpdir)
AC_SUBST(gimpdatadir)
AC_SUBST(gimpplugindir)
AC_SUBST(gimpsysconfdir)
AC_SUBST(localedir)
############################
# Some defines for the build
############################
GIMPINSTALL=
if test "$INSTALL" = "$ac_install_sh"; then
GIMPINSTALL="gimpinstall-1.3"
fi
AC_SUBST(GIMPINSTALL)
AM_CONDITIONAL(STATICLIBS, test x$enable_static = xyes)
dnl a tuned version of glib-mkenums
GIMP_MKENUMS="\$(top_srcdir)/tools/gimp-mkenums"
AC_SUBST(GIMP_MKENUMS)
##########################################
# Default to disable deprecated GTK+ stuff
##########################################
CPPFLAGS="${CPPFLAGS} -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
##################
# configure output
##################
dnl easy way to skip the plug-in build
GIMP_PLUGINS=plug-ins
GIMP_MODULES=modules
AC_SUBST(GIMP_PLUGINS)
AC_SUBST(GIMP_MODULES)
AC_CONFIG_COMMANDS([libgimp/gimpversion.h], [
outfile=gimpversion.h-tmp
cat > $outfile <<\_______EOF
/* gimpversion.h
*
* This is a generated file. Please modify 'configure.in'
*/
#ifndef __GIMP_VERSION_H__
#define __GIMP_VERSION_H__
G_BEGIN_DECLS
_______EOF
cat >>$outfile <<_______EOF
#define GIMP_MAJOR_VERSION ($gimp_major_ver)
#define GIMP_MINOR_VERSION ($gimp_minor_ver)
#define GIMP_MICRO_VERSION ($gimp_micro_ver)
#define GIMP_VERSION "$gimp_ver"
_______EOF
cat >>$outfile <<\_______EOF
#define GIMP_CHECK_VERSION(major, minor, micro) \
(GIMP_MAJOR_VERSION > (major) || \
(GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION > (minor)) || \
(GIMP_MAJOR_VERSION == (major) && GIMP_MINOR_VERSION == (minor) && \
GIMP_MICRO_VERSION >= (micro)))
G_END_DECLS
#endif /* __GIMP_VERSION_H__ */
_______EOF
if cmp -s $outfile libgimpbase/gimpversion.h; then
AC_MSG_NOTICE([libgimpbase/gimpversion.h is unchanged])
rm -f $outfile
else
mv $outfile libgimpbase/gimpversion.h
fi
],[
gimp_major_ver="$GIMP_MAJOR_VERSION"
gimp_minor_ver="$GIMP_MINOR_VERSION"
gimp_micro_ver="$GIMP_MICRO_VERSION"
gimp_ver="$GIMP_VERSION"
])
AC_CONFIG_FILES([
gimptool-win32.c
tools/Makefile
tools/authorsgen/Makefile
tools/pdbgen/Makefile
regexrepl/Makefile
libgimp/Makefile
libgimpbase/Makefile
libgimpcolor/Makefile
libgimpmath/Makefile
libgimpmodule/Makefile
libgimpwidgets/Makefile
app/Makefile
app/base/Makefile
app/config/Makefile
app/core/Makefile
app/display/Makefile
app/file/Makefile
app/gui/Makefile
app/paint/Makefile
app/paint-funcs/Makefile
app/composite/Makefile
app/pdb/Makefile
app/plug-in/Makefile
app/text/Makefile
app/tools/Makefile
app/vectors/Makefile
app/widgets/Makefile
app/xcf/Makefile
plug-ins/Makefile
plug-ins/libgck/Makefile
plug-ins/libgck/gck/Makefile
plug-ins/dbbrowser/Makefile
plug-ins/script-fu/Makefile
plug-ins/script-fu/scripts/Makefile
plug-ins/webbrowser/Makefile
plug-ins/xjt/Makefile
plug-ins/FractalExplorer/Makefile
plug-ins/FractalExplorer/fractalexplorer-examples/Makefile
plug-ins/Lighting/Makefile
plug-ins/MapObject/Makefile
plug-ins/bmp/Makefile
plug-ins/common/Makefile
plug-ins/faxg3/Makefile
plug-ins/fits/Makefile
plug-ins/flame/Makefile
plug-ins/fp/Makefile
plug-ins/gfig/Makefile
plug-ins/gfig/gfig-examples/Makefile
plug-ins/gfig/images/Makefile
plug-ins/gflare/Makefile
plug-ins/gflare/gflares/Makefile
plug-ins/gfli/Makefile
plug-ins/gimpressionist/Makefile
plug-ins/gimpressionist/Brushes/Makefile
plug-ins/gimpressionist/Paper/Makefile
plug-ins/gimpressionist/Presets/Makefile
plug-ins/helpbrowser/Makefile
plug-ins/ifscompose/Makefile
plug-ins/imagemap/Makefile
plug-ins/maze/Makefile
plug-ins/mosaic/Makefile
plug-ins/pagecurl/Makefile
plug-ins/print/Makefile
plug-ins/pygimp/Makefile
plug-ins/pygimp/doc/Makefile
plug-ins/pygimp/plug-ins/Makefile
plug-ins/rcm/Makefile
plug-ins/sel2path/Makefile
plug-ins/sgi/Makefile
plug-ins/twain/Makefile
plug-ins/winsnap/Makefile
modules/Makefile
devel-docs/Makefile
devel-docs/app/Makefile
devel-docs/app/version.xml
devel-docs/libgimp/Makefile
devel-docs/libgimp/version.xml
devel-docs/libgimpbase/Makefile
devel-docs/libgimpbase/version.xml
devel-docs/libgimpcolor/Makefile
devel-docs/libgimpcolor/version.xml
devel-docs/libgimpmath/Makefile
devel-docs/libgimpmath/version.xml
devel-docs/libgimpmodule/Makefile
devel-docs/libgimpmodule/version.xml
devel-docs/libgimpwidgets/Makefile
devel-docs/libgimpwidgets/version.xml
docs/Makefile
docs/gimp-1.3.1
docs/gimprc-1.3.5
docs/gimptool-1.3.1
docs/gimp-remote-1.3.1
tips/Makefile
cursors/Makefile
themes/Makefile
themes/Default/Makefile
themes/Default/images/Makefile
themes/Default/images/preferences/Makefile
data/Makefile
data/environ/Makefile
data/misc/Makefile
data/misc/gimp.desktop.in
data/images/Makefile
data/brushes/Makefile
data/gradients/Makefile
data/palettes/Makefile
data/patterns/Makefile
etc/Makefile
m4macros/Makefile
po/Makefile.in
po-libgimp/Makefile.in
po-plug-ins/Makefile.in
po-script-fu/Makefile.in
gimptool-1.3
gimp-1.3.pc
gimpui-1.3.pc
gimp.spec
Makefile
])
AC_CONFIG_COMMANDS([chmod-scripts],
[chmod +x gimptool-1.3])
AC_CONFIG_COMMANDS([sed-po-makefiles],
[sed -e "/POTFILES =/r po-libgimp/POTFILES" po-libgimp/Makefile.in > po-libgimp/Makefile
sed -e "/POTFILES =/r po-plug-ins/POTFILES" po-plug-ins/Makefile.in > po-plug-ins/Makefile
sed -e "/POTFILES =/r po-script-fu/POTFILES" po-script-fu/Makefile.in > po-script-fu/Makefile])
AC_OUTPUT