[libpng16] Allow unversioned links created on install to be disabled in
configure. In configure builds 'make install' changes/adds links like png.h and libpng.a to point to the newly installed, versioned, files (e.g. libpng17/png.h and libpng17.a). Three new configure options and some rearrangement of Makefile.am allow creation of these links to be disabled.
This commit is contained in:
parent
1fc0171278
commit
d0479d24a0
9
ANNOUNCE
9
ANNOUNCE
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
Libpng 1.6.9beta02 - December 29, 2013
|
Libpng 1.6.9beta02 - December 30, 2013
|
||||||
|
|
||||||
This is not intended to be a public release. It will be replaced
|
This is not intended to be a public release. It will be replaced
|
||||||
within a few weeks by a public version or by another test version.
|
within a few weeks by a public version or by another test version.
|
||||||
@ -42,7 +42,7 @@ Version 1.6.9beta01 [December 26, 2013]
|
|||||||
Rebuilt configure scripts with automake-1.14.1 and autoconf-2.69
|
Rebuilt configure scripts with automake-1.14.1 and autoconf-2.69
|
||||||
in the tar distributions.
|
in the tar distributions.
|
||||||
|
|
||||||
Version 1.6.9beta02 [December 29, 2013]
|
Version 1.6.9beta02 [December 30, 2013]
|
||||||
Added checks for libpng 1.5 to pngvalid.c. This supports the use of
|
Added checks for libpng 1.5 to pngvalid.c. This supports the use of
|
||||||
this version of pngvalid in libpng 1.5
|
this version of pngvalid in libpng 1.5
|
||||||
Merged with pngvalid.c from libpng-1.7 changes to create a single
|
Merged with pngvalid.c from libpng-1.7 changes to create a single
|
||||||
@ -54,6 +54,11 @@ Version 1.6.9beta02 [December 29, 2013]
|
|||||||
Revised pngvalid.c to support libpng 1.5, which does not support the
|
Revised pngvalid.c to support libpng 1.5, which does not support the
|
||||||
PNG_MAXIMUM_INFLATE_WINDOW option, so #define it out when appropriate in
|
PNG_MAXIMUM_INFLATE_WINDOW option, so #define it out when appropriate in
|
||||||
pngvalid.c
|
pngvalid.c
|
||||||
|
Allow unversioned links created on install to be disabled in configure.
|
||||||
|
In configure builds 'make install' changes/adds links like png.h
|
||||||
|
and libpng.a to point to the newly installed, versioned, files (e.g.
|
||||||
|
libpng17/png.h and libpng17.a). Three new configure options and some
|
||||||
|
rearrangement of Makefile.am allow creation of these links to be disabled.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
7
CHANGES
7
CHANGES
@ -4767,7 +4767,7 @@ Version 1.6.9beta01 [December 26, 2013]
|
|||||||
Rebuilt configure scripts with automake-1.14.1 and autoconf-2.69
|
Rebuilt configure scripts with automake-1.14.1 and autoconf-2.69
|
||||||
in the tar distributions.
|
in the tar distributions.
|
||||||
|
|
||||||
Version 1.6.9beta02 [December 29, 2013]
|
Version 1.6.9beta02 [December 30, 2013]
|
||||||
Added checks for libpng 1.5 to pngvalid.c. This supports the use of
|
Added checks for libpng 1.5 to pngvalid.c. This supports the use of
|
||||||
this version of pngvalid in libpng 1.5
|
this version of pngvalid in libpng 1.5
|
||||||
Merged with pngvalid.c from libpng-1.7 changes to create a single
|
Merged with pngvalid.c from libpng-1.7 changes to create a single
|
||||||
@ -4779,6 +4779,11 @@ Version 1.6.9beta02 [December 29, 2013]
|
|||||||
Revised pngvalid.c to support libpng 1.5, which does not support the
|
Revised pngvalid.c to support libpng 1.5, which does not support the
|
||||||
PNG_MAXIMUM_INFLATE_WINDOW option, so #define it out when appropriate in
|
PNG_MAXIMUM_INFLATE_WINDOW option, so #define it out when appropriate in
|
||||||
pngvalid.c
|
pngvalid.c
|
||||||
|
Allow unversioned links created on install to be disabled in configure.
|
||||||
|
In configure builds 'make install' changes/adds links like png.h
|
||||||
|
and libpng.a to point to the newly installed, versioned, files (e.g.
|
||||||
|
libpng17/png.h and libpng17.a). Three new configure options and some
|
||||||
|
rearrangement of Makefile.am allow creation of these links to be disabled.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
99
Makefile.am
99
Makefile.am
@ -81,7 +81,7 @@ libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES = png.c pngerror.c\
|
|||||||
png.h pngconf.h pngdebug.h pnginfo.h pngpriv.h pngstruct.h pngusr.dfa
|
png.h pngconf.h pngdebug.h pnginfo.h pngpriv.h pngstruct.h pngusr.dfa
|
||||||
|
|
||||||
if PNG_ARM_NEON
|
if PNG_ARM_NEON
|
||||||
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES += arm/arm_init.c\
|
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES += arm/arm_init.c\
|
||||||
arm/filter_neon.S arm/filter_neon_intrinsics.c
|
arm/filter_neon.S arm/filter_neon_intrinsics.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -287,43 +287,74 @@ check: scripts/symbols.chk
|
|||||||
dist-hook:
|
dist-hook:
|
||||||
cd '$(top_distdir)'; rm -f $(SCRIPT_CLEANFILES)
|
cd '$(top_distdir)'; rm -f $(SCRIPT_CLEANFILES)
|
||||||
|
|
||||||
# install the .../include headers as links to the new ones
|
# Make links between installed files with release-specific names and the generic
|
||||||
install-data-hook:
|
# file names. If this install rule is run the generic names will be deleted and
|
||||||
cd '$(DESTDIR)$(includedir)'; rm -f png.h pngconf.h pnglibconf.h
|
# recreated - this has obvious issues for systems with multiple installations.
|
||||||
cd '$(DESTDIR)$(includedir)'; $(LN_S) $(PNGLIB_BASENAME)/png.h png.h
|
|
||||||
cd '$(DESTDIR)$(includedir)'; $(LN_S) $(PNGLIB_BASENAME)/pngconf.h \
|
|
||||||
pngconf.h
|
|
||||||
cd '$(DESTDIR)$(includedir)'; $(LN_S) $(PNGLIB_BASENAME)/pnglibconf.h \
|
|
||||||
pnglibconf.h
|
|
||||||
cd '$(DESTDIR)$(pkgconfigdir)'; rm -f libpng.pc
|
|
||||||
cd '$(DESTDIR)$(pkgconfigdir)'; $(LN_S) $(PNGLIB_BASENAME).pc libpng.pc
|
|
||||||
|
|
||||||
# do evil things to libpng to cause libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@ to be used
|
install-header-links:
|
||||||
install-exec-hook:
|
@set -ex; cd '$(DESTDIR)$(includedir)'; for f in $(HEADERS); do \
|
||||||
cd '$(DESTDIR)$(bindir)'; rm -f libpng-config
|
rm -f "$$f"; $(LN_S) "$(PNGLIB_BASENAME)/$$f" "$$f"; done
|
||||||
cd '$(DESTDIR)$(bindir)';\
|
|
||||||
$(LN_S) $(PNGLIB_BASENAME)-config libpng-config
|
uninstall-header-links:
|
||||||
@set -x;\
|
cd '$(DESTDIR)$(includedir)'; rm -f $(HEADERS)
|
||||||
cd '$(DESTDIR)$(libdir)';\
|
|
||||||
for ext in a la so so.@PNGLIB_MAJOR@@PNGLIB_MINOR@.@PNGLIB_RELEASE@\
|
install-libpng-pc:
|
||||||
sl dylib dll.a; do\
|
@set -ex; cd '$(DESTDIR)$(pkgconfigdir)'; rm -f libpng.pc; \
|
||||||
rm -f libpng.$$ext;\
|
$(LN_S) '$(PNGLIB_BASENAME).pc' libpng.pc
|
||||||
if test -f $(PNGLIB_BASENAME).$$ext; then\
|
|
||||||
$(LN_S) $(PNGLIB_BASENAME).$$ext libpng.$$ext;\
|
uninstall-libpng-pc:
|
||||||
fi;\
|
rm -f '$(DESTDIR)$(pkgconfigdir)/libpng.pc'
|
||||||
|
|
||||||
|
# EXT_LIST is a list of the possibly library directory extensions, this exists
|
||||||
|
# because we can't find a good way of discovering the file extensions that are
|
||||||
|
# actually installed on a given system, so instead we check for every extension
|
||||||
|
# we have seen.
|
||||||
|
|
||||||
|
EXT_LIST = a dll.a so so.@PNGLIB_MAJOR@@PNGLIB_MINOR@.@PNGLIB_RELEASE@ la sl dylib
|
||||||
|
|
||||||
|
install-library-links:
|
||||||
|
@set -x; cd '$(DESTDIR)$(libdir)';\
|
||||||
|
for ext in $(EXT_LIST); do\
|
||||||
|
rm -f "libpng.$$ext";\
|
||||||
|
if test -f "$(PNGLIB_BASENAME).$$ext"; then\
|
||||||
|
$(LN_S) "$(PNGLIB_BASENAME).$$ext" "libpng.$$ext" || exit 1;\
|
||||||
|
fi;\
|
||||||
done
|
done
|
||||||
|
|
||||||
uninstall-hook:
|
uninstall-library-links:
|
||||||
cd '$(DESTDIR)$(includedir)'; rm -f png.h pngconf.h pnglibconf.h
|
@set -x; cd '$(DESTDIR)$(libdir)'; for ext in $(EXT_LIST); do\
|
||||||
rm -f '$(DESTDIR)$(pkgconfigdir)/libpng.pc'
|
rm -f "libpng.$$ext"; done
|
||||||
|
|
||||||
|
install-libpng-config:
|
||||||
|
@set -ex; cd '$(DESTDIR)$(bindir)'; rm -f libpng-config; \
|
||||||
|
$(LN_S) '$(PNGLIB_BASENAME)-config' libpng-config
|
||||||
|
|
||||||
|
uninstall-libpng-config:
|
||||||
rm -f '$(DESTDIR)$(bindir)/libpng-config'
|
rm -f '$(DESTDIR)$(bindir)/libpng-config'
|
||||||
rm -f '$(DESTDIR)$(libdir)/libpng.a'
|
|
||||||
rm -f '$(DESTDIR)$(libdir)/libpng.la'
|
if DO_INSTALL_LINKS
|
||||||
rm -f '$(DESTDIR)$(libdir)/libpng.so'
|
# If --enable-unversioned-links is specified the header and lib file links
|
||||||
rm -f '$(DESTDIR)$(libdir)/libpng.so.@PNGLIB_MAJOR@@PNGLIB_MINOR@.@PNGLIB_RELEASE@'
|
# will be automatically made on a 'make install':
|
||||||
rm -f '$(DESTDIR)$(libdir)/libpng.sl'
|
|
||||||
rm -f '$(DESTDIR)$(libdir)/libpng.dylib'
|
install-data-hook: install-header-links
|
||||||
rm -f '$(DESTDIR)$(libdir)/libpng.dll.a'
|
uninstall-hook: uninstall-header-links
|
||||||
|
install-exec-hook: install-library-links
|
||||||
|
uninstall-hook: uninstall-library-links
|
||||||
|
endif
|
||||||
|
|
||||||
|
if DO_INSTALL_LIBPNG_PC
|
||||||
|
# Likewise, --install-pc causes libpng.pc to be constructed:
|
||||||
|
|
||||||
|
install-data-hook: install-libpng-pc
|
||||||
|
uninstall-hook: uninstall-libpng-pc
|
||||||
|
endif
|
||||||
|
|
||||||
|
if DO_INSTALL_LIBPNG_CONFIG
|
||||||
|
# And --install-config:
|
||||||
|
|
||||||
|
install-exec-hook: install-libpng-config
|
||||||
|
uninstall-hook: uninstall-libpng-config
|
||||||
|
endif
|
||||||
|
|
||||||
# The following addition ensures that 'make all' always builds the test programs
|
# The following addition ensures that 'make all' always builds the test programs
|
||||||
# too. It used to, but some change either in libpng or configure stopped this
|
# too. It used to, but some change either in libpng or configure stopped this
|
||||||
|
39
configure.ac
39
configure.ac
@ -226,6 +226,45 @@ AC_ARG_WITH(libpng-prefix,
|
|||||||
fi])
|
fi])
|
||||||
AM_CONDITIONAL([DO_PNG_PREFIX], [test "${with_libpng_prefix:-no}" != "no"])
|
AM_CONDITIONAL([DO_PNG_PREFIX], [test "${with_libpng_prefix:-no}" != "no"])
|
||||||
|
|
||||||
|
# Control over what links are made for installed files. Versioned files are
|
||||||
|
# always installed, when the following options are turned on corresponding
|
||||||
|
# unversioned links are also created (normally as symbolic links):
|
||||||
|
AC_ARG_ENABLE([unversioned-links],
|
||||||
|
AS_HELP_STRING([[[--enable-unversioned-links]]],
|
||||||
|
[Installed libpng header files are placed in a versioned subdirectory]
|
||||||
|
[and installed libpng library (including DLL) files are versioned.]
|
||||||
|
[If this option is enabled unversioned links will be created pointing to]
|
||||||
|
[the corresponding installed files. If you use libpng.pc or]
|
||||||
|
[libpng-config for all builds you do not need these links, but if you]
|
||||||
|
[compile programs directly they will typically #include <png.h> and]
|
||||||
|
[link with -lpng; in that case you need the links.]
|
||||||
|
[The links can be installed manually using 'make install-header-links']
|
||||||
|
[and 'make install-library-links' and can be removed using the]
|
||||||
|
[corresponding uninstall- targets. If you do enable this option every]
|
||||||
|
[libpng 'make install' will recreate the links to point to the just]
|
||||||
|
[installed version of libpng. The default is to create the links;]
|
||||||
|
[use --disable-unversioned-links to change this]))
|
||||||
|
|
||||||
|
# The AM_CONDITIONAL test is written so that the default is enabled;
|
||||||
|
# --disable-unversioned-links must be given to turn the option off.
|
||||||
|
AM_CONDITIONAL([DO_INSTALL_LINKS],[test "$enable_unversioned_links" != "no"])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([unversioned-libpng-pc],
|
||||||
|
AS_HELP_STRING([[[--enable-unversioned-libpng-pc]]],
|
||||||
|
[Install the configuration file 'libpng.pc' as a link to the versioned]
|
||||||
|
[version. This is done by default - use --disable-unversioned-libpng-pc]
|
||||||
|
[to change this.]))
|
||||||
|
AM_CONDITIONAL([DO_INSTALL_LIBPNG_PC],
|
||||||
|
[test "$enable_unversioned_libpng_pc" != "no"])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([unversioned-libpng-config],
|
||||||
|
AS_HELP_STRING([[[--enable-unversioned-libpng-config]]],
|
||||||
|
[Install the configuration file 'libpng-config' as a link to the]
|
||||||
|
[versioned version. This is done by default - use]
|
||||||
|
[--disable-unversioned-libpng-config to change this.]))
|
||||||
|
AM_CONDITIONAL([DO_INSTALL_LIBPNG_CONFIG],
|
||||||
|
[test "$enable_unversioned_libpng_config" != "no"])
|
||||||
|
|
||||||
# HOST SPECIFIC OPTIONS
|
# HOST SPECIFIC OPTIONS
|
||||||
# =====================
|
# =====================
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user