mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
commit fc4b42b1d56f95efeb1b9fe42dc35b7d98d246bb Merge: 74516c79eb1413Author: John Bowler <jbowler@acm.org> Date: Sun Nov 22 19:37:54 2015 -0800 Merge branch 'libpng17' into libpng17-filter-enhancements commit 74516c7257f1a28a69985684c5673caa390c700a Author: John Bowler <jbowler@acm.org> Date: Sun Nov 22 19:32:43 2015 -0800 Make check full pass on gcc/g++ x86_64 Signed-off-by: John Bowler <jbowler@acm.org> commit e891e34737fc0bc9ee873a5d56b83c1e777b990c Author: John Bowler <jbowler@acm.org> Date: Sun Nov 22 12:01:37 2015 -0800 Checkpoint: write buffering changes This version fails in pngvalid --size because of an error handling very narrow images, otherwise a standard build passes make check. Signed-off-by: John Bowler <jbowler@acm.org> commit 457a046ebdab737eefb477126cf855e49df6de50 Author: John Bowler <jbowler@acm.org> Date: Sun Nov 22 06:39:36 2015 -0800 Fix previous bad merge commit b4f426c97267317637d43f41fe0b05d1659bc63d Merge: 07b9b90a3458a6Author: John Bowler <jbowler@acm.org> Date: Sun Nov 22 06:32:34 2015 -0800 Merge branch 'libpng17' into libpng17-filter-enhancements commit 07b9b90dfd653b744dbc3710b096facf6b4605f6 Merge: ed433065592e0bAuthor: John Bowler <jbowler@acm.org> Date: Sat Nov 21 17:07:23 2015 -0800 Merge branch 'libpng17' into libpng17-filter-enhancements commit ed43306599f7039a90187862db82273fca3a4c3d Merge: 772aed7d3c0359Author: John Bowler <jbowler@acm.org> Date: Tue Nov 17 17:47:26 2015 -0800 Merge branch 'libpng17' into libpng17-filter-enhancements commit 772aed72378df9c8fccc5a4594b095d02d410a9c Merge: 73ae431801608fAuthor: John Bowler <jbowler@acm.org> Date: Mon Nov 16 14:26:38 2015 -0800 Merge branch 'libpng17' into libpng17-filter-enhancements commit 73ae4316cb6db7d7f6756583a1c213c35ca4e3f4 Merge: 687e6e3c09b3abAuthor: John Bowler <jbowler@acm.org> Date: Sun Nov 15 09:31:30 2015 -0800 Merge branch 'libpng17' into libpng17-filter-enhancements commit 687e6e393e9d0220c2a12ec474aa01b83c5e9f25 Merge: fedd6dae916d9bAuthor: John Bowler <jbowler@acm.org> Date: Thu Nov 5 08:45:14 2015 -0800 Merge branch 'libpng17' into libpng17-filter-enhancements commit fedd6da8798a14b2e002b0bc1379f5a09a03598a Merge: 2e2fc5fea41fd2Author: John Bowler <jbowler@acm.org> Date: Tue Nov 3 21:05:01 2015 -0800 Merge branch 'libpng17' into libpng17-filter-enhancements commit 2e2fc5f6d7678b710c52b7ea081ac4add677d8d5 Merge: 990d5f85b05197Author: John Bowler <jbowler@acm.org> Date: Mon Oct 12 08:28:30 2015 -0700 Merge branch 'libpng17' into libpng17-filter-enhancements commit 990d5f88688635dc0888657b689e30ffe7e7a7b3 Author: John Bowler <jbowler@acm.org> Date: Sun Oct 4 17:04:53 2015 -0700 Read row buffer changes The read code now allocates one row buffer of the size of the input PNG row and, only if required, one buffer of the size of the output. The output buffer is required for the progressive reader (always) and for the sequential reader if libpng is de-interlacing an image (because the output row is used multiple times if png_read_row is called with a display row parameter.) This should reduce memory utilization by libpng significantly, but it has no detectable effect on overall performance figures of the test programs, these are probably dominated by memory allocations for the whole image within the test programs. Signed-off-by: John Bowler <jbowler@acm.org> commit 527bf989bf0e30440f9e07a5544a6ebb1d6fd039 Merge: 50ebbc29099254Author: John Bowler <jbowler@acm.org> Date: Sat Oct 3 13:39:17 2015 -0700 Merge branch 'libpng17' into libpng17-filter-enhancements commit 50ebbc2c9a24cf1a6b428db53d55fbd5af4d6be6 Merge: 21a7f402cd6d56Author: John Bowler <jbowler@acm.org> Date: Sat Oct 3 11:16:32 2015 -0700 Merge branch 'libpng17' into libpng17-filter-enhancements commit 21a7f401ab40c79ead9e35882a8066e2cf1d6902 Merge: b512e1c15a143eAuthor: John Bowler <jbowler@acm.org> Date: Wed Sep 30 19:01:23 2015 -0700 Merge branch 'libpng17' into libpng17-filter-enhancements commit b512e1c2c5bfe6df8b6dca32f862d325ec22115e Author: John Bowler <jbowler@acm.org> Date: Wed Sep 30 17:33:34 2015 -0700 Transform rewrite: perform transforms in small chunks The intent of this change is to reduce the memory footprint during transform sequences by performing transforms in fixed (small) sized blocks of pixels. The change is incomplete; the filter code still works row-by-row, so the whole tranform also works row-by-row, the intent is to fix this so that everything works in small(ish) chunks. At present the change has no discernable effect on pngvalid --speed or pngstest with (e.g.) rgb-8-1.8.png; user time and (minor) page faults are the same in old and new versions. The same applies to real-world 15MP PNG images; even on these the presence of the filter code causes a cyclical progress through memory which will interfere with any caching otherwise possible (useful word, 'otherwise'.) Signed-off-by: John Bowler <jbowler@acm.org> commit 781cb3699b92beb0e6bc5e03cef8fba820267082 Author: John Bowler <jbowler@acm.org> Date: Wed Sep 30 17:12:53 2015 -0700 Fix NO_WRITE_INTERLACE in pngvalid.c The support for writing interlaced images directly from libpng 1.7 was unintentionally disabled (INTERLACE_LAST was defined incorrectly, excluding the interlaced images). This obscured the fact that the transform and error test case generators lacked the support for writing interlaced images from libpng. Signed-off-by: John Bowler <jbowler@acm.org> commit 406ee2fd7946a384f1d7713712dc646080c5c52c Author: John Bowler <jbowler@acm.org> Date: Wed Sep 30 17:11:40 2015 -0700 Add pngvalid --transform --interlace test This increases code coverage by generating test cases with smaller length rows as a result of the interlacing. Without this packswap handling was incompletely tested. Signed-off-by: John Bowler <jbowler@acm.org> Signed-off-by: John Bowler <jbowler@acm.org>
368 lines
13 KiB
Makefile
368 lines
13 KiB
Makefile
# Makefile.am:
|
|
# Source file for Makefile.in (and hence Makefile)
|
|
#
|
|
|
|
PNGLIB_BASENAME= libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@
|
|
|
|
ACLOCAL_AMFLAGS = -I scripts
|
|
|
|
# test programs - run on make check, make distcheck
|
|
check_PROGRAMS= pngtest pngunknown pngstest pngvalid pngimage
|
|
|
|
# Utilities - installed
|
|
bin_PROGRAMS= pngfix png-fix-itxt
|
|
|
|
# This ensures that pnglibconf.h gets built at the start of 'make all' or
|
|
# 'make check', but it does not add dependencies to the individual programs,
|
|
# this is done below.
|
|
#
|
|
# IMPORTANT: always add the object modules of new programs to the list below
|
|
# because otherwise the sequence 'configure; make new-program' will *sometimes*
|
|
# result in the installed (system) pnglibconf.h being used and the result is
|
|
# always wrong and always very confusing.
|
|
BUILT_SOURCES = pnglibconf.h
|
|
|
|
pngtest_SOURCES = pngtest.c
|
|
pngtest_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
|
|
|
|
pngvalid_SOURCES = contrib/libtests/pngvalid.c
|
|
pngvalid_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
|
|
|
|
pngstest_SOURCES = contrib/libtests/pngstest.c
|
|
pngstest_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
|
|
|
|
pngunknown_SOURCES = contrib/libtests/pngunknown.c
|
|
pngunknown_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
|
|
|
|
pngimage_SOURCES = contrib/libtests/pngimage.c
|
|
pngimage_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
|
|
|
|
pngfix_SOURCES = contrib/tools/pngfix.c
|
|
pngfix_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
|
|
|
|
png_fix_itxt_SOURCES = contrib/tools/png-fix-itxt.c
|
|
|
|
# Generally these are single line shell scripts to run a test with a particular
|
|
# set of parameters:
|
|
TESTS =\
|
|
tests/pngtest\
|
|
tests/pngvalid-gamma-16-to-8 tests/pngvalid-gamma-alpha-mode\
|
|
tests/pngvalid-gamma-background tests/pngvalid-gamma-expand16-alpha-mode\
|
|
tests/pngvalid-gamma-expand16-background\
|
|
tests/pngvalid-gamma-expand16-transform tests/pngvalid-gamma-sbit\
|
|
tests/pngvalid-gamma-threshold tests/pngvalid-gamma-transform\
|
|
tests/pngvalid-progressive-size\
|
|
tests/pngvalid-progressive-interlace-standard\
|
|
tests/pngvalid-transform tests/pngvalid-interlace-transform\
|
|
tests/pngvalid-progressive-standard tests/pngvalid-standard\
|
|
tests/pngstest-1.8 tests/pngstest-1.8-alpha tests/pngstest-linear\
|
|
tests/pngstest-linear-alpha tests/pngstest-none tests/pngstest-none-alpha\
|
|
tests/pngstest-sRGB tests/pngstest-sRGB-alpha tests/pngunknown-IDAT\
|
|
tests/pngunknown-discard tests/pngunknown-if-safe tests/pngunknown-sAPI\
|
|
tests/pngunknown-sTER tests/pngunknown-save tests/pngunknown-vpAg\
|
|
tests/pngimage-quick tests/pngimage-full
|
|
|
|
# man pages
|
|
dist_man_MANS= libpng.3 libpngpf.3 png.5
|
|
|
|
# generate the -config scripts if required
|
|
binconfigs= libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config
|
|
EXTRA_SCRIPTS= libpng-config libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config
|
|
bin_SCRIPTS= @binconfigs@
|
|
|
|
# rules to build libpng, only build the old library on request
|
|
lib_LTLIBRARIES=libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la
|
|
# EXTRA_LTLIBRARIES= libpng.la
|
|
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES = png.c pngerror.c\
|
|
pngget.c pngmem.c pngpread.c pngread.c pngrio.c pngrtran.c pngrutil.c\
|
|
pngset.c pngtrans.c pngwio.c pngwrite.c pngwtran.c pngwutil.c\
|
|
png.h pngconf.h pngdebug.h pnginfo.h pngpriv.h pngstruct.h pngchunk.h \
|
|
pngusr.dfa
|
|
|
|
# Include libpng extensions, if appropriate. This uses a Makefile.am fragment,
|
|
# pre-set things that might be changed by addition:
|
|
AM_CPPFLAGS =
|
|
DFA_EXTENSION =
|
|
if LIBPNG_EXTENSIONS
|
|
include $(top_srcdir)/contrib/extensions.am
|
|
endif
|
|
|
|
nodist_libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_SOURCES = pnglibconf.h
|
|
|
|
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS = -no-undefined -export-dynamic \
|
|
-version-number @PNGLIB_MAJOR@@PNGLIB_MINOR@:@PNGLIB_RELEASE@:0
|
|
|
|
if HAVE_LD_VERSION_SCRIPT
|
|
# Versioned symbols and restricted exports
|
|
if HAVE_SOLARIS_LD
|
|
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS += -Wl,-M -Wl,libpng.vers
|
|
else
|
|
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS += -Wl,--version-script=libpng.vers
|
|
endif
|
|
|
|
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = libpng.vers
|
|
else
|
|
# Only restricted exports when possible
|
|
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS += -export-symbols libpng.sym
|
|
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = libpng.sym
|
|
endif
|
|
|
|
#distribute headers in /usr/include/libpng/*
|
|
pkgincludedir= $(includedir)/$(PNGLIB_BASENAME)
|
|
pkginclude_HEADERS= png.h pngconf.h
|
|
nodist_pkginclude_HEADERS= pnglibconf.h
|
|
|
|
# pkg-config stuff, note that libpng.pc is always required in order
|
|
# to get the correct library
|
|
pkgconfigdir = @pkgconfigdir@
|
|
pkgconfig_DATA = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc
|
|
|
|
# Extra source distribution files, '${srcdir}' is used below to stop build files
|
|
# from those directories being included. This only works if the configure is
|
|
# not done in the source directory!
|
|
EXTRA_DIST= \
|
|
ANNOUNCE CHANGES INSTALL LICENSE README TODO \
|
|
pngtest.png pngbar.png pngnow.png pngbar.jpg autogen.sh \
|
|
${srcdir}/contrib ${srcdir}/projects ${srcdir}/scripts \
|
|
$(TESTS) $(XFAIL_TESTS) tests/pngstest \
|
|
CMakeLists.txt example.c libpng-manual.txt
|
|
|
|
SCRIPT_CLEANFILES=scripts/*.out scripts/*.chk scripts/pnglibconf.c
|
|
|
|
CLEANFILES= *.tf? pngout.png libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.pc \
|
|
libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@-config libpng.vers libpng.sym \
|
|
check.new pnglibconf.h pngprefix.h symbols.new pngtest-log.txt \
|
|
pnglibconf.out pnglibconf.c pnglibconf.dfn pnglibconf.pre \
|
|
$(SCRIPT_CLEANFILES)
|
|
|
|
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \
|
|
config.sub configure depcomp install-sh ltmain.sh missing
|
|
|
|
# PNG_COPTS give extra options for the C compiler to be used on all compilation
|
|
# steps (unless targe_CFLAGS is specified; that will take precedence over
|
|
# AM_CFLAGS)
|
|
PNG_COPTS = @PNG_COPTS@
|
|
AM_CFLAGS = ${PNG_COPTS}
|
|
|
|
# DFNCPP is normally just "CPP -E" - the C preprocessor - but on Solaris and
|
|
# maybe other operating systems (NeXT?) the C preprocessor selected by configure
|
|
# checks input tokens for validity - effectively it performs part of the ANSI-C
|
|
# parsing - and therefore fails with the .df files. configure.ac has special
|
|
# checks for this and sets DFNCPP appropriately.
|
|
DFNCPP = @DFNCPP@
|
|
|
|
SUFFIXES = .chk .out
|
|
|
|
$(PNGLIB_BASENAME).pc: libpng.pc
|
|
cp libpng.pc $@
|
|
|
|
$(PNGLIB_BASENAME)-config: libpng-config
|
|
cp libpng-config $@
|
|
|
|
scripts/sym.out scripts/vers.out: png.h pngconf.h pnglibconf.h
|
|
scripts/prefix.out: png.h pngconf.h pnglibconf.out
|
|
scripts/symbols.out: png.h pngconf.h $(srcdir)/scripts/pnglibconf.h.prebuilt
|
|
scripts/intprefix.out: pnglibconf.h
|
|
|
|
pnglibconf.out: config.h
|
|
|
|
libpng.sym: scripts/sym.out
|
|
rm -f $@
|
|
cp $? $@
|
|
libpng.vers: scripts/vers.out
|
|
rm -f $@
|
|
cp $? $@
|
|
|
|
if DO_PNG_PREFIX
|
|
# Rename functions in scripts/prefix.out with a PNG_PREFIX prefix.
|
|
# Rename macros in scripts/macro.lst from PNG_PREFIXpng_ to PNG_ (the actual
|
|
# implementation of the macro).
|
|
pnglibconf.h: pnglibconf.out scripts/prefix.out scripts/macro.lst config.h
|
|
rm -f $@
|
|
$(AWK) 's==0 && NR>1{print prev}\
|
|
s==0{prev=$$0}\
|
|
s==1{print "#define", $$1, "@PNG_PREFIX@" $$1}\
|
|
s==2{print "#define @PNG_PREFIX@png_" $$1, "PNG_" $$1}\
|
|
END{print prev}' s=0 pnglibconf.out s=1 scripts/prefix.out\
|
|
s=2 ${srcdir}/scripts/macro.lst >pnglibconf.tf8
|
|
mv pnglibconf.tf8 $@
|
|
|
|
pngprefix.h: scripts/intprefix.out
|
|
rm -f pngprefix.tf1
|
|
$(AWK) '{print "#define", $$1, "@PNG_PREFIX@" $$1}' $? >pngprefix.tf1
|
|
mv pngprefix.tf1 $@
|
|
else
|
|
pnglibconf.h: pnglibconf.out
|
|
rm -f $@
|
|
cp $? $@
|
|
|
|
pngprefix.h: # is empty
|
|
:>$@
|
|
endif
|
|
|
|
$(srcdir)/scripts/pnglibconf.h.prebuilt:
|
|
@echo "Attempting to build $@" >&2
|
|
@echo "This is a machine generated file, but if you want to make" >&2
|
|
@echo "a new one simply make 'scripts/pnglibconf.out', copy that" >&2
|
|
@echo "AND set PNG_ZLIB_VERNUM to 0 (you MUST do this)" >&2
|
|
@exit 1
|
|
|
|
# The following is necessary to ensure that the local pnglibconf.h is used, not
|
|
# an installed one (this can happen immediately after on a clean system if
|
|
# 'make test' is the first thing the user does.) Only files which include
|
|
# one of the png source files (typically png.h or pngpriv.h) need to be listed
|
|
# here:
|
|
pngtest.o: pnglibconf.h
|
|
|
|
contrib/libtests/makepng.o: pnglibconf.h
|
|
contrib/libtests/pngstest.o: pnglibconf.h
|
|
contrib/libtests/pngunknown.o: pnglibconf.h
|
|
contrib/libtests/pngimage.o: pnglibconf.h
|
|
contrib/libtests/pngvalid.o: pnglibconf.h
|
|
contrib/libtests/readpng.o: pnglibconf.h
|
|
contrib/libtests/tarith.o: pnglibconf.h
|
|
contrib/libtests/timepng.o: pnglibconf.h
|
|
|
|
contrib/tools/makesRGB.o: pnglibconf.h
|
|
contrib/tools/pngfix.o: pnglibconf.h
|
|
|
|
# We must use -DPNG_NO_USE_READ_MACROS here even when the library may actually
|
|
# be built with PNG_USE_READ_MACROS; this prevents the read macros from
|
|
# interfering with the symbol file format.
|
|
SYMBOL_CFLAGS = -DPNGLIB_LIBNAME='PNG@PNGLIB_MAJOR@@PNGLIB_MINOR@_0'\
|
|
-DPNGLIB_VERSION='@PNGLIB_VERSION@'\
|
|
-DSYMBOL_PREFIX='$(SYMBOL_PREFIX)'\
|
|
-DPNG_NO_USE_READ_MACROS -DPNG_BUILDING_SYMBOL_TABLE
|
|
|
|
if DO_PNG_PREFIX
|
|
SYMBOL_CFLAGS += -DPNG_PREFIX='@PNG_PREFIX@'
|
|
endif
|
|
|
|
.c.out:
|
|
rm -f $@ $*.tf[12]
|
|
test -d scripts || mkdir scripts || test -d scripts
|
|
$(DFNCPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)\
|
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(SYMBOL_CFLAGS) $< > $*.tf1
|
|
$(AWK) -f "${srcdir}/scripts/dfn.awk" out="$*.tf2" $*.tf1 1>&2
|
|
rm -f $*.tf1
|
|
mv $*.tf2 $@
|
|
|
|
# The .c file for pnglibconf.h is machine generated
|
|
pnglibconf.c: scripts/pnglibconf.dfa scripts/options.awk pngconf.h pngusr.dfa $(DFA_EXTENSION) $(DFA_XTRA)
|
|
rm -f $@ $*.tf[45]
|
|
$(AWK) -f ${srcdir}/scripts/options.awk out=$*.tf4 version=search\
|
|
${srcdir}/pngconf.h ${srcdir}/scripts/pnglibconf.dfa\
|
|
$(DFA_EXTENSION) ${srcdir}/pngusr.dfa $(DFA_XTRA) 1>&2
|
|
$(AWK) -f ${srcdir}/scripts/options.awk out=$*.tf5 $*.tf4 1>&2
|
|
rm $*.tf4
|
|
mv $*.tf5 $@
|
|
|
|
# Symbol checks (.def and .out files should match)
|
|
scripts/symbols.chk: scripts/checksym.awk scripts/symbols.def scripts/symbols.out
|
|
|
|
.out.chk:
|
|
rm -f $@ $*.new
|
|
$(AWK) -f ${srcdir}/scripts/checksym.awk ${srcdir}/scripts/${*F}.def\
|
|
of="$*.new" $< >&2
|
|
mv $*.new $@
|
|
|
|
# used on demand to regenerate the standard header, CPPFLAGS should
|
|
# be empty - no non-standard defines
|
|
scripts/pnglibconf.c: scripts/pnglibconf.dfa scripts/options.awk pngconf.h
|
|
rm -f $@ pnglibconf.tf[67]
|
|
test -z "$(CPPFLAGS)" -a -z "$(AM_CPPFLAGS)"
|
|
echo "com libpng @PNGLIB_VERSION@ STANDARD API DEFINITION" |\
|
|
$(AWK) -f ${srcdir}/scripts/options.awk out=pnglibconf.tf6\
|
|
logunsupported=1 version=search ${srcdir}/pngconf.h -\
|
|
${srcdir}/scripts/pnglibconf.dfa 1>&2
|
|
$(AWK) -f ${srcdir}/scripts/options.awk out=pnglibconf.tf7\
|
|
pnglibconf.tf6 1>&2
|
|
rm pnglibconf.tf6
|
|
mv pnglibconf.tf7 $@
|
|
|
|
$(libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_OBJECTS): png.h pngconf.h pngchunk.h \
|
|
pnglibconf.h pngpriv.h pngdebug.h pnginfo.h pngstruct.h pngprefix.h
|
|
|
|
test: check-am
|
|
|
|
# Extra checks
|
|
check: scripts/symbols.chk
|
|
|
|
# Don't distribute the generated script files
|
|
dist-hook:
|
|
cd '$(top_distdir)'; rm -f $(SCRIPT_CLEANFILES)
|
|
|
|
# Make links between installed files with release-specific names and the generic
|
|
# file names. If this install rule is run the generic names will be deleted and
|
|
# recreated - this has obvious issues for systems with multiple installations.
|
|
|
|
install-header-links:
|
|
@set -ex; cd '$(DESTDIR)$(includedir)'; for f in $(HEADERS); do \
|
|
rm -f "$$f"; $(LN_S) "$(PNGLIB_BASENAME)/$$f" "$$f"; done
|
|
|
|
uninstall-header-links:
|
|
cd '$(DESTDIR)$(includedir)'; rm -f $(HEADERS)
|
|
|
|
install-libpng-pc:
|
|
@set -ex; cd '$(DESTDIR)$(pkgconfigdir)'; rm -f libpng.pc; \
|
|
$(LN_S) '$(PNGLIB_BASENAME).pc' libpng.pc
|
|
|
|
uninstall-libpng-pc:
|
|
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
|
|
|
|
uninstall-library-links:
|
|
@set -x; cd '$(DESTDIR)$(libdir)'; for ext in $(EXT_LIST); do\
|
|
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'
|
|
|
|
if DO_INSTALL_LINKS
|
|
# If --enable-unversioned-links is specified the header and lib file links
|
|
# will be automatically made on a 'make install':
|
|
|
|
install-data-hook: install-header-links
|
|
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
|
|
# too. It used to, but some change either in libpng or configure stopped this
|
|
# working.
|
|
all-am: $(check_PROGRAMS)
|