diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2009-09-27 21:44:29 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2009-09-27 21:44:29 +0000 |
commit | 43939e66b1d4eeb2f3799c124f3598756755005a (patch) | |
tree | 15733092de55d52421a6ea02f5a43d5f8ff24393 /doc | |
parent | 49f4336c9bba33650573ba780b70bc501b38643e (diff) | |
download | netpbm-mirror-43939e66b1d4eeb2f3799c124f3598756755005a.tar.gz netpbm-mirror-43939e66b1d4eeb2f3799c124f3598756755005a.tar.xz netpbm-mirror-43939e66b1d4eeb2f3799c124f3598756755005a.zip |
Rebase Stable series to current Advanced: 10.47.04
git-svn-id: http://svn.code.sf.net/p/netpbm/code/stable@995 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'doc')
-rw-r--r-- | doc/HISTORY | 906 | ||||
-rw-r--r-- | doc/INSTALL | 80 | ||||
-rw-r--r-- | doc/README.CYGWIN | 2 | ||||
-rw-r--r-- | doc/README.DJGPP | 65 | ||||
-rw-r--r-- | doc/USERDOC | 18 |
5 files changed, 658 insertions, 413 deletions
diff --git a/doc/HISTORY b/doc/HISTORY index 0c78323f..41d36953 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -4,7 +4,7 @@ Netpbm. CHANGE HISTORY -------------- -09.09.18 BJH Release 10.35.68 +09.09.18 BJH Release 10.47.04 pambayer: fix unconditional crash/failure when you aren't using Standard Input. @@ -12,33 +12,46 @@ CHANGE HISTORY Build: use AR from config.mk instead of "ar" to build static libraries: libnetpbm, librle, libjasper. + Build: compiles with libpng 1.4 beta. + Build: don't use "uint". Package: fix installation of pnmplain on Windows (.exe suffix). - Configure: fix wrong variable name for HP-UX. - -09.09.03 BJH Release 10.35.67 +09.09.03 BJH Release 10.47.03 Build: fix failure to recognize static library in omitting -R from link. - Build: Make compile of pnmtopng and pngtopnm fail with helpful - error message when PNG library is incompatibly new (version 1.4 - or later). +09.08.17 BJH Release 10.47.02 + + tifftopnm: wait for Pamflip processes to terminate before + exiting. + + Build: Compiles with libpng 1.4 beta. Build: work with JPEG library Version 7. -09.07.23 BJH Release 10.35.66 +09.07.23 BJH Release 10.47.01 Build: fix failure of a merge build on a system that doesn't have the PNG library. -09.06.26 BJH Release 10.35.65 +09.06.27 BJH Release 10.47.00 - configure: offer Gcc as an optional compiler for HP-UX. + Add pamsistoaglyph. Thanks Scott Pakin. -09.05.16 BJH Release 10.35.64 + pnmpsnr: Use more precise math to conclude that images are + identical. + + Add /usr/share/netpbm/rgb.txt to search path for color + dictionary. + + Remove nstring.h from exported interfaces. + + giftopnm: improve efficiency. + + libppmd: Add ppmd_point-based functions (ppmd_linep(), etc). pnmremap: fix: -firstisdefault uses an arbitrary color from the map as default. @@ -46,16 +59,23 @@ CHANGE HISTORY pnmremap: fix -missingcolor: where map file (ergo output) is not depth 3, uses an arbitrary color. + pnmremap: fix loss of dithering when the map (and thus the + output) has lower maxval than the input. (Old code scales down + to the new maxval before dithering). + giftopnm: fix for unlikely case of a block smaller than a code. ppmpat: fix crash in -squig. ppmpat: fix crash when width or height is zero. - libppmd (ppmdraw, ppmpat): Fix bugs with coordinates too large. - Thanks Prophet of the Way <afu@wta.att.ne.jp>. + ppmpat: fix wrong output with -poles. + + libppmd (ppmpat, ppmdraw): Fix various out of bounds number + problems. -09.04.28 BJH Release 10.35.63 + ilbmtoppm: fix some bug in interpreting ILBM input. + (due to wrong pm_uintFromBigend16()). From 10.46. ximtoppm: fix crash in command line processing. @@ -65,37 +85,61 @@ CHANGE HISTORY ppmquantall: don't use 'set' to set Bourne shell variable. - pbmtomacp: fix buffer overflow. + pnmtile: fix reference to arbitrary storage in option + processing. Introduced in 10.42. - pamtosvg: some fix. + pamstereogram: fix tuple type in output file (and crash + with -verbose) with -patfile . - ppmpat: fix usage statement. + pamstereogram: fix uninitialized bytes per sample value. + + pbmtomacp: fix buffer overflow. libnetpbm (ppmd): fix: don't ignore failure to read font file. - build: rename getline() in xvminitoppm.c to avoid collision - with libc. + Fix: remove inclusion of pm_c_util.h from sshopt.h, which is + an exported interface header file, whereas pm_c_util.h is not. -09.04.12 BJH Release 10.35.62 + Lots of changes to integer code, bit access, word access, etc. + None functional. Some speedup. - pamstereogram: fix tuple type in output file (and crash - with -verbose) with -patfile . + make distclean: remove lib/compile.h. + + configure: use TEMP environment variable for TMPDIR if TMPDIR + is not set. Don't try different temp file names forever; the + problem may not be the filename. - pamstereogram: fix uninitialized bytes per sample value. + configure: offer Gcc as an optional compiler for HP-UX. -09.03.22 BJH Release 10.35.61 +09.03.29 BJH Release 10.46.00 - g3topbm: fix array bound violation. Introduced in 10.32. + xwdtopnm: Add -cmapdump . -09.02.14 BJH Release 10.35.60 + xwdtopnm: Change maxval calculation for truecolor to fit + X11 spec. Now it's determined by bits_per_rgb. - xwdtopnm: Fix for at least some direct color 24/32 images. + xwdtopnm: Add warning about 2 byte sample output. + + pnmcrop: fast path for PBM. - pnm_alloctupletable, pnm_tuplehashtotable, - pnm_computetuplefreqtable3: fix crash when out of memory, - memory leak with uncomputably large numbers. + pnmcrop: Use border file instead of original image to determine + the background color (i.e. the color of added margins). + + pnmscale: finally make it just an alias of pamscale, which + obsoleted it in 10.20. + + pnmcut: finally make it just an alias of pamcut, which + obsoleted it in 9.20. + + tifftopnm: fix orientation problem on big-endian machines. + Introduced in 10.42. -09.01.29 BJH Release 10.35.59 + pnmcrop: various fixes. + + g3topbm: fix array bound violation. Introduced in 10.32. + + pnmcat: fix array bound violation with PBM top/bottom + concatenation. Introduced in 10.44. ilbmtoppm: Fix array bound violation with compressed ILBM. Introduced in 10.18. @@ -103,158 +147,203 @@ CHANGE HISTORY fitstopnm: fix garbage output when input is little endian floating point FITS. -09.01.15 BJH Release 10.35.58 + picttoppm: Fix crash with -fullres and all-text PICT image. + Also issue warning that program omits text with -fullres. + + picttoppm: Improve error/informational messages. - picttoppm: fix crash when image is all text with -fullres. + picttoppm: Don't fail if 'fontdir' file doesn't exist. Bug + from 10.44. + + ppmtopict: Use two-byte length field when image width > 200 + instead of > 250. Former is what Picttoppm has been assuming + since March 2004, when it was found to work better than 250, + which is the number documented as right. ilbmtoppm: fix bug: appends color map PPM to output if input has color map; fails if input doesn't have color map. Broken in 10.18. leaftoppm: fix bug: uses red channel as all three channels; - (produces grayscale output). + (produces grayscale output). Broken between 10.19 and 10.26, + inclusive. pbmtomrf, mrftopbm: fix crashes, incorrect output in all cases. Broken forever. -08.12.07 BJH Release 10.35.57 + pnm_alloctupletable, pnm_tuplehashtotable, + pnm_computetuplefreqtable3: fix crash when out of memory, + memory leak with uncomputably large numbers. - Build: Move CFLAGS later in libjasper build so that a -I in - CFLAGS doesn't interfere with finding the local libjasper - header files. + build: rename getline() in xvminitoppm.c to avoid collision + with libc. - Build: Move LDFLAGS later so that a -L in LDFLAGS doesn't - interfere with finding the built libnetpbm. (The common - link rule is already this way in 10.35.56; all the other - link rules are now the same). + Source tree: split out some of editor/ directory into new + editor/specialty directory. - Build: Add source type declarations to make -ansi compile work. +08.12.28 BJH Release 10.45.00 - Build: Add -fPIC to all Gcc compiles of library modules, so it - works on AMD64, IA64. + pgmnoise: Add -randomseed. -08.11.09 BJH Release 10.35.56 + ppmtobmp: Add -mapfile option. - Add -fPIC to all Gcc compiles of library modules, so it - works on AMD64, IA64. + pnm_createBlackTuple(): Fix array bounds violation with + PBM, PGM. -08.10.31 BJH Release 10.35.55 + pnmtoddif: Fix crash with any PGM input. - pamcomp: Fix mysterious doubling of code introduced in 10.35.50 - which causes build to fail. + pgmnoise: Fix bug: never generates full white pixel. -08.10.27 BJH Release 10.35.54 + pamditherbw: Fix -value other than .5 with -fs, -atkinson. - pnm_createBlackTuple(): Fix array bounds violation with - PBM, PGM. + Configure: fix crash when Libxml2 is installed, but not new + enough version. - ppmforge, pgmnoise, pgmcrater: better randomization; - won't produce the same image if you run it twice within - the same second. + Build: Use GNU compile options for Darwin. - pnmtoddif: Fix crash with any PGM input. + Build: Move CFLAGS later in libjasper and librle build so that a + -I in CFLAGS doesn't interfere with finding the local libjasper + and Netpbm header files. - pgmnoise: Fix bug: never generates full white pixel. + Build: Move LDFLAGS later so that a -L in LDFLAGS doesn't + interfere with finding the built libnetpbm. (The common + link rule is already this way in 10.44.00; all the other + link rules are now the same). -08.10.12 BJH Release 10.35.53 + Build: Rename Makefile.common, Makefile.config, to common.mk, + etc. - pamditherbw: Fix -value other than .5 with -fs . + Build: Add source type declarations to make -ansi compile work. -08.09.27 BJH Release 10.35.52 +08.09.27 BJH Release 10.44.00 - libppmd/ppmdraw: fix crash when line is completely out of - frame. + Add pngtopam as a replacement for pngtopnm. Has ability + to generate image with alpha channel. Thanks + David Jones <drj@ravenbrook.com>. - Build: add dependencies so parallel make of top level - "all" works. + pnmcolormap (pnmquant): round instead of truncating when + computing means. -08.09.12 BJH Release 10.35.51 + pamcut, pnmcat, pnmpaste, pnmpad, g3topbm: Add fast PBM + path. Thanks Prophet of the Way <afu@wta.att.ne.jp>. - pamgradient: fix bug: always produces color, not grayscale. + pnmpaste: fail if user specified stdin for both images. + + libppmd/ppmdraw: fix crash when line is completely out of + frame. -08.08.29 BJH Release 10.35.50 + pamgradient: fix bug: always produces color, not grayscale. pnm_backgroundxel(), pnm_backgroundxelrow() (affects pnmrotate, pnmshear, pnmcrop, pnmcat: correctly average corner colors to determine background (fill) color. + pamcut: don't crash when cutting a region entirely to + the left or right of the input image, with -pad. Thanks + Prophet of the Way <afu@wta.att.ne.jp>. + + pamcut: don't crash when left > right or top > bottom with + -pad. Thanks Prophet of the Way <afu@wta.att.ne.jp>. + pgmhist: arbitrary output when total pixels doesn't fit in an integer. pamcomp: fix bug: arbitrary output when combined number of rows doesn't fit in an integer. - pamcut: don't crash when left > right or top > bottom with - -pad. Thanks Prophet of the Way <afu@wta.att.ne.jp>. - -08.08.13 BJH Release 10.35.49 + pamtosvg: remove "needed exchange" debug trace. - pamcut: don't crash when cutting a region entirely to the - left or right of the input image, with -pad. + Add pbmminkowski (source code has been in package since 10.12 + but not documented or built by default). -08.07.27 BJH Release 10.35.48 + pnmmontage: don't corrupt file names when they contain + colons. - pamperspective: change calculation of window height to avoid - buffer overrun. + pamflip: fix bug: garbage output for PBMs, since 10.42. pngtopnm: fix gamma correction. -08.07.13 BJH Release 10.35.47 - pngtopnm: fix bug: when background is color, output should be PPM. -08.06.22 BJH Release 10.35.46 + pamperspective: fix bug: array bounds violation crash. - pbmtext: fix buffer overrun with tab characters. + Build: add dependencies so parallel make of top level + "all" works. - pamtotga: fix free of unallocated memory with no -name option. +08.06.27 BJH Release 10.43.00 - pamtouil: fix double free of memory. + Add pamtompfont: Mplayer bitmap font. - pnmtopclxl: fix crash with Standard Input input. + pamthreshold: copy transparency information from input to + output. -08.06.08 BJH Release 10.35.45 + pnmnorm: adjust bvalue, wvalue when -bpercent and/or -wpercent + would cause an overlap, instead of failing. + + pamscale: fix PBM input + -nomix. anytopnm: fix parsing of type description. + pamtilt: fix crash with excessive angle. + + pbmtext: remove meaningless "no output" from error messages. + + pbm_loadbdffont(): handle zero size glyph. Affects pbmtext. + + pbmtext: fail properly if input contains no text. + + pbmtext: fix buffer overrun with tab characters. + + pnmnorm: fix -colorvalue, -saturation, -keephues options. + + pnmnorm: fix resolution of conflicting -wpercent and -wvalue. + pamtohtmltbl: fix output error: contains holes due to uninitialized memory. xvminitoppm: fix. Totally broken since 10.34. - pbmtogo: fix buffer overrun on too wide image. + pnmtopclxl: fix crash with Standard Input input. - tgatoppm: fix standard input invocation. + pbmtogo: fix buffer overrun with too wide image. -08.05.24 BJH Release 10.35.44 + tgatoppm: fix standard input invocation. - pamscale: fix PBM input + -nomix. + pamtotga: fix free of unallocated memory with no -name option. - pamtilt: fix crash with excessive angle. + pamtouil: fix double free of memory. - ppmd_filledrectangle(): fix crash with rectangle that is - entirely left or right of the image. + ppmd_filledrectangle: fail properly on negative image + height, width. Add back ppmd_fill_init() for backward compatibility; removed in 10.29. -08.05.10 BJH Release 10.35.43 + Build: make it work with Gcc 4.3 and -sse. - pbmtext: fail properly if input contains no text. +08.03.26 BJH Release 10.42.00 -08.04.11 BJH Release 10.35.42 + anytopnm: Recognize xwd image by 'file' type. - pnmnorm: fix resolution of conflicting -wpercent and -wvalue. + pamflip: Rewrite low-memory algorithm; use temp files and + conserve virtual as well as real memory. -08.03.28 BJH Release 10.35.41 + tifftopnm: orient raster properly in row-by-row operation + when TIFF uses nonstandard raster orientation. (ORIENTATION + tag). - pnmnorm: fix -colorvalue, -saturation, -keephues options. + pbmtext: fail cleanly if -width, -space, or -lspace is + too large for computation. Thanks Prophet of the Way + <afu@wta.att.ne.jp>. + + pnmtile: deal with zero width/height. + + pbmtext: fix negative -space. - Build: make it work with Gcc 4.3 and -sse by omitting - MMX/SSE optimizations. + pbmtext: fail cleanly if input line is > 5000 characters. -08.03.08 BJH Release 10.35.40 + pamundice: Fix bogus error about missing "-instem" option. pgmdeshadow: fix crash in option processing. @@ -262,71 +351,109 @@ CHANGE HISTORY pgmbentley: fix output; black areas not black. + pamtosvg: fix various bugs: crash, poor tracing, memory leaks. + pamtosvg: fix log file name with Standard Input. -08.02.22 BJH Release 10.35.39 + ppmtoarbtxt: fix array bounds violation with really large + replacement sequence. - pamtosvg: fix crash with -centerline. + ppmtoarbtxt: fix missing right parenthesis with impostor + replacement sequence. -08.02.01 BJH Release 10.35.38 + pnmnlfilt: fix internal error "impossible alpha value". - ppmtoarbtxt: fix array overflow. + Add pm_tmpfile_fd() and pm_make_tmpfile_fd(). - pbmtext: fail cleanly if input line is > 5000 characters. + Various things to make it build on Windows without POSIX + emulation. + + Build: Include LDFLAGS environment variable in link of + build tools. + +07.12.27 BJH Release 10.41.00 - pbmtext: fix negative -space . + pamenlarge: much faster for PBM. Thanks Prophet of the + Way <afu@wta.att.ne.jp>. -08.01.15 BJH Release 10.35.37 + pamenlarge: remove arithmetic overflow. - Fix fast endianness stuff for 64 bit LE; bypass a compiler - bug that causes compile failure. + pnmmontage: new search algorithm to choose square + output quickly. Thanks "Nic Roets" <nroets@gmail.com>. - Build: remove use of "uint" type in pamtosvg. + bmptopnm: fix crash with 16 bit images. -07.12.27 BJH Release 10.35.36 + palmcolor8.map: Make it a 256 color map sorted by index, + per Palm's spec. Thanks Paul Bolle <pebolle@tiscali.nl>. - pamperspective: Eliminate build-time symbol conflict - with 'nearest' on AIX. + xwdtopnm: deal with too-large bits per pixel value in XWD + header. + + pamditherbw, pamsharpness, pamsharpmask, pamtopfm: + fix crash due to write to arbitrary memory. + + pamtotiff: fix incorrect pixels with PNM maxval != TIFF + maxval. + + pnmcrop: fix -verbose message about background color with + -white. + + pbmmake: handle ridiculously large height, width arguments. + + pnmcat: fix arithmetic overflow. + + libnetpbm: Add arithmetic overflow protection to PBM + routines, like PGM/PPM/PNM have had for a long time. + + libnetpbm: make all row free operations go through + pm_freerow(); change row buffer type from char * to void * + for pm_allocrow(), pm_freerow(). set _XOPEN_SOURCE=600 so jpeg2ktopam and pamtojpeg2k compile on AIX (_XOPEN_SOURCE=500 keeps int_fast32_t from being defined). -07.12.11 BJH Release 10.35.35 + pamperspective: Eliminate build-time symbol conflict + with 'nearest' on AIX. - pamtotiff: fix incorrect pixels with PNM maxval != TIFF - maxval. + Fix bug: ppmdraw.h, ppmdfont.h not installed. -07.11.26 BJH Release 10.35.34 + Add -fPIC to all Gcc compiles of library modules, so it works + on AMD64, IA64. - xwdtopnm: deal with too-large bits per pixel value in XWD - header. + Add Windows version of gethostname to ppmtompeg; normal build + does not use it. - pamditherbw, pamsharpness, pamsharpmask, pamtopfm: - fix crash due to write to arbitrary memory. + package, install: install interface header files as + <netpbm/xxx.h> instead of just <xxx.h>. -07.11.13 BJH Release 10.35.33 +07.09.26 BJH Release 10.40.00 - pnmcrop: fix -verbose message about background color with - -white. + pamfunc: Add -andmask, -ormask, -xormask, -not, + -shiftleft, -shiftright. -07.10.12 BJH Release 10.35.32 + pbmtonokia: fail if input is > 255 x 255. Thanks Paul Bolle + <pebolle@tiscali.nl>. - bmptopnm: fix crash with 16 bit images. + pnmmargin: add -plain option. Thanks + Prophet of the Way <afu@wta.att.ne.jp>. -07.09.03 BJH Release 10.35.31 + pnmgamma: improve error messages. pamstack: accept Standard Input properly. - pnmtopalm: fix typo in error message. + pnmmargin: recognize invalid options better. Thanks + Prophet of the Way <afu@wta.att.ne.jp>. + + anytopnm, pnmmargin, pamstretch-gen, ppmquantall: fix + small temporary file security exposure. -07.07.30 BJH Release 10.35.30 + pnmtopalm: fix typo in error message. Thanks Paul Bolle + <pebolle@tiscali.nl>. pnmtops: fix crash when program attempts to write 12 bits per sample Postscript. It doesn't really know how to do that, so - now it just writes 8. - -07.07.10 BJH Release 10.35.29 + now it just writes 8 unless you do -psfilter. pnmtopng: Sort palette properly when alpha maxval != 255. @@ -336,183 +463,311 @@ CHANGE HISTORY pamtopfm: Fix wrong selection of default endianness. -07.06.25 BJH Release 10.35.28 + libnetpbm: Add pm_system_lp(), pm_system_vp(). - fitstopnm: fix BITPIX = -32. + libnetpbm: Make pbm_readpbminit() and pgm_readpgminit() + recognize incompatible Netpbm formats and issue a + helpful error message. + + libnetpbm: pbm_readppminit: read PBM as maxval of 255, not 1. + + libnetpbm: Fix pm_drain() to use the specified limit. + Thanks Paul Bolle <pebolle@tiscali.nl>. + + libnetpbm: Fix multi-line TUPLTYPE interpretation: + separate lines with blank, not newline. Thanks Paul + Bolle <pebolle@tiscali.nl>. + + libnetpbm: Reject empty TUPLTYPE header. + + libnetpbm: Fix uninitialized variable in pnm_allocpamrown(). + + libnetpbm: fix crash in REALLOCARRAY with advanced optimization. + + libnetpbm: REALLOCARRAY frees memory if it fails. + + Rename pamtooctave to pamtooctaveimg. + + Build: don't build pstopnm on system without unix process + management. + + Build: put -l's after .o's in test links. + + Build: don't use 'uint' type. Solaris 10 apparently doesn't + have it. + + Build: Add missing <stdlib.h> to ppmrough.c. + +07.06.26 BJH Release 10.39.00 + + Add pamtooctave. Thanks Scott Pakin (scott@pakin.org). + + Add pamundice. + + fitstopnm: add -omaxval. + + pnmremap: add -norand. + + pbmtext: improve error messages about fonts. pamtofits: fix -min, -max. - PAM_STRUCT_SIZE: cast pointer to ulong instead of uint. + fitstopnm: fix BITPIX = -32. -07.05.20 BJH Release 10.35.27 + PAM_STRUCT_SIZE: cast pointer to ulong instead of uint. pamthreshold: fix totally bogus threshold selection with simple thresholding. -07.04.07 BJH Release 10.35.26 + Configure: do test compile for missing Libxml2 and too old + Libxml2. - picttoppm: Fix wild memory reference in all use cases. + Configure: fix bug detecting presence of libvga with + Ldconfig. - picttoppm: Fix for multi-pixel-per-byte image in which - it says the image has a row that is too long (because of - padding). + Configure: build properly for Mac OSX when user says + libnetpbm will be in the default search path. - configure: fix choice of default library suffix. + Build: don't use 'uint' type. Mac OSX apparently doesn't + have it. + +07.03.30 BJH Release 10.38.0 + + Add pamfixtrunc. + + pamtogif: Add -aspect. Thanks + Prophet of the Way <afu@wta.att.ne.jp>. + + pamditherbw: Add -atkinson. -07.03.23 BJH Release 10.35.25 + pammixinterlace: Add -filter and fir and ffmpeg filters. + Thanks Bruce Guenter <bruce@untroubled.org>. + + pammixinterlace: Add -adaptive. + Thanks Bruce Guenter <bruce@untroubled.org>. + + pambackground: recognize mid-row background. + + ppm3d: Change default offset to zero columns. + + ppm3d: Add -color option. + + ppm3d: Add -offset option as alternative to offset argument. + + jpegtopnm: Add -repair option. + + giftopnm: Add -repair option. + + xwdtopnm: use pm_drain() to catch some format + misinterpretations. + + pamtogif: Speed up for monochrome images. Thanks + Prophet of the Way <afu@wta.att.ne.jp>. + + pamtogif: Speed up for small images by using smaller + hash table (so smaller memory footprint). Thanks + Prophet of the Way <afu@wta.att.ne.jp>. + + libnetpbm: add pm_drain(). + + libnetpbm: shhopt: reject signed number as value for + OPT_UINT option. + + libnetpbm: in the "no such option" error message, say what + the valid options are. + + libnetpbm: Embellish "bad magic number" error message. pnmremap: fix incorrect output with map file deeper than input file. - Pnmtopclxl: fix -feeder, -outtray options. Thanks + xwdtopnm: fix right edge padding for 24 bit per pixel, + 32 bit per item images. + + xwdtopnm: update assumptions about format for direct color + images to match an image we found. + + pnmtopclxl: fix -feeder, -outtray options. Thanks "Eric K. Olson" <olson@mauicomputing.com>. -07.03.09 BJH Release 10.35.24 + picttoppm: Fix wild memory reference in all use cases. - libnetpbm: fix crash with PBM images < 8 columns on MMX/SSE - machine. + picttoppm: Fix for multi-pixel-per-byte image in which + it says the image has a row that is too long (because of + padding). - pamtoxvmini: fix maxval != 255 bugs. + pamtogif: fix crash with -mapfile. -07.02.21 BJH Release 10.35.23 + ppmtogif: handle case that map file and input file are not + the same depth, as was the case with the original ppmtogif. + Run the input through pnmremap. + + pamtoxvmini: fix bug: produces garbage when maxval is + not 255. pamtoxvmini: fix crash. - ppmtogif: fail properly if image to wide or high for GIF. + libnetpbm: fix buffer overrun with PBM images < 8 columns. -07.01.15 BJH Release 10.35.22 + libnetpbm: fix crash with PBM images < 8 columns on MMX/SSE + machine. - libnetpbm: fix buffer overrun with PBM images < 8 columns. + pamtogif: fail properly if image to wide or high for GIF. ppmdraw: fix crash with use of freed storage. Thanks John Walker <kelvin@fourmilab.ch>. - installnetpbm: use 2-argument open() for old Perl. - -06.12.31 BJH Release 10.35.21 - libnetpbm: fix crash with PAM read as PNM. - pbmtextps: Fix buffer overrun -- typical symptom: extra - text generated. - -06.12.18 BJH Release 10.35.20 - - ppmchange: Fix bug with -closeness and not -remainder or - vice versa. + installnetpbm: use 2-argument open() for old Perl. + + configure: fix choice of default library suffix. - pgmtoppm: Fix garbage output with -map and input maxval - != map maxval. + configure: default to 'none' for Svgalib if it doesn't appear + to be installed. -06.12.03 BJH Release 10.35.19 +06.12.31 BJH Release 10.37.0 - pbmtext: Fix crash when there is only one character. + Add pambackground. But doesn't find mid-row background yet. - pnmtopng: fix transparency optimization on PPM input. - - pnmrotate: fix -background option with PGM/PBM input. + pnmcrop, pamtopnm: work on multi-image stream. + Thanks Erik Auerswald <auerswal@unix-ag.uni-kl.de>. - pamx: fix bug with X depth = 0. + pnmshear: add -background. Thanks Erik Auerswald + <auerswal@unix-ag.uni-kl.de>. - pamx: fix bug: incorrect display of one-plane input image. + ppmtogif: replace with pamtogif. Fix garbage output with + -interlace. -06.11.27 BJH Release 10.35.18 + pbmtoxbm: add -name option. + Thanks Prophet of the Way <afu@wta.att.ne.jp>. - Configure: Fix incorrect .dylib suffix in shared library default. + ppmshift, ppmspread, ppmforge, pgmnoise, pgmcrater: better + randomization; won't produce the same image if you run it + twice within the same second. - libnetpbm: fix bogus results from ppm_parsecolor() of - rgb:0/0/0 style color name. + pbmtoxbm: Use packed PBM functions for efficiency. + Thanks Prophet of the Way <afu@wta.att.ne.jp>. + + xbmtopbm: Use packed PBM functions for efficiency. + Thanks Prophet of the Way <afu@wta.att.ne.jp>. -06.11.18 BJH Release 10.35.17 + cmuwmtopbm, mgrtopbm, pbmtocmuwm, pbmtoicon, pbmtomgr: + Use packed PBM functions for efficiency. + Thanks Prophet of the Way <afu@wta.att.ne.jp>. - ppmtogif: fix garbage output with non-ppm-raw input; - restore to 10.34 version. + libnetpbm: add pnm_colorname(). -06.11.14 BJH Release 10.35.16 + libnetpbm: add pnm_computetuplefreqtable3(). Has ability + to limit number of planes of input considered. - ppmtogif: fix garbage output with -interlace. + libpam: better checking of sufficient size of struct pam + in pnm_writepaminit(). -06.11.13 BJH Release 10.35.15 + pnm_readpaminit(): abort instead of crash if width == 0. - Configure: fix default for X library location. + pnmtopng: fix transparency optimization on PPM input. + + pnmrotate: fix -background option with PGM/PBM input. -06.11.13 BJH Release 10.35.14 + pamx: fix bug with X depth = 0. - Configure: fix default for X library location. + pamx: fix bug: incorrect display of one-plane input image. -06.11.13 BJH Release 10.35.13 + libnetpbm: fix bogus results from ppm_parsecolor() of + rgb:0/0/0 style color name. - Build: fix Darwin build. + pbmtoxbm, pbmtox10bm: merge. + Thanks Prophet of the Way <afu@wta.att.ne.jp>. -06.11.08 BJH Release 10.35.12 + pbmtox10bm: Fix generation of name in XBM file. + Thanks Prophet of the Way <afu@wta.att.ne.jp>. - Build: remove unnecessary limit of 200 characters on - argument length in Libopt. + pbmtextps: Fix buffer overrun -- typical symptom: extra + text generated. -06.10.26 BJH Release 10.35.11 + ppmchange: Fix bug with -closeness and not -remainder or + vice versa. - pnm_readpaminit(): Don't crash if width == 0. + pgmtoppm: Fix garbage output with -map and input maxval + != map maxval. -06.10.22 BJH Release 10.35.10 + pbmtext: Fix crash when there is only one character. - ppmtompeg: fix reading of GOP files. Thanks Alun Jones. + pnmnlfilt: Give proper error message for syntax errors. -06.10.21 BJH Release 10.35.09 + ppmtompeg: fix reading of GOPs. Thanks Alun Jones. Fix pamcomp: due to use of undefined value, sometimes produces plain format. -06.10.18 BJH Release 10.35.08 - Fix pamperspective: read all of input. Fix libnetpbm pm_system(): don't hang if shell command quits before taking all the input. - Fix redefinitions of functions that Irix compiler can't handle. + Build: Configure does test links to detect broken + libpng-config --ldflags. + + Build: Fix some compile failures with Irix IDO compiler. -06.10.01 BJH Release 10.35.07 + Build: fix Darwin (Mac OS X) build. - Fix some prototypes that don't literally match definitions - so that Irix compiler will accept them. + Configure: fix default for X library location. -06.09.29 BJH Release 10.35.06 + Build: remove unnecessary limit of 200 characters on + argument length in Libopt. Build: fix build with separate build directory. Build: fix merge build with no X11 library. -06.09.11 BJH Release 10.35.05 - - Remove some generated files from release so build works. +06.09.21 BJH Release 10.36.0 - Properly clean thinkjettopbm.c with 'make distclean'. + pbmtonokia: Add plain NPM output capability. Thanks Paul Bolle + <pebolle@tiscali.nl>. -06.09.10 BJH Release 10.35.04 + pbmtonokia: Pad to 8 bytes. Thanks Paul Bolle + <pebolle@tiscali.nl>. - Fix version number control. + pbmtonokia: Limit text to 120 bytes. Thanks Paul Bolle + <pebolle@tiscali.nl>. -06.09.09 BJH Release 10.35.03 + pamthreshold: don't gather global information, and reread + file, for local thresholding (to save time, resources). + Thanks Erik Auerswald <auerswal@unix-ag.uni-kl.de>. - Remove general history from change file + libnetpbm: BK color matching adjustments, change of + enum bk_color. Thanks "Kenan Kalajdzic" + <kalajdzic@gmail.com>. -06.09.03 BJH Release 10.35.02 + Fix version number control. pbmtonokia: fix headers of NGG and NOL to include 3 character magic. + Release allocated memory before longjmping from libnetpbm. + + Eliminate pm_perror() in favor of informative error messages. + + libnetpbm: fix rgb:r/g/b color name parsing for invalid + syntax. + + Add pm_errormsg(), pm_setusererrormsg(), pm_setusermessage(). + pm_accept_to_pamtuples: fix bug: fill in pam structure. Thanks "Christian Schlotter" <schlotter@users.sourceforge.net>. -06.08.26 BJH Release 10.35.01 - - Fix selection of MMX_SEE fastpath based on GNU compiler version + Fix selection of MMX_SSE fastpath based on GNU compiler version number. - libnetpbm: fix rgb:r/g/b color name parsing for invalid - syntax. + Properly clean thinkjettopbm.c with 'make distclean'. + + Remove some generated files from release so build works. + + Remove general history from change file -06.08.19 BJH Release 10.35.00 +06.08.19 BJH Release 10.35.0 Add pgmdeshadow. @@ -616,6 +871,11 @@ CHANGE HISTORY picttoppm: fix bug - interprets some images wrong because of bogus "rowBytes" value. + libnetpbm: add ppm_fastlumin(). Change ppmtopgm, ppmtoilbm, + and ppm3d to use this, which results in higher quality output, + because ppm_fastlumin() rounds to nearest, whereas these + programs rounded down. Otherwise, it's the same calculation. + Redo asprintfN(), etc. so as not to use va_list in a way that doesn't work on some machines. @@ -711,7 +971,7 @@ CHANGE HISTORY for superspeed operations. Thanks Prophet of the Way <afu@wta.att.ne.jp>. - pm_make_tempfile(): Use TEMP and TMP environment variables if + pm_make_tmpfile(): Use TEMP and TMP environment variables if TMPDIR not set. pm_make_tempfile(): improve error message. @@ -755,8 +1015,6 @@ CHANGE HISTORY pamstereogram: Fix crippling bugs. Thanks Scott Pakin <scott@pakin.org>. - giftopnm: Fix bug with interlaced GIF < 5 rows. - giftopnm: Handle case of a clear code at the end of a block. ppmtogif: Fix bug with interlaced GIF < 5 rows. @@ -1060,7 +1318,7 @@ CHANGE HISTORY anytopnm: remove apparently redundant traps of signals. - pnm_alloctupletable(): fix bug - returns random value. + pnm_alloctupletable(): fix bug from 10.27: returns random value. (affects pnmcolormap, pnmremap, pnmquant, others). jpeg2ktopam: fix array bounds violation on 64 bit machines. @@ -1274,6 +1532,8 @@ CHANGE HISTORY ppmforge: fix bug: crash due to wild pointer with -night. Thanks John Walker <kelvin@fourmilab.ch>. + libnetpbm: add pm_make_tmpfile(). + 05.01.01 BJH Release 10.26 pnmhistmap: Add -dots, -nmax, -red, -green, -blue, -lval, @@ -1369,7 +1629,9 @@ CHANGE HISTORY pamcut: major speedup. Thanks Prophet of the Way <afu@wta.att.ne.jp> (Akira Urushibata ("Douso")). - Add pnm_getopacity(). + libnetpbm: Add pnm_getopacity(). + + libnetpbm: Add pnm_applyopacityrown(), pnm_unapplyopacityrown(). libnetpbm: "pam" read and write routines much more efficient. Thanks Prophet of the Way @@ -1708,6 +1970,8 @@ CHANGE HISTORY Stefan Nordhausen <nordhaus@informatik.hu-berlin.de>. tifftopnm: Do better validation of number of channels. + + libnetpbm: Add pm_tmpfile(). libnetpbm: Add "normalized" (floating point) read/write routines: pnm_readpamrown(), pnm_writepamrown(), @@ -1786,6 +2050,8 @@ CHANGE HISTORY 03.09.19 BJH Release 10.18 + Add pbmtomrf, mrftopbm. + Add escp2topbm, pbmtoescp2. Thanks Ulrich Walcher <u.walcher@gmx.de> @@ -3353,41 +3619,41 @@ Minor bug fixes and compatibility fixes are not documented in this file. PBM -libpbm1.c strstr() added to libpbm1.c. -libpbm5.c BDF font support added. -pbmtext BDF font support added. -pbmto4425 New filter. -pbmtoln03 Command line parsing changed to Pbmplus standard. +libpbm1.c strstr() added to libpbm1.c. +libpbm5.c BDF font functions added. +pbmtext Ability to use BDF fonts added. +pbmto4425 New filter. +pbmtoln03 Command line parsing changed to Pbmplus standard. PGM -pgmnoise New filter. +pgmnoise New filter. PPM -picttoppm Updated -ppm3d New facility. -ppmchange New filter. -ppmdim New filter. -ppmflash New filter. -ppmmix New filter. -ppmntsc New filter. -ppmqvga Option parsing changed to Pbmplus standard. -ppmshift New filter. -ppmspread New filter. -ppmtoxpm Prototypes added. -xpmtoppm Prototypes added. -ilbmtoppm Updated. -ppmtoilbm Updated. +picttoppm Updated +ppm3d New facility. +ppmchange New filter. +ppmdim New filter. +ppmflash New filter. +ppmmix New filter. +ppmntsc New filter. +ppmqvga Option parsing changed to Pbmplus standard. +ppmshift New filter. +ppmspread New filter. +ppmtoxpm Prototypes added. +xpmtoppm Prototypes added. +ilbmtoppm Updated. +ppmtoilbm Updated. PNM -pnmtoddif New filter. -pnmhistmap New facility. -pnmtops New option (-nocenter) added. +pnmtoddif New filter. +pnmhistmap New facility. +pnmtops New option (-nocenter) added. Functional changes to Netpbm since 7 December 1993. @@ -3395,25 +3661,25 @@ Minor bug fixes and compatibility fixes are not documented in this file. PGM -asciitopgm New filter. -fitstopgm Replaced by fitstopnm. -pgmtofits Replaced by pnmtofits. -pgmtopbm Upgraded. -pgmkernel New filter. +asciitopgm New filter. +fitstopgm Replaced by fitstopnm. +pgmtofits Replaced by pnmtofits. +pgmtopbm Upgraded. +pgmkernel New filter. PPM -ppmchange Upgraded. -xvminitoppm New filter. +ppmchange Upgraded. +xvminitoppm New filter. PNM -pnmalias New filter. -pnmtofits Replacement for pgmtofits. -fitstopnm Replacement for fitstopgm. -pnmtosgi New filter. -sgitopnm New filter. -pstopnm New filter. +pnmalias New filter. +pnmtofits Replacement for pgmtofits. +fitstopnm Replacement for fitstopgm. +pnmtosgi New filter. +sgitopnm New filter. +pstopnm New filter. @@ -3424,126 +3690,126 @@ The following is new in Netpbm (compared to Pbmplus): PBM -pbmtext BDF font support added. +pbmtext Ability to use BDF fonts added. -pbmto4425 Display on an AT&T 4425 Ascii terminal. +pbmto4425 Display on an AT&T 4425 Ascii terminal. -pbmtoascii A new improved version. +pbmtoascii A new improved version. -pbmtoln03 Convert to DEC LN03+. +pbmtoln03 Convert to DEC LN03+. -pbmtolps Fast PostScript creator. +pbmtolps Fast PostScript creator. -pbmtopk Conversion to/from a packed (PK) format font. +pbmtopk Conversion to/from a packed (PK) format font. pktopbm -pbmclean Flip isolated pixels. +pbmclean Flip isolated pixels. -pbmpscale Enlarge pbm image with edge smoothing. +pbmpscale Enlarge pbm image with edge smoothing. PGM -asciitopgm Convert an ascii image into pgm. +asciitopgm Convert an ascii image into pgm. -pbmtopgm Convert pbm to pgm by averaging areas. +pbmtopgm Convert pbm to pgm by averaging areas. -rawtopgm Handles input files without specification of the file size, - assuming the input image is quadratic. It also supports a - -tb (top bottom flip) option. +rawtopgm Handles input files without specification of the file size, + assuming the input image is quadratic. It also has a + -tb (top bottom flip) option. -bioradtopgm Conversion utility for files created by Biorad confocal - microscopes. +bioradtopgm Conversion utility for files created by Biorad confocal + microscopes. -spottopgm Convert SPOT satellite images to pgm. +spottopgm Convert SPOT satellite images to pgm. -pgmkernel Generate a convolution kernel. +pgmkernel Generate a convolution kernel. -pgmnoise Create a pgm file with random pixels. +pgmnoise Create a pgm file with random pixels. PPM -bmptoppm Conversion to/from windows bitmap format. +bmptoppm Conversion to/from windows bitmap format. ppmtobmp -ppmtogif Updated version. -giftoppm Removed (see giftopnm). +ppmtogif Updated version. +giftoppm Removed (see giftopnm). -ppmtoilbm Updated version. +ppmtoilbm Updated version. ilbmtoppm -picttoppm Updated version. +picttoppm Updated version. ppmtopict -ppmtoxpm Updated version, which supports xpm version 3. +ppmtoxpm Updated version, which understands xpm version 3. xpmtoppm -ppmtomap Extract all colors from a ppm file. +ppmtomap Extract all colors from a ppm file. -ppmtomitsu Convert to Mitsubishi S340-10 printer format. +ppmtomitsu Convert to Mitsubishi S340-10 printer format. -xvminitoppm Convert an XV thumbnail picture to ppm. +xvminitoppm Convert an XV thumbnail picture to ppm. -ppmtoyuvsplit Conversion to/from YUV triplets. (MPEG / JPEG). +ppmtoyuvsplit Conversion to/from YUV triplets. (MPEG / JPEG). yuvsplittoppm -ppm3d Create a red/blue stereo image. +ppm3d Create a red/blue stereo image. -ppmbrighten Change image saturation and value on an HSV map. +ppmbrighten Change image saturation and value on an HSV map. -ppmchange Change all pixels of one color to another in a portable pixmap +ppmchange Change all pixels of one color to another in a portable pixmap -ppmdim Dim a ppm file down to total blackness. +ppmdim Dim a ppm file down to total blackness. -ppmdist Simplistic grayscale assignment for machine generated - color images. +ppmdist Simplistic grayscale assignment for machine generated + color images. -ppmflash Brighten a picture up to complete white-out +ppmflash Brighten a picture up to complete white-out -ppmmix Blend together two portable pixmaps. +ppmmix Blend together two portable pixmaps. -ppmnorm Normalize the contrast in a portable pixmap. +ppmnorm Normalize the contrast in a portable pixmap. -ppmntsc Make a portable pixmap look like taken from an American TV. +ppmntsc Make a portable pixmap look like taken from an American TV. -ppmqvga Eight plane quantization. +ppmqvga Eight plane quantization. -ppmshift Shift lines of a portable pixmap left or right by a random amount. +ppmshift Shift lines of a portable pixmap left or right by a random amount. -ppmspread Displace a portable pixmap's pixels by a random amount. +ppmspread Displace a portable pixmap's pixels by a random amount. -ppmtopjxl Convert a ppm file into an HP PaintJet XL PCL file. +ppmtopjxl Convert a ppm file into an HP PaintJet XL PCL file. PNM -pnmtops New option (-nocenter) added. +pnmtops New option (-nocenter) added. -pnmtofits Replacement for pgmtofits/fitstopgm +pnmtofits Replacement for pgmtofits/fitstopgm fitstopnm -pnmtosgi Conversion to/from sgi image format. +pnmtosgi Conversion to/from sgi image format. sgitopnm -pnmtosir Conversion to/from Solitaire image recorder format. +pnmtosir Conversion to/from Solitaire image recorder format. sirtopnm -giftopnm Replaces giftoppm. Examines the input image and produces - a pbm, pgm, or ppm output. +giftopnm Replaces giftoppm. Examines the input image and produces + a pbm, pgm, or ppm output. -pstopnm Convert PostScript to pnm. Requires Ghostscript. +pstopnm Convert PostScript to pnm. Requires Ghostscript. -zeisstopnm Conversion utility for files created by Zeiss confocal - microscopes (the old standard). +zeisstopnm Conversion utility for files created by Zeiss confocal + microscopes (the old standard). -pnmalias Anti aliasing filter. +pnmalias Anti aliasing filter. -pnmcomp Composite two portable anymaps together. +pnmcomp Composite two portable anymaps together. -pnmcrop New options added. +pnmcrop New options added. -pnmpad Add borders to anymap. +pnmpad Add borders to anymap. LIBTIFF @@ -3627,7 +3893,7 @@ Changes during the extended beta test period, starting on 15jan91: Added a -pseudodepth flag to pnmtoxwd. Updated tifftopnm for libtiff 2.4. Added many option flags to pnmtotiff. (J.T. Conklin) - Added support for X11R5's new color specifiers rgb: and rgbi:. + Added recognition of X11R5's new color specifiers rgb: and rgbi:. Added pgmtexture. (James Darrell McCauley) Added ppmtopj, pjtoppm, and ppmdither. (Christos Zoulas) Added ppmtotga. (Mark Shand) @@ -3635,7 +3901,7 @@ Changes during the extended beta test period, starting on 15jan91: Added pbmtoatk and atktopbm. (Bill Janssen) Added ppmtoyuv and yuvtoppm. (Marc Boucher) Fixes to picttoppm. (George Phillips) - Added 24-bit support to ilbmtoppm. (Mark Thompson) + Added recognition of 24-bit images to ilbmtoppm. (Mark Thompson) Changes since the X.V11R4 / comp.sources.misc distribution of 22nov89: @@ -3676,7 +3942,7 @@ Changes since the X.V11R4 / comp.sources.misc distribution of 22nov89: Added -expand flag to pbmmask. Speedup to pnmflip - don't buffer if possible. Added color-name-to-value routine to ppm - uses X11's rgb.txt if present. - Updated Imakefile support to reflect X.V11R4. + Updated Imakefile function to reflect X.V11R4. Removed picttopbm. Improved pnmcut argument syntax so that negative coords work like pnmpaste. Added "magic" file, for use with the "file" program. @@ -3700,7 +3966,7 @@ Changes since the X.V11R4 / comp.sources.misc distribution of 22nov89: Added -map flag to ppmquant - user-specifiable colormap. Also, the Floyd-Steinberg error diffusion finally works right. Added -map flag to pgmtoppm. - Added DirectColor support to xwdtopnm and pnmtoxwd. + Added DirectColor capability to xwdtopnm and pnmtoxwd. Speedup to pgmtolj from Arthur David Olson: avoid sending whitespace. Fix to pbmtogo from Bo Thide': 2D compression now works. @@ -3784,7 +4050,7 @@ Changes since the comp.sources.misc distribution of 31oct88: Changes since the X.V11R3 distribution of 31aug88: - The cbm format has been revised to support run-length encoding. + The cbm format has been revised to include run-length encoding. Pbmtops now does run-length encoding. Major changes since the X.V11R2 distribution of 28mar88: diff --git a/doc/INSTALL b/doc/INSTALL index 78cf1ebf..92e78540 100644 --- a/doc/INSTALL +++ b/doc/INSTALL @@ -3,7 +3,7 @@ HOW TO INSTALL NETPBM For most typical platforms, you can just do - configure + ./configure followed by @@ -16,7 +16,7 @@ To build all the programs. Then to gather all the installable parts into a specified directory, and finally - installnetpbm + ./installnetpbm to install it into your system. @@ -67,15 +67,23 @@ than you need to do and you will be disappointed with Configure's unpredictability, especially from one release to the next. Configure is specifically intended to talk to an intelligent human being. -Rather, just write a program to generate the file Makefile.config. That's +Rather, just write a program to generate the file config.mk. That's all Configure does in the end anyway. Like Configure, your program can -simply copy Makefile.config.in and add overrides to the bottom. Or you -can just package up a complete Makefile.config and not run any program at -all at build time. Comments in Makefile.config.in explain the entire +simply copy config.mk.in and add overrides to the bottom. Or you +can just package up a complete config.mk and not run any program at +all at build time. Comments in config.mk.in explain the entire contents. You can also run Configure interactively and use its output as an example. +THE PREREQUISITE LIBRARIES +-------------------------- + +Netpbm uses lots of external libraries, but you don't necessarily have +to install them all. See http://netpbm.sourceforge.net/prereq.html . +You do, however, have to tell Configure accurately whether you have the +library installed and if so, where. + INSTALLATION - WINDOWS ---------------------- @@ -84,8 +92,7 @@ For notes on building Netpbm on Windows using Cygwin, see the file README.CYGWIN. With Cygwin, you can build Netpbm programs that use Cygwin or Netpbm programs that use Mingw. -For notes on building Netpbm on Windows using Djgpp, see the file -README.DJGPP. +Netpbm has also been built for Windows using Djgpp, as late as 2001. See also the general installation instructions above. @@ -105,9 +112,9 @@ just do It will build Pnmtojpeg and any of its dependencies, but nothing else. You have to install it manually. -When you build just one program, you should request static libraries -in the configure step, because for just one program, the shared -libraries would be pure masochism. +When you build just one program, you should request a static Netpbm +library in the configure step, because for just one program, the +shared library would be pure masochism. CUSTOM BUILDING @@ -116,19 +123,19 @@ CUSTOM BUILDING This section explains how to customize the installation in the case that your platform is, or your requirements are, not among the simple cases that 'configure' understands. 'configure' is really just a -convenient way to build the Makefile.config file, and in the most +convenient way to build the config.mk file, and in the most general case, you build that file manually. -Makefile.config contains settings for various things that vary from +config.mk contains settings for various things that vary from one system to the next, like file paths. Start with the distributed -file Makefile.config.in. Copy it as Makefile.config, then edit it. +file config.mk.in. Copy it as config.mk, then edit it. Search for your platform name (Solaris, SunOS, NetBSD, Cygwin, BeOS, and Tru64 are among those mentioned) to see recommended settings for your platform. If your system is even too exotic to accomodate with settings in -Makefile.config, you may need to modify things in the main make files -or pm_config.h. +config.mk, you may need to modify things in the main make files +or pm_config.h.in. If you figure out how to install on other platforms, contact the Netpbm maintainer to have the 'configure' program or these @@ -173,6 +180,9 @@ shared libraries (which is kept in /var/ld/ld.config). Make sure that path includes the directory in which you installed the Netpbm shared library. You can also use the LD_LIBRARY_PATH environment variable. +On AIX, the environment variable LIBPATH affects the shared library search +path. On AIX 5.3 and newer, you can use LD_LIBRARY_PATH as well. + Besides the Netpbm shared library, libnetpbm, several of the converter programs, e.g. Jpegtopnm, use separately distributed libraries that understand the graphics format involved. You need to make sure your @@ -182,8 +192,8 @@ Netpbm build to statically bind the libraries into the Netpbm programs). Another thing you can do is forget about library search paths and just build into each Netpbm executable the location of the Netpbm shared library. (I'm talking about the classic -R linker option) You set -this up with variables in Makefile.config. If you use Configure to -build Makefile.config, then for some platforms where this method is +this up with variables in config.mk. If you use Configure to +build config.mk, then for some platforms where this method is common, the Configure dialog asks you what directory, if any, you want built into Netpbm executables. @@ -203,20 +213,50 @@ Since shared libraries can be such a pain, and in fact some systems don't even have them, you can build Netpbm with a static library instead. Just answer "static" to the static/shared question when you run 'configure' (if you don't use 'configure', set NETPBMLIBTYPE as -directed in Makefile.config.in). +directed in config.mk.in). If you do this, you probably want to do a merge build instead of the normal build (there's a question for that in the Configure program). See below. +SEPARATE BUILD TREE +------------------- + +While it's traditional to build a Unix package by adding object files +to the same tree with the source files, it's actually much cleaner to +keep your source tree exactly as you got it and put the built files in +a separate directory, called the build tree. + +To do this, just create an empty directory and run 'configure' in it, +then 'make': + + mkdir netpbmbuild + cd netpbmbuild + /usr/src/netpbm/configure + ... + make + +But if you plan to work on Netpbm source code, you'll probably find it +more convenient to build the traditional way, with a single tree for +source and build. + +In the source tree, you can type 'make' in any directory to do the +default make for that directory, or make FILENAME to make the file of +that name there. In the separate build tree, there are special +facilities to allow you to do a simple make from the _top level +directory_, but if you want to make a subcomponent or individual part, +you have to have a -f option and set SRCDIR and BLDDIR on your 'make' +command. + + MERGE BUILD ----------- There are two ways to build Netpbm: the standard or nonmerge build, and the merge build. There are different make file targets for them and which one is default is controlled by the DEFAULT_TARGET make -variable in Makefile.config, and its value is one of the choices you +variable in config.mk, and its value is one of the choices you make via the Configure dialog. The standard build is the conventional one. The merge build is a way diff --git a/doc/README.CYGWIN b/doc/README.CYGWIN index 6c11ff35..a9867aae 100644 --- a/doc/README.CYGWIN +++ b/doc/README.CYGWIN @@ -66,7 +66,7 @@ search for include files and link libraries in a different place, which is basically just a -mno-cygwin option and -I and -L options. You can easily add the compiler options you need at the bottom of -Makefile.config after you create it with the automatic configurator +config.mk after you create it with the automatic configurator ('configure'). Mingw does not have the Unix process management facilities (fork/wait, diff --git a/doc/README.DJGPP b/doc/README.DJGPP deleted file mode 100644 index 773a22e7..00000000 --- a/doc/README.DJGPP +++ /dev/null @@ -1,65 +0,0 @@ -Warning: The Netpbm distribution uses long filenames, so you can only -build the package in a W9x environment, with LFN support. - -To build Netpbm with DJGPP v2.0x you need: - - - djgpp: gcc, make, and binutils - - bash - - fileutils - - sed - - groff (to convert man pages to cat format) - - man and less (to read the converted man pages) - -You can fetch all packages on Simtelnet in the DJGPP tree: -ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/ - -You need too four external libraries to add tiff, png and jpeg support -to Netpbm (you can build without them, modifying Makefile.config.djgpp -but I think it makes Netpbm useless). - - - Libtiff (www.libtiff.org) - - Libjpeg (www.ijg.org) - - Libpng (www.libpng.org/pub/png/libpng.html) - - Libz (www.info-zip.org/pub/infozip) - -All libraries come with guidelines to compile ok with DJGPP. At this time -you can get binary packages of libjpeg, libpng and libz on Simtelnet. - - -To build the Netpbm programs do the following: - - Copy Makefile.config.djgpp to Makefile.config - - Run "touch Makefile.config" to prevent Make from updating the file. - - Read the Makefile.config and make any changes you want - - Do "make merge" - - Do "make install-merge" to install binaries and man pages. - - Makefile.config.djgpp is set up to install these in TMPDIR/netpbm - (normally /dgjpp/tmp/netpbm). If everything worked OK, you can - move the contents of this directory to your DJGPP production tree. - - -WARNING - -There are some problems that have to be addressed if using the -binaries in pure DOS OS, without long file names, but it works OK -using "netpbm <utility>" (<utility> is the real Netpbm program to be -used, for example: - - netpbm ppmtobmp <testimg.ppm >testimg.bmp - -instead of the usual - - ppmtobmp <testimg.ppm >testimg.bmp). - - - -This procedure and the code to adapt Netpbm to DJGPP was contributed by -M.Alvarez <malfer@teleline.es> in August 2001. You can find his -current information on using Netpbm with DJGPP and prebuilt binaries -at <http://www.terra.es/personal/malfer/netpbm/netpbm.htm>. - diff --git a/doc/USERDOC b/doc/USERDOC index 3cd2b383..3dcfb00d 100644 --- a/doc/USERDOC +++ b/doc/USERDOC @@ -21,15 +21,19 @@ INSTALLING A LOCAL COPY OF DOCUMENTATION If accessing the manual on the World Wide Web is not convenient for you (for example, if you want to access it from a computer that is not always connected to the Internet), just make a local copy of the web -site files using GNU Wget: +site files. An obvious way to do that is just to copy the web site +with GNU Wget: wget --recursive --relative http://netpbm.sourceforge.net/doc/ -The above copies all the HTML files from the web site into your -current directory, under a subdirectory 'netpbm.sourceforge.net/doc' -that it creates. You can browse those files directly with a web -browser. If you don't have Wget, get it from -ftp://ftp.gnu.org/gnu/wget. It is very useful. +However, a somewhat cleaner way is to get the files from the +Subversion repository using the Subversion client program 'svn': + + URL=https://netpbm.svn.sourceforge.net/svnroot/netpbm/userguide + svn export $URL + +This creates a directory "userguide" in your current directory containing +all the same files that are on the web site. GETTING COMMAND HELP WITH A "MAN" COMMAND @@ -56,7 +60,7 @@ to go straight to the Ppmtogif documentation. Installnetpbm normally installs Manweb and the netpbm.url file that Manweb needs to find the Netpbm documentation. Through the Configure -dialog, or editing Makefile.config, you determine whether Manweb +dialog, or editing config.mk, you determine whether Manweb accesses the master web copy or a local copy you installed. Installnetpbm installs the program as 'manweb'. If you want to invoke |