diff -urN ../ns-allinone-2.1b9a-orig/gt-itm/src/Makefile ./gt-itm/src/Makefile
--- ../ns-allinone-2.1b9a-orig/gt-itm/src/Makefile	2003-01-18 14:30:38.000000000 -0500
+++ ./gt-itm/src/Makefile	2003-01-18 21:15:44.000000000 -0500
@@ -49,14 +49,13 @@
 sgb2alt.o: $(CH)
 
 
-edriver: $(EO)
-	$(CC) $(CFLAGS) -o $(BDIR)/edriver $(EO) $(LIBS)
+eval.o: $(IDIR)/gb_graph.h $(IDIR)/gb_dijk.h $(IDIR)/eval.h
 
 edriver.o: $(EH)
 
-eval.o: $(IDIR)/gb_graph.h $(IDIR)/gb_dijk.h $(IDIR)/eval.h
+edriver: $(EO)
+	$(CC) $(CFLAGS) -o $(BDIR)/edriver $(EO) $(LIBS)
 
-	
 clean:  
 	\rm -f *.o
 
diff -urN ../ns-allinone-2.1b9a-orig/install ./install
--- ../ns-allinone-2.1b9a-orig/install	2003-01-18 14:30:38.000000000 -0500
+++ ./install	2003-01-18 21:15:44.000000000 -0500
@@ -73,8 +73,8 @@
 	touch *.c
 	make all || warn "cweb failed to make, but it's optional"
 	# xxx: other stuff will fail...
-	chmod 755 cweave
-	chmod 755 ctangle
+	chmod 755 cweave cweave.exe
+	chmod 755 ctangle ctangle.exe
 	cd ..
 	#echo "cd .."
 	if [ ! -d bin ]
@@ -82,8 +82,13 @@
 		mkdir bin
 	fi
 	cd bin
-	ln -s $CUR_PATH/cweb/cweave cweave
-	ln -s $CUR_PATH/cweb/ctangle ctangle
+        if [ -f $CUR_PATH/cweb/cweave ] ; then
+        	ln -s $CUR_PATH/cweb/cweave cweave
+	        ln -s $CUR_PATH/cweb/ctangle ctangle
+        elif [ -f $CUR_PATH/cweb/cweave.exe ]; then
+        	ln -s $CUR_PATH/cweb/cweave.exe cweave
+	        ln -s $CUR_PATH/cweb/ctangle.exe ctangle
+        fi
 fi
 
 cd ..
diff -urN ../ns-allinone-2.1b9a-orig/nam-1.0a11a/config.sub ./nam-1.0a11a/config.sub
--- ../ns-allinone-2.1b9a-orig/nam-1.0a11a/config.sub	2003-01-18 14:30:39.000000000 -0500
+++ ./nam-1.0a11a/config.sub	2003-01-18 21:15:44.000000000 -0500
@@ -688,7 +688,7 @@
 	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -linux-gnu* | -uxpv*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
diff -urN ../ns-allinone-2.1b9a-orig/nam-1.0a11a/configure ./nam-1.0a11a/configure
--- ../ns-allinone-2.1b9a-orig/nam-1.0a11a/configure	2003-01-18 14:30:39.000000000 -0500
+++ ./nam-1.0a11a/configure	2003-01-18 21:15:44.000000000 -0500
@@ -3793,6 +3793,9 @@
 *-*-linux*)
 	V_BROKEN_OBJ=
 	;;
+*-*-cygwin*)
+	V_BROKEN_OBJ=
+	;;
 esac
 
 # Check whether --with-zlib or --without-zlib was given.
