+--- Haskell/Makefile.am 2006-09-02 23:50:38.000000000 -0700
++++ Haskell/Makefile.am 2003-11-03 12:49:54.000000000 -0800
+@@ -3,7 +3,8 @@
+
+ JVMFILE = $(datadir)/current.jvm
+
++#HCPACKAGES = -package lang -package concurrent
++HCPACKAGES = -package rts
+-HCPACKAGES = -package lang -package concurrent
+ HCIMPORTDIRS = -i.
+ HCCOPTS = -I$(includedir_FIX) $${JVM_INCLUDES}
+ HCHOPTS = -fglasgow-exts -fallow-undecidable-instances -package-name $(GHCPACKAGENAME)
+@@ -15,7 +14,7 @@
+
+ CFLAGS = -I$(includedir_FIX) -I$(HC_INCDIR)
+
++BOOTLDFLAGS = -L$(libdir_FIX)/ -lJVMBridge -lJVMInvocation -framework JavaVM -optl -fexceptions -lstdc++ -optl '-fexceptions'
+-BOOTLDFLAGS = -L$(libdir_FIX)/ -lJVMBridge -lJVMInvocation `echo "$${JVM_LDFLAGS}" | sed -e 's/ */ -optl/g;s/^/-optl/'` -lstdc++
+ BOOTLDFLAGS += `(test -f $(libdir_FIX)/libjvm_imp.a && echo " -L$(libdir_FIX) -ljvm_imp ") || echo ""`
+
+ BOOT_SRCS = \
+diff -u ./MonadException.hs ../../haskell-jvm-bridge-0.3.RC1/Haskell/MonadException.hs
+--- Haskell/MonadException.hs 2006-09-02 23:42:19.000000000 -0700
++++ Haskell/MonadException.hs 2002-01-28 18:21:35.000000000 -0800
+@@ -20,7 +20,7 @@
+
+ module MonadException where
+ {
++ import Control.Exception as Exception;
+- import Exception;
+
+ -- much like MonadError, but without the fundep
+ class (Monad m) => MonadException ex m where
+diff -u ./TypedCallback.hs ../../haskell-jvm-bridge-0.3.RC1/Haskell/TypedCallback.hs
+--- Haskell/TypedCallback.hs 2006-09-02 23:43:13.000000000 -0700
++++ Haskell/TypedCallback.hs 2002-08-05 17:27:04.000000000 -0700
+@@ -33,8 +33,8 @@
+ import VMLayer;
+ import JavaLayer;
+ import BasicLayer;
++ import Control.Concurrent as Concurrent;
++ import Control.Exception as Exception;
+- import Concurrent;
+- import Exception;
+
+ {--
+ data CallbackClass t = MkCallbackClass JClass;
+diff -u ./TypedLayer.hs ../../haskell-jvm-bridge-0.3.RC1/Haskell/TypedLayer.hs
+--- Haskell/TypedLayer.hs 2006-09-02 23:44:06.000000000 -0700
++++ Haskell/TypedLayer.hs 2002-01-28 18:21:35.000000000 -0800
+@@ -60,7 +60,7 @@
+ import VMLayer;
+ import JavaLayer;
+ import BasicLayer;
++ import Control.Monad.Error;
+- import MonadError;
+
+ runJavaClass :: (IsJVMMonad m) => ClassName -> [JString] -> m ();
+ runJavaClass className args = do