gimp/configure.in

1232 lines
33 KiB
Plaintext

dnl Process this file with autoconf to produce a configure script.
###############
# Sanity checks
###############
# require autoconf 2.52
AC_PREREQ(2.52)
AC_INIT(app/core/gimp.c)
############
# Versioning
############
GLIB_REQUIRED_VERSION=2.0.0
GTK_REQUIRED_VERSION=$GLIB_REQUIRED_VERSION
PANGOFT2_REQUIRED_VERSION=1.0.0
GTKDOC_REQUIRED_VERSION=0.9
GTKHTML2_REQUIRED_VERSION=1.99.5
GIMPPRINT_REQUIRED_VERSION=4.2.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=12
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"
dnl XXXX Hack: Set AS and ASFLAGS so that automake 1.5 will be happy
AS="\${CC}"
ASFLAGS="\${CFLAGS}"
AC_SUBST(AS)
AC_SUBST(ASFLAGS)
dnl XXXX Hack: Set CCAS and CCASFLAGS so that automake 1.6 will be happy
CCAS="\${CC}"
CCASFLAGS="\${CFLAGS}"
AC_SUBST(CCAS)
AC_SUBST(CCASFLAGS)
####################
# Initialize libtool
####################
dnl Initialize libtool
AC_PROG_CC
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
#################
# Check for Win32
#################
AC_MSG_CHECKING([for some Win32 platform])
case "$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 "$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
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_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
CFLAGS="$DEBUGFLAG $CFLAGS"
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 GLib and 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)
dnl check for inline
AC_MSG_CHECKING([for inline definition in glibconfig.h])
AC_EGREP_CPP(glib_defines_inline,
[#include <glibconfig.h>
#ifdef inline
glib_defines_inline
#endif
], have_glib_inline=yes, have_glib_inline=no)
AC_MSG_RESULT($have_glib_inline)
if test "$have_glib_inline" = "no"; then
AC_C_INLINE
fi
######################
# Internationalisation
######################
GETTEXT_PACKAGE=gimp14
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 hu hr it ja ko nl no pl pt pt_BR ro ru sk sv tr uk 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
AM_PATH_GTK_2_0($GTK_REQUIRED_VERSION,,
AC_MSG_ERROR(Test for GTK failed. See the file 'INSTALL' for help.))
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(LIBART, libart-2.0)
AC_SUBST(LIBART_CFLAGS)
AC_SUBST(LIBART_LIBS)
AC_SUBST(PKG_CONFIG)
##########################################
# 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
########################
have_asm_mmx=false
AC_MSG_CHECKING([for Intel Pentium architecture (IA32)])
if test "$host_cpu" = "i386" -o "$host_cpu" = "i486"\
-o "$host_cpu" = "i586" -o "$host_cpu" = "i586"\
-o "$host_cpu" = "i686" -o "$host_cpu" = "i786" ;
then
AC_MSG_RESULT(yes)
AC_MSG_CHECKING([for support for gcc-style register parameters on Intel])
AC_TRY_COMPILE([],
[extern void x(
const unsigned char *src1,
const unsigned char *src2,
unsigned count,
unsigned char *dst) __attribute((regparm(3)));],
[AC_MSG_RESULT(yes)
AC_MSG_CHECKING([for support for MMX in assembly code])
cat > conftest.S <<EOF
.text
psubusb %mm3, %mm4
EOF
if $CC -c conftest.S ; then
AC_MSG_RESULT(yes)
rm -f conftest.*
AC_DEFINE(HAVE_ASM_MMX, 1,
[Define to 1 if MMX in assembly is supported.])
AC_DEFINE(GIMP_ENABLE_MMX, 0, [Define to 1 to compile MMX code into paint-funcs. But read report for Bug 86290 first] )
have_asm_mmx=true
else
AC_MSG_RESULT(no)
echo "configure: failed program was:" >&AC_FD_CC
cat conftest.S >&AC_FD_CC
rm -rf conftest.* ;
fi
],
[AC_MSG_RESULT(no)
AC_MSG_WARN(*** C compiler does not support __attribute((regparm(3))), MMX code will not be built)]);
else
AC_MSG_RESULT(no) ;
fi
AM_CONDITIONAL(HAVE_ASM_MMX, test x$have_asm_mmx = xtrue)
###################################
# Checks for shared memory handling
###################################
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
##################################
# 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';
WEBBROWSER='webbrowser';
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';
WEBBROWSER='webbrowser';
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
else
AC_MSG_WARN([
*** Not building for GTK+-X11 (GDK backend is $gdk_target).
*** Webbrowser plug-in and gimp-remote will not be built.])
fi
AC_SUBST(LIBXMU)
AC_SUBST(WEBBROWSER)
AC_SUBST(GIMP_REMOTE)
###################
# 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'; XJT='xjt'; 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(XJT)
AC_SUBST(LIBJPEG)
################
# 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 libaa
#################
if 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 libmpeg
###################
if test -z "$LIBMPEG"; then
AC_CHECK_LIB(mpeg, GetMPEGFrame,
[AC_CHECK_HEADER(mpeg.h,
MPEG='mpeg'; LIBMPEG='-lmpeg'; GAP_DECODE_MPEG='gap_decode_mpeg',
[AC_MSG_WARN(*** MPEG plug-in will not be built (MPEG header file not found) ***)])],
[AC_MSG_WARN(*** MPEG plug-in will not be built (MPEG library not found) ***)])
fi
AC_SUBST(MPEG)
AC_SUBST(LIBMPEG)
AC_SUBST(GAP_DECODE_MPEG)
##################
# 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,
HELPBROWSER=helpbrowser,
AC_MSG_WARN([*** Help browser plug-in will not be built (GtkHtml2 not found) ***]))
AC_SUBST(GTKHTML2_CFLAGS)
AC_SUBST(GTKHTML2_LIBS)
AC_SUBST(HELPBROWSER)
####################
# 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 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 gimpprint >= $GIMPPRINT_REQUIRED_VERSION)
print_version=`$PRINT_CONFIG --version`
if expr $print_version \>= $GIMPPRINT_REQUIRED_VERSION >/dev/null; then
AC_MSG_RESULT([yes (version $print_version)])
PRINT=print
PRINT_LIBS=`$PRINT_CONFIG --libs`
PRINT_CFLAGS=`$PRINT_CONFIG --cflags`
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 -z "$PRINT"; 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)
AC_SUBST(PRINT_LIBS)
AC_SUBST(PRINT_CFLAGS)
################
# Check for perl
################
dnl This is for the gimp-perl plug-in
AC_ARG_ENABLE(perl, [ --enable-perl build perl extension [by default disabled]
--enable-perl[=prefix] use specified prefix for perl (see INSTALL)], , enable_perl=no)
AC_ARG_WITH(pdbgen, [ --with-pdbgen use 'pdbgen' code generation tool],
,
with_pdbgen=$enable_maintainer_mode)
if test "x$enable_perl" != xno || 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)
rm -f plug-ins/perl/config.status
if test "x$enable_perl" != xno; then
AC_MSG_CHECKING(for perl version >= 5.004_04)
if test "`$PERL -e 'print $]>=5.004_04'`" = "1"; then
AC_MSG_RESULT(yes)
dnl perl does not allow VPATH builds (yet)
if test ! -f plug-ins/perl/Makefile.PL; then
mkdir plug-ins || true
cp -r $srcdir/plug-ins/perl plug-ins/perl
fi
dnl these are gross hacks
GIMP_CFLAGS_NOUI="-I\$topdir/../.. $GLIB_CFLAGS $GTK_CFLAGS"
GIMP_CFLAGS="$GIMP_CFLAGS_NOUI"
GIMP_LIBS_NOUI="-L\$topdir/../../libgimp/.libs -L\$topdir/../../libgimp -lgimp-$LT_RELEASE -L\$topdir/../../libgimpcolor/.libs -L\$topdir/../../libgimpcolor -lgimpcolor-$LT_RELEASE -L\$topdir/../../libgimpbase/.libs -L\$topdir/../../libgimpbase -lgimpbase-$LT_RELEASE $GLIB_LIBS $LIBS"
GIMP_LIBS="$GIMP_LIBS_NOUI -lgimpui-$LT_RELEASE"
GIMPTOOL="../../gimptool-1.3"
IN_GIMP=1
EXTENSIVE_TESTS=0
dnl include the autoconf fragment from there
sinclude(plug-ins/perl/configure.frag)
dnl we ignore prefix
if test -n "$enable_perl" && test "x$enable_perl" != xyes; then
perl_prefix="PREFIX=$enable_perl"
fi
cat >plug-ins/perl/config.status <<EOF
echo invoking perl for configuration...
$PERL Makefile.PL --writemakefile $perl_prefix
EOF
GIMP_PERL=perl
GIMP_PERL_PO=plug-ins/perl/po
else
GIMP_PERL=
GIMP_PERL_PO=
AC_MSG_RESULT(no)
AC_MSG_WARN(*** gimp-perl plug-in won't be build (perl5.004_04 or higher required) ***)
fi
fi
AC_SUBST(GIMP_PERL)
AC_SUBST(GIMP_PERL_PO)
##################
# 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)
#################################################################
# Determine where to install the GNOME2 desktop & mime info files
#################################################################
AC_ARG_WITH(gnome-datadir, [ --with-gnome-datadir=PATH where to install GNOME2 files [default=auto]])
if test "x$with_gnome_datadir" != x; then
GNOME_DATADIR=$with_gnome_datadir
else
GNOME_DATADIR="$datadir"
fi
AM_CONDITIONAL(GNOME_DATADIR, test "x$with_gnome_datadir" != xno)
AC_SUBST(GNOME_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
AC_CHECK_PROG(DB2HTML, db2html, true, false)
AM_CONDITIONAL(HAVE_DOCBOOK, $DB2HTML)
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(debug, [ --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
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)
dnl FIXME: Do we need to do this?
if test -n "$DISTMAKE"; then
TIFF=tiff JPEG=jpeg PNG=png AA=aa MPEG=mpeg PRINT=print
WEBBROWSER=webbrowser HELPBROWSER=helpbrowser
XJT=xjt XPM=xpm
fi
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)
dnl autogenerator for proxy objects
GIMP_MKPROXY="\$(top_srcdir)/tools/gimp-mkproxy"
AC_SUBST(GIMP_MKPROXY)
##########################################
# 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)
dnl These are not built nor included in the tarball for the time being.
dnl plug-ins/perl/config.pl
dnl plug-ins/gap/Makefile
dnl plug-ins/gdyntext/Makefile
dnl plug-ins/perl/po/Makefile.in
dnl plug-ins/plugin-helper/Makefile
dnl plug-ins/tools/common/Makefile
AC_OUTPUT([
tools/Makefile
tools/authorsgen/Makefile
tools/pdbgen/Makefile
regexrepl/Makefile
libgimp/Makefile
libgimpbase/gimpversion.h
libgimpbase/Makefile
libgimpcolor/Makefile
libgimpmath/Makefile
libgimpmodule/Makefile
libgimpproxy/Makefile
libgimptool/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/pdb/Makefile
app/plug-in/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/tools/Makefile
modules/Makefile
devel-docs/Makefile
devel-docs/libgimp/Makefile
devel-docs/libgimpbase/Makefile
devel-docs/libgimpcolor/Makefile
devel-docs/libgimpmath/Makefile
devel-docs/libgimpmodule/Makefile
devel-docs/libgimpwidgets/Makefile
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
pixmaps/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
],[
chmod +x gimptool-1.3
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
# sed -e "/POTFILES =/r plug-ins/perl/po/POTFILES" plug-ins/perl/po/Makefile.in > plug-ins/perl/po/Makefile
case "$CONFIG_FILES" in
*plug-ins/perl*)
if test -f plug-ins/perl/config.status; then
( cd plug-ins/perl; ${CONFIG_SHELL-/bin/sh} config.status )
fi
;;
esac
])