* configure.ac (LIBPNG): Add -lz -lm on platforms where they're needed

but libpng-config --libs omits them.  Problem reported by Glenn
Morris.
This commit is contained in:
Paul Eggert 2014-05-03 23:34:04 -07:00
parent 7e00998fbc
commit ec5f5b309d
2 changed files with 25 additions and 4 deletions

View file

@ -1,3 +1,9 @@
2014-05-04 Paul Eggert <eggert@cs.ucla.edu>
* configure.ac (LIBPNG): Add -lz -lm on platforms where they're needed
but libpng-config --libs omits them. Problem reported by Glenn
Morris.
2014-05-03 Paul Eggert <eggert@cs.ucla.edu>
Require ImageMagick >= 6.3.5, due to PixelSetMagickColor (Bug#17339).

View file

@ -3080,10 +3080,25 @@ elif test "${HAVE_X11}" = "yes" || test "${HAVE_W32}" = "yes"; then
if png_cflags=`(libpng-config --cflags) 2>&AS_MESSAGE_LOG_FD` &&
png_libs=`(libpng-config --libs) 2>&AS_MESSAGE_LOG_FD`
then
HAVE_PNG=yes
PNG_CFLAGS=`AS_ECHO(["$png_cflags"]) | sed -e "$edit_cflags"`
LIBPNG=$png_libs
else
# On some platforms, LIBPNG must also contain -lz -lm.
SAVE_CFLAGS=$CFLAGS
SAVE_LIBS=$LIBS
CFLAGS="$CFLAGS $png_cflags"
for png_libextras in '' ' -lz -lm'; do
LIBS="$png_libs$png_libextras $SAVE_LIBS"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[#include <png.h>
]],
[[return png_get_channels (0, 0);]])],
[HAVE_PNG=yes
PNG_CFLAGS=`AS_ECHO(["$png_cflags"]) | sed -e "$edit_cflags"`
LIBPNG=$png_libs$png_libextras])
test $HAVE_PNG = yes && break
done
CFLAGS=$SAVE_CFLAGS
LIBS=$SAVE_LIBS
fi
if test $HAVE_PNG != yes; then
# libpng-config does not work; configure it by hand.
# Debian unstable as of July 2003 has multiple libpngs, and puts png.h
# in /usr/include/libpng.