# libmodpng14/cfg - "Build" settings for package #--------------------------------------------------------------------- [technotes] 1. "libmodpng14" provides functionality similar to that of "libpng" 1.4, but doesn't conflict with "libpng" 1.6. Other packages, with changes as discussed below, can use "libmodpng14" instead of "libpng" 1.4. This makes it simpler to build them against other libraries that happen to use post-1.4 releases of "libpng"; i.e., conflicts are less likely. ---------------------------------------------------------------------- 2. For another package, say, Salad, to use "libmodpng14", changes need to be made to Salad's source code. However, the "libmodpng14" changes may be simpler than those needed to upgrade Salad to "libpng" 1.6 compatibility. In fact, the following single "sed" command may be enough, in some cases, to change an "autoconf"-based package that uses "libpng" 1.4 so as to make it use "libmodpng14" instead: sed -e 's/png_/modpng14_/g' \ -e 's/libpng/libmodpng14/g' \ -e 's/-lpng/-lmodpng14/g' \ -e 's/PNGAPI/MODPNG14API/g' \ -e 's/PNG_/MODPNG14_/g' \ -e 's/png.h/modpng14.h/g' \ -e 's/pngconf.h/modpng14conf.h/g' \ -i `ff -at` This command should be executed in the top-level source directory of the package that needs to be modified. Packages that use "cmake", "scons", or other build systems will prob- ably require additional work. ---------------------------------------------------------------------- 3. "libmodpng14" provides its own versions of the following "libpng" legacy functions that were dropped in "libpng" 1.4: png_check_sig png_read_data png_set_dither png_set_gray_1_2_4_to_8 This package's versions have names that start with "png14_" instead of "png_". #--------------------------------------------------------------------- [buildtimes] 00.00 hours (or 000.23 minutes) - HP EliteBook 8560w 32GB RAM 00.00 hours (or 000.28 minutes) - Dell Inspiron 6400 2.0 GHz Intel Duo 7200 2GB RAM 00.01 hours (or 000.30 minutes) - ThinkPad E540 i7 4x2 16GB RAM 00.02 hours (or 001.45 minutes) - Compaq 1.7 GHz Intel Pentium 4 512MB RAM #--------------------------------------------------------------------- [settings] build = default dontfind = libpng12, libpng14 license = See "license.txt" under installed tree nosyslinks = yes setpaths = libmodpng14 tmpsize = 6M unpack = relaxed #--------------------------------------------------------------------- [depends] actools gawk grep sed zlib #--------------------------------------------------------------------- [configure] MANBASE=$PKGDIR_PROD/man mkdir -p $MANBASE bash ./configure \ --prefix=$PKGDIR_PROD \ --build=$LACARCHBUILD \ --host=$LACARCHHOST \ --disable-dependency-tracking \ --enable-shared=yes \ --enable-static=yes \ --mandir=$MANBASE #--------------------------------------------------------------------- [postbuild] BINDIR=$PKGDIR_PROD/bin LIBDIR=$PKGDIR_PROD/lib PCFDIR=$LIBDIR/pkgconfig mkdir -p $BINDIR $PCFDIR rm -fr $BINDIR/* cp -p libmodpng14-config $BINDIR/ rm -fr $PCFDIR/* cp -p libmodpng14.pc $PCFDIR/ #--------------------------------------------------------------------- # Original URLs. These URLs were valid at one point, but may have died # since then. If you download newer versions of tarballs [etc.], don't # delete the original versions, as you may not be able to replace # them. [urls] url_debian = http://packages.debian.org/unstable/source/libmodpng1414 url_home = http://www.libmodpng1414.org/pub/png/libmodpng1414.html url_lfs = http://www.linuxfromscratch.org/blfs/view/stable/\ general/libmodpng14.html url_tarball = Created locally #--------------------------------------------------------------------- [history] 170706 Added package. Started with 170706.