[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-24 r117050: Consult libpng-config more consistently.
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] emacs-24 r117050: Consult libpng-config more consistently. |
Date: |
Fri, 02 May 2014 19:34:08 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 117050
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/17339
committer: Paul Eggert <address@hidden>
branch nick: emacs-24
timestamp: Fri 2014-05-02 12:34:03 -0700
message:
Consult libpng-config more consistently.
* configure.ac (edit_cflags): Move this up and to the top level,
so that PNG_CFLAGS can use it too.
(PNG_CFLAGS): New var.
(png_longjmp): Use PNG_CFLAGS when checking.
(LIBPNG): Be consistent about -lpng16 etc; e.g., don't use -lpng16
in some places and -lpng in others. Test libpng-config's exit
status. If it succeeds, use its output rather than appending -lz -lm.
* src/Makefile.in (PNG_CFLAGS): New var.
(ALL_CFLAGS): Use it.
* src/image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
CFLAGS now handles this.
modified:
ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1538
configure.ac
configure.in-20091113204419-o5vbwnq5f7feedwu-783
src/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1438
src/Makefile.in makefile.in-20091113204419-o5vbwnq5f7feedwu-631
src/image.c image.c-20091113204419-o5vbwnq5f7feedwu-2969
=== modified file 'ChangeLog'
--- a/ChangeLog 2014-05-01 21:57:27 +0000
+++ b/ChangeLog 2014-05-02 19:34:03 +0000
@@ -1,3 +1,14 @@
+2014-05-02 Paul Eggert <address@hidden>
+
+ Consult libpng-config more consistently (Bug#17339).
+ * configure.ac (edit_cflags): Move this up and to the top level,
+ so that PNG_CFLAGS can use it too.
+ (PNG_CFLAGS): New var.
+ (png_longjmp): Use PNG_CFLAGS when checking.
+ (LIBPNG): Be consistent about -lpng16 etc; e.g., don't use -lpng16
+ in some places and -lpng in others. Test libpng-config's exit
+ status. If it succeeds, use its output rather than appending -lz -lm.
+
2014-05-01 Glenn Morris <address@hidden>
* configure.ac (LIBPNG): Consult libpng-config for the precise
=== modified file 'configure.ac'
--- a/configure.ac 2014-05-01 21:57:27 +0000
+++ b/configure.ac 2014-05-02 19:34:03 +0000
@@ -897,6 +897,12 @@
AC_SUBST([GNULIB_WARN_CFLAGS])
fi
+edit_cflags="
+ s,///*,/,g
+ s/^/ /
+ s/ -I/ $isystem/g
+ s/^ //
+"
dnl Some other nice autoconf tests.
@@ -1340,12 +1346,6 @@
if "$PKG_CONFIG" --exists "$2" 2>&AS_MESSAGE_LOG_FD &&
$1_CFLAGS=`"$PKG_CONFIG" --cflags "$2" 2>&AS_MESSAGE_LOG_FD` &&
$1_LIBS=`"$PKG_CONFIG" --libs "$2" 2>&AS_MESSAGE_LOG_FD`; then
- edit_cflags="
- s,///*,/,g
- s/^/ /
- s/ -I/ $isystem/g
- s/^ //
- "
$1_CFLAGS=`AS_ECHO(["$$1_CFLAGS"]) | sed -e "$edit_cflags"`
$1_LIBS=`AS_ECHO(["$$1_LIBS"]) | sed -e 's,///*,/,g'`
AC_MSG_RESULT([yes CFLAGS='$$1_CFLAGS' LIBS='$$1_LIBS'])
@@ -3070,62 +3070,55 @@
### mingw32 doesn't use -lpng, since it loads the library dynamically.
HAVE_PNG=no
LIBPNG=
+PNG_CFLAGS=
if test "${opsys}" = "mingw32"; then
if test "${with_png}" != "no"; then
- AC_CHECK_HEADER(png.h, HAVE_PNG=yes, HAVE_PNG=no)
- fi
- if test "${HAVE_PNG}" = "yes"; then
- AC_DEFINE(HAVE_PNG, 1, [Define to 1 if you have the png library (-lpng).])
-
- AC_CHECK_DECL(png_longjmp,
- [],
- [AC_DEFINE(PNG_DEPSTRUCT, [],
- [Define to empty to suppress deprecation warnings when building
- with --enable-gcc-warnings and with libpng versions before 1.5,
- which lack png_longjmp.])],
- [[#ifdef HAVE_LIBPNG_PNG_H
- # include <libpng/png.h>
- #else
- # include <png.h>
- #endif
- ]])
+ AC_CHECK_HEADER([png.h], [HAVE_PNG=yes])
fi
elif test "${HAVE_X11}" = "yes" || test "${HAVE_W32}" = "yes"; then
if test "${with_png}" != "no"; then
- # Debian unstable as of July 2003 has multiple libpngs, and puts png.h
- # in /usr/include/libpng.
- AC_CHECK_HEADERS(png.h libpng/png.h, break)
- if test "$ac_cv_header_png_h" = yes || test "$ac_cv_header_libpng_png_h" =
yes ; then
- AC_CHECK_LIB(png, png_get_channels, HAVE_PNG=yes, , -lz -lm)
+
+ dnl NetBSD 6 provides libpng16, not libpng.
+ 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
+ # 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.
+ AC_CHECK_HEADERS([png.h libpng/png.h],
+ [AC_CHECK_LIB([png], [png_get_channels],
+ [HAVE_PNG=yes
+ LIBPNG='-lpng -lz -lm'
+ if test "$ac_cv_header_libpng_png_h" = yes; then
+ PNG_CFLAGS=-I/usr/include/libpng
+ fi],
+ [],
+ [-lz -lm])
+ break])
fi
fi
-
- if test "${HAVE_PNG}" = "yes"; then
- AC_DEFINE(HAVE_PNG, 1, [Define to 1 if you have the png library.])
-
- dnl Some systems, eg NetBSD 6, only provide eg "libpng16", not "libpng".
- lpng=`libpng-config --libs 2> /dev/null`
- case $lpng in
- -l*) : ;;
- *) lpng="-lpng" ;;
- esac
- LIBPNG="$lpng -lz -lm"
-
- AC_CHECK_DECL(png_longjmp,
- [],
- [AC_DEFINE(PNG_DEPSTRUCT, [],
- [Define to empty to suppress deprecation warnings when building
- with --enable-gcc-warnings and with libpng versions before 1.5,
- which lack png_longjmp.])],
- [[#ifdef HAVE_LIBPNG_PNG_H
- # include <libpng/png.h>
- #else
- # include <png.h>
- #endif
- ]])
- fi
+fi
+if test $HAVE_PNG = yes; then
+ AC_DEFINE([HAVE_PNG], [1], [Define to 1 if you have the png library.])
+
+ SAVE_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS $PNG_CFLAGS"
+ AC_CHECK_DECL([png_longjmp],
+ [],
+ [AC_DEFINE([PNG_DEPSTRUCT], [],
+ [Define to empty to suppress deprecation warnings when building
+ with --enable-gcc-warnings and with libpng versions before 1.5,
+ which lack png_longjmp.])],
+ [[#include <png.h>
+ ]])
+ CFLAGS=$SAVE_CFLAGS
fi
AC_SUBST(LIBPNG)
+AC_SUBST(PNG_CFLAGS)
HAVE_ZLIB=no
LIBZ=
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2014-05-01 23:55:25 +0000
+++ b/src/ChangeLog 2014-05-02 19:34:03 +0000
@@ -1,3 +1,11 @@
+2014-05-02 Paul Eggert <address@hidden>
+
+ Consult libpng-config more consistently (Bug#17339).
+ * Makefile.in (PNG_CFLAGS): New var.
+ (ALL_CFLAGS): Use it.
+ * image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
+ CFLAGS now handles this.
+
2014-05-01 Glenn Morris <address@hidden>
* floatfns.c (Fisnan):
=== modified file 'src/Makefile.in'
--- a/src/Makefile.in 2014-04-09 21:16:37 +0000
+++ b/src/Makefile.in 2014-05-02 19:34:03 +0000
@@ -77,6 +77,7 @@
address@hidden@
address@hidden@
address@hidden@
## Define C_SWITCH_X_SITE to contain any special flags your compiler
## may need to deal with X Windows. For instance, if you've defined
@@ -325,6 +326,7 @@
-I$(lib) -I$(srcdir)/../lib \
$(C_SWITCH_MACHINE) $(C_SWITCH_SYSTEM) $(C_SWITCH_X_SITE) \
$(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
+ $(PNG_CFLAGS) \
$(LIBXML2_CFLAGS) $(DBUS_CFLAGS) $(XRANDR_CFLAGS) $(XINERAMA_CFLAGS) \
$(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \
$(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) \
=== modified file 'src/image.c'
--- a/src/image.c 2014-04-22 20:19:17 +0000
+++ b/src/image.c 2014-05-02 19:34:03 +0000
@@ -22,12 +22,8 @@
#include <unistd.h>
#ifdef HAVE_PNG
-#if defined HAVE_LIBPNG_PNG_H
-# include <libpng/png.h>
-#else
# include <png.h>
#endif
-#endif
#include <setjmp.h>
#include <c-ctype.h>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-24 r117050: Consult libpng-config more consistently.,
Paul Eggert <=