summaryrefslogtreecommitdiff
path: root/doc/cygwin.htm
diff options
context:
space:
mode:
Diffstat (limited to 'doc/cygwin.htm')
-rw-r--r--doc/cygwin.htm66
1 files changed, 34 insertions, 32 deletions
diff --git a/doc/cygwin.htm b/doc/cygwin.htm
index 88e0a54..c206af1 100644
--- a/doc/cygwin.htm
+++ b/doc/cygwin.htm
@@ -16,10 +16,10 @@ ALT="[Icon home]" WIDTH=128 HEIGHT=144 BORDER=0 ALIGN=RIGHT> </A>
<BR> <SMALL> Department of Computer Science </SMALL>
<BR> <SMALL> The University of Arizona </SMALL>
-<P> <SMALL> www.cs.arizona.edu/icon/v943/cygwin.htm
+<P> <SMALL> www.cs.arizona.edu/icon/v950/cygwin.htm
<BR>
-Last updated November 8, 2005 </SMALL>
-<!-- $Id: cygwin.htm,v 1.5 2005/11/08 23:24:34 gmt Exp $ -->
+Last updated November 8, 2009</SMALL>
+<!-- $Id: cygwin.htm,v 1.11 2009/11/08 21:53:08 gmt Exp $ -->
<H2> Introduction </H2>
@@ -38,12 +38,20 @@ Successful use of Cygwin requires familiarity with both
Windows and Unix.
<P> This document describes some of the peculiarities of the Cygwin
-port of Version 9.4 of Icon.
+port of Icon.
These differences are not necessarily identified in other documentation.
<H2> Building Icon </H2>
+<P> Icon is built in a Cygwin shell window using the same process as on
+on other platforms.
+See the <A HREF=build.htm>installation documentation</A> for instructions.
+There are two possible choices for configuration name:
+The <CODE>cygwin</CODE> configuration uses the native Windows graphics system;
+the <CODE>xcygwin</CODE> configuration uses the X window system and thus
+is closer to other Unix implementations of Icon.
+
<P> The Cygwin package is available from
<A HREF="http://www.cygwin.com/">www.cygwin.com</A>.
A custom installation of the Cygwin system is required;
@@ -52,14 +60,8 @@ insufficient for building software.
Icon requires a C compiler and the usual tools and utilities
available on a standard POSIX development system; these are found
in the <CODE>gcc-core</CODE> and <CODE>make</CODE> packages.
-The <CODE>xorg</CODE> family of packages is also needed
-to build Icon with graphics enabled.
-
-<P> Icon is built in a Cygwin shell window.
-The process is the same as on other platforms
-and uses the configuration named <CODE>cygwin</CODE>.
-See the <A HREF=build.htm>installation documentation</A>
-for instructions on building Icon.
+The <CODE>xinit</CODE> and <CODE>libXt-devel</CODE> packages are also needed
+to build the <CODE>xcygwin</CODE> configuration with graphics enabled.
<H2> Running Icon programs </H2>
@@ -74,29 +76,34 @@ and <A HREF=icont.txt><CODE>icont</CODE></A>
describe the command options in a traditionally cryptic manner.
-<H2> Interpreter path </H2>
+<H2> Interpreter path and environment</H2>
<P> Icon programs require an interpreter for execution.
On Windows, the path of the interpreter is not embedded
in an executable program.
The program must be able to find
-<CODE>iconx.exe</CODE> in one of these locations:
-<UL>
- <LI> in the file named by the <CODE>ICONX</CODE> environment variable
- <LI> in the same directory as the executable program
- <LI> in the search path
-</UL>
+<CODE>iconx.exe</CODE> in the search path.
+
+<P> The Cygwin X server must be running, with a correct <CODE>DISPLAY</CODE>
+variable in the environment, to execute graphics programs built by the
+<CODE>xcygwin</CODE> configuration of Icon.
+
+<P> When the environment is correctly set,
+with <CODE>cygwin1.dll</CODE> in the Windows path,
+a compiled Icon program may be run from the Cygwin shell or by
+double-clicking its graphical icon.
<H2> Extra built-in functions </H2>
<P> For compatibility with an earlier port of Icon to Windows,
-this implementation includes some extra built-in functions.
-The functions are described in section 6.2 of
+the <CODE>cygwin</CODE> configuration includes some extra built-in functions.
+These are described in section 6.2 of
<A HREF="http://www.cs.arizona.edu/icon/docs/ipd271.htm">IPD271</A>,
which documents that earlier port.
<P> These unsupported functions are not part of Icon on other platforms,
+nor of the <CODE>xcygwin</CODE> configuration,
so their use renders a program non-portable.
@@ -104,25 +111,20 @@ so their use renders a program non-portable.
<P> The symbols <CODE>_MS_WINDOWS</CODE> and <CODE>_CYGWIN</CODE>
are defined by the Icon preprocessor.
+The symbol <CODE>_UNIX</CODE> is not defined.
The symbol <CODE>_GRAPHICS</CODE> is defined if Icon is built with
-graphics enabled.
-The symbols <CODE>_UNIX</CODE> and <CODE>_X_WINDOW_SYSTEM</CODE>
-are not defined.
+graphics enabled;
+the symbol <CODE>_X_WINDOW_SYSTEM</CODE> is also defined
+in the <CODE>xcygwin</CODE> configuration.
The corresponding strings are produced or omitted, as appropriate,
by the <CODE>&amp;features</CODE> keyword.
-<H2> No dynamic loading </H2>
-
-The dynamic loading interface &mdash; <CODE>loadfunc()</CODE> &mdash;
-is not implemented.
-
-
<H2> Known bugs </H2>
<UL>
- <LI>Some Unix dependencies cause tests <CODE>io</CODE>, <CODE>tpp</CODE>,
- and <CODE>opts</CODE> to fail.
+ <LI>Some Unix dependencies cause the <CODE>tpp</CODE>
+ and <CODE>opts</CODE> tests to fail.
<LI> Resizing a window sends a large number of events to the program.
</UL>