diff --git a/ChangeLog b/ChangeLog index 752c05a6be..40171f2cef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2002-03-02 Sven Neumann + + * autogen.sh: require intltool-0.17. + + * configure.in: require latest glib, pango and gtk+. Bail out if + libtiff, libjpeg or libpng is not found. You now need to explicitly + disable TIFF, JPEG and PNG support. + + * HACKING + * INSTALL + * NEWS + * README: udpated. + + * data/misc/Makefile.am: fixed dependencies. + 2002-03-02 Sven Neumann * app/core/gimptoolinfo.c diff --git a/HACKING b/HACKING index 1656e35d5b..496dac1daa 100644 --- a/HACKING +++ b/HACKING @@ -14,7 +14,7 @@ fine GNU mirrors. Beta software can be found at alpha.gnu.org. Available from http://www.freedesktop.org/software/pkgconfig/. - - intltoolize 0.15 (or newer version) + - intltoolize 0.17 (or newer version) Available from ftp://ftp.gnome.org/pub/GNOME/stable/sources/intltool/. @@ -29,7 +29,7 @@ by running: Basically this does the following for you: - cvsroot/gimp# aclocal; automake; autoconf + cvsroot/gimp# aclocal; automake -a; autoconf cvsroot/gimp# glib-gettextize; intltoolize The above commands create the "configure" script. Now you @@ -38,8 +38,8 @@ Basically this does the following for you: Before running autogen.sh or configure, make sure you have libtool in your path. Also make sure glib-2.0.m4 glib-gettext.m4, gtk-2.0.m4, -pkg.m4 and intltool.m4 are either installed in the same -$prefix/share/aclocal relative to your automake/aclocal installation +pkg.m4 and intltool.m4 are either installed in the same +$prefix/share/aclocal relative to your automake/aclocal installation or call autogen.sh with 'ACLOCAL_FLAGS="-I $prefix/share/aclocal" ./autogen.sh'. @@ -73,28 +73,29 @@ releases will do also. Patches ------- -Please submit patches to the gimp-developer@lists.xcf.berkeley.edu -mailing list. All kinds of contributions are appreciated. Larger patches -should be uploaded to ftp://ftp.gimp.org/incoming/. Follow the rules -there for naming your patches. +Please submit patches to the gimp-developer@lists.xcf.berkeley.edu +mailing list. All kinds of contributions are appreciated. Larger +patches should be uploaded to ftp://ftp.gimp.org/incoming/. Follow +the rules there for naming your patches. Autogenerated Files ------------------- -Please notice that some files in the source are generated from other -sources. All those files have a short notice about being autogenerated -somewhere at the top. Among them are the files ending in _pdb.[ch] in the -libgimp directory and the files ending in _cmds.c in the app/pdb -subdirectory. Those are generated from the respective .pdb files in -tools/pdbgen/pdb. The list of contributors is used in several files which -are for that reason generated from the file contributors in tools/authorsgen. +Please notice that some files in the source are generated from other +sources. All those files have a short notice about being autogenerated +somewhere at the top. Among them are the files ending in _pdb.[ch] in +the libgimp directory and the files ending in _cmds.c in the app/pdb +subdirectory. Those are generated from the respective .pdb files in +tools/pdbgen/pdb. The list of contributors is used in several files +which are for that reason generated from the file contributors in +tools/authorsgen. Hackordnung ----------- -We encourage you to follow the GIMP coding style throughout the GIMP project. -For the core components (application and libs) this coding style is enforced. -The GIMP coding style is defined as follows: +We encourage you to follow the GIMP coding style throughout the GIMP +project. For the core components (application and libs) this coding +style is enforced. The GIMP coding style is defined as follows: Function names are lowercase, words separated by underscores. Macros and enums are all uppercase, words seperated by underscores. @@ -107,13 +108,14 @@ The GIMP coding style is defined as follows: - Do not use tabs (of course your editor can use tabs, but it should write them to file as 8 spaces each). - Opening brackets are on a new line and indented one level. - - Function header have the return type on one line, the name starting - in the first column of the following line. All parameters are - prototyped and there's a new line for each. + - Function header have the return type on one line, the name + starting in the first column of the following line. All + parameters are prototyped and there's a new line for each. -Try to make use of GLib's object system as much as possible. Do not create -wrappers around functions of parent classes. If you end up duplicating code, -try to create a common parent class and implement the common methods there. +Try to make use of GLib's object system as much as possible. Do not +create wrappers around functions of parent classes. If you end up +duplicating code, try to create a common parent class and implement +the common methods there. Don't include headers in headers except where unavoidable (e.g. for deriving objects). Opaque typedefs go to app/base/base-types.h, @@ -121,6 +123,7 @@ app/core/core-types.h etc. Don't use the GTK wrappers around the GLib object and signal system. -One goal of the 1.3 development branch is to make the GIMP code more readable -and understandable. Please help us to achieve this goal by cleaning up the -present code and make sure that all new code follows the coding guidelines. +One goal of the 1.3 development branch is to make the GIMP code more +readable and understandable. Please help us to achieve this goal by +cleaning up the present code and make sure that all new code follows +the coding guidelines. diff --git a/INSTALL b/INSTALL index 30cbefbc6a..e5a841c3df 100644 --- a/INSTALL +++ b/INSTALL @@ -45,27 +45,34 @@ options can be listed using the command `./configure --help'. There are five commands special options the GIMP `configure' script recognizes. These are: - 1. --enable-shared and --disable-shared. This option affects whether + --enable-shared and --disable-shared. This option affects whether shared libraries will be built or not. Shared libraries provide for much smaller executables. The default is to enable shared libraries. Disabling shared libraries is almost never a good idea. - 2. --enable-debug and --disable-debug. This option causes the build + --enable-debug and --disable-debug. This option causes the build process to compile with debugging enabled. If debugging is disabled, the GIMP will instead be compiled with optimizations turned on. The default is for debugging to be disabled. NOTE: This option is intended primarily as a convenience for developers. - 3. --enable-ansi and --disable-ansi. This option causes stricter + --enable-ansi and --disable-ansi. This option causes stricter ANSI C checking to be performed when compiling with GCC. The default is for strict checking to be disabled. NOTE: This option is intended primarily as a convenience for developers. - 4. --enable-gimpdir=DIR. This option changes the default directory + --enable-gimpdir=DIR. This option changes the default directory the gimp uses to search for its configuration files from ~/.gimp-1.3 (the directory .gimp-1.3 in the users home directory) to DIR. - - 5. --enable-perl and --disable-perl. The perl extension does not build + + --without-libtiff, without-libjpeg, --without-libpng. configure + will bail out if libtiff, libjpeg or libpng can not be found. You + better fix the underlying problem and install these libraries with + their header files. If you absolutely want to compile GIMP without + support for TIFF, JPEG or PNG you need to explicitely disable + them using the options given above. + + --enable-perl and --disable-perl. The perl extension does not build on all systems. If you experience problems use --disable-perl and gimp will not even try to built it. The perl extension does not usually respect the normal configure prefix but uses perl's @@ -76,25 +83,18 @@ recognizes. These are: get many errors on startup. See README.perl for even finer grained control about installation paths (and distribution making). - 6. --enable-nls and --disable-nls. This option changes whether to build - GIMP with or without localisation support. This option is enabled by - default. If you'd like to enjoy GIMP in your native language, assuming - the necessary catalogs are available, then leave this option on. If - you'd like to have an English GIMP in every case then turn this option - off; this will also decrease the binary size by a few bits. - - 7. --enable-threads and --enable-mp. This options control whether to build + --enable-threads and --enable-mp. This options control whether to build GIMP with or without support for multiple processors. This options are off by default. If you do have multiply processors and run GIMP with an OS supporting them you will like to enable this features to use all of your horsepower. Enabling it on singleprocessor systems won't harm but cause a bit processing overhead. - 8. --with-sendmail=[PATH]. This option is used to tell GIMP where to find + --with-sendmail=[PATH]. This option is used to tell GIMP where to find the sendmail command. Normally this options don't have to be used because configure tries to find it in the usual places. - 9. --with-gnome-desktop=[PATH]. This option specifies where to install + --with-gnome-desktop=[PATH]. This option specifies where to install a link to the gimp.desktop file for GNOME-2.0. The default value ${prefix}/share/applications should be fine if GNOME-2.0 is installed in the same prefix. No link is created if the specified directory diff --git a/NEWS b/NEWS index 5b714641bb..99a1634471 100644 --- a/NEWS +++ b/NEWS @@ -25,7 +25,10 @@ Overview of Changes in GIMP 1.3.4 - First draft of a new vectors tool [Simon, Mitch] - Undo cleanups [Mitch] - Changed tips file format to XML [Sven] +- Added desktop file for GNOME-2 [Sven] - Added GimpItem class to generalize core code even further [Mitch] +- Improved preferences dialog [Mitch, Sven] +- New tool icons [Jimmac] - Bugfixes - More stuff not mentioned here (see the ChangeLog) diff --git a/README b/README index d71d6a8c9d..61f68414de 100644 --- a/README +++ b/README @@ -46,17 +46,18 @@ discussion. There is more info at https://lists.xcf.berkeley.edu/mailman/listinfo/ -substituting for "gimp-announce", "gimp-user", "gimp-win-user", -or "gimp-developer" (without the quotes, of course) depending on the list -you want to subscribe to. Links to the mailing list archives can be found -at the same addresses as given above. +substituting for "gimp-announce", "gimp-user", +"gimp-win-user", or "gimp-developer" (without the quotes, of course) +depending on the list you want to subscribe to. Links to the mailing +list archives can be found at the same addresses as given above. -Gimp-announce is a low-traffic list with announcements about new releases -of GIMP and plug-ins. Gimp-user is a mailing list dedicated to user problems, -hints and tips, discussion of cool effects, etc. Gimp-developer is -oriented to GIMP core and plug-in developers. Most people will only want -to be subscribed to gimp-user. If you want to help develop The GIMP, the -gimp-developer mailing list is a good starting point. +Gimp-announce is a low-traffic list with announcements about new +releases of GIMP and plug-ins. Gimp-user is a mailing list dedicated +to user problems, hints and tips, discussion of cool effects, etc. +Gimp-developer is oriented to GIMP core and plug-in developers. Most +people will only want to be subscribed to gimp-user. If you want to +help develop The GIMP, the gimp-developer mailing list is a good +starting point. There are two mailing lists dedicated to the Win32 port, "gimpwin-users" and "gimpwin-dev". Especially the latter also carries traffic about the @@ -67,11 +68,14 @@ or gimpwin-dev-subscribe@egroups.com respectively. You can also use the web interface at -http://www.egroups.com/group/gimpwin-users/ and -http://www.egroups.com/group/gimpwin-dev/ . Note that as these mailing -lists are hosted on egroups.com, the messages from the list contain -relatively unintrusive and easily ignored advertisements at the -end. But if you are absolutely allergic to ads, don't subscribe. + + http://www.egroups.com/group/gimpwin-users/ and + http://www.egroups.com/group/gimpwin-dev/ + +Note that as these mailing lists are hosted on egroups.com, the +messages from the list contain relatively unintrusive and easily +ignored advertisements at the end. But if you are absolutely allergic +to ads, don't subscribe. 3. IRC @@ -83,27 +87,29 @@ Many of the developers hang out there. One of the Byxnet servers are: irc.gimp.org:6667 + 4. Customizing ============== The look of GIMP's interface can be customized like any other GTK app -by editing the ~/.gtkrc file or by using "themes" (ready-made +by editing the ~/.gtkrc file or by using "themes" (ready-made customizations). For downloadable themes and further details, see -http://gtk.themes.org. Additionally GIMP reads ~/.gimp-1.3/gtkrc so you -can have settings that only apply to The GIMP. +http://gtk.themes.org. Additionally GIMP reads ~/.gimp-1.3/gtkrc so +you can have settings that only apply to The GIMP. + +Included is a set of keybindings similar to those in Adobe Photoshop. +You can find them in the ps-menurc file. To use them, copy this file +to ~/.gimp-1.3/menurc. You can also manually change the keybindings to +any of your choice by editing ~/.gimp-1.3/menurc. -Included is a set of keybindings similar to those in Adobe Photoshop (tm). -You can find them in the ps-menurc file. To use them, copy this file to -~/.gimp-1.3/menurc. You can also manually change the keybindings to any of -your choice by editing ~/.gimp-1.3/menurc. 5. Bugs ======= Since this is a developers version, we are at the moment not really -interested in receiving bug-reports. If you find a bug, contact the person -who is working on this particular part of the program (check the ChangeLog) -or try to fix it yourself. +interested in receiving bug-reports. If you find a bug, contact the +person who is working on this particular part of the program (check +the ChangeLog) or try to fix it yourself. Have fun, @@ -114,11 +120,3 @@ Have fun, Manish Singh Sven Neumann Michael Natterer - - - - - - - - diff --git a/autogen.sh b/autogen.sh index 6ffd9b7bba..fe08b78d62 100755 --- a/autogen.sh +++ b/autogen.sh @@ -91,10 +91,10 @@ fi echo "Testing intltoolize... " VER=`intltoolize --version | grep intltoolize | sed "s/.* \([0-9.]*\)/\1/"` -if expr $VER \>= 0.15 >/dev/null; then +if expr $VER \>= 0.17 >/dev/null; then echo "looks OK." else - echo "too old! (Need 0.15, have $VER)" + echo "too old! (Need 0.17, have $VER)" DIE=1 fi echo diff --git a/configure.in b/configure.in index 5f2383b9e2..eac09c79f1 100644 --- a/configure.in +++ b/configure.in @@ -2,9 +2,9 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(etc/gimprc.in) -GLIB_REQUIRED_VERSION=1.3.14 +GLIB_REQUIRED_VERSION=1.3.15 GTK_REQUIRED_VERSION=$GLIB_REQUIRED_VERSION -PANGOFT2_REQUIRED_VERSION=0.24 +PANGOFT2_REQUIRED_VERSION=0.26 GTKDOC_REQUIRED_VERSION=0.6 # @@ -190,13 +190,6 @@ AC_TRY_COMPILE([#include ], [DIR *dir;], CFLAGS=$gimp_save_CFLAGS AC_MSG_WARN([Could not determine POSIX flag. (-posix didn't work.)]))) -gimp_save_CPPFLAGS="$CPPFLAGS" -gimp_save_LDFLAGS="$LDFLAGS" -gimp_save_LIBS="$LIBS" - -CPPFLAGS="$CPPFLAGS $GTK_CFLAGS" -LDFLAGS="$LDFLAGS `echo $GTK_LIBS | sed 's/\(.*\)\(-lgtk.*\)/\1/'`" -LIBS="$LIBS $GTK_LIBS" dnl Test for MMX stuff have_asm_mmx=false @@ -246,125 +239,6 @@ AM_CONDITIONAL(HAVE_ASM_MMX, test x$have_asm_mmx = xtrue) dnl build of gimp-remote is disabled for now dnl GIMP_REMOTE="gimp-remote-1.3" -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 - AC_CHECK_LIB(Xmu, XmuClientWindow, - [AC_CHECK_HEADER(X11/Xmu/WinUtil.h, - WEBBROWSER="webbrowser"; LIBXMU='-lXmu -lXt -lSM -lICE', - [AC_MSG_WARN(*** webbrowser plug-in will not be built (XMU header file not found) ***)])], - [AC_CHECK_LIB(Xmu, XmuUpdateMapHints, - [AC_CHECK_HEADER(X11/Xmu/WinUtil.h, - WEBBROWSER="webbrowser"; LIBXMU='-lXmu -lXt', - [AC_MSG_WARN(*** webbrowser plug-in will not be built (XMU header file not found) ***)])], - AC_MSG_WARN(*** webbrowser plug-in will not be built (XMU library not found) ***), -lXt)], -lXt -lSM -lICE) - fi - else - AC_MSG_WARN([ -*** Not building for GTK+-X11 (GDK backend is $gdk_target). -*** Webbrowser plug-in will not be built.]) - fi - -dnl Test 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 - -dnl Test for libtiff - if 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 - -dnl Test for libjpeg - if 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'; XJT='xjt'; LIBJPEG='-ljpeg' - AC_CHECK_LIB(jpeg, jpeg_simple_progression, - AC_DEFINE(HAVE_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 - -dnl Test 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 - -dnl Test for libpng - if 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 - -dnl Test 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 dnl Check for shared memory AC_CHECK_HEADER(sys/ipc.h, [AC_DEFINE(HAVE_IPC_H)], no_sys_ipc=yes) @@ -496,6 +370,194 @@ if test "$have_glib_inline" = "no"; then AC_C_INLINE fi +dnl Threads +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 + +dnl Multi-Processor Support +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) + 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 + + +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 + AC_CHECK_LIB(Xmu, XmuClientWindow, + [AC_CHECK_HEADER(X11/Xmu/WinUtil.h, + WEBBROWSER="webbrowser"; LIBXMU='-lXmu -lXt -lSM -lICE', + [AC_MSG_WARN(*** webbrowser plug-in will not be built (XMU header file not found) ***)])], + [AC_CHECK_LIB(Xmu, XmuUpdateMapHints, + [AC_CHECK_HEADER(X11/Xmu/WinUtil.h, + WEBBROWSER="webbrowser"; LIBXMU='-lXmu -lXt', + [AC_MSG_WARN(*** webbrowser plug-in will not be built (XMU header file not found) ***)])], + AC_MSG_WARN(*** webbrowser plug-in will not be built (XMU library not found) ***), -lXt)], -lXt -lSM -lICE) + fi + else + AC_MSG_WARN([ +*** Not building for GTK+-X11 (GDK backend is $gdk_target). +*** Webbrowser plug-in will not be built.]) + fi + +dnl Test 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 + + +dnl Test 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'; XJT='xjt'; LIBJPEG='-ljpeg' + AC_CHECK_LIB(jpeg, jpeg_simple_progression, + AC_DEFINE(HAVE_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 + + +dnl Test 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 + +dnl Test 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 + + +dnl Test 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 + + +dnl Test 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 + + +dnl Test for libXpm + gimp_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $X_LIBS" + if test -z "$LIBXPM"; then + AC_CHECK_LIB(Xpm, XpmReadFileToXpmImage, + [AC_CHECK_HEADER(X11/xpm.h, + XPM='xpm'; LIBXPM="$X_LIBS $X_PRE_LIBS -lX11 -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 -lX11) + fi + LDFLAGS="$gimp_save_LDFLAGS" + + dnl This is for the help browser dnl AC_PATH_PROG(GNOME_CONFIG,gnome-config,no) dnl if test "$GNOME_CONFIG" = "no"; then @@ -537,50 +599,6 @@ dnl HELPBROWSER= dnl fi dnl fi -CPPFLAGS="$gimp_save_CPPFLAGS" -LDFLAGS="$gimp_save_LDFLAGS" -LIBS="$gimp_save_LIBS" - -dnl Test for libXpm - gimp_save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $X_LIBS" - if test -z "$LIBXPM"; then - AC_CHECK_LIB(Xpm, XpmReadFileToXpmImage, - [AC_CHECK_HEADER(X11/xpm.h, - XPM='xpm'; LIBXPM="$X_LIBS $X_PRE_LIBS -lX11 -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 -lX11) - fi - LDFLAGS="$gimp_save_LDFLAGS" - - -dnl Threads -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 - -dnl Multi-Processor Support -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) - 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 gimpdatadir=$datadir/$PACKAGE/$GIMP_MAJOR_VERSION.$GIMP_MINOR_VERSION gimpplugindir=$libdir/$PACKAGE/$GIMP_MAJOR_VERSION.$GIMP_MINOR_VERSION diff --git a/data/misc/Makefile.am b/data/misc/Makefile.am index 6d42d6c0e1..182f0a455a 100644 --- a/data/misc/Makefile.am +++ b/data/misc/Makefile.am @@ -17,7 +17,7 @@ EXTRA_DIST = \ gen_sources = desktop-foo CLEANFILES = $(gen_sources) -gimp.desktop: gimp.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) +gimp.desktop: gimp.desktop.in $(wildcard $(top_srcdir)/po/*.po) sed -e 's|.[{]prefix[}]|${prefix}|' $< > desktop-foo \ && $(INTLTOOL_MERGE) $(top_srcdir)/po desktop-foo $(@) -d -u -c $(top_builddir)/po/.intltool-merge-cachemake \ && rm -r desktop-foo