From 1fd361a1ea06e44286c213ca1f814f49306fdc43 Mon Sep 17 00:00:00 2001 From: giraffedata Date: Sat, 19 Aug 2006 03:12:28 +0000 Subject: Create Subversion repository git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@1 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- doc/README.CYGWIN | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 doc/README.CYGWIN (limited to 'doc/README.CYGWIN') diff --git a/doc/README.CYGWIN b/doc/README.CYGWIN new file mode 100644 index 00000000..6c11ff35 --- /dev/null +++ b/doc/README.CYGWIN @@ -0,0 +1,79 @@ +Cygwin is a software package that sets up a Unix-like platform on a +Windows (win32) system. Here are some specific things you need in +that environment to build and use Netpbm. All these programs and +libraries are optional parts of the cygwin package. + + Programs: + 1) gcc suite + 2) binutils + 3) bash + 4) dlltool + 5) flex & byacc + 6) patch + 7) install + 8) rm, ln, cp and other file utilities + Libraries: + 1) libtiff (cygtiff3.dll) + 2) libpng (cygpng2.dll) + 3) libjpeg6b (cygjpeg6b.dll) + 4) libz (cygz.dll) + +Find Cygwin at http://sources.redhat.com/cygwin/ . + +One problem special to Windows is the common existence of directories +with space in their names (e.g. Windows 2000's "Documents and +Settings" directory. (Such filenames are possible on non-Windows +systems, but are highly unconventional). Don't try to build Netpbm in +such a directory or with files in such a directory. It ought to work, +but it just doesn't. And the error messages are far from helpful, +since those spaces completely change the nature of the commands that +include them. + +One way to deal with this is to use the Cygwin "mount" facility to map +the Windows path "c:/Documents and Settings/aaa/bbb/cccc/Distributions" to +something short and friendly, such as /Distributions. + + +MINGW +------ + +You can use Cygwin on Windows to build Netpbm to run on Windows, but +have the Netpbm programs use Mingw code instead of Cygwin code. + +Two reasons to do this: + + - We don't appear to have a way to statically link Cygwin library + routines into Netpbm, so you have to have a Cygwin library (DLL) + installed on a system as well as Netpbm to run Netpbm. + + - If you link Netpbm with a Cygwin library (some believe even if the + program links itself to a Cygwin library at run time), you cannot + distribute the resulting Netpbm, or any extension of your own, + unless you distribute it under GPL. That's because Cygwin is + publicly distributed under GPL, so you probably got your + permission to distribute Cygwin as part of Netpbm from GPL. A + condition of that permission was that you distribute everything you + wrap around Cygwin under GPL as well. + +Mingw is a small POSIX emulation library for Windows. See +. + +Mingw comes with tools you can use to build Netpbm with the Mingw +library, but you can just use the Cygwin tools if you prefer. + tells how. +There isn't much to it -- it's just a matter of telling the compiler to +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 +('configure'). + +Mingw does not have the Unix process management facilities (fork/wait, +etc.), so Netpbm will build without some of its function if you use +Mingw. Areas of Netpbm that require those facilities are so arcane you +probably will not miss them. + + + + -- cgit 1.4.1