-*- mode: Text -*-

			Cygwin Support Files for Flick

		     The Flux Project, University of Utah
		     http://www.cs.utah.edu/projects/flux/
				+1-801-585-3271

				   May 1999


This directory contains files that are not part of Flick, but which you may
need in order to compile and use Flick in a Cygwin environment.

The Cygwin library implements a UNIX-like interface for Windows 95 and Windows
NT.  The Cygwin toolset is a suite of GNU tools ported to run with the Cygwin
library.  The Cygwin library and toolset are available from Cygnus Solutions
via the World Wide Web at <http://sourceware.cygnus.com/cygwin/>.

CONTENTS ----------------------------------------------------------------------

In this directory you will find:

	README		The file you are reading now.

	include		This directory contains C system header files that are
			required in order to build Flick.  Cygwin does not
			contain these files by default.

	libnsl		This directory contains a minimal `libnsl' library
			which contains the standard set of RPC and XDR
			functions.  While many systems provide these functions
			in `libc', Cygwin does not.

	portmap		This directory contains an enhanced portmapper daemon.
			A portmapper is required in order for one to run ONC
			RPC (Sun RPC)-based servers on a Windows host.

The files within `include' and `libnsl' are derived from corresponding files
within the GNU C Library.  The GNU C Library in turn assimilated these files
from Sun Microsystems' RPCSRC distribution of Sun RPC.  All of the files within
`include' and `libnsl' are freely distributable; some are controlled by the Sun
RPC license and some are controlled by the GNU Library General Public License
(GLPL).  See the `COPYRIGHT' file in the root of the Flick distribution for
details, or refer to the individual source files.

The files within `portmap' are derived from Weitse Venema's enhanced portmapper
distribution, version 4.  (See the `portmap/README' file.)  All of the files in
the `portmap' directory are freely distributable; some are controlled by the
Sun RPC license and some are controlled by a BSD license.  Again, refer to the
`COPYRIGHT' file at the root of the Flick distribution for details, or see the
individual source files.

The `portmap' installation notes (below) contain important details about
portmapper security features under Cygwin.

All of the support files have been tested with Cygwin b18.

INSTALLATION ------------------------------------------------------------------

If you are using the Flick binary distribution for Cygwin, a `make install'
will install both Flick and the additional support files described above.  Note
that in the Flick binary distribution, the portmapper is linked with the TCP
wrapper library, thus allowing for host-based access control.  (See the file
`portmap/README' for an introduction.  If you are not already familiar with the
TCP wrapper library, see <ftp://ftp.win.tue.nl/pub/security/>.)

If you are using the Flick source distribution, installation of the additional
Cygwin support files is manual but simple:

	include		To install the header files, simply copy the files
			within this directory into GCC's system include
			directory.  The complete pathname of GCC's system
			include directory depends on your installation of
			Cygwin.  You can find your system include directory by
			searching for the file `stdio.h' in your Cygwin
			installation.  The directory that contains `stdio.h' is
			your system header directory.

			BE CAREFUL to preserve the directory hierarchy of the
			files that you copy into your system header directory.
			For instance, the file `cdefs.h' must be located within
			a `sys' subdirectory of GCC's system header directory,
			so that it can be included as <sys/cdefs.h>.
			Similarly, all of the RPC header files must be located
			within an `rpc' subdirectory.

			ALSO BE CAREFUL not to delete any header files that are
			already installed on your system!  In particular, be
			careful not to delete the files that are already
			contained in the `sys' subdirectory of your Cygwin
			installation's system header file directory!

	libnsl		To install the `libnsl' library, you must compile the
			libnsl sources with GCC and then copy `libnsl.a' into
			GCC's system library directory.  The Makefile with
			`libnsl' should be sufficient to compile the library.

			Again, the exact pathname of the system library
			directory varies across Cygwin installations.  You can
			find your system's library directory by searching for
			the file `libc.a'.  The directory that contains
			`libc.a' is your system library directory.

	portmap		You must compile and install the `libnsl' library
			before you can compile the `portmap' daemon.

			To install the `portmap' daemon, you simply compile the
			portmapper sources with GCC and then copy the resultant
			`portmap' program to some directory in your executable
			search path.  A good location might be the `bin'
			directory within your Cygwin tree.

			You may want to install the utility `pmap_dump' and
			`pmap_set' programs in your search path as well.

			Note that you must start the `portmap' daemon on your
			Windows machine before you run any Flick-generated ONC
			RPC (Sun RPC)-based servers on your machine.  (ONC RPC
			servers attempt to register themselves with the
			portmapper.)  To start the portmapper daemon, simply
			run the `portmap' program.  Command line options:

				-d	Prevent portmap from running as a
					daemon, and cause debugging information
					to be printed to stderr.

				-v	Issue verbose logging access control
					checks.

			The `-d' switch may be required under Windows 95.  We
			have had problems running `portmap' as a daemon under
			Windows 95, but haven't really investigated the issue.

			IMPORTANT NOTE: The `Makefile' for the Cygwin version
			of Weitse Venema's `portmap' DOES NOT enable host-based
			access control by default and DOES NOT link with the
			TCP wrapper library.  Host-based access control is
			disabled by default because the TCP wrapper library is
			not generally available on Cygwin systems.

			However, the `portmap.exe' contained in the Flick
			binary distribution IS linked with the wrapper library
			and DOES enable host-based access control.  In other
			words, when we make a Flick binary distribution for
			Cygwin, we don't use the `Makefile' defaults.  We
			explictly (re)enable host-based access control.

			Because host-based access control is among the primary
			enhancements of Weitse Venema's portmapper, it is
			important that you understand that this feature is
			DISABLED by default if you build from source.  If you
			want to compile the portmapper for yourself, and you
			want to enable host-based access control, then you will
			have to acquire the TCP wrapper library for yourself
			from <ftp://ftp.win.tue.nl/pub/security/>, compile it,
			and modify the `portmap' Makefile to link with the
			wrapper library.

COMPILING FLICK ---------------------------------------------------------------

After you have installed the extra support files into your Cygwin setup, you
should be able to compile and use Flick.  Refer to the Flick user's guide or
the `INSTALL' file for further instructions.

-------------------------------------------------------------------------------

## End of file.

