| use libpng's pkg-config files rather than the ugly xxx-config scripts |
| |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -47,6 +47,7 @@ AC_PROG_LIBTOOL |
| AC_PROG_LN_S |
| AC_PROG_MAKE_SET |
| #AC_PROG_RANLIB |
| +PKG_PROG_PKG_CONFIG |
| |
| dnl may be required for freetype and Xpm |
| AC_PATH_X |
| @@ -340,74 +341,26 @@ AC_CHECK_LIB(z,deflate, |
| dnl libpng is required |
| AC_ARG_WITH(png,dnl |
| [ --with-png=DIR where to find the png library],, |
| - withval=yes) |
| - |
| -# libpng12.so is a nightmare. We have to test separately for |
| -# libpng12-config and libpng-config. If we find libpng12-config, |
| -# we don't look for the other, which will just be a symlink to it, |
| -# confusing autoconf into thinking the library itself will be named -lpng, |
| -# which it won't be. Awful. This code will suffice unless the libpng |
| -# authors decide to do this AGAIN. Which I really hope they won't. TBB |
| - |
| -if test "$withval" != no; then |
| - AC_PATH_PROG([LIBPNG12_CONFIG], [libpng12-config]) |
| - AC_PATH_PROG([LIBPNG_CONFIG], [libpng-config]) |
| - if test -n "$LIBPNG12_CONFIG"; then |
| - libpng_CPPFLAGS=`libpng12-config --cflags` |
| - # should be --ldopts, but it's currently broken |
| - libpng_LDFLAGS=`libpng12-config --ldflags` |
| - libpng_LDFLAGS=`echo " $libpng_LDFLAGS" | sed 's/ -l[[^ ]][[^ ]]*//g'` |
| - elif test -n "$LIBPNG_CONFIG"; then |
| - libpng_CPPFLAGS=`libpng-config --cflags` |
| - # should be --ldopts, but it's currently broken |
| - libpng_LDFLAGS=`libpng-config --ldflags` |
| - libpng_LDFLAGS=`echo " $libpng_LDFLAGS" | sed 's/ -l[[^ ]][[^ ]]*//g'` |
| - elif test -d "$withval"; then |
| - libpng_CPPFLAGS="-I$withval/include" |
| - libpng_LDFLAGS="-L$withval/lib" |
| - fi |
| - |
| - AC_CHECK_HEADERS(png.h,, |
| - [AC_CHECK_HEADERS(libpng/png.h, |
| - [CPPFLAGS="$CPPFLAGS $libpng_CPPFLAGS/libpng"], |
| - [CPPFLAGS="$_cppflags"])]) |
| - |
| - _ldflags="$LDFLAGS" |
| - LDFLAGS="$libpng_LDFLAGS $LDFLAGS" |
| - |
| - if test -n "$LIBPNG12_CONFIG"; then |
| - AC_CHECK_LIB(png12,png_create_read_struct, |
| - [LIBS="-lpng12 $LIBS" |
| - FEATURES="GD_PNG $FEATURES" |
| - AC_DEFINE(HAVE_LIBPNG, 1, [ Define if you have the png library. ])], |
| - [LDFLAGS="$_ldflags" |
| - AC_MSG_WARN([libpng is required - see http://www.libpng.org/pub/png/])]) |
| - elif test -n "$LIBPNG_CONFIG"; then |
| - AC_CHECK_LIB(png,png_create_read_struct, |
| - [LIBS="-lpng $LIBS" |
| - FEATURES="GD_PNG $FEATURES" |
| - AC_DEFINE(HAVE_LIBPNG, 1, [ Define if you have the png library. ])], |
| - [LDFLAGS="$_ldflags" |
| - AC_MSG_WARN([libpng is required - see http://www.libpng.org/pub/png/])]) |
| - else |
| - AC_CHECK_LIB(png,png_create_read_struct, |
| - [LIBS="-lpng $LIBS" |
| - FEATURES="GD_PNG $FEATURES" |
| - AC_DEFINE(HAVE_LIBPNG, 1, [ Define if you have the png library. ])], |
| - [LDFLAGS="$_ldflags" |
| - AC_MSG_WARN([libpng is required - see http://www.libpng.org/pub/png/])]) |
| - fi |
| -else |
| - ac_cv_lib_png_png_create_read_struct=no |
| + with_png=detect) |
| + |
| +if test "$with_png" != no; then |
| + PKG_CHECK_MODULES([LIBPNG], libpng, [ |
| + FEATURES="GD_PNG $FEATURES" |
| + AC_DEFINE(HAVE_LIBPNG, 1, [ Define if you have the png library. ]) |
| + CPPFLAGS="$CPPFLAGS $LIBPNG_CFLAGS" |
| + LDFLAGS="$LDFLAGS $LIBPNG_LIBS" |
| + with_png=yes |
| + ],[ |
| + if test "$with_png" = yes; then |
| + AC_MSG_ERROR([png support requested, but not found]) |
| + fi |
| + with_png=no |
| + ]) |
| +fi |
| +if test "$with_png" = no; then |
| AC_MSG_WARN([libpng is required - see http://www.libpng.org/pub/png/]) |
| fi |
| |
| -#TBB: png12's png_create_read_struct is just as good |
| -#2.0.23: should be = not == |
| -if test "$ac_cv_lib_png12_png_create_read_struct" = yes; then |
| - ac_cv_lib_png_png_create_read_struct=yes |
| -fi |
| - |
| dnl FreeType configure tests snarfed from libwmf .. |
| AC_ARG_WITH(freetype,dnl |
| [ --with-freetype=DIR where to find the freetype 2.x library], |
| @@ -528,7 +481,7 @@ dnl report configuration |
| AC_MSG_RESULT([ |
| ** Configuration summary for $PACKAGE $VERSION: |
| |
| - Support for PNG library: $ac_cv_lib_png_png_create_read_struct |
| + Support for PNG library: $with_png |
| Support for JPEG library: $ac_cv_lib_jpeg_jpeg_set_defaults |
| Support for Freetype 2.x library: $ac_cv_lib_freetype_FT_Init_FreeType |
| Support for Fontconfig library: $ac_cv_lib_fontconfig_FcInit |