diff -urN ../ns-allinone-2.1b9a-orig/ns-2.1b9a/bin/raw2xg ./ns-2.1b9a/bin/raw2xg
--- ../ns-allinone-2.1b9a-orig/ns-2.1b9a/bin/raw2xg	2003-01-18 14:30:47.000000000 -0500
+++ ./ns-2.1b9a/bin/raw2xg	2003-01-18 21:15:44.000000000 -0500
@@ -50,7 +50,9 @@
 
 sub translate_point {
     my($time, $seq, $flow) = @_;
-    return ($time, $flow * $flow_factor + ($seq % $modulus) * $scale);
+    $plotted = $flow * $flow_factor + ($seq % $modulus) * $scale;
+    $plotted =~ s/\.e/e/g; # to ensure Cygwin compatibility
+    return ($time, $plotted);
 }
 
 while (<>) {
diff -urN ../ns-allinone-2.1b9a-orig/ns-2.1b9a/diffusion3/lib/nr/nr.hh ./ns-2.1b9a/diffusion3/lib/nr/nr.hh
--- ../ns-allinone-2.1b9a-orig/ns-2.1b9a/diffusion3/lib/nr/nr.hh	2003-01-18 14:30:48.000000000 -0500
+++ ./ns-2.1b9a/diffusion3/lib/nr/nr.hh	2003-01-18 21:15:44.000000000 -0500
@@ -41,12 +41,12 @@
 
 typedef signed int int32_t;
 typedef signed short int16_t;
-#ifdef sparc
+#if defined (sparc) || defined (__CYGWIN__)
 typedef char int8_t;
 #else
-// Conflicts with system declaration of int8_t in Solaris
+// Conflicts with system declaration of int8_t in Solaris and Cygwin
 typedef signed char int8_t;
-#endif // sparc
+#endif // sparc/cygwin
 
 #define FAIL -1
 #define OK    0
diff -urN ../ns-allinone-2.1b9a-orig/ns-2.1b9a/indep-utils/cmu-scen-gen/setdest/setdest.cc ./ns-2.1b9a/indep-utils/cmu-scen-gen/setdest/setdest.cc
--- ../ns-allinone-2.1b9a-orig/ns-2.1b9a/indep-utils/cmu-scen-gen/setdest/setdest.cc	2003-01-18 14:30:51.000000000 -0500
+++ ./ns-2.1b9a/indep-utils/cmu-scen-gen/setdest/setdest.cc	2003-01-31 19:46:42.000000000 -0500
@@ -10,7 +10,7 @@
 #include <sys/types.h>
 #include <sys/uio.h>
 #include <unistd.h>
-#if !defined(sun)
+#if !defined(sun) && !defined(__CYGWIN__)
 #include <err.h>
 #endif
 };
diff -urN ../ns-allinone-2.1b9a-orig/ns-2.1b9a/indep-utils/cmu-scen-gen/setdest/setdest2.cc ./ns-2.1b9a/indep-utils/cmu-scen-gen/setdest/setdest2.cc
--- ../ns-allinone-2.1b9a-orig/ns-2.1b9a/indep-utils/cmu-scen-gen/setdest/setdest2.cc	2003-01-18 14:30:51.000000000 -0500
+++ ./ns-2.1b9a/indep-utils/cmu-scen-gen/setdest/setdest2.cc	2003-01-31 19:46:56.000000000 -0500
@@ -13,7 +13,7 @@
 #include <sys/types.h>
 #include <sys/uio.h>
 #include <unistd.h>
-#if !defined(sun)
+#if !defined(sun) && !defined(__CYGWIN__)
 #include <err.h>
 #endif
 };
diff -urN ../ns-allinone-2.1b9a-orig/ns-2.1b9a/tcl/test/test-suite-simple-full.tcl ./ns-2.1b9a/tcl/test/test-suite-simple-full.tcl
--- ../ns-allinone-2.1b9a-orig/ns-2.1b9a/tcl/test/test-suite-simple-full.tcl	2003-01-18 14:32:48.000000000 -0500
+++ ./ns-2.1b9a/tcl/test/test-suite-simple-full.tcl	2003-01-18 21:15:44.000000000 -0500
@@ -121,20 +121,24 @@
 	#
 	set perlCode {
 		sub BEGIN { $c = 0; @p = @a = @d = @lu = @ld = (); }
-		/^[\+-] / && do {
+                $plotted = $F[7] + ($F[10] % 90040) * 0.00001;
+                $plotted =~ s/\.e/e/g; # needed for Cygwin compatibility
+
+                /^[\+-] / && do {
 			if ($F[4] eq 'tcp') {
+
  				push(@p, $F[1], ' ',		\
-					$F[7] + ($F[10] % 90040) * 0.00001, "\n");
+					$plotted, "\n");
 			} elsif ($F[4] eq 'ack') {
  				push(@a, $F[1], ' ',		\
-					$F[7] + ($F[10] % 90040) * 0.00001, "\n");
+					$plotted, "\n");
 			}
 			$c = $F[7] if ($c < $F[7]);
 			next;
 		};
 		/^d / && do {
 			push(@d, $F[1], ' ',		\
-					$F[7] + ($F[10] % 90040) * 0.00001, "\n");
+					$plotted, "\n");
 			next;
 		};
 		/link-down/ && push(@ld, $F[1]);
