mirror of https://github.com/GNOME/gimp.git
1875 lines
53 KiB
Plaintext
1875 lines
53 KiB
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
AC_PREREQ(2.54)
|
|
|
|
# Making releases on the stable branch:
|
|
# GIMP_MICRO_VERSION += 1;
|
|
# GIMP_INTERFACE_AGE += 1;
|
|
|
|
m4_define([gimp_major_version], [2])
|
|
m4_define([gimp_minor_version], [3])
|
|
m4_define([gimp_micro_version], [4])
|
|
m4_define([gimp_real_version],
|
|
[gimp_major_version.gimp_minor_version.gimp_micro_version])
|
|
m4_define([gimp_version], [gimp_real_version])
|
|
m4_define([gimp_interface_age], [0])
|
|
m4_define([gimp_binary_age],
|
|
[m4_eval(100 * gimp_minor_version + gimp_micro_version)])
|
|
|
|
# For overriding the version string. Comment out if not needed.
|
|
# m4_define([gimp_version], [2.2.0])
|
|
|
|
# This is the X.Y used in -lgimp-X.Y
|
|
m4_define([gimp_api_version], [2.0])
|
|
|
|
# Versions used for apps, plugins, tools, pkg-config files, and data,
|
|
# as well as global and user prefs
|
|
m4_define([gimp_app_version], [2.3])
|
|
m4_define([gimp_plugin_version], [2.0])
|
|
m4_define([gimp_tool_version], [2.0])
|
|
m4_define([gimp_pkgconfig_version], [2.0])
|
|
m4_define([gimp_data_version], [2.0])
|
|
m4_define([gimp_sysconf_version], [2.0])
|
|
m4_define([gimp_user_version], [2.3])
|
|
|
|
m4_define([gimp_unstable],
|
|
m4_if(m4_eval(gimp_minor_version % 2), [1], [yes], [no]))
|
|
m4_define([gimp_stable],
|
|
m4_if(m4_eval(gimp_minor_version % 2), [0], [yes], [no]))
|
|
|
|
m4_define([gimp_full_name], [GNU Image Manipulation Program])
|
|
|
|
# required versions of other packages
|
|
m4_define([glib_required_version], [2.6.0])
|
|
m4_define([gtk_required_version], [2.6.0])
|
|
m4_define([gdk_pixbuf_required_version], [gtk_required_version])
|
|
m4_define([pangoft2_required_version], [1.8.0])
|
|
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])
|
|
m4_define([gimpprint_suggested_version], [4.2.6])
|
|
m4_define([gimpprint_toonew_version], [4.3.0])
|
|
m4_define([alsa_required_version], [1.0.0])
|
|
m4_define([rsvg_required_version], [2.8.0])
|
|
m4_define([wmf_required_version], [0.2.8])
|
|
m4_define([pygtk_required_version], [1.99.15])
|
|
m4_define([poppler_required_version], [0.3.1])
|
|
m4_define([gnome_vfs_required_version], [2.10.0])
|
|
m4_define([gnomeui_required_version], [2.10.0])
|
|
m4_define([gnome_print_required_version], [2.10.0])
|
|
|
|
|
|
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)
|
|
|
|
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
|
|
GIMP_UNSTABLE=gimp_unstable
|
|
GIMP_FULL_NAME="gimp_full_name"
|
|
AC_SUBST(GIMP_MAJOR_VERSION)
|
|
AC_SUBST(GIMP_MINOR_VERSION)
|
|
AC_SUBST(GIMP_MICRO_VERSION)
|
|
AC_SUBST(GIMP_INTERFACE_AGE)
|
|
AC_SUBST(GIMP_BINARY_AGE)
|
|
AC_SUBST(GIMP_API_VERSION)
|
|
AC_SUBST(GIMP_VERSION)
|
|
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)
|
|
AC_SUBST(GIMP_UNSTABLE)
|
|
AC_SUBST(GIMP_FULL_NAME)
|
|
|
|
|
|
dnl The symbol GIMP_UNSTABLE is defined above for substitution in
|
|
dnl Makefiles and conditionally defined here as a preprocessor symbol
|
|
dnl and automake conditional.
|
|
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
|
|
AM_CONDITIONAL(GIMP_UNSTABLE, test "x$GIMP_UNSTABLE" = "xyes")
|
|
|
|
|
|
# libtool versioning
|
|
m4_define([lt_current], [m4_eval(100 * gimp_minor_version + gimp_micro_version - gimp_interface_age)])
|
|
m4_define([lt_revision], [gimp_interface_age])
|
|
m4_define([lt_age], [m4_eval(gimp_binary_age - gimp_interface_age)])
|
|
LT_VERSION_INFO="lt_current:lt_revision:lt_age"
|
|
LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
|
|
AC_SUBST(LT_VERSION_INFO)
|
|
AC_SUBST(LT_CURRENT_MINUS_AGE)
|
|
|
|
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
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
|
[The prefix for our gettext translation domains.])
|
|
|
|
|
|
dnl Initialize libtool
|
|
AC_PROG_CC
|
|
AM_DISABLE_STATIC
|
|
AC_LIBTOOL_WIN32_DLL
|
|
AM_PROG_LIBTOOL
|
|
|
|
AM_PROG_AS
|
|
|
|
dnl Initialize maintainer mode
|
|
AM_MAINTAINER_MODE
|
|
|
|
|
|
###########################
|
|
# 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.])
|
|
;;
|
|
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.])
|
|
;;
|
|
ppc-*-* | powerpc-*)
|
|
have_ppc=yes
|
|
AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
|
|
;;
|
|
ppc64-*-* | powerpc64-*)
|
|
have_ppc=yes
|
|
AC_DEFINE(ARCH_PPC, 1, [Define to 1 if you are compiling for PowerPC.])
|
|
AC_DEFINE(ARCH_PPC64, 1, [Define to 1 if you are compiling for PowerPC64.])
|
|
;;
|
|
*)
|
|
;;
|
|
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")
|
|
AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
|
|
|
|
if test "$os_win32" = "yes"; then
|
|
AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
|
|
AC_CHECK_TOOL(WINDRES, windres, :)
|
|
else
|
|
WINDRES=":"
|
|
fi
|
|
|
|
AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
|
|
AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
|
|
|
|
AC_SUBST(WINDRES)
|
|
|
|
###############
|
|
# Generic stuff
|
|
###############
|
|
|
|
dnl Checks for programs.
|
|
AC_ISC_POSIX
|
|
AM_PROG_CC_STDC
|
|
AC_PROG_INSTALL
|
|
AC_PROG_MAKE_SET
|
|
|
|
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)
|
|
|
|
changequote(,)dnl
|
|
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
|
|
changequote([,])dnl
|
|
|
|
# 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
|
|
|
|
# Honor aclocal flags
|
|
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
|
|
|
|
|
|
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)
|
|
|
|
|
|
# _NL_MEASUREMENT_MEASUREMENT is an enum and not a define
|
|
AC_MSG_CHECKING([for _NL_MEASUREMENT_MEASUREMENT])
|
|
AC_TRY_LINK([#include <langinfo.h>], [
|
|
char c = *((unsigned char *) nl_langinfo(_NL_MEASUREMENT_MEASUREMENT));
|
|
], nl_ok=yes, nl_ok=no)
|
|
AC_MSG_RESULT($nl_ok)
|
|
if test "$nl_ok" = "yes"; then
|
|
AC_DEFINE(HAVE__NL_MEASUREMENT_MEASUREMENT, 1,
|
|
[Define to 1 if _NL_MEASUREMENT_MEASUREMENT is available])
|
|
fi
|
|
|
|
|
|
######################
|
|
# Internationalisation
|
|
######################
|
|
|
|
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 your language
|
|
dnl code to ALL_LINGUAS
|
|
ALL_LINGUAS="bg ca cs da de el en_CA en_GB es et eu fi fr ga gl gu he hu hr id it ja ko lt mk ms nb ne nl no pa pl pt pt_BR ro ru rw sk sr sr@Latn sv tr uk vi xh 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 gobject-2.0)
|
|
|
|
AC_MSG_CHECKING([if GLib is version 2.9.0 or newer])
|
|
if $PKG_CONFIG --atleast-version=2.9.0 glib-2.0; then
|
|
have_glib_2_9=yes
|
|
else
|
|
have_glib_2_9=no
|
|
fi
|
|
AC_MSG_RESULT($have_glib_2_9)
|
|
|
|
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.))
|
|
|
|
AC_MSG_CHECKING([if GTK+ is version 2.9.0 or newer])
|
|
if $PKG_CONFIG --atleast-version=2.9.0 gtk+-2.0; then
|
|
have_gtk_2_9=yes
|
|
else
|
|
have_gtk_2_9=no
|
|
fi
|
|
AC_MSG_RESULT($have_gtk_2_9)
|
|
|
|
PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= gdk_pixbuf_required_version)
|
|
|
|
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)
|
|
|
|
PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= fontconfig_required_version)
|
|
|
|
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_MSG_CHECKING([if Pango is version 1.11.0 or newer])
|
|
if $PKG_CONFIG --atleast-version=1.11.0 pango; then
|
|
have_pango_1_11=yes
|
|
else
|
|
have_pango_1_11=no
|
|
fi
|
|
AC_MSG_RESULT($have_pango_1_11)
|
|
|
|
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
|
|
|
|
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
|
|
if test "x$FREETYPE_CONFIG" != "xno" ; then
|
|
AC_MSG_CHECKING([for freetype libraries])
|
|
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
|
|
GIMP_DETECT_CFLAGS(MMX_EXTRA_CFLAGS, '-mmmx')
|
|
SSE_EXTRA_CFLAGS=
|
|
|
|
AC_MSG_CHECKING(whether we can compile MMX code)
|
|
|
|
mmx_save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$mmx_save_CFLAGS $MMX_EXTRA_CFLAGS"
|
|
|
|
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
|
|
GIMP_DETECT_CFLAGS(sse_flag, '-msse')
|
|
SSE_EXTRA_CFLAGS="$MMX_EXTRA_CFLAGS $sse_flag"
|
|
|
|
AC_MSG_CHECKING(whether we can compile SSE code)
|
|
|
|
CFLAGS="$CFLAGS $sse_flag"
|
|
|
|
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.])
|
|
)
|
|
|
|
CFLAGS="$mmx_save_CFLAGS"
|
|
|
|
AC_SUBST(MMX_EXTRA_CFLAGS)
|
|
AC_SUBST(SSE_EXTRA_CFLAGS)
|
|
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
|
|
|
|
GIMP_DETECT_CFLAGS(altivec_flag, '-faltivec' '-maltivec -mabi=altivec')
|
|
|
|
ALTIVEC_EXTRA_CFLAGS=
|
|
case "$altivec_flag" in
|
|
-maltivec*)
|
|
altivec_save_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="$altivec_save_CPPFLAGS $altivec_flag"
|
|
AC_CHECK_HEADERS(altivec.h, [ALTIVEC_EXTRA_CFLAGS="$altivec_flag"])
|
|
CPPFLAGS="$altivec_save_CPPFLAGS"
|
|
;;
|
|
*)
|
|
ALTIVEC_EXTRA_CFLAGS="$altivec_flag"
|
|
;;
|
|
esac
|
|
AC_SUBST(ALTIVEC_EXTRA_CFLAGS)
|
|
|
|
AC_MSG_CHECKING(whether we can compile AltiVec code)
|
|
|
|
can_use_altivec=no
|
|
if test -z "$ALTIVEC_EXTRA_CFLAGS"; then
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_WARN([The compiler does not support the AltiVec command set.])
|
|
else
|
|
case "$target_or_host" in
|
|
*-*-darwin*)
|
|
can_use_altivec=yes
|
|
AC_DEFINE(HAVE_ALTIVEC_SYSCTL, 1,
|
|
[Define to 1 if the altivec runtime test should use a sysctl.])
|
|
;;
|
|
*)
|
|
AC_COMPILE_IFELSE([asm ("vand %v0, %v0, %v0");],
|
|
can_use_altivec=yes, can_use_altivec=no)
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT($can_use_altivec)
|
|
|
|
if test "x$can_use_altivec" = "xyes"; then
|
|
AC_DEFINE(USE_ALTIVEC, 1, [Define to 1 if AltiVec support is available.])
|
|
else
|
|
enable_altivec=no
|
|
AC_MSG_WARN([The assembler does not support the AltiVec command set.])
|
|
fi
|
|
fi
|
|
|
|
enable_altivec="$can_use_altivec"
|
|
fi
|
|
|
|
|
|
###################################
|
|
# Checks for shared memory handling
|
|
###################################
|
|
|
|
dnl MacOS X has broken SysV shm
|
|
case "$target_or_host" in
|
|
*-*-darwin* | *-*-rhapsody* | *-*-machten*)
|
|
shmdefault=posix
|
|
;;
|
|
*)
|
|
shmdefault=sysv
|
|
;;
|
|
esac
|
|
|
|
shmtype=auto
|
|
AC_ARG_WITH(shm, [ --with-shm=none|sysv|posix|auto shared memory transport type (default=auto)], shmtype=$with_shm)
|
|
|
|
case $shmtype in
|
|
none|sysv|posix) ;;
|
|
auto) shmtype=$shmdefault ;;
|
|
*) AC_MSG_ERROR([Invalid shared memory transport type: use none, sysv, posix, or auto.]);;
|
|
esac
|
|
|
|
|
|
if test "x$platform_win32" = "xyes"; then
|
|
shmtype=win32
|
|
elif 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> header 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))
|
|
|
|
AC_DEFINE(USE_SYSV_SHM, 1, [Define to 1 to use SYSV shared memory])
|
|
else
|
|
shmtype=none
|
|
fi
|
|
elif test "x$shmtype" = "xposix"; then
|
|
have_shm_open=no
|
|
|
|
AC_CHECK_FUNC(shm_open, have_shm_open=yes)
|
|
|
|
RT_LIBS=
|
|
if test "$have_shm_open" != "yes"; then
|
|
AC_CHECK_LIB(rt, shm_open, RT_LIBS="-lrt" have_shm_open=yes)
|
|
fi
|
|
AC_SUBST(RT_LIBS)
|
|
|
|
AC_CHECK_HEADER(sys/mman.h,
|
|
[AC_DEFINE(HAVE_MMAN_H, 1,
|
|
[Define to 1 if you have the <sys/mman.h> header file.])],
|
|
no_sys_mman=yes)
|
|
|
|
if test "$ac_cv_func_mmap" = "yes" &&
|
|
test "$ac_cv_header_sys_mman_h" = "yes" &&
|
|
test "$have_shm_open" = "yes"; then
|
|
AC_DEFINE(USE_POSIX_SHM, 1, [Define to 1 to use POSIX shared memory])
|
|
else
|
|
shmtype=none
|
|
fi
|
|
fi
|
|
|
|
AC_MSG_CHECKING(for shared memory transport type)
|
|
AC_MSG_RESULT($shmtype)
|
|
|
|
|
|
########################
|
|
# Define a symbol prefix
|
|
########################
|
|
|
|
AC_MSG_CHECKING([whether symbols are prefixed])
|
|
|
|
case "$host_os" in
|
|
mingw*)
|
|
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)
|
|
|
|
|
|
##################################
|
|
# 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
|
|
############################
|
|
|
|
if test x"$os_win32" != xyes; then
|
|
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 typedef.])
|
|
fi
|
|
fi
|
|
|
|
#############################
|
|
# Threads and multi processor
|
|
#############################
|
|
|
|
AC_ARG_ENABLE(mp, [ --disable-mp disable support for multiple processors])
|
|
if test "x$enable_mp" != "xno"; then
|
|
PKG_CHECK_MODULES(GTHREAD, gthread-2.0,
|
|
[AC_DEFINE(ENABLE_MP, 1,
|
|
[Define to 1 to enable support for multiple processors.])]
|
|
)
|
|
fi
|
|
|
|
if test "x$GIMP_UNSTABLE" = "xyes"; then
|
|
AC_ARG_ENABLE(threaded-tile-swapper, [ --enable-threaded-tile-swapper (experimental)])
|
|
if test "x$enable_threaded_tile_swapper" = "xyes"; then
|
|
PKG_CHECK_MODULES(GTHREAD, gthread-2.0,
|
|
[AC_DEFINE(ENABLE_THREADED_TILE_SWAPPER, 1,
|
|
[Define to 1 to enable the experimental threaded tile-swapper.])]
|
|
)
|
|
fi
|
|
fi
|
|
|
|
|
|
################################
|
|
# 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 screenshot plug-in needs to link to X11 explicitely
|
|
LIBSCREENSHOT="$X_LIBS -lX11"
|
|
|
|
dnl doc-shooter is X11 specific
|
|
DOC_SHOOTER=doc-shooter
|
|
|
|
dnl Test for Xmu
|
|
if test -z "$LIBXMU"; then
|
|
gimp_save_CFLAGS="$CFLAGS"
|
|
gimp_save_LDFLAGS="$LDFLAGS"
|
|
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
|
LDFLAGS="$LDFLAGS $X_LIBS"
|
|
AC_CHECK_LIB(Xmu, XmuClientWindow,
|
|
[AC_CHECK_HEADERS(X11/Xmu/WinUtil.h,
|
|
GIMP_REMOTE='gimp-remote-gimp_app_version$(EXEEXT)';
|
|
have_libxmu=yes
|
|
LIBXMU="$X_LIBS $X_PRE_LIBS -lX11 -lXmu -lXt",
|
|
[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 -lX11)
|
|
CFLAGS="$gimp_save_CFLAGS"
|
|
LDFLAGS="$gimp_save_LDFLAGS"
|
|
LIBSCREENSHOT="$LIBXMU"
|
|
fi
|
|
|
|
fi
|
|
|
|
AC_SUBST(LIBXMU)
|
|
AC_SUBST(LIBSCREENSHOT)
|
|
AC_SUBST(GIMP_REMOTE)
|
|
AC_SUBST(DOC_SHOOTER)
|
|
|
|
|
|
###################
|
|
# 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$(EXEEXT)'; 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$(EXEEXT)'; 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$(EXEEXT)'; 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
|
|
AC_CHECK_LIB(jpeg, jpeg_save_markers,
|
|
JPEG='jpeg$(EXEEXT)'; LIBJPEG='-ljpeg',
|
|
[jpeg_ok=no
|
|
AC_MSG_WARN(*** JPEG plug-in will not be built (JPEG library is too old) ***)
|
|
AC_MSG_WARN(*** XJT plug-in will not be built (JPEG library is too old) ***)])
|
|
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$(EXEEXT)'; 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$(EXEEXT)'; 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$(EXEEXT)'; 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]))
|
|
AC_MSG_CHECKING([if libexif is version 0.6.0 or newer])
|
|
if $PKG_CONFIG --atleast-version=0.6.0 libexif; then
|
|
have_exif_0_6=yes
|
|
else
|
|
have_exif_0_6=no
|
|
fi
|
|
AC_MSG_RESULT($have_exif_0_6)
|
|
if test x$have_exif_0_6 == xyes; then
|
|
AC_DEFINE(HAVE_EXIF_0_6, 1,
|
|
[Define to 1 if libexif is at least version 0.6.0])
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(EXIF_CFLAGS)
|
|
AC_SUBST(EXIF_LIBS)
|
|
|
|
|
|
#################
|
|
# 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$(EXEEXT)'; 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$(EXEEXT)'; 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
|
|
####################
|
|
|
|
AC_ARG_WITH(gtkhtml2, [ --without-gtkhtml2 build without gtkhtml2 support])
|
|
|
|
have_gtkhtml2=no
|
|
if test "x$with_gtkhtml2" != xno; then
|
|
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) ***]))
|
|
else
|
|
AC_MSG_WARN([*** Help browser plug-in will not be built (GtkHtml2 support disabled) ***])
|
|
fi
|
|
|
|
AM_CONDITIONAL(BUILD_HELPBROWSER, test x$have_gtkhtml2 = xyes)
|
|
|
|
|
|
###################
|
|
# Check for librsvg
|
|
###################
|
|
|
|
AC_ARG_WITH(librsvg,[ --without-librsvg build without librsvg support])
|
|
|
|
if test "x$with_librsvg" != xno; then
|
|
PKG_CHECK_MODULES(SVG, librsvg-2.0 >= rsvg_required_version,
|
|
SVG='svg$(EXEEXT)'
|
|
LIBSVG=$SVG_LIBS,
|
|
AC_MSG_WARN([*** SVG import plug-in will not be built (librsvg not found) ***]))
|
|
else
|
|
AC_MSG_WARN([*** SVG import plug-in will not be built (librsvg support disabled) ***])
|
|
fi
|
|
|
|
AC_SUBST(SVG)
|
|
AC_SUBST(LIBSVG)
|
|
|
|
|
|
######################
|
|
# Check for libpoppler
|
|
######################
|
|
|
|
AC_ARG_WITH(poppler,[ --without-poppler build without poppler support])
|
|
|
|
if test "x$with_poppler" != xno; then
|
|
PKG_CHECK_MODULES(POPPLER,
|
|
poppler-glib >= poppler_required_version gthread-2.0,
|
|
POPPLER='poppler$(EXEEXT)'
|
|
LIBPOPPLER=$POPPLER_LIBS
|
|
AC_DEFINE(HAVE_POPPLER, 1, [Define to 1 if libpoppler is available])
|
|
have_poppler=yes,
|
|
AC_MSG_WARN([*** PDF will be imported by the postscript plugin (libpoppler not found) ***]))
|
|
else
|
|
AC_MSG_WARN([*** PDF will be imported by the postscript plugin (libpoppler support disabled)])
|
|
fi
|
|
|
|
AC_SUBST(POPPLER)
|
|
AC_SUBST(LIBPOPPLER)
|
|
|
|
if test "x$have_poppler" = xyes; then
|
|
if $PKG_CONFIG --atleast-version=0.4 poppler-glib; then
|
|
AC_DEFINE(HAVE_POPPLER_0_4, 1,
|
|
[Define to 1 if libpoppler >= 0.4 is available])
|
|
fi
|
|
|
|
if $PKG_CONFIG --atleast-version=0.4.1 poppler-glib; then
|
|
AC_DEFINE(HAVE_POPPLER_0_4_1, 1,
|
|
[Define to 1 if libpoppler >= 0.4.1 is available])
|
|
fi
|
|
fi
|
|
|
|
|
|
#################################################
|
|
# Check for gnome-vfs (and optionally libgnomeui)
|
|
#################################################
|
|
|
|
uri_modules="gnome-vfs-2.0 >= gnome_vfs_required_version"
|
|
|
|
if $PKG_CONFIG --atleast-version=gnomeui_required_version libgnomeui-2.0; then
|
|
have_gnomeui=yes
|
|
uri_modules="$uri_modules libgnomeui-2.0"
|
|
else
|
|
AC_MSG_WARN([*** URI plug-in will be built without libgnomeui support (libgnomeui-2.0 not found) ***])
|
|
fi
|
|
|
|
PKG_CHECK_MODULES(URI, $uri_modules,
|
|
have_gnomevfs=yes,
|
|
AC_MSG_WARN([*** URI plug-in will be built without gnome-vfs support (gnome-vfs-2.0 not found) ***]))
|
|
|
|
AM_CONDITIONAL(HAVE_GNOMEVFS, test x$have_gnomevfs = xyes)
|
|
|
|
if test "x$have_gnomeui" = xyes; then
|
|
AC_DEFINE(HAVE_GNOMEUI, 1, [Define to 1 if libgnomeui is available])
|
|
fi
|
|
|
|
|
|
#######################
|
|
# Check for gnome-print
|
|
#######################
|
|
|
|
AC_ARG_WITH(gnomeprint,[ --without-gnomeprint disable build of gnomeprint plug-in])
|
|
|
|
if test "x$with_gnomeprint" != xno; then
|
|
PKG_CHECK_MODULES(GNOMEPRINT,
|
|
libgnomeprintui-2.2 >= gnome_print_required_version,
|
|
have_gnomeprint=yes,
|
|
AC_MSG_WARN([libgnomeprintui not found!]))
|
|
fi
|
|
|
|
AM_CONDITIONAL(HAVE_GNOMEPRINT, test x$have_gnomeprint = xyes)
|
|
|
|
if test "x$have_gnomeprint" = xyes; then
|
|
GNOMEPRINT='gnomeprint$(EXEEXT)'
|
|
LIBGNOMEPRINT=$GNOMEPRINT_LIBS
|
|
AC_DEFINE(HAVE_GNOME_PRINT, 1, [Define to 1 if libgnomeprintui is available])
|
|
fi
|
|
|
|
AC_SUBST(GNOMEPRINT)
|
|
AC_SUBST(LIBGNOMEPRINT)
|
|
|
|
|
|
######################
|
|
# Check for gimp-print
|
|
######################
|
|
|
|
AC_ARG_ENABLE(print, [ --disable-print build without print support (requires libgimpprint)])
|
|
|
|
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([
|
|
*** libgimpprint version $print_version is too new.
|
|
*** It is likely an unstable development version.
|
|
*** You need a version before gimpprint_toonew_version.])
|
|
else
|
|
have_gimp_print=yes
|
|
dnl sanity check to avoid bug #125283
|
|
if expr $print_version \< gimpprint_suggested_version >/dev/null; then
|
|
AC_MSG_WARN([
|
|
*** libgimpprint version $print_version causes problems under certain locales.
|
|
*** We strongly suggest you upgrade to version gimpprint_suggested_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)
|
|
|
|
|
|
###################
|
|
# Check for libwmf2
|
|
###################
|
|
|
|
AC_PATH_PROG(WMF_CONFIG, libwmf-config, no)
|
|
if test "x$WMF_CONFIG" != "xno" ; then
|
|
AC_MSG_CHECKING(for libwmf >= wmf_required_version)
|
|
wmf_version=`$WMF_CONFIG --version`
|
|
if expr $wmf_version \>= wmf_required_version >/dev/null; then
|
|
AC_MSG_RESULT([yes (version $wmf_version)])
|
|
WMF='wmf$(EXEEXT)'
|
|
LIBWMF=`$WMF_CONFIG --libs`
|
|
WMF_CFLAGS=`$WMF_CONFIG --cflags`
|
|
else
|
|
AC_MSG_WARN([*** WMF plug-in will not be built (libwmf is too old)])
|
|
fi
|
|
else
|
|
AC_MSG_WARN([*** WMF plug-in will not be built (libwmf not found) ***])
|
|
fi
|
|
AC_SUBST(LIBWMF)
|
|
AC_SUBST(WMF_CFLAGS)
|
|
|
|
|
|
################
|
|
# Check for lcms
|
|
################
|
|
|
|
AC_ARG_WITH(lcms,[ --without-lcms build without lcms support])
|
|
|
|
have_lcms=no
|
|
if test "x$with_lcms" != xno; then
|
|
AC_CHECK_LIB(lcms, cmsCreate_sRGBProfile, [
|
|
AC_CHECK_HEADER(lcms.h,
|
|
have_lcms=yes, [
|
|
AC_CHECK_HEADER(lcms/lcms.h,
|
|
have_lcms=yes
|
|
AC_DEFINE(HAVE_LCMS_LCMS_H, 1,
|
|
[Define to 1 if the lcms header must be included as lcms/lcms.h]))
|
|
])
|
|
])
|
|
if test $have_lcms = yes; then
|
|
LCMS_LIBS="-llcms"
|
|
else
|
|
AC_MSG_WARN([*** color proof module will not be built (lcms not found or unusable) ***])
|
|
fi
|
|
else
|
|
AC_MSG_WARN([*** color proof module will not be built (lcms support disabled) ***])
|
|
fi
|
|
|
|
AC_SUBST(LCMS_LIBS)
|
|
AM_CONDITIONAL(HAVE_LCMS, test $have_lcms = yes)
|
|
|
|
|
|
################
|
|
# Check for alsa
|
|
################
|
|
|
|
AM_PATH_ALSA(alsa_required_version,
|
|
AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if alsa is available]),
|
|
AC_MSG_WARN([*** midi input controller will be built without alsa support (alsa not found or unuseable) ***]))
|
|
|
|
|
|
#######################
|
|
# Check for linux input
|
|
#######################
|
|
|
|
AC_ARG_WITH(linux-input,
|
|
[ --without-linux-input don't build linux input event controller module])
|
|
|
|
have_linux_input=no
|
|
if test "x$with_linux_input" != "xno"; then
|
|
AC_CHECK_HEADER(linux/input.h, have_linux_input=yes)
|
|
fi
|
|
|
|
AM_CONDITIONAL(HAVE_LINUX_INPUT, test $have_linux_input = yes)
|
|
|
|
|
|
############################################################
|
|
# 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_PATH_PROGS(PERL,perl5 perl perl5.005 perl5.004,perl)
|
|
|
|
|
|
AC_ARG_WITH(pdbgen,
|
|
[ --with-pdbgen use 'pdbgen' code generation tool],,
|
|
with_pdbgen=$enable_maintainer_mode)
|
|
|
|
AM_CONDITIONAL(WITH_PDBGEN, test x$with_pdbgen = xyes)
|
|
|
|
|
|
##################
|
|
# Check for python
|
|
##################
|
|
|
|
dnl Pygimp configure stuff ...
|
|
AC_ARG_ENABLE(python,
|
|
AC_HELP_STRING([--disable-python],
|
|
[do not build the python extension]))
|
|
|
|
m4_define([pycheck_error], [
|
|
*** Could not find $1.
|
|
*** Please install $2, or skip building the python scripting extension by
|
|
*** passing --disable-python to configure (but then you will not be able
|
|
*** to use scripts for GIMP that are written in Python).])
|
|
|
|
if test "x$enable_python" != xno; then
|
|
dnl check for Python
|
|
AM_PATH_PYTHON(2.2.1,,
|
|
[AC_MSG_ERROR([pycheck_error([Python 2.2.1 or better], [it])])])
|
|
AM_CHECK_PYTHON_HEADERS(,
|
|
[AC_MSG_ERROR([pycheck_error([Python headers], [them])])])
|
|
|
|
dnl Win32 needs all symbols resolved for linking, even for DLLs
|
|
dnl Assume the link library is in $exec_prefix/libs
|
|
dnl This might be able to be figured out from distutils, but it's
|
|
dnl not documented so we won't rely on internal implementation
|
|
PYLINK_LIBS=
|
|
if test "x$platform_win32" = "xyes"; then
|
|
PYBIN_PATH="$py_exec_prefix\pythonw.exe"
|
|
PYTHON_INCLUDES=`$echo "$PYTHON_INCLUDES" | sed -e 's/\\\\/\\//g'`
|
|
py_exec_prefix=`echo "$py_exec_prefix" | sed -e 's/\\\\/\\//g'`
|
|
pylibversion=`echo $PYTHON_VERSION | sed -e 's/\\.//'`
|
|
PYLINK_LIBS="-L${py_exec_prefix}/libs -lpython${pylibversion}"
|
|
else
|
|
PYBIN_PATH="$PYTHON"
|
|
fi
|
|
AC_SUBST(PYLINK_LIBS)
|
|
AC_SUBST(PYBIN_PATH)
|
|
|
|
dnl check for PyGTK
|
|
PKG_CHECK_MODULES(PYGTK, pygtk-2.0 >= pygtk_required_version,,
|
|
[AC_MSG_ERROR([pycheck_error([PyGTK], [it])])])
|
|
|
|
AC_PATH_PROG(PYGTK_CODEGEN, pygtk-codegen-2.0, no)
|
|
if test "x$PYGTK_CODEGEN" = xno; then
|
|
AC_MSG_ERROR([pycheck_error([pygtk-codegen-2.0 script], [it])])
|
|
fi
|
|
|
|
AC_MSG_CHECKING(for pygtk defs)
|
|
PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
|
|
AC_SUBST(PYGTK_DEFSDIR)
|
|
AC_MSG_RESULT($PYGTK_DEFSDIR)
|
|
|
|
GIMP_DETECT_CFLAGS(PYGIMP_EXTRA_CFLAGS, '-fno-strict-aliasing')
|
|
AC_SUBST(PYGIMP_EXTRA_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
|
|
WINPRINT='winprint$(EXEEXT)'
|
|
else
|
|
MAIL='mail$(EXEEXT)'
|
|
SCREENSHOT='screenshot$(EXEEXT)'
|
|
fi
|
|
|
|
AC_SUBST(MAIL)
|
|
AC_SUBST(SCREENSHOT)
|
|
AC_SUBST(WINPRINT)
|
|
AC_SUBST(WMF)
|
|
|
|
|
|
############################################################
|
|
# Check for Mac OS X TWAIN framework (can't build on Darwin)
|
|
############################################################
|
|
|
|
AC_MSG_CHECKING([checking for Mac OS X TWAIN support])
|
|
AC_TRY_CPP([
|
|
#include <Carbon/Carbon.h>
|
|
#include <TWAIN/TWAIN.h>
|
|
],
|
|
twain_ok=yes,
|
|
twain_ok=no)
|
|
AC_MSG_RESULT($twain_ok)
|
|
AM_CONDITIONAL(HAVE_MAC_TWAIN, test x$twain_ok = xyes)
|
|
|
|
|
|
##########################################################
|
|
# 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)
|
|
|
|
|
|
#####################
|
|
# Check for XML tools
|
|
#####################
|
|
|
|
AC_PATH_PROG(XMLLINT, xmllint, no)
|
|
AM_CONDITIONAL(HAVE_XMLLINT, test "x$XMLLINT" != "xno")
|
|
|
|
AC_PATH_PROG(XSLTPROC, xsltproc, no)
|
|
AM_CONDITIONAL(HAVE_XSLTPROC, test "x$XSLTPROC" != "xno")
|
|
|
|
|
|
######################################
|
|
# Checks for gtk-doc and docbook-tools
|
|
######################################
|
|
|
|
GTK_DOC_CHECK([1.0])
|
|
|
|
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=gimp_stable)], , enable_default_binary=gimp_stable)
|
|
|
|
AM_CONDITIONAL(DEFAULT_BINARY, test x$enable_default_binary = xyes)
|
|
|
|
|
|
AC_ARG_ENABLE(gimp-console, [ --enable-gimp-console build a console-only binary which does not link GTK+], , enable_gimp_console=yes)
|
|
|
|
AM_CONDITIONAL(ENABLE_GIMP_CONSOLE, test x$enable_gimp_console != xno)
|
|
|
|
|
|
dnl Possibly change default gimpdir from .gimp-major.minor
|
|
gimpdir=.gimp-gimp_user_version
|
|
AC_ARG_WITH(gimpdir, [ --with-gimpdir=DIR change default gimpdir from .gimp-gimp_user_version to DIR],
|
|
if eval "test x$with_gimpdir != x"; then
|
|
if eval "test x$with_gimpdir != xyes"; then
|
|
gimpdir=$with_gimpdir
|
|
fi
|
|
fi)
|
|
|
|
gimpdatadir="$datadir/$PACKAGE/gimp_data_version"
|
|
gimpplugindir="$libdir/$PACKAGE/gimp_plugin_version"
|
|
gimpsysconfdir="$sysconfdir/$PACKAGE/gimp_sysconf_version"
|
|
|
|
AC_SUBST(gimpdir)
|
|
AC_SUBST(gimpdatadir)
|
|
AC_SUBST(gimpplugindir)
|
|
AC_SUBST(gimpsysconfdir)
|
|
|
|
|
|
# GNU format message catalogs go into $datadir/locale,
|
|
# standard location is $libdir/locale. DATADIRNAME set accordingly.
|
|
|
|
gimplocaledir="$datadir/locale"
|
|
if test "$DATADIRNAME" = "lib"; then
|
|
gimplocaledir="$libdir/locale"
|
|
fi
|
|
|
|
AC_SUBST(gimplocaledir)
|
|
|
|
|
|
############################
|
|
# Some defines for the build
|
|
############################
|
|
|
|
GIMPINSTALL=
|
|
if test "$INSTALL" = "$ac_install_sh"; then
|
|
GIMPINSTALL="gimpinstall-gimp_tool_version"
|
|
fi
|
|
AC_SUBST(GIMPINSTALL)
|
|
|
|
AM_CONDITIONAL(STATICLIBS, test x$enable_static = xyes)
|
|
|
|
dnl a tuned version of glib-mkenums
|
|
GIMP_MKENUMS="\$(PERL) \$(top_srcdir)/tools/gimp-mkenums"
|
|
AC_SUBST(GIMP_MKENUMS)
|
|
|
|
|
|
#############################
|
|
# Disable deprecated GIMP API
|
|
#############################
|
|
|
|
CPPFLAGS="${CPPFLAGS} -DGIMP_DISABLE_DEPRECATED"
|
|
|
|
##############################################################
|
|
# Default to disable deprecated GTK+ stuff for 2.4.x and 2.6.x
|
|
##############################################################
|
|
|
|
if test "x$have_glib_2_9" != "xyes"; then
|
|
CPPFLAGS="${CPPFLAGS} -DG_DISABLE_DEPRECATED"
|
|
fi
|
|
|
|
if test "x$have_gtk_2_9" != "xyes"; then
|
|
CPPFLAGS="${CPPFLAGS} -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
|
|
fi
|
|
|
|
if test "x$have_pango_1_11" != "xyes"; then
|
|
CPPFLAGS="${CPPFLAGS} -DPANGO_DISABLE_DEPRECATED"
|
|
fi
|
|
|
|
############################
|
|
# Require multihead safe API
|
|
############################
|
|
|
|
CPPFLAGS="${CPPFLAGS} -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE"
|
|
|
|
|
|
##################
|
|
# 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([libgimpbase/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"
|
|
#define GIMP_API_VERSION "$gimp_api_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
|
|
gimp_api_ver=gimp_api_version
|
|
])
|
|
|
|
AC_CONFIG_FILES([
|
|
gimptool-win32.c
|
|
tools/Makefile
|
|
tools/pdbgen/Makefile
|
|
regexrepl/Makefile
|
|
libgimp/Makefile
|
|
libgimpbase/Makefile
|
|
libgimpconfig/Makefile
|
|
libgimpcolor/Makefile
|
|
libgimpmath/Makefile
|
|
libgimpmodule/Makefile
|
|
libgimpthumb/Makefile
|
|
libgimpwidgets/Makefile
|
|
app/Makefile
|
|
app/actions/Makefile
|
|
app/base/Makefile
|
|
app/config/Makefile
|
|
app/core/Makefile
|
|
app/dialogs/Makefile
|
|
app/display/Makefile
|
|
app/file/Makefile
|
|
app/gui/Makefile
|
|
app/menus/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/script-fu/Makefile
|
|
plug-ins/script-fu/siod/Makefile
|
|
plug-ins/script-fu/scripts/Makefile
|
|
plug-ins/script-fu/scripts/images/Makefile
|
|
plug-ins/xjt/Makefile
|
|
plug-ins/FractalExplorer/Makefile
|
|
plug-ins/FractalExplorer/examples/Makefile
|
|
plug-ins/Lighting/Makefile
|
|
plug-ins/Lighting/images/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/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/help/Makefile
|
|
plug-ins/helpbrowser/Makefile
|
|
plug-ins/ifscompose/Makefile
|
|
plug-ins/imagemap/Makefile
|
|
plug-ins/imagemap/images/Makefile
|
|
plug-ins/jpeg/Makefile
|
|
plug-ins/maze/Makefile
|
|
plug-ins/metadata/Makefile
|
|
plug-ins/pagecurl/Makefile
|
|
plug-ins/print/Makefile
|
|
plug-ins/pygimp/Makefile
|
|
plug-ins/pygimp/plug-ins/Makefile
|
|
plug-ins/rcm/Makefile
|
|
plug-ins/rcm/images/Makefile
|
|
plug-ins/sel2path/Makefile
|
|
plug-ins/sgi/Makefile
|
|
plug-ins/twain/Makefile
|
|
plug-ins/uri/Makefile
|
|
plug-ins/winicon/Makefile
|
|
plug-ins/winsnap/Makefile
|
|
modules/Makefile
|
|
devel-docs/Makefile
|
|
devel-docs/app/Makefile
|
|
devel-docs/app/version
|
|
devel-docs/libgimp/Makefile
|
|
devel-docs/libgimp/version
|
|
devel-docs/libgimpbase/Makefile
|
|
devel-docs/libgimpbase/version
|
|
devel-docs/libgimpconfig/Makefile
|
|
devel-docs/libgimpconfig/version
|
|
devel-docs/libgimpcolor/Makefile
|
|
devel-docs/libgimpcolor/version
|
|
devel-docs/libgimpmath/Makefile
|
|
devel-docs/libgimpmath/version
|
|
devel-docs/libgimpmodule/Makefile
|
|
devel-docs/libgimpmodule/version
|
|
devel-docs/libgimpthumb/Makefile
|
|
devel-docs/libgimpthumb/version
|
|
devel-docs/libgimpwidgets/Makefile
|
|
devel-docs/libgimpwidgets/version
|
|
devel-docs/tools/Makefile
|
|
docs/Makefile
|
|
menus/Makefile
|
|
cursors/Makefile
|
|
themes/Makefile
|
|
themes/Default/Makefile
|
|
themes/Default/images/Makefile
|
|
themes/Default/images/preferences/Makefile
|
|
themes/Small/Makefile
|
|
data/Makefile
|
|
data/brushes/Makefile
|
|
data/environ/Makefile
|
|
data/gradients/Makefile
|
|
data/images/Makefile
|
|
data/interpreters/Makefile
|
|
data/palettes/Makefile
|
|
data/patterns/Makefile
|
|
data/tips/Makefile
|
|
desktop/Makefile
|
|
desktop/gimp.applications
|
|
desktop/gimp.desktop.in
|
|
desktop/gimp.keys
|
|
etc/Makefile
|
|
m4macros/Makefile
|
|
po/Makefile.in
|
|
po-libgimp/Makefile.in
|
|
po-plug-ins/Makefile.in
|
|
po-script-fu/Makefile.in
|
|
po-tips/Makefile.in
|
|
gimp-zip
|
|
Makefile
|
|
])
|
|
|
|
dnl Files with versions in their names
|
|
AC_CONFIG_FILES(
|
|
docs/gimp-gimp_app_version.1:docs/gimp.1.in
|
|
docs/gimprc-gimp_app_version.5:docs/gimprc.5.in
|
|
docs/gimptool-gimp_tool_version.1:docs/gimptool.1.in
|
|
docs/gimp-remote-gimp_app_version.1:docs/gimp-remote.1.in
|
|
gimptool-gimp_tool_version:gimptool-2.0.in
|
|
gimp-gimp_pkgconfig_version.pc:gimp.pc.in
|
|
gimpthumb-gimp_pkgconfig_version.pc:gimpthumb.pc.in
|
|
gimpui-gimp_pkgconfig_version.pc:gimpui.pc.in
|
|
)
|
|
|
|
AC_CONFIG_COMMANDS([chmod-scripts],
|
|
[chmod +x gimptool-gimp_tool_version])
|
|
|
|
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
|
|
sed -e "/POTFILES =/r po-tips/POTFILES" po-tips/Makefile.in > po-tips/Makefile])
|
|
|
|
AC_OUTPUT
|