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.2.0 GTK_REQUIRED_VERSION=$GLIB_REQUIRED_VERSION PANGOFT2_REQUIRED_VERSION=1.2.0 GTKDOC_REQUIRED_VERSION=1.0 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=16 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 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 AC_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 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=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 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 AM_PATH_GTK_2_0($GTK_REQUIRED_VERSION,, AC_MSG_ERROR(Test for GTK failed. See the file 'INSTALL' for help.)) 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(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) PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 1.0.1, have_fontconfig=true, :) ########################################## # 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 int main (void) { return (log(1) != log(1.)); }], AC_MSG_RESULT(none needed), gimp_save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -std1" AC_TRY_RUN([#include 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 ) AC_TRY_LINK([#include ], [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 ) AC_TRY_LINK([#include ], [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 ], [DIR *dir;], AC_MSG_RESULT(none needed), gimp_save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -posix" AC_TRY_COMPILE([#include ], [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 <&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 ################################### 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 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 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 #include #include 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 #include #include 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 ], [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 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 #undef HAVE_STDDEF_H #undef HAVE_STDLIB_H #undef PACKAGE #undef VERSION #include ], 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_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) ################# # 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 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 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)]) have_gimp_print=yes 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 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 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) ############################################################ # 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"; 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 ########################################################### # 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 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 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-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_OUTPUT([ tools/Makefile tools/authorsgen/Makefile tools/pdbgen/Makefile regexrepl/Makefile libgimp/Makefile libgimpbase/gimpversion.h 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/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/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 ],[ 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 ])