diff -urN ../ns-allinone-2.1b9a-orig/ns-2.1b9a/tcl/test/test-suite-wireless-lan-newnode.tcl ./ns-2.1b9a/tcl/test/test-suite-wireless-lan-newnode.tcl
--- ../ns-allinone-2.1b9a-orig/ns-2.1b9a/tcl/test/test-suite-wireless-lan-newnode.tcl	2003-01-18 14:32:48.000000000 -0500
+++ ./ns-2.1b9a/tcl/test/test-suite-wireless-lan-newnode.tcl	2003-01-18 21:15:44.000000000 -0500
@@ -525,9 +525,11 @@
 
 TestSuite instproc finish-basenode {} {
 	$self instvar ns_
-	global quiet opt
+	global quiet opt tracefd
 
 	$ns_ flush-trace
+        flush $tracefd
+        close $tracefd
         
         set tracefd	[open $opt(tr) r]
         set tracefd2    [open $opt(tr).w w]
diff -urN ../ns-allinone-2.1b9a-orig/sgb/Makefile ./sgb/Makefile
--- ../ns-allinone-2.1b9a-orig/sgb/Makefile	2003-01-18 14:32:58.000000000 -0500
+++ ./sgb/Makefile	2003-01-18 21:15:44.000000000 -0500
@@ -123,7 +123,7 @@
 	- ./test_sample > sample.out
 	diff test.gb test.correct
 	diff sample.out sample.correct
-	rm test.gb sample.out test_io test_graph test_flip test_sample
+	rm -f test.gb sample.out test_io test_io.exe test_graph test_graph.exe test_flip test_flip.exe test_sample test_sample.exe
 	echo "Congratulations --- the tests have all been passed."
 	touch certified
 
diff -urN ../ns-allinone-2.1b9a-orig/tcl8.3.2/generic/tcl.h ./tcl8.3.2/generic/tcl.h
--- ../ns-allinone-2.1b9a-orig/tcl8.3.2/generic/tcl.h	2003-01-18 14:33:06.000000000 -0500
+++ ./tcl8.3.2/generic/tcl.h	2003-01-18 21:15:44.000000000 -0500
@@ -18,6 +18,11 @@
 #ifndef _TCL
 #define _TCL
 
+/* CYGWIN */
+#ifdef __CYGWIN__
+#define HAVE_TM_ZONE 1
+#endif
+
 /*
  * For C++ compilers, use extern "C"
  */
diff -urN ../ns-allinone-2.1b9a-orig/tcl8.3.2/unix/Makefile.in ./tcl8.3.2/unix/Makefile.in
--- ../ns-allinone-2.1b9a-orig/tcl8.3.2/unix/Makefile.in	2003-01-18 14:33:27.000000000 -0500
+++ ./tcl8.3.2/unix/Makefile.in	2003-01-18 21:15:44.000000000 -0500
@@ -1020,11 +1020,6 @@
 # Target to regenerate header files and stub files from the *.decls tables.
 #
 
-$(GENERIC_DIR)/tclStubInit.c: $(GENERIC_DIR)/tcl.decls \
-		$(GENERIC_DIR)/tclInt.decls
-	$(TCL_EXE) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \
-		$(GENERIC_DIR)/tcl.decls $(GENERIC_DIR)/tclInt.decls
-
 genstubs:
 	$(TCL_EXE) $(TOOL_DIR)/genStubs.tcl $(GENERIC_DIR) \
 		$(GENERIC_DIR)/tcl.decls $(GENERIC_DIR)/tclInt.decls
