xpm-nox ======================================================================== This package provides a library for accessing xpm graphics files -- but without requiring the X11 libraries to do so. Therefore, the display routines are not available, but the decoding routines are. See the Motivation section for more information. Canonical homepage: http://xorg.freedesktop.org/ Canonical download: http://xorg.freedesktop.org/releases/individual/lib/ ======================================================================== To link this library with your projects: NonX-based, dynamic (/usr/lib/noX/libXpm.dll.a, /usr/bin/cygXpm-noX-4.dll) #1) linked code MAY require an Xserver if other code makes X calls. libXpm-noX does not make any X calls, but if you try to use this library, AND regular X libraries, expect...problems. #2) include Xpm.h in your client code #3) make sure the special noX directories are included in your search paths: -I/usr/include/noX/ and -L/usr/lib/noX #4) use -DXPM_NO_X when compiling client code #5) note that "XPM_NO_X" is equivalent to the old flag "FOR_MSW"; defining either flag will cause the other to be defined as well -- this helps with packages that already know about "FOR_MSW" #6) link using '-L/usr/lib/noX -lXpm -lgdi32 -luser32' Note: pkg-config --cflags xpm-nox pkg-config --libs xpm-nox will do the right thing. NonX-based, static (/usr/lib/noX/libXpm.a) #1) linked code MAY require an Xserver if other code makes X calls. libXpm-noX does not make any X calls, but again, if you try to use this library, AND regular X libraries, expect... problems. #2) include Xpm.h in your client code #3) make sure the special noX directories are included in your search paths: -I/usr/include/noX/ and -L/usr/lib/noX #4) use -DXPM_NO_X when compiling client code #5) note that "XPM_NO_X" is equivalent to the old flag, "FOR_MSW"; defining either flag will cause the other to be defined, as well -- this helps with packages that already know about "FOR_MSW" #6a) use 'gcc -static' to link #6b) also specify '-L/usr/lib/noX -lXpm -lgdi32 -luser32' when linking #6c) alternatively, use: gcc -L/usr/lib/noX -Wl,-Bstatic -lXpm -Wl,-Bdynamic -lgdi32 -luser32 when linking. #8) The binary produced *may* have some dynamic dependencies; the OTHER X libraries are only available as dynamic libs, so if your program makes *other* X11 calls then it will depend on those, and of course there's cygwin1.dll. Note: pkg-config --static --cflags xpm-nox pkg-config --static --libs xpm-nox will do the right thing (assuming you follow step #6a above). ======================================================================== Motivation: Why this library? Doesn't cygwin already provide the X libraries as part of the distribution? Doesn't that include libXpm.dll? Well, yes. But, this package provides a version of libXpm that does NOT require an Xserver. This is particularly useful if all you want are the routines to load and process xpm images but do not want to necessarily use X-based code to display those images. This is used, for instance, by Cygwin's emacs-w32 package, which uses the MSWindows display code rather than the X display code. Note that this package provides ONLY the non-X version of the Xpm library. The X-based version is available in the libXpm (libXpm-devel, libXpm4) packages that are also part of the cygwin distribution. Both may be installed at the same time without conflict.