diff --git a/ghc/ANNOUNCE b/ANNOUNCE
similarity index 100%
rename from ghc/ANNOUNCE
rename to ANNOUNCE
diff --git a/ghc/HACKING b/HACKING
similarity index 96%
rename from ghc/HACKING
rename to HACKING
index 8b26ef40a107a6e19f9d1ac89cf46754679edfb9..cbff47d6db1b9dff3833f881a91c7487f10cb3f3 100644
--- a/ghc/HACKING
+++ b/HACKING
@@ -175,6 +175,13 @@ A rough roadmap to the source tree:
 Resources
 ---------
 
+The GHC Developer's Wiki
+
+   The home for GHC Developers, with information on accessing the latest sources,
+   the bug tracker, and further documentation on the code.
+   http://hackage.haskell.org/trac/ghc
+
+
 The Building Guide
 
    Full documentation on the build system.
diff --git a/ghc/InstallShield/Component Definitions/Default.cdf b/InstallShield/Component Definitions/Default.cdf
similarity index 100%
rename from ghc/InstallShield/Component Definitions/Default.cdf
rename to InstallShield/Component Definitions/Default.cdf
diff --git a/ghc/InstallShield/Component Definitions/Default.fgl b/InstallShield/Component Definitions/Default.fgl
similarity index 100%
rename from ghc/InstallShield/Component Definitions/Default.fgl
rename to InstallShield/Component Definitions/Default.fgl
diff --git a/ghc/InstallShield/File Groups/Default.fdf b/InstallShield/File Groups/Default.fdf
similarity index 100%
rename from ghc/InstallShield/File Groups/Default.fdf
rename to InstallShield/File Groups/Default.fdf
diff --git a/ghc/InstallShield/File Groups/HTML Help Files.fgl b/InstallShield/File Groups/HTML Help Files.fgl
similarity index 100%
rename from ghc/InstallShield/File Groups/HTML Help Files.fgl
rename to InstallShield/File Groups/HTML Help Files.fgl
diff --git a/ghc/InstallShield/File Groups/PDF Help Files.fgl b/InstallShield/File Groups/PDF Help Files.fgl
similarity index 100%
rename from ghc/InstallShield/File Groups/PDF Help Files.fgl
rename to InstallShield/File Groups/PDF Help Files.fgl
diff --git a/ghc/InstallShield/File Groups/Profiling Libraries.fgl b/InstallShield/File Groups/Profiling Libraries.fgl
similarity index 100%
rename from ghc/InstallShield/File Groups/Profiling Libraries.fgl
rename to InstallShield/File Groups/Profiling Libraries.fgl
diff --git a/ghc/InstallShield/File Groups/Program Executable Files.fgl b/InstallShield/File Groups/Program Executable Files.fgl
similarity index 100%
rename from ghc/InstallShield/File Groups/Program Executable Files.fgl
rename to InstallShield/File Groups/Program Executable Files.fgl
diff --git a/ghc/InstallShield/Glasgow Haskell Compiler.ipr b/InstallShield/Glasgow Haskell Compiler.ipr
similarity index 100%
rename from ghc/InstallShield/Glasgow Haskell Compiler.ipr
rename to InstallShield/Glasgow Haskell Compiler.ipr
diff --git a/ghc/InstallShield/README b/InstallShield/README
similarity index 100%
rename from ghc/InstallShield/README
rename to InstallShield/README
diff --git a/ghc/InstallShield/Registry Entries/Default.rge b/InstallShield/Registry Entries/Default.rge
similarity index 100%
rename from ghc/InstallShield/Registry Entries/Default.rge
rename to InstallShield/Registry Entries/Default.rge
diff --git a/ghc/InstallShield/Script Files/Setup.Inx b/InstallShield/Script Files/Setup.Inx
similarity index 100%
rename from ghc/InstallShield/Script Files/Setup.Inx
rename to InstallShield/Script Files/Setup.Inx
diff --git a/ghc/InstallShield/Script Files/Setup.Obs b/InstallShield/Script Files/Setup.Obs
similarity index 100%
rename from ghc/InstallShield/Script Files/Setup.Obs
rename to InstallShield/Script Files/Setup.Obs
diff --git a/ghc/InstallShield/Script Files/Setup.dbg b/InstallShield/Script Files/Setup.dbg
similarity index 100%
rename from ghc/InstallShield/Script Files/Setup.dbg
rename to InstallShield/Script Files/Setup.dbg
diff --git a/ghc/InstallShield/Script Files/Setup.ino b/InstallShield/Script Files/Setup.ino
similarity index 100%
rename from ghc/InstallShield/Script Files/Setup.ino
rename to InstallShield/Script Files/Setup.ino
diff --git a/ghc/InstallShield/Script Files/Setup.ins b/InstallShield/Script Files/Setup.ins
similarity index 100%
rename from ghc/InstallShield/Script Files/Setup.ins
rename to InstallShield/Script Files/Setup.ins
diff --git a/ghc/InstallShield/Script Files/Setup.map b/InstallShield/Script Files/Setup.map
similarity index 100%
rename from ghc/InstallShield/Script Files/Setup.map
rename to InstallShield/Script Files/Setup.map
diff --git a/ghc/InstallShield/Script Files/setup.rul b/InstallShield/Script Files/setup.rul
similarity index 100%
rename from ghc/InstallShield/Script Files/setup.rul
rename to InstallShield/Script Files/setup.rul
diff --git a/ghc/InstallShield/Setup Files/Compressed Files/Language Independent/OS Independent/ANNOUNCE b/InstallShield/Setup Files/Compressed Files/Language Independent/OS Independent/ANNOUNCE
similarity index 100%
rename from ghc/InstallShield/Setup Files/Compressed Files/Language Independent/OS Independent/ANNOUNCE
rename to InstallShield/Setup Files/Compressed Files/Language Independent/OS Independent/ANNOUNCE
diff --git a/ghc/InstallShield/Setup Files/Compressed Files/Language Independent/OS Independent/_IsUser.dll b/InstallShield/Setup Files/Compressed Files/Language Independent/OS Independent/_IsUser.dll
similarity index 100%
rename from ghc/InstallShield/Setup Files/Compressed Files/Language Independent/OS Independent/_IsUser.dll
rename to InstallShield/Setup Files/Compressed Files/Language Independent/OS Independent/_IsUser.dll
diff --git a/ghc/InstallShield/Setup Files/Uncompressed Files/Language Independent/OS Independent/setup.bmp b/InstallShield/Setup Files/Uncompressed Files/Language Independent/OS Independent/setup.bmp
similarity index 100%
rename from ghc/InstallShield/Setup Files/Uncompressed Files/Language Independent/OS Independent/setup.bmp
rename to InstallShield/Setup Files/Uncompressed Files/Language Independent/OS Independent/setup.bmp
diff --git a/ghc/InstallShield/Shell Objects/Default.shl b/InstallShield/Shell Objects/Default.shl
similarity index 100%
rename from ghc/InstallShield/Shell Objects/Default.shl
rename to InstallShield/Shell Objects/Default.shl
diff --git a/ghc/InstallShield/String Tables/0009-English/value.shl b/InstallShield/String Tables/0009-English/value.shl
similarity index 100%
rename from ghc/InstallShield/String Tables/0009-English/value.shl
rename to InstallShield/String Tables/0009-English/value.shl
diff --git a/ghc/InstallShield/String Tables/Default.shl b/InstallShield/String Tables/Default.shl
similarity index 100%
rename from ghc/InstallShield/String Tables/Default.shl
rename to InstallShield/String Tables/Default.shl
diff --git a/ghc/InstallShield/Text Substitutions/Build.tsb b/InstallShield/Text Substitutions/Build.tsb
similarity index 100%
rename from ghc/InstallShield/Text Substitutions/Build.tsb
rename to InstallShield/Text Substitutions/Build.tsb
diff --git a/ghc/InstallShield/Text Substitutions/Setup.tsb b/InstallShield/Text Substitutions/Setup.tsb
similarity index 100%
rename from ghc/InstallShield/Text Substitutions/Setup.tsb
rename to InstallShield/Text Substitutions/Setup.tsb
diff --git a/ghc/InstallShield/decyg.pl b/InstallShield/decyg.pl
similarity index 100%
rename from ghc/InstallShield/decyg.pl
rename to InstallShield/decyg.pl
diff --git a/ghc/InstallShield/runexe.c b/InstallShield/runexe.c
similarity index 100%
rename from ghc/InstallShield/runexe.c
rename to InstallShield/runexe.c
diff --git a/ghc/LICENSE b/LICENSE
similarity index 100%
rename from ghc/LICENSE
rename to LICENSE
diff --git a/Makefile b/Makefile
index a8350fa24d3c2096bd7269d15288706b6c8b87b5..c1ff5a7f23788d3f98120496758db546212aee7a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,93 +1,100 @@
 ############################################################################
 #
-#			fptools/Makefile
+#		This is the top-level Makefile for GHC
 #
-#		This is the main Makefile for fptools.
+# Targets: 
+#
+# 	bootsrap (DEFAULT)
+#		Builds GHC, then builds the libraries,
+#		then uses this GHC ("stage 1") to build itself
+#		("stage 2").
+#
+#	bootstrap2
+#		Same as bootstrap
+#
+#	bootstrap3
+#		bootstrap2 + we build GHC one more time ("stage 3")
+#
+#	stage1
+#		Just build up to stage 1
+#
+#	stage2
+#		Just build stage 2 (stage 1 must be built)
+#
+#	stage3
+#		Just build stage 3 (stage 2 must be built)
+#
+#	all
+#		Same as bootstrap
+#
+#       install
+#		Install everything, including stage 2 compiler by default
+#		(override with stage=3, for example).
+#
+#	dist
+#		Make a source dist (WARNING: runs 'make distclean' first)
+#
+#	binary-dist
+#		Builds a binary distribution
+#
+#	hc-file-bundle
+#		Builds an HC-file bundle, for bootstrapping
+#
+#	clean, distclean, maintainer-clean
+#		Increasing levels of cleanliness
 #
 ############################################################################
 
 TOP=.
 include $(TOP)/mk/boilerplate.mk
 
-# find the projects that actually exist...
-ProjectsThatExist = $(filter $(patsubst %/, %, $(wildcard */)), $(AllProjects))
-
-# and filter only those that the user requested, if necessary
-ifeq "$(ProjectsToBuild)" ""
-SUBDIRS = $(ProjectsThatExist)
-else
-SUBDIRS = $(filter $(ProjectsToBuild), $(ProjectsThatExist))
-endif
-
-ifneq "$(Project)" ""
-   ifeq "$(Project)" "GreenCard"
-       ProjectDirectory=greencard
-   else
-	ifeq "$(Project)" "HaskellDirect"
-		ProjectDirectory=hdirect
-	else
-		ProjectDirectory=$(Project)
-	endif
-   endif
-   -include $(shell echo $(ProjectDirectory) | tr A-Z a-z)/mk/config.mk
-   -include $(shell echo $(ProjectDirectory) | tr A-Z a-z)/mk/version.mk
-endif
-
-# -----------------------------------------------------------------------------
-# Certain targets require that Project is set from the command line.
-
-CURRENT_TARGET = $(MAKECMDGOALS)
-project-check :
-	@if [ "$(Project)" = "" ]; then \
-		echo "	You need to set \"Project\" in order to make $(CURRENT_TARGET)"; \
-		echo "	eg. make $(CURRENT_TARGET) Project=Ghc"; \
-		exit 1; \
-	fi
-
-# -----------------------------------------------------------------------------
-# Targets: all, stage1, stage2, stage3
-
-DIST_CLEAN_FILES += config.cache config.status mk/config.h mk/stamp-h
-
-extraclean::
-	$(RM) -rf autom4te.cache
-
 #
-# If you've ended up using an in-place version of Happy,
-# make sure it gets built early on.
+# Order is important! It's e.g. necessary to descend into include/
+# before the rest to have a config.h, etc.
 #
-ifeq "$(HAPPY)" "$(FPTOOLS_TOP_ABS)/happy/src/happy-inplace"
-build :: $(FPTOOLS_TOP_ABS)/happy/src/happy-inplace
+# If we're booting from .hc files, swap the order
+# we descend into subdirs - to boot utils must be before driver.
+#
+.PHONY: stage1 stage2 stage3 bootstrap bootstrap2 bootstrap3
 
-$(FPTOOLS_TOP_ABS)/happy/src/happy-inplace : glafp-utils
-	$(MAKE) -C happy boot all
+# We can't 'make boot' in libraries until stage1 is built
+ifeq "$(BootingFromHc)" "YES"
+SUBDIRS_NOLIB = includes rts docs compiler compat utils driver
+else
+SUBDIRS_NOLIB = includes compat utils driver docs compiler rts
 endif
 
-# Build all projects that we know about
-build ::
+SUBDIRS = $(SUBDIRS_NOLIB) libraries
+
+stage1 :
+	$(MAKE) -C utils/mkdependC boot
 	@case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \
-	for i in $(SUBDIRS); do \
-	   if [ -d $$i ]; then \
-	      $(MAKE) -C $$i boot; \
-	      if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ;  then true; else exit 1; fi; \
-	      $(MAKE) -C $$i all; \
-	      if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ;  then true; else exit 1; fi; \
-	      fi; \
+	for i in $(SUBDIRS_NOLIB); do \
+	  echo "------------------------------------------------------------------------"; \
+	  echo "== $(MAKE) boot $(MFLAGS);"; \
+	  echo " in $(shell pwd)/$$i"; \
+	  echo "------------------------------------------------------------------------"; \
+	  $(MAKE) --no-print-directory -C $$i $(MFLAGS) boot; \
+	  if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ;  then true; else exit 1; fi; \
+	done; \
+	for i in $(SUBDIRS_NOLIB); do \
+	  echo "------------------------------------------------------------------------"; \
+	  echo "== $(MAKE) all $(MFLAGS);"; \
+	  echo " in $(shell pwd)/$$i"; \
+	  echo "------------------------------------------------------------------------"; \
+	  $(MAKE) --no-print-directory -C $$i $(MFLAGS) all; \
+	  if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ;  then true; else exit 1; fi; \
 	done
-
-ifeq "$(findstring ghc, $(SUBDIRS))" "ghc"
-
-.PHONY: stage1 stage2 stage3 bootstrap bootstrap2 bootstrap3
-
-stage1 : build
+	@$(MAKE) -C libraries boot
+	@$(MAKE) -C libraries all
 
 stage2 :
-	$(MAKE) -C ghc/compiler boot stage=2
-	$(MAKE) -C ghc/compiler stage=2
+	$(MAKE) -C compiler boot stage=2
+	$(MAKE) -C compiler stage=2
 
 stage3 :
-	$(MAKE) -C ghc/compiler boot stage=3
-	$(MAKE) -C ghc/compiler stage=3
+	$(MAKE) -C compiler boot stage=3
+	$(MAKE) -C compiler stage=3
 
 bootstrap  : bootstrap2
 
@@ -99,6 +106,9 @@ bootstrap3 : bootstrap2
 
 all :: bootstrap
 
+# -----------------------------------------------------------------------------
+# Installing
+
 # We want to install the stage 2 bootstrapped compiler by default, but we let
 # the user override this by saying 'make install stage=1', for example.
 ifeq "$(stage)" ""
@@ -107,27 +117,25 @@ else
 INSTALL_STAGE =
 endif
 
-else # Not building GHC
-
-all :: build
-
-INSTALL_STAGE =
-
-endif
-
-boot ::
-	@echo "Please use \`make all' only from the top-level, or \`make boot' followed"
-	@echo "by \`make all' in an individual project subdirectory (ghc, hslibs etc.)."
-
+# Same as default rule, but we pass $(INSTALL_STAGE) to $(MAKE) too
 install ::
 	@case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \
-	for i in $(filter-out $(ProjectsDontInstall), $(SUBDIRS)); do \
-	   if [ -d $$i ]; then \
-	      $(MAKE) -C $$i $(INSTALL_STAGE) install; \
-	      if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ;  then true; else exit 1; fi; \
-	      fi; \
+	for i in $(SUBDIRS); do \
+	  echo "------------------------------------------------------------------------"; \
+	  echo "== $(MAKE) $@ $(MFLAGS);"; \
+	  echo " in $(shell pwd)/$$i"; \
+	  echo "------------------------------------------------------------------------"; \
+	  $(MAKE) --no-print-directory -C $$i $(INSTALL_STAGE) $(MFLAGS) $@; \
+	  if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ;  then true; else exit 1; fi; \
 	done
 
+ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+# These files need to be in the InstallShield
+# INSTALL_DATAS rather than INSTALL_DOCS is used so these files go
+# in the top-level directory of the distribution
+INSTALL_DATAS += ANNOUNCE LICENSE README VERSION
+endif
+
 # If installing on Windows with MinGW32, copy the gcc compiler, headers and libs
 # and the perl interpreter and dll into the GHC prefix directory.
 # Gcc and Perl source locations derived from configuration data.
@@ -152,11 +160,13 @@ endif
 
 install-docs ::
 	@case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \
-	for i in $(filter-out $(ProjectsDontInstall), $(SUBDIRS)); do \
-	   if [ -d $$i ]; then \
-	      $(MAKE) -C $$i $(INSTALL_STAGE) install-docs; \
-	      if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ;  then true; else exit 1; fi; \
-	      fi; \
+	for i in $(SUBDIRS); do \
+	  echo "------------------------------------------------------------------------"; \
+	  echo "== $(MAKE) $@ $(MFLAGS);"; \
+	  echo " in $(shell pwd)/$$i"; \
+	  echo "------------------------------------------------------------------------"; \
+	  $(MAKE) --no-print-directory -C $$i $(INSTALL_STAGE) $(MFLAGS) $@; \
+	  if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ;  then true; else exit 1; fi; \
 	done
 
 # -----------------------------------------------------------------------------
@@ -185,7 +195,18 @@ install-docs ::
 #	binary-dist is an FPtools addition for binary distributions
 # 
 
-binary-dist :: project-check
+ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+GhcBinDistShScripts = ghc-$(ProjectVersion) ghci-$(ProjectVersion) ghc-pkg-$(ProjectVersion) hsc2hs
+else
+GhcBinDistShScripts =
+endif
+
+GhcBinDistPrlScripts = ghcprof
+GhcBinDistLibPrlScripts = ghc-asm ghc-split
+GhcBinDistBins = hp2ps runghc
+GhcBinDistOptBins = runhaskell
+GhcBinDistLinks = ghc ghci ghc-pkg
+GhcBinDistLibSplicedFiles = package.conf
 
 BIN_DIST_TMPDIR=$(FPTOOLS_TOP_ABS)
 BIN_DIST_NAME=$(ProjectNameShort)-$(ProjectVersion)
@@ -391,7 +412,7 @@ binary-dist::
 # Do it like this: 
 #
 #	$ make
-#	$ make dist Project=Ghc
+#	$ make dist
 #
 # WARNING: `make dist' calls `make distclean' before tarring up the tree.
 #
@@ -453,30 +474,42 @@ dist-package-zip ::
 hc-file-bundle : project-check
 	$(RM) -r $(ProjectNameShort)-$(ProjectVersion)
 	$(LN_S) . $(ProjectNameShort)-$(ProjectVersion)
-	$(FIND) $(ProjectNameShort)-$(ProjectVersion)/ghc/compiler \
-	     $(ProjectNameShort)-$(ProjectVersion)/ghc/utils \
-	     $(ProjectNameShort)-$(ProjectVersion)/ghc/lib \
+	$(FIND) $(ProjectNameShort)-$(ProjectVersion)/compiler \
+	     $(ProjectNameShort)-$(ProjectVersion)/utils \
+	     $(ProjectNameShort)-$(ProjectVersion)/compat \
 	     $(ProjectNameShort)-$(ProjectVersion)/libraries -follow \
 	  \( -name "*.hc" -o -name "*_hsc.[ch]" -o -name "*_stub.[ch]" \) -print > hc-files-to-go
-	for f in `$(FIND) $(ProjectNameShort)-$(ProjectVersion)/ghc/compiler $(ProjectNameShort)-$(ProjectVersion)/ghc/utils $(ProjectNameShort)-$(ProjectVersion)/libraries -name "*.hsc" -follow -print` ""; do \
+	for f in `$(FIND) $(ProjectNameShort)-$(ProjectVersion)/compiler $(ProjectNameShort)-$(ProjectVersion)/utils $(ProjectNameShort)-$(ProjectVersion)/libraries -name "*.hsc" -follow -print` ""; do \
 	     if test "x$$f" != "x" && test -e `echo "$$f" | sed 's/hsc$$/hs/g'`; then \
 	        echo `echo "$$f" | sed 's/hsc$$/hs/g' ` >> hc-files-to-go ; \
 	     fi; \
 	done;
-	for f in `$(FIND) $(ProjectNameShort)-$(ProjectVersion)/ghc/compiler $(ProjectNameShort)-$(ProjectVersion)/ghc/rts -name "*.cmm" -follow -print` ""; do \
+	for f in `$(FIND) $(ProjectNameShort)-$(ProjectVersion)/compiler $(ProjectNameShort)-$(ProjectVersion)/rts -name "*.cmm" -follow -print` ""; do \
 	     if test "x$$f" != "x"; then \
 	        echo `echo "$$f" | sed 's/cmm$$/hc/g' ` >> hc-files-to-go ; \
 	     fi; \
 	done;
 	echo $(ProjectNameShort)-$(ProjectVersion)/libraries/base/GHC/PrimopWrappers.hs >> hc-files-to-go
-	echo $(ProjectNameShort)-$(ProjectVersion)/ghc/compiler/parser/Parser.hs >> hc-files-to-go
-	echo $(ProjectNameShort)-$(ProjectVersion)/ghc/compiler/parser/ParserCore.hs >> hc-files-to-go
-	echo $(ProjectNameShort)-$(ProjectVersion)/ghc/compiler/main/ParsePkgConf.hs >> hc-files-to-go
+	echo $(ProjectNameShort)-$(ProjectVersion)/compiler/parser/Parser.hs >> hc-files-to-go
+	echo $(ProjectNameShort)-$(ProjectVersion)/compiler/parser/ParserCore.hs >> hc-files-to-go
+	echo $(ProjectNameShort)-$(ProjectVersion)/compiler/main/ParsePkgConf.hs >> hc-files-to-go
 	echo $(ProjectNameShort)-$(ProjectVersion)/libraries/haskell-src/Language/Haskell/Parser.hs >> hc-files-to-go
 	tar czf $(ProjectNameShort)-$(ProjectVersion)-$(TARGETPLATFORM)-hc.tar.gz `cat hc-files-to-go`
 
+# -----------------------------------------------------------------------------
+# Cleaning
+
 CLEAN_FILES += hc-files-to-go *-hc.tar.gz
 
+DIST_CLEAN_FILES += config.cache config.status mk/config.h mk/stamp-h \
+	ghc.spec docs/users_guide/ug-book.xml
+
+# don't clean config.mk: it's needed when cleaning stuff later on
+LATE_DIST_CLEAN_FILES += mk/config.mk 
+
+extraclean::
+	$(RM) -rf autom4te.cache
+
 # -----------------------------------------------------------------------------
 
 # Turn off target.mk's rules for 'all', 'boot' and 'install'.
diff --git a/README b/README
index b1b408a7aa6556233a1ddc7229eadee3bdf7f85b..c2967fcfda17086182f8ae778aafee89538bb0b3 100644
--- a/README
+++ b/README
@@ -1,60 +1,67 @@
-GHC build system
-================
+The Glasgow Haskell Compiler
+============================
 
-This is the top-level directory of the fptools build system.  Several
-packages are part of this build system; if you got this as part of a
-source distribution (eg. for GHC), then you will have one or more of
-the following directories:
+This is the source tree for GHC, a compiler and interactive
+environment for the Haskell functional programming language.
 
-    ghc		  The Glasgow Haskell Compiler
-    hslibs	  A Collection of Haskell libraries
-    haddock	  A Haskell documentation tool
-    haggis	  The Haggis GUI toolkit
-    happy	  The Happy Haskell parser generator
-    hdirect       Haskell interop tool
-    greencard	  A foreign function interface pre-processor for Haskell.
-    libraries	  Haskell libraries (reqd. by ghc)
-    nofib	  The NoFib Haskell benchmarking suite
+For more information, visit GHC's web site:
 
-Additional documentation for each project can be found in its
-respective directory.
+  http://www.haskell.org/ghc/
 
-In addition, the following directories contain project-independent bits:
+Information for developers of GHC can be found here:
 
-    mk	          GNU make setup used by all of fptools
-    glafp-utils   Shared utility programs
-    docs          Documentation on the installing and using
-                  the fptools build system.
-    distrib	  Tools and additional bits for building distributions
+  http://hackage.haskell.org/trac/ghc/
 
-Quick start:  the following is *supposed* to work
 
+Building & Installing
+=====================
+
+NB. you need GHC installed in order to build GHC, because the compiler
+is itself written in Haskell.  It is possible to build GHC using just
+a C compiler, but we don't recommend this as the normal route.  If you
+*really* want to do it this way, then see the Building Guide (link
+below).
+
+You also need a few other tools installed: Happy [4], Alex [5], and
+Haddock [6] (for building library documentation), and a good DocBook
+XML toolchain if you want to build the compiler documentation. 
+
+Quick start:  the following gives you a default build:
+
+	$ autoreconf
 	$ ./configure
 	$ make
 	$ make install
 
-where 'make' is whatever GNU make is called on your system (GNU make
-is *required*).  If there are any other tools required for the build,
-then the configure script will detect them and tell you if any are
-missing.  For example, a working GHC installation is required for
-building most of the tools (including GHC itself).
+The autoreconf step is only necessary if this is a tree checked out
+from darcs.  For source distributions downloaded from GHC's web site,
+this step has already been performed.
+
+These steps give you the default build, which includes everything
+optimised and built in various ways (eg. profiling libs are built).
+It can take a long time.  To customise the build, see the file
+HACKING.
+
+For full information on building GHC, see the GHC Building Guide [3],
+which is also available in source form (DocBook XML) in docs/building.
 
-The configuration script is a standard GNU autoconf script which
-accepts all the normal arguments, eg. --prefix=<blah> to install the
-package somewhere other than /usr/local.  Try ./configure --help to
-get a full list of the options.
 
-There is usually an ANNOUNCE* file with any distribution.  Please
-consult that, or the <piece>/README file, to find out how to proceed.
+References
+==========
 
-Full documentation for the fptools build system can be found in the 
-Building Guide:
+ [1] http://www.haskell.org/ghc/		GHC Home Page
+ [2] http://hackage.haskell.org/trac/ghc	GHC Developer's Wiki
+ [3] http://www.haskell.org/ghc/docs/latest/html/building/index.html
+						Building Guide
 
-	http://www.haskell.org/ghc/docs/latest/html/building/building-guide.html
+ [4] http://www.haskell.org/happy/		Happy
+ [5] http://www.haskell.org/alex/		Alex
+ [6] http://www.haskell.org/haddock/		Haddock
 
-More information about GHC can be found here:
 
-	http://www.haskell.org/ghc/
+Contributors
+============
 
---
-The GHC Team,  glasgow-haskell-users@haskell.org
+Please see
+  
+   http://www.haskell.org/ghc/contributors.html
diff --git a/ghc/WindowsInstaller/Glasgow Haskell Compiler.ism b/WindowsInstaller/Glasgow Haskell Compiler.ism
similarity index 100%
rename from ghc/WindowsInstaller/Glasgow Haskell Compiler.ism
rename to WindowsInstaller/Glasgow Haskell Compiler.ism
diff --git a/ghc/WindowsInstaller/License.rtf b/WindowsInstaller/License.rtf
similarity index 100%
rename from ghc/WindowsInstaller/License.rtf
rename to WindowsInstaller/License.rtf
diff --git a/ghc/WindowsInstaller/MakeInstaller.txt b/WindowsInstaller/MakeInstaller.txt
similarity index 100%
rename from ghc/WindowsInstaller/MakeInstaller.txt
rename to WindowsInstaller/MakeInstaller.txt
diff --git a/ghc/WindowsInstaller/announce.rtf b/WindowsInstaller/announce.rtf
similarity index 100%
rename from ghc/WindowsInstaller/announce.rtf
rename to WindowsInstaller/announce.rtf
diff --git a/aclocal.m4 b/aclocal.m4
index 6cf12d69f80f0f40536423ee602960176dad5e74..139a26260106fdcee4a54eeef6bf50eb6e4955fc 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1055,4 +1055,65 @@ else
   GhcPkgCmd=$fp_cv_matching_ghc_pkg
 fi])# FP_PROG_GHC_PKG
 
+
+# FP_GHC_HAS_READLINE
+# -------------------
+AC_DEFUN([FP_GHC_HAS_READLINE],
+[AC_REQUIRE([FP_PROG_GHC_PKG])
+AC_CACHE_CHECK([whether ghc has readline package], [fp_cv_ghc_has_readline],
+[if "${GhcPkgCmd-ghc-pkg}" --show-package readline >/dev/null 2>&1; then
+  fp_cv_ghc_has_readline=yes
+else
+  fp_cv_ghc_has_readline=no
+ fi])
+AC_SUBST([GhcHasReadline], [`echo $fp_cv_ghc_has_readline | sed 'y/yesno/YESNO/'`])
+])# FP_GHC_HAS_READLINE
+
+
+# FP_GCC_NEEDS_NO_OMIT_LFPTR
+# --------------------------
+# Some OSs (Mandrake Linux, in particular) configure GCC with
+# -momit-leaf-frame-pointer on by default. If this is the case, we need to turn
+# it off for mangling to work. The test is currently a bit crude, using only the
+# version number of gcc. Defines HAVE_GCC_MNO_OMIT_LFPTR.
+AC_DEFUN([FP_GCC_NEEDS_NO_OMIT_LFPTR],
+[AC_REQUIRE([FP_HAVE_GCC])
+AC_CACHE_CHECK([whether gcc needs -mno-omit-leaf-frame-pointer], [fp_cv_gcc_needs_no_omit_lfptr],
+[FP_COMPARE_VERSIONS([$gcc_version_str], [-ge], [3.2],
+  [fp_cv_gcc_needs_no_omit_lfptr=yes],
+  [fp_cv_gcc_needs_no_omit_lfptr=no])])
+if test "$fp_cv_gcc_needs_no_omit_lfptr" = "yes"; then
+   AC_DEFINE([HAVE_GCC_MNO_OMIT_LFPTR], [1], [Define to 1 if gcc supports -mno-omit-leaf-frame-pointer.])
+fi])# FP_GCC_NEEDS_NO_OMIT_LFPTR
+
+
+# FP_SETUP_PROJECT_VERSION
+# ---------------------
+AC_DEFUN([FP_SETUP_PROJECT_VERSION],
+[# Some renamings
+AC_SUBST([ProjectVersion], [$PACKAGE_VERSION])
+
+# Split PACKAGE_VERSION into (possibly empty) parts
+VERSION_MAJOR=`echo $PACKAGE_VERSION | sed 's/^\(@<:@^.@:>@*\)\(\.\{0,1\}\(.*\)\)$/\1'/`
+VERSION_TMP=`echo $PACKAGE_VERSION | sed 's/^\(@<:@^.@:>@*\)\(\.\{0,1\}\(.*\)\)$/\3'/`
+VERSION_MINOR=`echo $VERSION_TMP | sed 's/^\(@<:@^.@:>@*\)\(\.\{0,1\}\(.*\)\)$/\1'/`
+ProjectPatchLevel=`echo $VERSION_TMP | sed 's/^\(@<:@^.@:>@*\)\(\.\{0,1\}\(.*\)\)$/\3'/`
+
+# Calculate project version as an integer, using 2 digits for minor version
+case $VERSION_MINOR in
+  ?) ProjectVersionInt=${VERSION_MAJOR}0${VERSION_MINOR} ;;
+  ??) ProjectVersionInt=${VERSION_MAJOR}${VERSION_MINOR} ;;
+  *) AC_MSG_ERROR([bad minor version in $PACKAGE_VERSION]) ;;
+esac
+AC_SUBST([ProjectVersionInt])
+
+# The project patchlevel is zero unless stated otherwise
+test -z "$ProjectPatchLevel" && ProjectPatchLevel=0
+
+# Remove dots from the patch level; this allows us to have versions like 6.4.1.20050508
+ProjectPatchLevel=`echo $ProjectPatchLevel | sed 's/\.//'`
+
+AC_SUBST([ProjectPatchLevel])
+])# FP_SETUP_PROJECT_INFO
+
 # LocalWords:  fi
diff --git a/ghc/lib/compat/Compat/Directory.hs b/compat/Compat/Directory.hs
similarity index 100%
rename from ghc/lib/compat/Compat/Directory.hs
rename to compat/Compat/Directory.hs
diff --git a/ghc/lib/compat/Compat/RawSystem.hs b/compat/Compat/RawSystem.hs
similarity index 100%
rename from ghc/lib/compat/Compat/RawSystem.hs
rename to compat/Compat/RawSystem.hs
diff --git a/ghc/lib/compat/Compat/Unicode.hs b/compat/Compat/Unicode.hs
similarity index 100%
rename from ghc/lib/compat/Compat/Unicode.hs
rename to compat/Compat/Unicode.hs
diff --git a/ghc/lib/compat/Distribution/Compat/FilePath.hs b/compat/Distribution/Compat/FilePath.hs
similarity index 100%
rename from ghc/lib/compat/Distribution/Compat/FilePath.hs
rename to compat/Distribution/Compat/FilePath.hs
diff --git a/ghc/lib/compat/Distribution/Compat/ReadP.hs b/compat/Distribution/Compat/ReadP.hs
similarity index 100%
rename from ghc/lib/compat/Distribution/Compat/ReadP.hs
rename to compat/Distribution/Compat/ReadP.hs
diff --git a/ghc/lib/compat/Distribution/Compiler.hs b/compat/Distribution/Compiler.hs
similarity index 100%
rename from ghc/lib/compat/Distribution/Compiler.hs
rename to compat/Distribution/Compiler.hs
diff --git a/ghc/lib/compat/Distribution/GetOpt.hs b/compat/Distribution/GetOpt.hs
similarity index 100%
rename from ghc/lib/compat/Distribution/GetOpt.hs
rename to compat/Distribution/GetOpt.hs
diff --git a/ghc/lib/compat/Distribution/InstalledPackageInfo.hs b/compat/Distribution/InstalledPackageInfo.hs
similarity index 100%
rename from ghc/lib/compat/Distribution/InstalledPackageInfo.hs
rename to compat/Distribution/InstalledPackageInfo.hs
diff --git a/ghc/lib/compat/Distribution/License.hs b/compat/Distribution/License.hs
similarity index 100%
rename from ghc/lib/compat/Distribution/License.hs
rename to compat/Distribution/License.hs
diff --git a/ghc/lib/compat/Distribution/Package.hs b/compat/Distribution/Package.hs
similarity index 100%
rename from ghc/lib/compat/Distribution/Package.hs
rename to compat/Distribution/Package.hs
diff --git a/ghc/lib/compat/Distribution/ParseUtils.hs b/compat/Distribution/ParseUtils.hs
similarity index 100%
rename from ghc/lib/compat/Distribution/ParseUtils.hs
rename to compat/Distribution/ParseUtils.hs
diff --git a/ghc/lib/compat/Distribution/Version.hs b/compat/Distribution/Version.hs
similarity index 100%
rename from ghc/lib/compat/Distribution/Version.hs
rename to compat/Distribution/Version.hs
diff --git a/ghc/lib/compat/Language/Haskell/Extension.hs b/compat/Language/Haskell/Extension.hs
similarity index 100%
rename from ghc/lib/compat/Language/Haskell/Extension.hs
rename to compat/Language/Haskell/Extension.hs
diff --git a/ghc/lib/compat/Makefile b/compat/Makefile
similarity index 99%
rename from ghc/lib/compat/Makefile
rename to compat/Makefile
index 7637c941157afa77d175cf2c3653f85c50e98f76..b4e18c9bbc00a45c6cc71a5cdbb221fb3f18e7b7 100644
--- a/ghc/lib/compat/Makefile
+++ b/compat/Makefile
@@ -1,4 +1,4 @@
-TOP=../..
+TOP=..
 include $(TOP)/mk/boilerplate.mk
 
 ALL_DIRS = \
diff --git a/ghc/lib/compat/README b/compat/README
similarity index 100%
rename from ghc/lib/compat/README
rename to compat/README
diff --git a/ghc/lib/compat/System/Directory/Internals.hs b/compat/System/Directory/Internals.hs
similarity index 100%
rename from ghc/lib/compat/System/Directory/Internals.hs
rename to compat/System/Directory/Internals.hs
diff --git a/ghc/lib/compat/cbits/directory.c b/compat/cbits/directory.c
similarity index 100%
rename from ghc/lib/compat/cbits/directory.c
rename to compat/cbits/directory.c
diff --git a/ghc/lib/compat/cbits/rawSystem.c b/compat/cbits/rawSystem.c
similarity index 100%
rename from ghc/lib/compat/cbits/rawSystem.c
rename to compat/cbits/rawSystem.c
diff --git a/ghc/lib/compat/cbits/unicode.c b/compat/cbits/unicode.c
similarity index 100%
rename from ghc/lib/compat/cbits/unicode.c
rename to compat/cbits/unicode.c
diff --git a/ghc/lib/compat/compat.mk b/compat/compat.mk
similarity index 87%
rename from ghc/lib/compat/compat.mk
rename to compat/compat.mk
index 156f03378e025ba85691d1c4f22eb4151cef39ea..48b2bea76ddbb3125e374a746810fe5c5740d4a1 100644
--- a/ghc/lib/compat/compat.mk
+++ b/compat/compat.mk
@@ -1,14 +1,14 @@
 # Settings for using the libghccompat.a library elsewhere in the build
 # tree: this file is just included into Makefiles, see 
-# ghc/utils/ghc-pkg/Makefile for example.
+# utils/ghc-pkg/Makefile for example.
 #
 # This is a poor-mans package, but simpler because we don't
 # have to deal with variations in the package support of different
 # versions of GHC.
 
 # Use libghccompat.a:
-SRC_HC_OPTS += -i$(GHC_LIB_COMPAT_DIR)
-SRC_LD_OPTS += -L$(GHC_LIB_COMPAT_DIR) -lghccompat
+SRC_HC_OPTS += -i$(GHC_COMPAT_DIR)
+SRC_LD_OPTS += -L$(GHC_COMPAT_DIR) -lghccompat
 
 # Do *not* use the installed Cabal:
 ifeq "$(ghc_ge_603)" "YES"
@@ -16,7 +16,7 @@ SRC_HC_OPTS += -ignore-package Cabal
 endif
 
 # And similarly for when booting from .hc files:
-HC_BOOT_LD_OPTS += -L$(GHC_LIB_COMPAT_DIR)
+HC_BOOT_LD_OPTS += -L$(GHC_COMPAT_DIR)
 HC_BOOT_LIBS += -lghccompat
 
 ifeq "$(Windows)" "YES"
@@ -30,6 +30,7 @@ endif
 SRC_MKDEPENDHS_OPTS += \
 	-optdep--exclude-module=Compat.RawSystem \
 	-optdep--exclude-module=Compat.Directory \
+	-optdep--exclude-module=Compat.Unicode \
 	-optdep--exclude-module=Distribution.Compat.FilePath \
 	-optdep--exclude-module=Distribution.Compat.ReadP \
 	-optdep--exclude-module=Distribution.Extension \
diff --git a/ghc/lib/compat/include/directory.h b/compat/include/directory.h
similarity index 100%
rename from ghc/lib/compat/include/directory.h
rename to compat/include/directory.h
diff --git a/ghc/compiler/DEPEND-NOTES b/compiler/DEPEND-NOTES
similarity index 100%
rename from ghc/compiler/DEPEND-NOTES
rename to compiler/DEPEND-NOTES
diff --git a/ghc/compiler/DLL-NOTES b/compiler/DLL-NOTES
similarity index 100%
rename from ghc/compiler/DLL-NOTES
rename to compiler/DLL-NOTES
diff --git a/ghc/compiler/HsVersions.h b/compiler/HsVersions.h
similarity index 100%
rename from ghc/compiler/HsVersions.h
rename to compiler/HsVersions.h
diff --git a/ghc/compiler/Makefile b/compiler/Makefile
similarity index 97%
rename from ghc/compiler/Makefile
rename to compiler/Makefile
index c1819f2cd269bcebd213caa4508bda25dc2240a0..a7ed0355ff145b47941cdd241631cf989f2c0f46 100644
--- a/ghc/compiler/Makefile
+++ b/compiler/Makefile
@@ -1,5 +1,5 @@
 # -----------------------------------------------------------------------------
-# Main ghc/compiler Makefile
+# Main compiler Makefile
 
 # Targets:
 #
@@ -602,8 +602,6 @@ SRC_HC_OPTS += '-\#include "hschooks.h"'
 #		Generate supporting stuff for prelude/PrimOp.lhs 
 #		from prelude/primops.txt
 
-GENPOC=$(TOP)/utils/genprimopcode/genprimopcode
-
 PRIMOP_BITS=primop-data-decl.hs-incl \
             primop-tag.hs-incl  \
             primop-list.hs-incl  \
@@ -630,30 +628,30 @@ depend :: $(PRIMOP_BITS)
 endif
 
 primop-data-decl.hs-incl: prelude/primops.txt
-	$(GENPOC) --data-decl          < $< > $@
+	$(GENPRIMOP) --data-decl          < $< > $@
 primop-tag.hs-incl: prelude/primops.txt
-	$(GENPOC) --primop-tag         < $< > $@
+	$(GENPRIMOP) --primop-tag         < $< > $@
 primop-list.hs-incl: prelude/primops.txt
-	$(GENPOC) --primop-list        < $< > $@
+	$(GENPRIMOP) --primop-list        < $< > $@
 primop-has-side-effects.hs-incl: prelude/primops.txt
-	$(GENPOC) --has-side-effects   < $< > $@
+	$(GENPRIMOP) --has-side-effects   < $< > $@
 primop-out-of-line.hs-incl: prelude/primops.txt
-	$(GENPOC) --out-of-line        < $< > $@
+	$(GENPRIMOP) --out-of-line        < $< > $@
 primop-commutable.hs-incl: prelude/primops.txt
-	$(GENPOC) --commutable         < $< > $@
+	$(GENPRIMOP) --commutable         < $< > $@
 primop-needs-wrapper.hs-incl: prelude/primops.txt
-	$(GENPOC) --needs-wrapper      < $< > $@
+	$(GENPRIMOP) --needs-wrapper      < $< > $@
 primop-can-fail.hs-incl: prelude/primops.txt
-	$(GENPOC) --can-fail           < $< > $@
+	$(GENPRIMOP) --can-fail           < $< > $@
 primop-strictness.hs-incl: prelude/primops.txt
-	$(GENPOC) --strictness         < $< > $@
+	$(GENPRIMOP) --strictness         < $< > $@
 primop-primop-info.hs-incl: prelude/primops.txt
-	$(GENPOC) --primop-primop-info < $< > $@
+	$(GENPRIMOP) --primop-primop-info < $< > $@
 
 # Usages aren't used any more; but the generator 
 # can still generate them if we want them back
 primop-usage.hs-incl: prelude/primops.txt
-	$(GENPOC) --usage              < $< > $@
+	$(GENPRIMOP) --usage              < $< > $@
 
 
 #-----------------------------------------------------------------------------
@@ -663,7 +661,7 @@ primop-usage.hs-incl: prelude/primops.txt
 # libraries will be available from the main libraries.
 
 ifeq "$(stage)" "1"
-include $(GHC_LIB_COMPAT_DIR)/compat.mk
+include $(GHC_COMPAT_DIR)/compat.mk
 endif
 
 SRC_LD_OPTS += -no-link-chk
@@ -676,7 +674,7 @@ all :: $(odir)/ghc-inplace ghc-inplace
 $(odir)/ghc-inplace : $(HS_PROG)
 	@$(RM) $@
 	echo '#!/bin/sh' >>$@
-	echo exec $(FPTOOLS_TOP_ABS)/ghc/compiler/$(HS_PROG) '-B$(subst \,\\,$(FPTOOLS_TOP_ABS_PLATFORM))' '"$$@"' >>$@
+	echo exec $(GHC_COMPILER_DIR_ABS)/$(HS_PROG) '-B$(subst \,\\,$(FPTOOLS_TOP_ABS_PLATFORM))' '"$$@"' >>$@
 	chmod 755 $@
 
 ghc-inplace : stage1/ghc-inplace
@@ -765,7 +763,7 @@ PACKAGE_CPP_OPTS += -DPKG_DEPENDS='$(PKG_DEPENDS)'
 LIBOBJS = $(filter-out $(odir)/main/Main.o $(odir)/parser/hschooks.o, $(OBJS))
 
 # disable splitting: it won't really help with GHC, and the specialised
-# build system for ghc/compiler isn't set up to handle it.
+# build system for compiler/ isn't set up to handle it.
 SplitObjs = NO
 
 # the package build system likes to set WAYS=$(GhcLibWays), but we don't 
diff --git a/ghc/compiler/NOTES b/compiler/NOTES
similarity index 100%
rename from ghc/compiler/NOTES
rename to compiler/NOTES
diff --git a/ghc/compiler/README b/compiler/README
similarity index 100%
rename from ghc/compiler/README
rename to compiler/README
diff --git a/ghc/compiler/Simon-log b/compiler/Simon-log
similarity index 100%
rename from ghc/compiler/Simon-log
rename to compiler/Simon-log
diff --git a/ghc/compiler/basicTypes/BasicTypes.lhs b/compiler/basicTypes/BasicTypes.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/BasicTypes.lhs
rename to compiler/basicTypes/BasicTypes.lhs
diff --git a/ghc/compiler/basicTypes/DataCon.hi-boot-5 b/compiler/basicTypes/DataCon.hi-boot-5
similarity index 100%
rename from ghc/compiler/basicTypes/DataCon.hi-boot-5
rename to compiler/basicTypes/DataCon.hi-boot-5
diff --git a/ghc/compiler/basicTypes/DataCon.hi-boot-6 b/compiler/basicTypes/DataCon.hi-boot-6
similarity index 100%
rename from ghc/compiler/basicTypes/DataCon.hi-boot-6
rename to compiler/basicTypes/DataCon.hi-boot-6
diff --git a/ghc/compiler/basicTypes/DataCon.lhs b/compiler/basicTypes/DataCon.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/DataCon.lhs
rename to compiler/basicTypes/DataCon.lhs
diff --git a/ghc/compiler/basicTypes/DataCon.lhs-boot b/compiler/basicTypes/DataCon.lhs-boot
similarity index 100%
rename from ghc/compiler/basicTypes/DataCon.lhs-boot
rename to compiler/basicTypes/DataCon.lhs-boot
diff --git a/ghc/compiler/basicTypes/Demand.lhs b/compiler/basicTypes/Demand.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/Demand.lhs
rename to compiler/basicTypes/Demand.lhs
diff --git a/ghc/compiler/basicTypes/FieldLabel.lhs b/compiler/basicTypes/FieldLabel.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/FieldLabel.lhs
rename to compiler/basicTypes/FieldLabel.lhs
diff --git a/ghc/compiler/basicTypes/Id.lhs b/compiler/basicTypes/Id.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/Id.lhs
rename to compiler/basicTypes/Id.lhs
diff --git a/ghc/compiler/basicTypes/IdInfo.hi-boot-5 b/compiler/basicTypes/IdInfo.hi-boot-5
similarity index 100%
rename from ghc/compiler/basicTypes/IdInfo.hi-boot-5
rename to compiler/basicTypes/IdInfo.hi-boot-5
diff --git a/ghc/compiler/basicTypes/IdInfo.hi-boot-6 b/compiler/basicTypes/IdInfo.hi-boot-6
similarity index 100%
rename from ghc/compiler/basicTypes/IdInfo.hi-boot-6
rename to compiler/basicTypes/IdInfo.hi-boot-6
diff --git a/ghc/compiler/basicTypes/IdInfo.lhs b/compiler/basicTypes/IdInfo.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/IdInfo.lhs
rename to compiler/basicTypes/IdInfo.lhs
diff --git a/ghc/compiler/basicTypes/IdInfo.lhs-boot b/compiler/basicTypes/IdInfo.lhs-boot
similarity index 100%
rename from ghc/compiler/basicTypes/IdInfo.lhs-boot
rename to compiler/basicTypes/IdInfo.lhs-boot
diff --git a/ghc/compiler/basicTypes/Literal.lhs b/compiler/basicTypes/Literal.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/Literal.lhs
rename to compiler/basicTypes/Literal.lhs
diff --git a/ghc/compiler/basicTypes/MkId.hi-boot-5 b/compiler/basicTypes/MkId.hi-boot-5
similarity index 100%
rename from ghc/compiler/basicTypes/MkId.hi-boot-5
rename to compiler/basicTypes/MkId.hi-boot-5
diff --git a/ghc/compiler/basicTypes/MkId.hi-boot-6 b/compiler/basicTypes/MkId.hi-boot-6
similarity index 100%
rename from ghc/compiler/basicTypes/MkId.hi-boot-6
rename to compiler/basicTypes/MkId.hi-boot-6
diff --git a/ghc/compiler/basicTypes/MkId.lhs b/compiler/basicTypes/MkId.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/MkId.lhs
rename to compiler/basicTypes/MkId.lhs
diff --git a/ghc/compiler/basicTypes/MkId.lhs-boot b/compiler/basicTypes/MkId.lhs-boot
similarity index 100%
rename from ghc/compiler/basicTypes/MkId.lhs-boot
rename to compiler/basicTypes/MkId.lhs-boot
diff --git a/ghc/compiler/basicTypes/Module.hi-boot-5 b/compiler/basicTypes/Module.hi-boot-5
similarity index 100%
rename from ghc/compiler/basicTypes/Module.hi-boot-5
rename to compiler/basicTypes/Module.hi-boot-5
diff --git a/ghc/compiler/basicTypes/Module.hi-boot-6 b/compiler/basicTypes/Module.hi-boot-6
similarity index 100%
rename from ghc/compiler/basicTypes/Module.hi-boot-6
rename to compiler/basicTypes/Module.hi-boot-6
diff --git a/ghc/compiler/basicTypes/Module.lhs b/compiler/basicTypes/Module.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/Module.lhs
rename to compiler/basicTypes/Module.lhs
diff --git a/ghc/compiler/basicTypes/Module.lhs-boot b/compiler/basicTypes/Module.lhs-boot
similarity index 100%
rename from ghc/compiler/basicTypes/Module.lhs-boot
rename to compiler/basicTypes/Module.lhs-boot
diff --git a/ghc/compiler/basicTypes/Name.hi-boot-5 b/compiler/basicTypes/Name.hi-boot-5
similarity index 100%
rename from ghc/compiler/basicTypes/Name.hi-boot-5
rename to compiler/basicTypes/Name.hi-boot-5
diff --git a/ghc/compiler/basicTypes/Name.hi-boot-6 b/compiler/basicTypes/Name.hi-boot-6
similarity index 100%
rename from ghc/compiler/basicTypes/Name.hi-boot-6
rename to compiler/basicTypes/Name.hi-boot-6
diff --git a/ghc/compiler/basicTypes/Name.lhs b/compiler/basicTypes/Name.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/Name.lhs
rename to compiler/basicTypes/Name.lhs
diff --git a/ghc/compiler/basicTypes/Name.lhs-boot b/compiler/basicTypes/Name.lhs-boot
similarity index 100%
rename from ghc/compiler/basicTypes/Name.lhs-boot
rename to compiler/basicTypes/Name.lhs-boot
diff --git a/ghc/compiler/basicTypes/NameEnv.lhs b/compiler/basicTypes/NameEnv.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/NameEnv.lhs
rename to compiler/basicTypes/NameEnv.lhs
diff --git a/ghc/compiler/basicTypes/NameSet.lhs b/compiler/basicTypes/NameSet.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/NameSet.lhs
rename to compiler/basicTypes/NameSet.lhs
diff --git a/ghc/compiler/basicTypes/NewDemand.lhs b/compiler/basicTypes/NewDemand.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/NewDemand.lhs
rename to compiler/basicTypes/NewDemand.lhs
diff --git a/ghc/compiler/basicTypes/OccName.hi-boot-6 b/compiler/basicTypes/OccName.hi-boot-6
similarity index 100%
rename from ghc/compiler/basicTypes/OccName.hi-boot-6
rename to compiler/basicTypes/OccName.hi-boot-6
diff --git a/ghc/compiler/basicTypes/OccName.lhs b/compiler/basicTypes/OccName.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/OccName.lhs
rename to compiler/basicTypes/OccName.lhs
diff --git a/ghc/compiler/basicTypes/OccName.lhs-boot b/compiler/basicTypes/OccName.lhs-boot
similarity index 100%
rename from ghc/compiler/basicTypes/OccName.lhs-boot
rename to compiler/basicTypes/OccName.lhs-boot
diff --git a/ghc/compiler/basicTypes/RdrName.lhs b/compiler/basicTypes/RdrName.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/RdrName.lhs
rename to compiler/basicTypes/RdrName.lhs
diff --git a/ghc/compiler/basicTypes/SrcLoc.lhs b/compiler/basicTypes/SrcLoc.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/SrcLoc.lhs
rename to compiler/basicTypes/SrcLoc.lhs
diff --git a/ghc/compiler/basicTypes/UniqSupply.lhs b/compiler/basicTypes/UniqSupply.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/UniqSupply.lhs
rename to compiler/basicTypes/UniqSupply.lhs
diff --git a/ghc/compiler/basicTypes/Unique.lhs b/compiler/basicTypes/Unique.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/Unique.lhs
rename to compiler/basicTypes/Unique.lhs
diff --git a/ghc/compiler/basicTypes/Var.lhs b/compiler/basicTypes/Var.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/Var.lhs
rename to compiler/basicTypes/Var.lhs
diff --git a/ghc/compiler/basicTypes/VarEnv.lhs b/compiler/basicTypes/VarEnv.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/VarEnv.lhs
rename to compiler/basicTypes/VarEnv.lhs
diff --git a/ghc/compiler/basicTypes/VarSet.lhs b/compiler/basicTypes/VarSet.lhs
similarity index 100%
rename from ghc/compiler/basicTypes/VarSet.lhs
rename to compiler/basicTypes/VarSet.lhs
diff --git a/ghc/compiler/cbits/rawSystem.c b/compiler/cbits/rawSystem.c
similarity index 100%
rename from ghc/compiler/cbits/rawSystem.c
rename to compiler/cbits/rawSystem.c
diff --git a/ghc/compiler/cmm/CLabel.hs b/compiler/cmm/CLabel.hs
similarity index 100%
rename from ghc/compiler/cmm/CLabel.hs
rename to compiler/cmm/CLabel.hs
diff --git a/ghc/compiler/cmm/Cmm.hs b/compiler/cmm/Cmm.hs
similarity index 100%
rename from ghc/compiler/cmm/Cmm.hs
rename to compiler/cmm/Cmm.hs
diff --git a/ghc/compiler/cmm/CmmLex.x b/compiler/cmm/CmmLex.x
similarity index 100%
rename from ghc/compiler/cmm/CmmLex.x
rename to compiler/cmm/CmmLex.x
diff --git a/ghc/compiler/cmm/CmmLint.hs b/compiler/cmm/CmmLint.hs
similarity index 100%
rename from ghc/compiler/cmm/CmmLint.hs
rename to compiler/cmm/CmmLint.hs
diff --git a/ghc/compiler/cmm/CmmOpt.hs b/compiler/cmm/CmmOpt.hs
similarity index 100%
rename from ghc/compiler/cmm/CmmOpt.hs
rename to compiler/cmm/CmmOpt.hs
diff --git a/ghc/compiler/cmm/CmmParse.y b/compiler/cmm/CmmParse.y
similarity index 100%
rename from ghc/compiler/cmm/CmmParse.y
rename to compiler/cmm/CmmParse.y
diff --git a/ghc/compiler/cmm/CmmUtils.hs b/compiler/cmm/CmmUtils.hs
similarity index 100%
rename from ghc/compiler/cmm/CmmUtils.hs
rename to compiler/cmm/CmmUtils.hs
diff --git a/ghc/compiler/cmm/MachOp.hs b/compiler/cmm/MachOp.hs
similarity index 100%
rename from ghc/compiler/cmm/MachOp.hs
rename to compiler/cmm/MachOp.hs
diff --git a/ghc/compiler/cmm/PprC.hs b/compiler/cmm/PprC.hs
similarity index 100%
rename from ghc/compiler/cmm/PprC.hs
rename to compiler/cmm/PprC.hs
diff --git a/ghc/compiler/cmm/PprCmm.hs b/compiler/cmm/PprCmm.hs
similarity index 100%
rename from ghc/compiler/cmm/PprCmm.hs
rename to compiler/cmm/PprCmm.hs
diff --git a/ghc/compiler/codeGen/Bitmap.hs b/compiler/codeGen/Bitmap.hs
similarity index 100%
rename from ghc/compiler/codeGen/Bitmap.hs
rename to compiler/codeGen/Bitmap.hs
diff --git a/ghc/compiler/codeGen/CgBindery.hi-boot-5 b/compiler/codeGen/CgBindery.hi-boot-5
similarity index 100%
rename from ghc/compiler/codeGen/CgBindery.hi-boot-5
rename to compiler/codeGen/CgBindery.hi-boot-5
diff --git a/ghc/compiler/codeGen/CgBindery.hi-boot-6 b/compiler/codeGen/CgBindery.hi-boot-6
similarity index 100%
rename from ghc/compiler/codeGen/CgBindery.hi-boot-6
rename to compiler/codeGen/CgBindery.hi-boot-6
diff --git a/ghc/compiler/codeGen/CgBindery.lhs b/compiler/codeGen/CgBindery.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CgBindery.lhs
rename to compiler/codeGen/CgBindery.lhs
diff --git a/ghc/compiler/codeGen/CgBindery.lhs-boot b/compiler/codeGen/CgBindery.lhs-boot
similarity index 100%
rename from ghc/compiler/codeGen/CgBindery.lhs-boot
rename to compiler/codeGen/CgBindery.lhs-boot
diff --git a/ghc/compiler/codeGen/CgCallConv.hs b/compiler/codeGen/CgCallConv.hs
similarity index 100%
rename from ghc/compiler/codeGen/CgCallConv.hs
rename to compiler/codeGen/CgCallConv.hs
diff --git a/ghc/compiler/codeGen/CgCase.lhs b/compiler/codeGen/CgCase.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CgCase.lhs
rename to compiler/codeGen/CgCase.lhs
diff --git a/ghc/compiler/codeGen/CgClosure.lhs b/compiler/codeGen/CgClosure.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CgClosure.lhs
rename to compiler/codeGen/CgClosure.lhs
diff --git a/ghc/compiler/codeGen/CgCon.lhs b/compiler/codeGen/CgCon.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CgCon.lhs
rename to compiler/codeGen/CgCon.lhs
diff --git a/ghc/compiler/codeGen/CgExpr.hi-boot-5 b/compiler/codeGen/CgExpr.hi-boot-5
similarity index 100%
rename from ghc/compiler/codeGen/CgExpr.hi-boot-5
rename to compiler/codeGen/CgExpr.hi-boot-5
diff --git a/ghc/compiler/codeGen/CgExpr.hi-boot-6 b/compiler/codeGen/CgExpr.hi-boot-6
similarity index 100%
rename from ghc/compiler/codeGen/CgExpr.hi-boot-6
rename to compiler/codeGen/CgExpr.hi-boot-6
diff --git a/ghc/compiler/codeGen/CgExpr.lhs b/compiler/codeGen/CgExpr.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CgExpr.lhs
rename to compiler/codeGen/CgExpr.lhs
diff --git a/ghc/compiler/codeGen/CgExpr.lhs-boot b/compiler/codeGen/CgExpr.lhs-boot
similarity index 100%
rename from ghc/compiler/codeGen/CgExpr.lhs-boot
rename to compiler/codeGen/CgExpr.lhs-boot
diff --git a/ghc/compiler/codeGen/CgForeignCall.hs b/compiler/codeGen/CgForeignCall.hs
similarity index 100%
rename from ghc/compiler/codeGen/CgForeignCall.hs
rename to compiler/codeGen/CgForeignCall.hs
diff --git a/ghc/compiler/codeGen/CgHeapery.lhs b/compiler/codeGen/CgHeapery.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CgHeapery.lhs
rename to compiler/codeGen/CgHeapery.lhs
diff --git a/ghc/compiler/codeGen/CgInfoTbls.hs b/compiler/codeGen/CgInfoTbls.hs
similarity index 100%
rename from ghc/compiler/codeGen/CgInfoTbls.hs
rename to compiler/codeGen/CgInfoTbls.hs
diff --git a/ghc/compiler/codeGen/CgLetNoEscape.lhs b/compiler/codeGen/CgLetNoEscape.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CgLetNoEscape.lhs
rename to compiler/codeGen/CgLetNoEscape.lhs
diff --git a/ghc/compiler/codeGen/CgMonad.lhs b/compiler/codeGen/CgMonad.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CgMonad.lhs
rename to compiler/codeGen/CgMonad.lhs
diff --git a/ghc/compiler/codeGen/CgParallel.hs b/compiler/codeGen/CgParallel.hs
similarity index 100%
rename from ghc/compiler/codeGen/CgParallel.hs
rename to compiler/codeGen/CgParallel.hs
diff --git a/ghc/compiler/codeGen/CgPrimOp.hs b/compiler/codeGen/CgPrimOp.hs
similarity index 100%
rename from ghc/compiler/codeGen/CgPrimOp.hs
rename to compiler/codeGen/CgPrimOp.hs
diff --git a/ghc/compiler/codeGen/CgProf.hs b/compiler/codeGen/CgProf.hs
similarity index 100%
rename from ghc/compiler/codeGen/CgProf.hs
rename to compiler/codeGen/CgProf.hs
diff --git a/ghc/compiler/codeGen/CgStackery.lhs b/compiler/codeGen/CgStackery.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CgStackery.lhs
rename to compiler/codeGen/CgStackery.lhs
diff --git a/ghc/compiler/codeGen/CgTailCall.lhs b/compiler/codeGen/CgTailCall.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CgTailCall.lhs
rename to compiler/codeGen/CgTailCall.lhs
diff --git a/ghc/compiler/codeGen/CgTicky.hs b/compiler/codeGen/CgTicky.hs
similarity index 100%
rename from ghc/compiler/codeGen/CgTicky.hs
rename to compiler/codeGen/CgTicky.hs
diff --git a/ghc/compiler/codeGen/CgUsages.hi-boot-5 b/compiler/codeGen/CgUsages.hi-boot-5
similarity index 100%
rename from ghc/compiler/codeGen/CgUsages.hi-boot-5
rename to compiler/codeGen/CgUsages.hi-boot-5
diff --git a/ghc/compiler/codeGen/CgUsages.hi-boot-6 b/compiler/codeGen/CgUsages.hi-boot-6
similarity index 100%
rename from ghc/compiler/codeGen/CgUsages.hi-boot-6
rename to compiler/codeGen/CgUsages.hi-boot-6
diff --git a/ghc/compiler/codeGen/CgUtils.hs b/compiler/codeGen/CgUtils.hs
similarity index 100%
rename from ghc/compiler/codeGen/CgUtils.hs
rename to compiler/codeGen/CgUtils.hs
diff --git a/ghc/compiler/codeGen/ClosureInfo.hi-boot-5 b/compiler/codeGen/ClosureInfo.hi-boot-5
similarity index 100%
rename from ghc/compiler/codeGen/ClosureInfo.hi-boot-5
rename to compiler/codeGen/ClosureInfo.hi-boot-5
diff --git a/ghc/compiler/codeGen/ClosureInfo.hi-boot-6 b/compiler/codeGen/ClosureInfo.hi-boot-6
similarity index 100%
rename from ghc/compiler/codeGen/ClosureInfo.hi-boot-6
rename to compiler/codeGen/ClosureInfo.hi-boot-6
diff --git a/ghc/compiler/codeGen/ClosureInfo.lhs b/compiler/codeGen/ClosureInfo.lhs
similarity index 100%
rename from ghc/compiler/codeGen/ClosureInfo.lhs
rename to compiler/codeGen/ClosureInfo.lhs
diff --git a/ghc/compiler/codeGen/ClosureInfo.lhs-boot b/compiler/codeGen/ClosureInfo.lhs-boot
similarity index 100%
rename from ghc/compiler/codeGen/ClosureInfo.lhs-boot
rename to compiler/codeGen/ClosureInfo.lhs-boot
diff --git a/ghc/compiler/codeGen/CodeGen.lhs b/compiler/codeGen/CodeGen.lhs
similarity index 100%
rename from ghc/compiler/codeGen/CodeGen.lhs
rename to compiler/codeGen/CodeGen.lhs
diff --git a/ghc/compiler/codeGen/SMRep.lhs b/compiler/codeGen/SMRep.lhs
similarity index 100%
rename from ghc/compiler/codeGen/SMRep.lhs
rename to compiler/codeGen/SMRep.lhs
diff --git a/ghc/compiler/coreSyn/CoreFVs.lhs b/compiler/coreSyn/CoreFVs.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/CoreFVs.lhs
rename to compiler/coreSyn/CoreFVs.lhs
diff --git a/ghc/compiler/coreSyn/CoreLint.lhs b/compiler/coreSyn/CoreLint.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/CoreLint.lhs
rename to compiler/coreSyn/CoreLint.lhs
diff --git a/ghc/compiler/coreSyn/CorePrep.lhs b/compiler/coreSyn/CorePrep.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/CorePrep.lhs
rename to compiler/coreSyn/CorePrep.lhs
diff --git a/ghc/compiler/coreSyn/CoreSubst.lhs b/compiler/coreSyn/CoreSubst.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/CoreSubst.lhs
rename to compiler/coreSyn/CoreSubst.lhs
diff --git a/ghc/compiler/coreSyn/CoreSyn.hi-boot-5 b/compiler/coreSyn/CoreSyn.hi-boot-5
similarity index 100%
rename from ghc/compiler/coreSyn/CoreSyn.hi-boot-5
rename to compiler/coreSyn/CoreSyn.hi-boot-5
diff --git a/ghc/compiler/coreSyn/CoreSyn.hi-boot-6 b/compiler/coreSyn/CoreSyn.hi-boot-6
similarity index 100%
rename from ghc/compiler/coreSyn/CoreSyn.hi-boot-6
rename to compiler/coreSyn/CoreSyn.hi-boot-6
diff --git a/ghc/compiler/coreSyn/CoreSyn.lhs b/compiler/coreSyn/CoreSyn.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/CoreSyn.lhs
rename to compiler/coreSyn/CoreSyn.lhs
diff --git a/ghc/compiler/coreSyn/CoreTidy.lhs b/compiler/coreSyn/CoreTidy.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/CoreTidy.lhs
rename to compiler/coreSyn/CoreTidy.lhs
diff --git a/ghc/compiler/coreSyn/CoreUnfold.lhs b/compiler/coreSyn/CoreUnfold.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/CoreUnfold.lhs
rename to compiler/coreSyn/CoreUnfold.lhs
diff --git a/ghc/compiler/coreSyn/CoreUtils.lhs b/compiler/coreSyn/CoreUtils.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/CoreUtils.lhs
rename to compiler/coreSyn/CoreUtils.lhs
diff --git a/ghc/compiler/coreSyn/ExternalCore.lhs b/compiler/coreSyn/ExternalCore.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/ExternalCore.lhs
rename to compiler/coreSyn/ExternalCore.lhs
diff --git a/ghc/compiler/coreSyn/MkExternalCore.lhs b/compiler/coreSyn/MkExternalCore.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/MkExternalCore.lhs
rename to compiler/coreSyn/MkExternalCore.lhs
diff --git a/ghc/compiler/coreSyn/PprCore.lhs b/compiler/coreSyn/PprCore.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/PprCore.lhs
rename to compiler/coreSyn/PprCore.lhs
diff --git a/ghc/compiler/coreSyn/PprExternalCore.lhs b/compiler/coreSyn/PprExternalCore.lhs
similarity index 100%
rename from ghc/compiler/coreSyn/PprExternalCore.lhs
rename to compiler/coreSyn/PprExternalCore.lhs
diff --git a/ghc/compiler/count_bytes b/compiler/count_bytes
similarity index 100%
rename from ghc/compiler/count_bytes
rename to compiler/count_bytes
diff --git a/ghc/compiler/count_lines b/compiler/count_lines
similarity index 100%
rename from ghc/compiler/count_lines
rename to compiler/count_lines
diff --git a/ghc/compiler/cprAnalysis/CprAnalyse.lhs b/compiler/cprAnalysis/CprAnalyse.lhs
similarity index 100%
rename from ghc/compiler/cprAnalysis/CprAnalyse.lhs
rename to compiler/cprAnalysis/CprAnalyse.lhs
diff --git a/ghc/compiler/deSugar/Check.lhs b/compiler/deSugar/Check.lhs
similarity index 100%
rename from ghc/compiler/deSugar/Check.lhs
rename to compiler/deSugar/Check.lhs
diff --git a/ghc/compiler/deSugar/Desugar.lhs b/compiler/deSugar/Desugar.lhs
similarity index 100%
rename from ghc/compiler/deSugar/Desugar.lhs
rename to compiler/deSugar/Desugar.lhs
diff --git a/ghc/compiler/deSugar/DsArrows.lhs b/compiler/deSugar/DsArrows.lhs
similarity index 100%
rename from ghc/compiler/deSugar/DsArrows.lhs
rename to compiler/deSugar/DsArrows.lhs
diff --git a/ghc/compiler/deSugar/DsBinds.lhs b/compiler/deSugar/DsBinds.lhs
similarity index 100%
rename from ghc/compiler/deSugar/DsBinds.lhs
rename to compiler/deSugar/DsBinds.lhs
diff --git a/ghc/compiler/deSugar/DsCCall.lhs b/compiler/deSugar/DsCCall.lhs
similarity index 100%
rename from ghc/compiler/deSugar/DsCCall.lhs
rename to compiler/deSugar/DsCCall.lhs
diff --git a/ghc/compiler/deSugar/DsExpr.hi-boot-5 b/compiler/deSugar/DsExpr.hi-boot-5
similarity index 100%
rename from ghc/compiler/deSugar/DsExpr.hi-boot-5
rename to compiler/deSugar/DsExpr.hi-boot-5
diff --git a/ghc/compiler/deSugar/DsExpr.hi-boot-6 b/compiler/deSugar/DsExpr.hi-boot-6
similarity index 100%
rename from ghc/compiler/deSugar/DsExpr.hi-boot-6
rename to compiler/deSugar/DsExpr.hi-boot-6
diff --git a/ghc/compiler/deSugar/DsExpr.lhs b/compiler/deSugar/DsExpr.lhs
similarity index 100%
rename from ghc/compiler/deSugar/DsExpr.lhs
rename to compiler/deSugar/DsExpr.lhs
diff --git a/ghc/compiler/deSugar/DsExpr.lhs-boot b/compiler/deSugar/DsExpr.lhs-boot
similarity index 100%
rename from ghc/compiler/deSugar/DsExpr.lhs-boot
rename to compiler/deSugar/DsExpr.lhs-boot
diff --git a/ghc/compiler/deSugar/DsForeign.lhs b/compiler/deSugar/DsForeign.lhs
similarity index 100%
rename from ghc/compiler/deSugar/DsForeign.lhs
rename to compiler/deSugar/DsForeign.lhs
diff --git a/ghc/compiler/deSugar/DsGRHSs.lhs b/compiler/deSugar/DsGRHSs.lhs
similarity index 100%
rename from ghc/compiler/deSugar/DsGRHSs.lhs
rename to compiler/deSugar/DsGRHSs.lhs
diff --git a/ghc/compiler/deSugar/DsListComp.lhs b/compiler/deSugar/DsListComp.lhs
similarity index 100%
rename from ghc/compiler/deSugar/DsListComp.lhs
rename to compiler/deSugar/DsListComp.lhs
diff --git a/ghc/compiler/deSugar/DsMeta.hs b/compiler/deSugar/DsMeta.hs
similarity index 100%
rename from ghc/compiler/deSugar/DsMeta.hs
rename to compiler/deSugar/DsMeta.hs
diff --git a/ghc/compiler/deSugar/DsMonad.lhs b/compiler/deSugar/DsMonad.lhs
similarity index 100%
rename from ghc/compiler/deSugar/DsMonad.lhs
rename to compiler/deSugar/DsMonad.lhs
diff --git a/ghc/compiler/deSugar/DsUtils.lhs b/compiler/deSugar/DsUtils.lhs
similarity index 100%
rename from ghc/compiler/deSugar/DsUtils.lhs
rename to compiler/deSugar/DsUtils.lhs
diff --git a/ghc/compiler/deSugar/Match.hi-boot-5 b/compiler/deSugar/Match.hi-boot-5
similarity index 100%
rename from ghc/compiler/deSugar/Match.hi-boot-5
rename to compiler/deSugar/Match.hi-boot-5
diff --git a/ghc/compiler/deSugar/Match.hi-boot-6 b/compiler/deSugar/Match.hi-boot-6
similarity index 100%
rename from ghc/compiler/deSugar/Match.hi-boot-6
rename to compiler/deSugar/Match.hi-boot-6
diff --git a/ghc/compiler/deSugar/Match.lhs b/compiler/deSugar/Match.lhs
similarity index 100%
rename from ghc/compiler/deSugar/Match.lhs
rename to compiler/deSugar/Match.lhs
diff --git a/ghc/compiler/deSugar/Match.lhs-boot b/compiler/deSugar/Match.lhs-boot
similarity index 100%
rename from ghc/compiler/deSugar/Match.lhs-boot
rename to compiler/deSugar/Match.lhs-boot
diff --git a/ghc/compiler/deSugar/MatchCon.lhs b/compiler/deSugar/MatchCon.lhs
similarity index 100%
rename from ghc/compiler/deSugar/MatchCon.lhs
rename to compiler/deSugar/MatchCon.lhs
diff --git a/ghc/compiler/deSugar/MatchLit.lhs b/compiler/deSugar/MatchLit.lhs
similarity index 100%
rename from ghc/compiler/deSugar/MatchLit.lhs
rename to compiler/deSugar/MatchLit.lhs
diff --git a/ghc/compiler/deSugar/deSugar.tex b/compiler/deSugar/deSugar.tex
similarity index 100%
rename from ghc/compiler/deSugar/deSugar.tex
rename to compiler/deSugar/deSugar.tex
diff --git a/ghc/compiler/ghci/ByteCodeAsm.lhs b/compiler/ghci/ByteCodeAsm.lhs
similarity index 100%
rename from ghc/compiler/ghci/ByteCodeAsm.lhs
rename to compiler/ghci/ByteCodeAsm.lhs
diff --git a/ghc/compiler/ghci/ByteCodeFFI.lhs b/compiler/ghci/ByteCodeFFI.lhs
similarity index 100%
rename from ghc/compiler/ghci/ByteCodeFFI.lhs
rename to compiler/ghci/ByteCodeFFI.lhs
diff --git a/ghc/compiler/ghci/ByteCodeGen.lhs b/compiler/ghci/ByteCodeGen.lhs
similarity index 100%
rename from ghc/compiler/ghci/ByteCodeGen.lhs
rename to compiler/ghci/ByteCodeGen.lhs
diff --git a/ghc/compiler/ghci/ByteCodeInstr.lhs b/compiler/ghci/ByteCodeInstr.lhs
similarity index 100%
rename from ghc/compiler/ghci/ByteCodeInstr.lhs
rename to compiler/ghci/ByteCodeInstr.lhs
diff --git a/ghc/compiler/ghci/ByteCodeItbls.lhs b/compiler/ghci/ByteCodeItbls.lhs
similarity index 100%
rename from ghc/compiler/ghci/ByteCodeItbls.lhs
rename to compiler/ghci/ByteCodeItbls.lhs
diff --git a/ghc/compiler/ghci/ByteCodeLink.lhs b/compiler/ghci/ByteCodeLink.lhs
similarity index 100%
rename from ghc/compiler/ghci/ByteCodeLink.lhs
rename to compiler/ghci/ByteCodeLink.lhs
diff --git a/ghc/compiler/ghci/InteractiveUI.hs b/compiler/ghci/InteractiveUI.hs
similarity index 100%
rename from ghc/compiler/ghci/InteractiveUI.hs
rename to compiler/ghci/InteractiveUI.hs
diff --git a/ghc/compiler/ghci/Linker.lhs b/compiler/ghci/Linker.lhs
similarity index 100%
rename from ghc/compiler/ghci/Linker.lhs
rename to compiler/ghci/Linker.lhs
diff --git a/ghc/compiler/ghci/ObjLink.lhs b/compiler/ghci/ObjLink.lhs
similarity index 100%
rename from ghc/compiler/ghci/ObjLink.lhs
rename to compiler/ghci/ObjLink.lhs
diff --git a/ghc/compiler/ghci/keepCAFsForGHCi.c b/compiler/ghci/keepCAFsForGHCi.c
similarity index 100%
rename from ghc/compiler/ghci/keepCAFsForGHCi.c
rename to compiler/ghci/keepCAFsForGHCi.c
diff --git a/ghc/compiler/hsSyn/Convert.lhs b/compiler/hsSyn/Convert.lhs
similarity index 100%
rename from ghc/compiler/hsSyn/Convert.lhs
rename to compiler/hsSyn/Convert.lhs
diff --git a/ghc/compiler/hsSyn/HsBinds.lhs b/compiler/hsSyn/HsBinds.lhs
similarity index 100%
rename from ghc/compiler/hsSyn/HsBinds.lhs
rename to compiler/hsSyn/HsBinds.lhs
diff --git a/ghc/compiler/hsSyn/HsDecls.lhs b/compiler/hsSyn/HsDecls.lhs
similarity index 100%
rename from ghc/compiler/hsSyn/HsDecls.lhs
rename to compiler/hsSyn/HsDecls.lhs
diff --git a/ghc/compiler/hsSyn/HsExpr.hi-boot-5 b/compiler/hsSyn/HsExpr.hi-boot-5
similarity index 100%
rename from ghc/compiler/hsSyn/HsExpr.hi-boot-5
rename to compiler/hsSyn/HsExpr.hi-boot-5
diff --git a/ghc/compiler/hsSyn/HsExpr.hi-boot-6 b/compiler/hsSyn/HsExpr.hi-boot-6
similarity index 100%
rename from ghc/compiler/hsSyn/HsExpr.hi-boot-6
rename to compiler/hsSyn/HsExpr.hi-boot-6
diff --git a/ghc/compiler/hsSyn/HsExpr.lhs b/compiler/hsSyn/HsExpr.lhs
similarity index 100%
rename from ghc/compiler/hsSyn/HsExpr.lhs
rename to compiler/hsSyn/HsExpr.lhs
diff --git a/ghc/compiler/hsSyn/HsExpr.lhs-boot b/compiler/hsSyn/HsExpr.lhs-boot
similarity index 100%
rename from ghc/compiler/hsSyn/HsExpr.lhs-boot
rename to compiler/hsSyn/HsExpr.lhs-boot
diff --git a/ghc/compiler/hsSyn/HsImpExp.lhs b/compiler/hsSyn/HsImpExp.lhs
similarity index 100%
rename from ghc/compiler/hsSyn/HsImpExp.lhs
rename to compiler/hsSyn/HsImpExp.lhs
diff --git a/ghc/compiler/hsSyn/HsLit.lhs b/compiler/hsSyn/HsLit.lhs
similarity index 100%
rename from ghc/compiler/hsSyn/HsLit.lhs
rename to compiler/hsSyn/HsLit.lhs
diff --git a/ghc/compiler/hsSyn/HsPat.hi-boot-5 b/compiler/hsSyn/HsPat.hi-boot-5
similarity index 100%
rename from ghc/compiler/hsSyn/HsPat.hi-boot-5
rename to compiler/hsSyn/HsPat.hi-boot-5
diff --git a/ghc/compiler/hsSyn/HsPat.hi-boot-6 b/compiler/hsSyn/HsPat.hi-boot-6
similarity index 100%
rename from ghc/compiler/hsSyn/HsPat.hi-boot-6
rename to compiler/hsSyn/HsPat.hi-boot-6
diff --git a/ghc/compiler/hsSyn/HsPat.lhs b/compiler/hsSyn/HsPat.lhs
similarity index 100%
rename from ghc/compiler/hsSyn/HsPat.lhs
rename to compiler/hsSyn/HsPat.lhs
diff --git a/ghc/compiler/hsSyn/HsPat.lhs-boot b/compiler/hsSyn/HsPat.lhs-boot
similarity index 100%
rename from ghc/compiler/hsSyn/HsPat.lhs-boot
rename to compiler/hsSyn/HsPat.lhs-boot
diff --git a/ghc/compiler/hsSyn/HsSyn.lhs b/compiler/hsSyn/HsSyn.lhs
similarity index 100%
rename from ghc/compiler/hsSyn/HsSyn.lhs
rename to compiler/hsSyn/HsSyn.lhs
diff --git a/ghc/compiler/hsSyn/HsTypes.lhs b/compiler/hsSyn/HsTypes.lhs
similarity index 100%
rename from ghc/compiler/hsSyn/HsTypes.lhs
rename to compiler/hsSyn/HsTypes.lhs
diff --git a/ghc/compiler/hsSyn/HsUtils.lhs b/compiler/hsSyn/HsUtils.lhs
similarity index 100%
rename from ghc/compiler/hsSyn/HsUtils.lhs
rename to compiler/hsSyn/HsUtils.lhs
diff --git a/ghc/compiler/iface/BinIface.hs b/compiler/iface/BinIface.hs
similarity index 100%
rename from ghc/compiler/iface/BinIface.hs
rename to compiler/iface/BinIface.hs
diff --git a/ghc/compiler/iface/BuildTyCl.lhs b/compiler/iface/BuildTyCl.lhs
similarity index 100%
rename from ghc/compiler/iface/BuildTyCl.lhs
rename to compiler/iface/BuildTyCl.lhs
diff --git a/ghc/compiler/iface/IfaceEnv.lhs b/compiler/iface/IfaceEnv.lhs
similarity index 100%
rename from ghc/compiler/iface/IfaceEnv.lhs
rename to compiler/iface/IfaceEnv.lhs
diff --git a/ghc/compiler/iface/IfaceSyn.lhs b/compiler/iface/IfaceSyn.lhs
similarity index 100%
rename from ghc/compiler/iface/IfaceSyn.lhs
rename to compiler/iface/IfaceSyn.lhs
diff --git a/ghc/compiler/iface/IfaceType.lhs b/compiler/iface/IfaceType.lhs
similarity index 100%
rename from ghc/compiler/iface/IfaceType.lhs
rename to compiler/iface/IfaceType.lhs
diff --git a/ghc/compiler/iface/LoadIface.lhs b/compiler/iface/LoadIface.lhs
similarity index 100%
rename from ghc/compiler/iface/LoadIface.lhs
rename to compiler/iface/LoadIface.lhs
diff --git a/ghc/compiler/iface/MkIface.lhs b/compiler/iface/MkIface.lhs
similarity index 100%
rename from ghc/compiler/iface/MkIface.lhs
rename to compiler/iface/MkIface.lhs
diff --git a/ghc/compiler/iface/TcIface.hi-boot-5 b/compiler/iface/TcIface.hi-boot-5
similarity index 100%
rename from ghc/compiler/iface/TcIface.hi-boot-5
rename to compiler/iface/TcIface.hi-boot-5
diff --git a/ghc/compiler/iface/TcIface.hi-boot-6 b/compiler/iface/TcIface.hi-boot-6
similarity index 100%
rename from ghc/compiler/iface/TcIface.hi-boot-6
rename to compiler/iface/TcIface.hi-boot-6
diff --git a/ghc/compiler/iface/TcIface.lhs b/compiler/iface/TcIface.lhs
similarity index 100%
rename from ghc/compiler/iface/TcIface.lhs
rename to compiler/iface/TcIface.lhs
diff --git a/ghc/compiler/iface/TcIface.lhs-boot b/compiler/iface/TcIface.lhs-boot
similarity index 100%
rename from ghc/compiler/iface/TcIface.lhs-boot
rename to compiler/iface/TcIface.lhs-boot
diff --git a/ghc/compiler/ilxGen/Entry.ilx b/compiler/ilxGen/Entry.ilx
similarity index 100%
rename from ghc/compiler/ilxGen/Entry.ilx
rename to compiler/ilxGen/Entry.ilx
diff --git a/ghc/compiler/ilxGen/IlxGen.lhs b/compiler/ilxGen/IlxGen.lhs
similarity index 100%
rename from ghc/compiler/ilxGen/IlxGen.lhs
rename to compiler/ilxGen/IlxGen.lhs
diff --git a/ghc/compiler/ilxGen/Makefile.stdlib b/compiler/ilxGen/Makefile.stdlib
similarity index 100%
rename from ghc/compiler/ilxGen/Makefile.stdlib
rename to compiler/ilxGen/Makefile.stdlib
diff --git a/ghc/compiler/ilxGen/tests/Makefile b/compiler/ilxGen/tests/Makefile
similarity index 100%
rename from ghc/compiler/ilxGen/tests/Makefile
rename to compiler/ilxGen/tests/Makefile
diff --git a/ghc/compiler/ilxGen/tests/PrelNum.hs b/compiler/ilxGen/tests/PrelNum.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/PrelNum.hs
rename to compiler/ilxGen/tests/PrelNum.hs
diff --git a/ghc/compiler/ilxGen/tests/build.mk b/compiler/ilxGen/tests/build.mk
similarity index 100%
rename from ghc/compiler/ilxGen/tests/build.mk
rename to compiler/ilxGen/tests/build.mk
diff --git a/ghc/compiler/ilxGen/tests/foo.hs b/compiler/ilxGen/tests/foo.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/foo.hs
rename to compiler/ilxGen/tests/foo.hs
diff --git a/ghc/compiler/ilxGen/tests/life.hs b/compiler/ilxGen/tests/life.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/life.hs
rename to compiler/ilxGen/tests/life.hs
diff --git a/ghc/compiler/ilxGen/tests/reduce.ml b/compiler/ilxGen/tests/reduce.ml
similarity index 100%
rename from ghc/compiler/ilxGen/tests/reduce.ml
rename to compiler/ilxGen/tests/reduce.ml
diff --git a/ghc/compiler/ilxGen/tests/test1-nostdlib.hs b/compiler/ilxGen/tests/test1-nostdlib.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test1-nostdlib.hs
rename to compiler/ilxGen/tests/test1-nostdlib.hs
diff --git a/ghc/compiler/ilxGen/tests/test1.hs b/compiler/ilxGen/tests/test1.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test1.hs
rename to compiler/ilxGen/tests/test1.hs
diff --git a/ghc/compiler/ilxGen/tests/test10.hs b/compiler/ilxGen/tests/test10.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test10.hs
rename to compiler/ilxGen/tests/test10.hs
diff --git a/ghc/compiler/ilxGen/tests/test11.hs b/compiler/ilxGen/tests/test11.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test11.hs
rename to compiler/ilxGen/tests/test11.hs
diff --git a/ghc/compiler/ilxGen/tests/test12.hs b/compiler/ilxGen/tests/test12.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test12.hs
rename to compiler/ilxGen/tests/test12.hs
diff --git a/ghc/compiler/ilxGen/tests/test13.hs b/compiler/ilxGen/tests/test13.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test13.hs
rename to compiler/ilxGen/tests/test13.hs
diff --git a/ghc/compiler/ilxGen/tests/test14.hs b/compiler/ilxGen/tests/test14.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test14.hs
rename to compiler/ilxGen/tests/test14.hs
diff --git a/ghc/compiler/ilxGen/tests/test15.hs b/compiler/ilxGen/tests/test15.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test15.hs
rename to compiler/ilxGen/tests/test15.hs
diff --git a/ghc/compiler/ilxGen/tests/test16.hs b/compiler/ilxGen/tests/test16.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test16.hs
rename to compiler/ilxGen/tests/test16.hs
diff --git a/ghc/compiler/ilxGen/tests/test17.hs b/compiler/ilxGen/tests/test17.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test17.hs
rename to compiler/ilxGen/tests/test17.hs
diff --git a/ghc/compiler/ilxGen/tests/test18.hs b/compiler/ilxGen/tests/test18.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test18.hs
rename to compiler/ilxGen/tests/test18.hs
diff --git a/ghc/compiler/ilxGen/tests/test19.hs b/compiler/ilxGen/tests/test19.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test19.hs
rename to compiler/ilxGen/tests/test19.hs
diff --git a/ghc/compiler/ilxGen/tests/test1b.hs b/compiler/ilxGen/tests/test1b.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test1b.hs
rename to compiler/ilxGen/tests/test1b.hs
diff --git a/ghc/compiler/ilxGen/tests/test2.hs b/compiler/ilxGen/tests/test2.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test2.hs
rename to compiler/ilxGen/tests/test2.hs
diff --git a/ghc/compiler/ilxGen/tests/test20.hs b/compiler/ilxGen/tests/test20.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test20.hs
rename to compiler/ilxGen/tests/test20.hs
diff --git a/ghc/compiler/ilxGen/tests/test21.hs b/compiler/ilxGen/tests/test21.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test21.hs
rename to compiler/ilxGen/tests/test21.hs
diff --git a/ghc/compiler/ilxGen/tests/test2b.hs b/compiler/ilxGen/tests/test2b.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test2b.hs
rename to compiler/ilxGen/tests/test2b.hs
diff --git a/ghc/compiler/ilxGen/tests/test2c.hs b/compiler/ilxGen/tests/test2c.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test2c.hs
rename to compiler/ilxGen/tests/test2c.hs
diff --git a/ghc/compiler/ilxGen/tests/test2d.hs b/compiler/ilxGen/tests/test2d.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test2d.hs
rename to compiler/ilxGen/tests/test2d.hs
diff --git a/ghc/compiler/ilxGen/tests/test3.hs b/compiler/ilxGen/tests/test3.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test3.hs
rename to compiler/ilxGen/tests/test3.hs
diff --git a/ghc/compiler/ilxGen/tests/test4.hs b/compiler/ilxGen/tests/test4.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test4.hs
rename to compiler/ilxGen/tests/test4.hs
diff --git a/ghc/compiler/ilxGen/tests/test5.hs b/compiler/ilxGen/tests/test5.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test5.hs
rename to compiler/ilxGen/tests/test5.hs
diff --git a/ghc/compiler/ilxGen/tests/test6.hs b/compiler/ilxGen/tests/test6.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test6.hs
rename to compiler/ilxGen/tests/test6.hs
diff --git a/ghc/compiler/ilxGen/tests/test7.hs b/compiler/ilxGen/tests/test7.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test7.hs
rename to compiler/ilxGen/tests/test7.hs
diff --git a/ghc/compiler/ilxGen/tests/test8.hs b/compiler/ilxGen/tests/test8.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test8.hs
rename to compiler/ilxGen/tests/test8.hs
diff --git a/ghc/compiler/ilxGen/tests/test9.hs b/compiler/ilxGen/tests/test9.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/test9.hs
rename to compiler/ilxGen/tests/test9.hs
diff --git a/ghc/compiler/ilxGen/tests/yes.hs b/compiler/ilxGen/tests/yes.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/yes.hs
rename to compiler/ilxGen/tests/yes.hs
diff --git a/ghc/compiler/ilxGen/tests/yes2.hs b/compiler/ilxGen/tests/yes2.hs
similarity index 100%
rename from ghc/compiler/ilxGen/tests/yes2.hs
rename to compiler/ilxGen/tests/yes2.hs
diff --git a/ghc/compiler/javaGen/Java.lhs b/compiler/javaGen/Java.lhs
similarity index 100%
rename from ghc/compiler/javaGen/Java.lhs
rename to compiler/javaGen/Java.lhs
diff --git a/ghc/compiler/javaGen/JavaGen.lhs b/compiler/javaGen/JavaGen.lhs
similarity index 100%
rename from ghc/compiler/javaGen/JavaGen.lhs
rename to compiler/javaGen/JavaGen.lhs
diff --git a/ghc/compiler/javaGen/PrintJava.lhs b/compiler/javaGen/PrintJava.lhs
similarity index 100%
rename from ghc/compiler/javaGen/PrintJava.lhs
rename to compiler/javaGen/PrintJava.lhs
diff --git a/ghc/compiler/main/CmdLineParser.hs b/compiler/main/CmdLineParser.hs
similarity index 100%
rename from ghc/compiler/main/CmdLineParser.hs
rename to compiler/main/CmdLineParser.hs
diff --git a/ghc/compiler/main/CodeOutput.lhs b/compiler/main/CodeOutput.lhs
similarity index 100%
rename from ghc/compiler/main/CodeOutput.lhs
rename to compiler/main/CodeOutput.lhs
diff --git a/ghc/compiler/main/Constants.lhs b/compiler/main/Constants.lhs
similarity index 100%
rename from ghc/compiler/main/Constants.lhs
rename to compiler/main/Constants.lhs
diff --git a/ghc/compiler/main/DriverMkDepend.hs b/compiler/main/DriverMkDepend.hs
similarity index 100%
rename from ghc/compiler/main/DriverMkDepend.hs
rename to compiler/main/DriverMkDepend.hs
diff --git a/ghc/compiler/main/DriverPhases.hs b/compiler/main/DriverPhases.hs
similarity index 100%
rename from ghc/compiler/main/DriverPhases.hs
rename to compiler/main/DriverPhases.hs
diff --git a/ghc/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
similarity index 100%
rename from ghc/compiler/main/DriverPipeline.hs
rename to compiler/main/DriverPipeline.hs
diff --git a/ghc/compiler/main/DynFlags.hs b/compiler/main/DynFlags.hs
similarity index 100%
rename from ghc/compiler/main/DynFlags.hs
rename to compiler/main/DynFlags.hs
diff --git a/ghc/compiler/main/ErrUtils.hi-boot-6 b/compiler/main/ErrUtils.hi-boot-6
similarity index 100%
rename from ghc/compiler/main/ErrUtils.hi-boot-6
rename to compiler/main/ErrUtils.hi-boot-6
diff --git a/ghc/compiler/main/ErrUtils.lhs b/compiler/main/ErrUtils.lhs
similarity index 100%
rename from ghc/compiler/main/ErrUtils.lhs
rename to compiler/main/ErrUtils.lhs
diff --git a/ghc/compiler/main/ErrUtils.lhs-boot b/compiler/main/ErrUtils.lhs-boot
similarity index 100%
rename from ghc/compiler/main/ErrUtils.lhs-boot
rename to compiler/main/ErrUtils.lhs-boot
diff --git a/ghc/compiler/main/Finder.lhs b/compiler/main/Finder.lhs
similarity index 100%
rename from ghc/compiler/main/Finder.lhs
rename to compiler/main/Finder.lhs
diff --git a/ghc/compiler/main/GHC.hs b/compiler/main/GHC.hs
similarity index 100%
rename from ghc/compiler/main/GHC.hs
rename to compiler/main/GHC.hs
diff --git a/ghc/compiler/main/HeaderInfo.hs b/compiler/main/HeaderInfo.hs
similarity index 100%
rename from ghc/compiler/main/HeaderInfo.hs
rename to compiler/main/HeaderInfo.hs
diff --git a/ghc/compiler/main/HscMain.lhs b/compiler/main/HscMain.lhs
similarity index 100%
rename from ghc/compiler/main/HscMain.lhs
rename to compiler/main/HscMain.lhs
diff --git a/ghc/compiler/main/HscStats.lhs b/compiler/main/HscStats.lhs
similarity index 100%
rename from ghc/compiler/main/HscStats.lhs
rename to compiler/main/HscStats.lhs
diff --git a/ghc/compiler/main/HscTypes.lhs b/compiler/main/HscTypes.lhs
similarity index 100%
rename from ghc/compiler/main/HscTypes.lhs
rename to compiler/main/HscTypes.lhs
diff --git a/ghc/compiler/main/Main.hs b/compiler/main/Main.hs
similarity index 100%
rename from ghc/compiler/main/Main.hs
rename to compiler/main/Main.hs
diff --git a/ghc/compiler/main/PackageConfig.hs b/compiler/main/PackageConfig.hs
similarity index 100%
rename from ghc/compiler/main/PackageConfig.hs
rename to compiler/main/PackageConfig.hs
diff --git a/ghc/compiler/main/Packages.hi-boot-5 b/compiler/main/Packages.hi-boot-5
similarity index 100%
rename from ghc/compiler/main/Packages.hi-boot-5
rename to compiler/main/Packages.hi-boot-5
diff --git a/ghc/compiler/main/Packages.hi-boot-6 b/compiler/main/Packages.hi-boot-6
similarity index 100%
rename from ghc/compiler/main/Packages.hi-boot-6
rename to compiler/main/Packages.hi-boot-6
diff --git a/ghc/compiler/main/Packages.lhs b/compiler/main/Packages.lhs
similarity index 100%
rename from ghc/compiler/main/Packages.lhs
rename to compiler/main/Packages.lhs
diff --git a/ghc/compiler/main/Packages.lhs-boot b/compiler/main/Packages.lhs-boot
similarity index 100%
rename from ghc/compiler/main/Packages.lhs-boot
rename to compiler/main/Packages.lhs-boot
diff --git a/ghc/compiler/main/ParsePkgConf.y b/compiler/main/ParsePkgConf.y
similarity index 100%
rename from ghc/compiler/main/ParsePkgConf.y
rename to compiler/main/ParsePkgConf.y
diff --git a/ghc/compiler/main/PprTyThing.hs b/compiler/main/PprTyThing.hs
similarity index 100%
rename from ghc/compiler/main/PprTyThing.hs
rename to compiler/main/PprTyThing.hs
diff --git a/ghc/compiler/main/StaticFlags.hs b/compiler/main/StaticFlags.hs
similarity index 100%
rename from ghc/compiler/main/StaticFlags.hs
rename to compiler/main/StaticFlags.hs
diff --git a/ghc/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs
similarity index 100%
rename from ghc/compiler/main/SysTools.lhs
rename to compiler/main/SysTools.lhs
diff --git a/ghc/compiler/main/TidyPgm.lhs b/compiler/main/TidyPgm.lhs
similarity index 100%
rename from ghc/compiler/main/TidyPgm.lhs
rename to compiler/main/TidyPgm.lhs
diff --git a/ghc/compiler/nativeGen/AsmCodeGen.lhs b/compiler/nativeGen/AsmCodeGen.lhs
similarity index 100%
rename from ghc/compiler/nativeGen/AsmCodeGen.lhs
rename to compiler/nativeGen/AsmCodeGen.lhs
diff --git a/ghc/compiler/nativeGen/MachCodeGen.hs b/compiler/nativeGen/MachCodeGen.hs
similarity index 100%
rename from ghc/compiler/nativeGen/MachCodeGen.hs
rename to compiler/nativeGen/MachCodeGen.hs
diff --git a/ghc/compiler/nativeGen/MachInstrs.hs b/compiler/nativeGen/MachInstrs.hs
similarity index 100%
rename from ghc/compiler/nativeGen/MachInstrs.hs
rename to compiler/nativeGen/MachInstrs.hs
diff --git a/ghc/compiler/nativeGen/MachRegs.lhs b/compiler/nativeGen/MachRegs.lhs
similarity index 100%
rename from ghc/compiler/nativeGen/MachRegs.lhs
rename to compiler/nativeGen/MachRegs.lhs
diff --git a/ghc/compiler/nativeGen/NCG.h b/compiler/nativeGen/NCG.h
similarity index 100%
rename from ghc/compiler/nativeGen/NCG.h
rename to compiler/nativeGen/NCG.h
diff --git a/ghc/compiler/nativeGen/NCGMonad.hs b/compiler/nativeGen/NCGMonad.hs
similarity index 100%
rename from ghc/compiler/nativeGen/NCGMonad.hs
rename to compiler/nativeGen/NCGMonad.hs
diff --git a/ghc/compiler/nativeGen/NOTES b/compiler/nativeGen/NOTES
similarity index 100%
rename from ghc/compiler/nativeGen/NOTES
rename to compiler/nativeGen/NOTES
diff --git a/ghc/compiler/nativeGen/PositionIndependentCode.hs b/compiler/nativeGen/PositionIndependentCode.hs
similarity index 100%
rename from ghc/compiler/nativeGen/PositionIndependentCode.hs
rename to compiler/nativeGen/PositionIndependentCode.hs
diff --git a/ghc/compiler/nativeGen/PprMach.hs b/compiler/nativeGen/PprMach.hs
similarity index 100%
rename from ghc/compiler/nativeGen/PprMach.hs
rename to compiler/nativeGen/PprMach.hs
diff --git a/ghc/compiler/nativeGen/RegAllocInfo.hs b/compiler/nativeGen/RegAllocInfo.hs
similarity index 100%
rename from ghc/compiler/nativeGen/RegAllocInfo.hs
rename to compiler/nativeGen/RegAllocInfo.hs
diff --git a/ghc/compiler/nativeGen/RegisterAlloc.hs b/compiler/nativeGen/RegisterAlloc.hs
similarity index 100%
rename from ghc/compiler/nativeGen/RegisterAlloc.hs
rename to compiler/nativeGen/RegisterAlloc.hs
diff --git a/ghc/compiler/ndpFlatten/FlattenInfo.hs b/compiler/ndpFlatten/FlattenInfo.hs
similarity index 100%
rename from ghc/compiler/ndpFlatten/FlattenInfo.hs
rename to compiler/ndpFlatten/FlattenInfo.hs
diff --git a/ghc/compiler/ndpFlatten/FlattenMonad.hs b/compiler/ndpFlatten/FlattenMonad.hs
similarity index 100%
rename from ghc/compiler/ndpFlatten/FlattenMonad.hs
rename to compiler/ndpFlatten/FlattenMonad.hs
diff --git a/ghc/compiler/ndpFlatten/Flattening.hs b/compiler/ndpFlatten/Flattening.hs
similarity index 100%
rename from ghc/compiler/ndpFlatten/Flattening.hs
rename to compiler/ndpFlatten/Flattening.hs
diff --git a/ghc/compiler/ndpFlatten/NDPCoreUtils.hs b/compiler/ndpFlatten/NDPCoreUtils.hs
similarity index 100%
rename from ghc/compiler/ndpFlatten/NDPCoreUtils.hs
rename to compiler/ndpFlatten/NDPCoreUtils.hs
diff --git a/ghc/compiler/ndpFlatten/PArrAnal.hs b/compiler/ndpFlatten/PArrAnal.hs
similarity index 100%
rename from ghc/compiler/ndpFlatten/PArrAnal.hs
rename to compiler/ndpFlatten/PArrAnal.hs
diff --git a/ghc/compiler/ndpFlatten/TODO b/compiler/ndpFlatten/TODO
similarity index 100%
rename from ghc/compiler/ndpFlatten/TODO
rename to compiler/ndpFlatten/TODO
diff --git a/ghc/compiler/package.conf.in b/compiler/package.conf.in
similarity index 100%
rename from ghc/compiler/package.conf.in
rename to compiler/package.conf.in
diff --git a/ghc/compiler/parser/Ctype.lhs b/compiler/parser/Ctype.lhs
similarity index 100%
rename from ghc/compiler/parser/Ctype.lhs
rename to compiler/parser/Ctype.lhs
diff --git a/ghc/compiler/parser/LexCore.hs b/compiler/parser/LexCore.hs
similarity index 100%
rename from ghc/compiler/parser/LexCore.hs
rename to compiler/parser/LexCore.hs
diff --git a/ghc/compiler/parser/Lexer.x b/compiler/parser/Lexer.x
similarity index 100%
rename from ghc/compiler/parser/Lexer.x
rename to compiler/parser/Lexer.x
diff --git a/ghc/compiler/parser/Parser.y.pp b/compiler/parser/Parser.y.pp
similarity index 100%
rename from ghc/compiler/parser/Parser.y.pp
rename to compiler/parser/Parser.y.pp
diff --git a/ghc/compiler/parser/ParserCore.y b/compiler/parser/ParserCore.y
similarity index 100%
rename from ghc/compiler/parser/ParserCore.y
rename to compiler/parser/ParserCore.y
diff --git a/ghc/compiler/parser/ParserCoreUtils.hs b/compiler/parser/ParserCoreUtils.hs
similarity index 100%
rename from ghc/compiler/parser/ParserCoreUtils.hs
rename to compiler/parser/ParserCoreUtils.hs
diff --git a/ghc/compiler/parser/RdrHsSyn.lhs b/compiler/parser/RdrHsSyn.lhs
similarity index 100%
rename from ghc/compiler/parser/RdrHsSyn.lhs
rename to compiler/parser/RdrHsSyn.lhs
diff --git a/ghc/compiler/parser/cutils.c b/compiler/parser/cutils.c
similarity index 100%
rename from ghc/compiler/parser/cutils.c
rename to compiler/parser/cutils.c
diff --git a/ghc/compiler/parser/cutils.h b/compiler/parser/cutils.h
similarity index 100%
rename from ghc/compiler/parser/cutils.h
rename to compiler/parser/cutils.h
diff --git a/ghc/compiler/parser/hschooks.c b/compiler/parser/hschooks.c
similarity index 100%
rename from ghc/compiler/parser/hschooks.c
rename to compiler/parser/hschooks.c
diff --git a/ghc/compiler/parser/hschooks.h b/compiler/parser/hschooks.h
similarity index 100%
rename from ghc/compiler/parser/hschooks.h
rename to compiler/parser/hschooks.h
diff --git a/ghc/compiler/prelude/ForeignCall.lhs b/compiler/prelude/ForeignCall.lhs
similarity index 100%
rename from ghc/compiler/prelude/ForeignCall.lhs
rename to compiler/prelude/ForeignCall.lhs
diff --git a/ghc/compiler/prelude/PrelInfo.lhs b/compiler/prelude/PrelInfo.lhs
similarity index 100%
rename from ghc/compiler/prelude/PrelInfo.lhs
rename to compiler/prelude/PrelInfo.lhs
diff --git a/ghc/compiler/prelude/PrelNames.lhs b/compiler/prelude/PrelNames.lhs
similarity index 100%
rename from ghc/compiler/prelude/PrelNames.lhs
rename to compiler/prelude/PrelNames.lhs
diff --git a/ghc/compiler/prelude/PrelRules.lhs b/compiler/prelude/PrelRules.lhs
similarity index 100%
rename from ghc/compiler/prelude/PrelRules.lhs
rename to compiler/prelude/PrelRules.lhs
diff --git a/ghc/compiler/prelude/PrimOp.lhs b/compiler/prelude/PrimOp.lhs
similarity index 100%
rename from ghc/compiler/prelude/PrimOp.lhs
rename to compiler/prelude/PrimOp.lhs
diff --git a/ghc/compiler/prelude/TysPrim.lhs b/compiler/prelude/TysPrim.lhs
similarity index 100%
rename from ghc/compiler/prelude/TysPrim.lhs
rename to compiler/prelude/TysPrim.lhs
diff --git a/ghc/compiler/prelude/TysWiredIn.lhs b/compiler/prelude/TysWiredIn.lhs
similarity index 100%
rename from ghc/compiler/prelude/TysWiredIn.lhs
rename to compiler/prelude/TysWiredIn.lhs
diff --git a/ghc/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp
similarity index 100%
rename from ghc/compiler/prelude/primops.txt.pp
rename to compiler/prelude/primops.txt.pp
diff --git a/ghc/compiler/profiling/CostCentre.lhs b/compiler/profiling/CostCentre.lhs
similarity index 100%
rename from ghc/compiler/profiling/CostCentre.lhs
rename to compiler/profiling/CostCentre.lhs
diff --git a/ghc/compiler/profiling/NOTES b/compiler/profiling/NOTES
similarity index 100%
rename from ghc/compiler/profiling/NOTES
rename to compiler/profiling/NOTES
diff --git a/ghc/compiler/profiling/SCCfinal.lhs b/compiler/profiling/SCCfinal.lhs
similarity index 100%
rename from ghc/compiler/profiling/SCCfinal.lhs
rename to compiler/profiling/SCCfinal.lhs
diff --git a/ghc/compiler/rename/RnBinds.lhs b/compiler/rename/RnBinds.lhs
similarity index 100%
rename from ghc/compiler/rename/RnBinds.lhs
rename to compiler/rename/RnBinds.lhs
diff --git a/ghc/compiler/rename/RnEnv.lhs b/compiler/rename/RnEnv.lhs
similarity index 100%
rename from ghc/compiler/rename/RnEnv.lhs
rename to compiler/rename/RnEnv.lhs
diff --git a/ghc/compiler/rename/RnExpr.hi-boot-6 b/compiler/rename/RnExpr.hi-boot-6
similarity index 100%
rename from ghc/compiler/rename/RnExpr.hi-boot-6
rename to compiler/rename/RnExpr.hi-boot-6
diff --git a/ghc/compiler/rename/RnExpr.lhs b/compiler/rename/RnExpr.lhs
similarity index 100%
rename from ghc/compiler/rename/RnExpr.lhs
rename to compiler/rename/RnExpr.lhs
diff --git a/ghc/compiler/rename/RnExpr.lhs-boot b/compiler/rename/RnExpr.lhs-boot
similarity index 100%
rename from ghc/compiler/rename/RnExpr.lhs-boot
rename to compiler/rename/RnExpr.lhs-boot
diff --git a/ghc/compiler/rename/RnHsSyn.lhs b/compiler/rename/RnHsSyn.lhs
similarity index 100%
rename from ghc/compiler/rename/RnHsSyn.lhs
rename to compiler/rename/RnHsSyn.lhs
diff --git a/ghc/compiler/rename/RnNames.lhs b/compiler/rename/RnNames.lhs
similarity index 100%
rename from ghc/compiler/rename/RnNames.lhs
rename to compiler/rename/RnNames.lhs
diff --git a/ghc/compiler/rename/RnSource.hi-boot-5 b/compiler/rename/RnSource.hi-boot-5
similarity index 100%
rename from ghc/compiler/rename/RnSource.hi-boot-5
rename to compiler/rename/RnSource.hi-boot-5
diff --git a/ghc/compiler/rename/RnSource.lhs b/compiler/rename/RnSource.lhs
similarity index 100%
rename from ghc/compiler/rename/RnSource.lhs
rename to compiler/rename/RnSource.lhs
diff --git a/ghc/compiler/rename/RnTypes.lhs b/compiler/rename/RnTypes.lhs
similarity index 100%
rename from ghc/compiler/rename/RnTypes.lhs
rename to compiler/rename/RnTypes.lhs
diff --git a/ghc/compiler/rename/rename.tex b/compiler/rename/rename.tex
similarity index 100%
rename from ghc/compiler/rename/rename.tex
rename to compiler/rename/rename.tex
diff --git a/ghc/compiler/simplCore/CSE.lhs b/compiler/simplCore/CSE.lhs
similarity index 100%
rename from ghc/compiler/simplCore/CSE.lhs
rename to compiler/simplCore/CSE.lhs
diff --git a/ghc/compiler/simplCore/FloatIn.lhs b/compiler/simplCore/FloatIn.lhs
similarity index 100%
rename from ghc/compiler/simplCore/FloatIn.lhs
rename to compiler/simplCore/FloatIn.lhs
diff --git a/ghc/compiler/simplCore/FloatOut.lhs b/compiler/simplCore/FloatOut.lhs
similarity index 100%
rename from ghc/compiler/simplCore/FloatOut.lhs
rename to compiler/simplCore/FloatOut.lhs
diff --git a/ghc/compiler/simplCore/LiberateCase.lhs b/compiler/simplCore/LiberateCase.lhs
similarity index 100%
rename from ghc/compiler/simplCore/LiberateCase.lhs
rename to compiler/simplCore/LiberateCase.lhs
diff --git a/ghc/compiler/simplCore/OccurAnal.lhs b/compiler/simplCore/OccurAnal.lhs
similarity index 100%
rename from ghc/compiler/simplCore/OccurAnal.lhs
rename to compiler/simplCore/OccurAnal.lhs
diff --git a/ghc/compiler/simplCore/SAT.lhs b/compiler/simplCore/SAT.lhs
similarity index 100%
rename from ghc/compiler/simplCore/SAT.lhs
rename to compiler/simplCore/SAT.lhs
diff --git a/ghc/compiler/simplCore/SATMonad.lhs b/compiler/simplCore/SATMonad.lhs
similarity index 100%
rename from ghc/compiler/simplCore/SATMonad.lhs
rename to compiler/simplCore/SATMonad.lhs
diff --git a/ghc/compiler/simplCore/SetLevels.lhs b/compiler/simplCore/SetLevels.lhs
similarity index 100%
rename from ghc/compiler/simplCore/SetLevels.lhs
rename to compiler/simplCore/SetLevels.lhs
diff --git a/ghc/compiler/simplCore/SimplCore.lhs b/compiler/simplCore/SimplCore.lhs
similarity index 100%
rename from ghc/compiler/simplCore/SimplCore.lhs
rename to compiler/simplCore/SimplCore.lhs
diff --git a/ghc/compiler/simplCore/SimplEnv.lhs b/compiler/simplCore/SimplEnv.lhs
similarity index 100%
rename from ghc/compiler/simplCore/SimplEnv.lhs
rename to compiler/simplCore/SimplEnv.lhs
diff --git a/ghc/compiler/simplCore/SimplMonad.lhs b/compiler/simplCore/SimplMonad.lhs
similarity index 100%
rename from ghc/compiler/simplCore/SimplMonad.lhs
rename to compiler/simplCore/SimplMonad.lhs
diff --git a/ghc/compiler/simplCore/SimplUtils.lhs b/compiler/simplCore/SimplUtils.lhs
similarity index 100%
rename from ghc/compiler/simplCore/SimplUtils.lhs
rename to compiler/simplCore/SimplUtils.lhs
diff --git a/ghc/compiler/simplCore/Simplify.lhs b/compiler/simplCore/Simplify.lhs
similarity index 100%
rename from ghc/compiler/simplCore/Simplify.lhs
rename to compiler/simplCore/Simplify.lhs
diff --git a/ghc/compiler/simplCore/simplifier.tib b/compiler/simplCore/simplifier.tib
similarity index 100%
rename from ghc/compiler/simplCore/simplifier.tib
rename to compiler/simplCore/simplifier.tib
diff --git a/ghc/compiler/simplStg/SRT.lhs b/compiler/simplStg/SRT.lhs
similarity index 100%
rename from ghc/compiler/simplStg/SRT.lhs
rename to compiler/simplStg/SRT.lhs
diff --git a/ghc/compiler/simplStg/SimplStg.lhs b/compiler/simplStg/SimplStg.lhs
similarity index 100%
rename from ghc/compiler/simplStg/SimplStg.lhs
rename to compiler/simplStg/SimplStg.lhs
diff --git a/ghc/compiler/simplStg/StgStats.lhs b/compiler/simplStg/StgStats.lhs
similarity index 100%
rename from ghc/compiler/simplStg/StgStats.lhs
rename to compiler/simplStg/StgStats.lhs
diff --git a/ghc/compiler/specialise/Rules.lhs b/compiler/specialise/Rules.lhs
similarity index 100%
rename from ghc/compiler/specialise/Rules.lhs
rename to compiler/specialise/Rules.lhs
diff --git a/ghc/compiler/specialise/SpecConstr.lhs b/compiler/specialise/SpecConstr.lhs
similarity index 100%
rename from ghc/compiler/specialise/SpecConstr.lhs
rename to compiler/specialise/SpecConstr.lhs
diff --git a/ghc/compiler/specialise/Specialise.lhs b/compiler/specialise/Specialise.lhs
similarity index 100%
rename from ghc/compiler/specialise/Specialise.lhs
rename to compiler/specialise/Specialise.lhs
diff --git a/ghc/compiler/stgSyn/CoreToStg.lhs b/compiler/stgSyn/CoreToStg.lhs
similarity index 100%
rename from ghc/compiler/stgSyn/CoreToStg.lhs
rename to compiler/stgSyn/CoreToStg.lhs
diff --git a/ghc/compiler/stgSyn/StgLint.lhs b/compiler/stgSyn/StgLint.lhs
similarity index 100%
rename from ghc/compiler/stgSyn/StgLint.lhs
rename to compiler/stgSyn/StgLint.lhs
diff --git a/ghc/compiler/stgSyn/StgSyn.lhs b/compiler/stgSyn/StgSyn.lhs
similarity index 100%
rename from ghc/compiler/stgSyn/StgSyn.lhs
rename to compiler/stgSyn/StgSyn.lhs
diff --git a/ghc/compiler/stranal/DmdAnal.lhs b/compiler/stranal/DmdAnal.lhs
similarity index 100%
rename from ghc/compiler/stranal/DmdAnal.lhs
rename to compiler/stranal/DmdAnal.lhs
diff --git a/ghc/compiler/stranal/SaAbsInt.lhs b/compiler/stranal/SaAbsInt.lhs
similarity index 100%
rename from ghc/compiler/stranal/SaAbsInt.lhs
rename to compiler/stranal/SaAbsInt.lhs
diff --git a/ghc/compiler/stranal/SaLib.lhs b/compiler/stranal/SaLib.lhs
similarity index 100%
rename from ghc/compiler/stranal/SaLib.lhs
rename to compiler/stranal/SaLib.lhs
diff --git a/ghc/compiler/stranal/StrictAnal.lhs b/compiler/stranal/StrictAnal.lhs
similarity index 100%
rename from ghc/compiler/stranal/StrictAnal.lhs
rename to compiler/stranal/StrictAnal.lhs
diff --git a/ghc/compiler/stranal/WorkWrap.lhs b/compiler/stranal/WorkWrap.lhs
similarity index 100%
rename from ghc/compiler/stranal/WorkWrap.lhs
rename to compiler/stranal/WorkWrap.lhs
diff --git a/ghc/compiler/stranal/WwLib.lhs b/compiler/stranal/WwLib.lhs
similarity index 100%
rename from ghc/compiler/stranal/WwLib.lhs
rename to compiler/stranal/WwLib.lhs
diff --git a/ghc/compiler/typecheck/Inst.lhs b/compiler/typecheck/Inst.lhs
similarity index 100%
rename from ghc/compiler/typecheck/Inst.lhs
rename to compiler/typecheck/Inst.lhs
diff --git a/ghc/compiler/typecheck/TcArrows.lhs b/compiler/typecheck/TcArrows.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcArrows.lhs
rename to compiler/typecheck/TcArrows.lhs
diff --git a/ghc/compiler/typecheck/TcBinds.lhs b/compiler/typecheck/TcBinds.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcBinds.lhs
rename to compiler/typecheck/TcBinds.lhs
diff --git a/ghc/compiler/typecheck/TcClassDcl.lhs b/compiler/typecheck/TcClassDcl.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcClassDcl.lhs
rename to compiler/typecheck/TcClassDcl.lhs
diff --git a/ghc/compiler/typecheck/TcDefaults.lhs b/compiler/typecheck/TcDefaults.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcDefaults.lhs
rename to compiler/typecheck/TcDefaults.lhs
diff --git a/ghc/compiler/typecheck/TcDeriv.lhs b/compiler/typecheck/TcDeriv.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcDeriv.lhs
rename to compiler/typecheck/TcDeriv.lhs
diff --git a/ghc/compiler/typecheck/TcEnv.lhs b/compiler/typecheck/TcEnv.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcEnv.lhs
rename to compiler/typecheck/TcEnv.lhs
diff --git a/ghc/compiler/typecheck/TcExpr.hi-boot-5 b/compiler/typecheck/TcExpr.hi-boot-5
similarity index 100%
rename from ghc/compiler/typecheck/TcExpr.hi-boot-5
rename to compiler/typecheck/TcExpr.hi-boot-5
diff --git a/ghc/compiler/typecheck/TcExpr.hi-boot-6 b/compiler/typecheck/TcExpr.hi-boot-6
similarity index 100%
rename from ghc/compiler/typecheck/TcExpr.hi-boot-6
rename to compiler/typecheck/TcExpr.hi-boot-6
diff --git a/ghc/compiler/typecheck/TcExpr.lhs b/compiler/typecheck/TcExpr.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcExpr.lhs
rename to compiler/typecheck/TcExpr.lhs
diff --git a/ghc/compiler/typecheck/TcExpr.lhs-boot b/compiler/typecheck/TcExpr.lhs-boot
similarity index 100%
rename from ghc/compiler/typecheck/TcExpr.lhs-boot
rename to compiler/typecheck/TcExpr.lhs-boot
diff --git a/ghc/compiler/typecheck/TcForeign.lhs b/compiler/typecheck/TcForeign.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcForeign.lhs
rename to compiler/typecheck/TcForeign.lhs
diff --git a/ghc/compiler/typecheck/TcGenDeriv.lhs b/compiler/typecheck/TcGenDeriv.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcGenDeriv.lhs
rename to compiler/typecheck/TcGenDeriv.lhs
diff --git a/ghc/compiler/typecheck/TcHsSyn.lhs b/compiler/typecheck/TcHsSyn.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcHsSyn.lhs
rename to compiler/typecheck/TcHsSyn.lhs
diff --git a/ghc/compiler/typecheck/TcHsType.lhs b/compiler/typecheck/TcHsType.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcHsType.lhs
rename to compiler/typecheck/TcHsType.lhs
diff --git a/ghc/compiler/typecheck/TcInstDcls.lhs b/compiler/typecheck/TcInstDcls.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcInstDcls.lhs
rename to compiler/typecheck/TcInstDcls.lhs
diff --git a/ghc/compiler/typecheck/TcMType.lhs b/compiler/typecheck/TcMType.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcMType.lhs
rename to compiler/typecheck/TcMType.lhs
diff --git a/ghc/compiler/typecheck/TcMatches.hi-boot-5 b/compiler/typecheck/TcMatches.hi-boot-5
similarity index 100%
rename from ghc/compiler/typecheck/TcMatches.hi-boot-5
rename to compiler/typecheck/TcMatches.hi-boot-5
diff --git a/ghc/compiler/typecheck/TcMatches.hi-boot-6 b/compiler/typecheck/TcMatches.hi-boot-6
similarity index 100%
rename from ghc/compiler/typecheck/TcMatches.hi-boot-6
rename to compiler/typecheck/TcMatches.hi-boot-6
diff --git a/ghc/compiler/typecheck/TcMatches.lhs b/compiler/typecheck/TcMatches.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcMatches.lhs
rename to compiler/typecheck/TcMatches.lhs
diff --git a/ghc/compiler/typecheck/TcMatches.lhs-boot b/compiler/typecheck/TcMatches.lhs-boot
similarity index 100%
rename from ghc/compiler/typecheck/TcMatches.lhs-boot
rename to compiler/typecheck/TcMatches.lhs-boot
diff --git a/ghc/compiler/typecheck/TcPat.lhs b/compiler/typecheck/TcPat.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcPat.lhs
rename to compiler/typecheck/TcPat.lhs
diff --git a/ghc/compiler/typecheck/TcRnDriver.lhs b/compiler/typecheck/TcRnDriver.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcRnDriver.lhs
rename to compiler/typecheck/TcRnDriver.lhs
diff --git a/ghc/compiler/typecheck/TcRnMonad.lhs b/compiler/typecheck/TcRnMonad.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcRnMonad.lhs
rename to compiler/typecheck/TcRnMonad.lhs
diff --git a/ghc/compiler/typecheck/TcRnTypes.lhs b/compiler/typecheck/TcRnTypes.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcRnTypes.lhs
rename to compiler/typecheck/TcRnTypes.lhs
diff --git a/ghc/compiler/typecheck/TcRules.lhs b/compiler/typecheck/TcRules.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcRules.lhs
rename to compiler/typecheck/TcRules.lhs
diff --git a/ghc/compiler/typecheck/TcSimplify.lhs b/compiler/typecheck/TcSimplify.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcSimplify.lhs
rename to compiler/typecheck/TcSimplify.lhs
diff --git a/ghc/compiler/typecheck/TcSplice.hi-boot-6 b/compiler/typecheck/TcSplice.hi-boot-6
similarity index 100%
rename from ghc/compiler/typecheck/TcSplice.hi-boot-6
rename to compiler/typecheck/TcSplice.hi-boot-6
diff --git a/ghc/compiler/typecheck/TcSplice.lhs b/compiler/typecheck/TcSplice.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcSplice.lhs
rename to compiler/typecheck/TcSplice.lhs
diff --git a/ghc/compiler/typecheck/TcSplice.lhs-boot b/compiler/typecheck/TcSplice.lhs-boot
similarity index 100%
rename from ghc/compiler/typecheck/TcSplice.lhs-boot
rename to compiler/typecheck/TcSplice.lhs-boot
diff --git a/ghc/compiler/typecheck/TcTyClsDecls.lhs b/compiler/typecheck/TcTyClsDecls.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcTyClsDecls.lhs
rename to compiler/typecheck/TcTyClsDecls.lhs
diff --git a/ghc/compiler/typecheck/TcTyDecls.lhs b/compiler/typecheck/TcTyDecls.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcTyDecls.lhs
rename to compiler/typecheck/TcTyDecls.lhs
diff --git a/ghc/compiler/typecheck/TcType.hi-boot-5 b/compiler/typecheck/TcType.hi-boot-5
similarity index 100%
rename from ghc/compiler/typecheck/TcType.hi-boot-5
rename to compiler/typecheck/TcType.hi-boot-5
diff --git a/ghc/compiler/typecheck/TcType.hi-boot-6 b/compiler/typecheck/TcType.hi-boot-6
similarity index 100%
rename from ghc/compiler/typecheck/TcType.hi-boot-6
rename to compiler/typecheck/TcType.hi-boot-6
diff --git a/ghc/compiler/typecheck/TcType.lhs b/compiler/typecheck/TcType.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcType.lhs
rename to compiler/typecheck/TcType.lhs
diff --git a/ghc/compiler/typecheck/TcType.lhs-boot b/compiler/typecheck/TcType.lhs-boot
similarity index 100%
rename from ghc/compiler/typecheck/TcType.lhs-boot
rename to compiler/typecheck/TcType.lhs-boot
diff --git a/ghc/compiler/typecheck/TcUnify.hi-boot-5 b/compiler/typecheck/TcUnify.hi-boot-5
similarity index 100%
rename from ghc/compiler/typecheck/TcUnify.hi-boot-5
rename to compiler/typecheck/TcUnify.hi-boot-5
diff --git a/ghc/compiler/typecheck/TcUnify.hi-boot-6 b/compiler/typecheck/TcUnify.hi-boot-6
similarity index 100%
rename from ghc/compiler/typecheck/TcUnify.hi-boot-6
rename to compiler/typecheck/TcUnify.hi-boot-6
diff --git a/ghc/compiler/typecheck/TcUnify.lhs b/compiler/typecheck/TcUnify.lhs
similarity index 100%
rename from ghc/compiler/typecheck/TcUnify.lhs
rename to compiler/typecheck/TcUnify.lhs
diff --git a/ghc/compiler/typecheck/TcUnify.lhs-boot b/compiler/typecheck/TcUnify.lhs-boot
similarity index 100%
rename from ghc/compiler/typecheck/TcUnify.lhs-boot
rename to compiler/typecheck/TcUnify.lhs-boot
diff --git a/ghc/compiler/types/Class.lhs b/compiler/types/Class.lhs
similarity index 100%
rename from ghc/compiler/types/Class.lhs
rename to compiler/types/Class.lhs
diff --git a/ghc/compiler/types/FunDeps.lhs b/compiler/types/FunDeps.lhs
similarity index 100%
rename from ghc/compiler/types/FunDeps.lhs
rename to compiler/types/FunDeps.lhs
diff --git a/ghc/compiler/types/Generics.lhs b/compiler/types/Generics.lhs
similarity index 100%
rename from ghc/compiler/types/Generics.lhs
rename to compiler/types/Generics.lhs
diff --git a/ghc/compiler/types/InstEnv.lhs b/compiler/types/InstEnv.lhs
similarity index 100%
rename from ghc/compiler/types/InstEnv.lhs
rename to compiler/types/InstEnv.lhs
diff --git a/ghc/compiler/types/Kind.lhs b/compiler/types/Kind.lhs
similarity index 100%
rename from ghc/compiler/types/Kind.lhs
rename to compiler/types/Kind.lhs
diff --git a/ghc/compiler/types/TyCon.hi-boot-5 b/compiler/types/TyCon.hi-boot-5
similarity index 100%
rename from ghc/compiler/types/TyCon.hi-boot-5
rename to compiler/types/TyCon.hi-boot-5
diff --git a/ghc/compiler/types/TyCon.hi-boot-6 b/compiler/types/TyCon.hi-boot-6
similarity index 100%
rename from ghc/compiler/types/TyCon.hi-boot-6
rename to compiler/types/TyCon.hi-boot-6
diff --git a/ghc/compiler/types/TyCon.lhs b/compiler/types/TyCon.lhs
similarity index 100%
rename from ghc/compiler/types/TyCon.lhs
rename to compiler/types/TyCon.lhs
diff --git a/ghc/compiler/types/TyCon.lhs-boot b/compiler/types/TyCon.lhs-boot
similarity index 100%
rename from ghc/compiler/types/TyCon.lhs-boot
rename to compiler/types/TyCon.lhs-boot
diff --git a/ghc/compiler/types/Type.lhs b/compiler/types/Type.lhs
similarity index 100%
rename from ghc/compiler/types/Type.lhs
rename to compiler/types/Type.lhs
diff --git a/ghc/compiler/types/TypeRep.hi-boot-5 b/compiler/types/TypeRep.hi-boot-5
similarity index 100%
rename from ghc/compiler/types/TypeRep.hi-boot-5
rename to compiler/types/TypeRep.hi-boot-5
diff --git a/ghc/compiler/types/TypeRep.hi-boot-6 b/compiler/types/TypeRep.hi-boot-6
similarity index 100%
rename from ghc/compiler/types/TypeRep.hi-boot-6
rename to compiler/types/TypeRep.hi-boot-6
diff --git a/ghc/compiler/types/TypeRep.lhs b/compiler/types/TypeRep.lhs
similarity index 100%
rename from ghc/compiler/types/TypeRep.lhs
rename to compiler/types/TypeRep.lhs
diff --git a/ghc/compiler/types/TypeRep.lhs-boot b/compiler/types/TypeRep.lhs-boot
similarity index 100%
rename from ghc/compiler/types/TypeRep.lhs-boot
rename to compiler/types/TypeRep.lhs-boot
diff --git a/ghc/compiler/types/Unify.lhs b/compiler/types/Unify.lhs
similarity index 100%
rename from ghc/compiler/types/Unify.lhs
rename to compiler/types/Unify.lhs
diff --git a/ghc/compiler/utils/Bag.lhs b/compiler/utils/Bag.lhs
similarity index 100%
rename from ghc/compiler/utils/Bag.lhs
rename to compiler/utils/Bag.lhs
diff --git a/ghc/compiler/utils/Binary.hs b/compiler/utils/Binary.hs
similarity index 100%
rename from ghc/compiler/utils/Binary.hs
rename to compiler/utils/Binary.hs
diff --git a/ghc/compiler/utils/BitSet.lhs b/compiler/utils/BitSet.lhs
similarity index 100%
rename from ghc/compiler/utils/BitSet.lhs
rename to compiler/utils/BitSet.lhs
diff --git a/ghc/compiler/utils/BufWrite.hs b/compiler/utils/BufWrite.hs
similarity index 100%
rename from ghc/compiler/utils/BufWrite.hs
rename to compiler/utils/BufWrite.hs
diff --git a/ghc/compiler/utils/Digraph.lhs b/compiler/utils/Digraph.lhs
similarity index 100%
rename from ghc/compiler/utils/Digraph.lhs
rename to compiler/utils/Digraph.lhs
diff --git a/ghc/compiler/utils/Encoding.hs b/compiler/utils/Encoding.hs
similarity index 100%
rename from ghc/compiler/utils/Encoding.hs
rename to compiler/utils/Encoding.hs
diff --git a/ghc/compiler/utils/FastMutInt.lhs b/compiler/utils/FastMutInt.lhs
similarity index 100%
rename from ghc/compiler/utils/FastMutInt.lhs
rename to compiler/utils/FastMutInt.lhs
diff --git a/ghc/compiler/utils/FastString.lhs b/compiler/utils/FastString.lhs
similarity index 100%
rename from ghc/compiler/utils/FastString.lhs
rename to compiler/utils/FastString.lhs
diff --git a/ghc/compiler/utils/FastTypes.lhs b/compiler/utils/FastTypes.lhs
similarity index 100%
rename from ghc/compiler/utils/FastTypes.lhs
rename to compiler/utils/FastTypes.lhs
diff --git a/ghc/compiler/utils/FiniteMap.lhs b/compiler/utils/FiniteMap.lhs
similarity index 100%
rename from ghc/compiler/utils/FiniteMap.lhs
rename to compiler/utils/FiniteMap.lhs
diff --git a/ghc/compiler/utils/IOEnv.hs b/compiler/utils/IOEnv.hs
similarity index 100%
rename from ghc/compiler/utils/IOEnv.hs
rename to compiler/utils/IOEnv.hs
diff --git a/ghc/compiler/utils/ListSetOps.lhs b/compiler/utils/ListSetOps.lhs
similarity index 100%
rename from ghc/compiler/utils/ListSetOps.lhs
rename to compiler/utils/ListSetOps.lhs
diff --git a/ghc/compiler/utils/Maybes.lhs b/compiler/utils/Maybes.lhs
similarity index 100%
rename from ghc/compiler/utils/Maybes.lhs
rename to compiler/utils/Maybes.lhs
diff --git a/ghc/compiler/utils/OrdList.lhs b/compiler/utils/OrdList.lhs
similarity index 100%
rename from ghc/compiler/utils/OrdList.lhs
rename to compiler/utils/OrdList.lhs
diff --git a/ghc/compiler/utils/Outputable.lhs b/compiler/utils/Outputable.lhs
similarity index 100%
rename from ghc/compiler/utils/Outputable.lhs
rename to compiler/utils/Outputable.lhs
diff --git a/ghc/compiler/utils/Panic.lhs b/compiler/utils/Panic.lhs
similarity index 100%
rename from ghc/compiler/utils/Panic.lhs
rename to compiler/utils/Panic.lhs
diff --git a/ghc/compiler/utils/Pretty.lhs b/compiler/utils/Pretty.lhs
similarity index 100%
rename from ghc/compiler/utils/Pretty.lhs
rename to compiler/utils/Pretty.lhs
diff --git a/ghc/compiler/utils/StringBuffer.lhs b/compiler/utils/StringBuffer.lhs
similarity index 100%
rename from ghc/compiler/utils/StringBuffer.lhs
rename to compiler/utils/StringBuffer.lhs
diff --git a/ghc/compiler/utils/UniqFM.lhs b/compiler/utils/UniqFM.lhs
similarity index 100%
rename from ghc/compiler/utils/UniqFM.lhs
rename to compiler/utils/UniqFM.lhs
diff --git a/ghc/compiler/utils/UniqSet.lhs b/compiler/utils/UniqSet.lhs
similarity index 100%
rename from ghc/compiler/utils/UniqSet.lhs
rename to compiler/utils/UniqSet.lhs
diff --git a/ghc/compiler/utils/Util.lhs b/compiler/utils/Util.lhs
similarity index 100%
rename from ghc/compiler/utils/Util.lhs
rename to compiler/utils/Util.lhs
diff --git a/configure.ac b/configure.ac
index f8d64d5a47631e1e50e162d46a3fea4a6bf91a3b..a35ad817e5791501707dc162e3e0fc4817e5a579 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,7 +13,12 @@ dnl
 # see what flags are available. (Better yet, read the documentation!)
 #
 
-AC_INIT([fptools build system], [1.0], [cvs-fptools@haskell.org], [fptools])
+AC_INIT([The Glorious Glasgow Haskell Compilation System], [6.5], [glasgow-haskell-bugs@haskell.org], [ghc])
+
+FP_SETUP_PROJECT_VERSION
+
+# Hmmm, we fix the RPM release number to 1 here... Is this convenient?
+AC_SUBST([release], [1])
 
 # First off, a distrib sanity check..
 AC_CONFIG_SRCDIR([mk/config.mk.in])
@@ -28,7 +33,7 @@ dnl
 dnl After the toplevel configuration is complete, the script will recurse into
 dnl these subdirectories if they exist. The use of a cache file makes repeated
 dnl checks cheap.
-AC_CONFIG_SUBDIRS([ghc libraries])
+AC_CONFIG_SUBDIRS([libraries])
 
 # -------------------------------------------------------------------------
 # Prepare to generate the following header files
@@ -649,6 +654,9 @@ if test "$WithGhc" != ""; then
   AC_SUBST(GhcPatchLevel)dnl
 fi
 
+# Check whether this GHC has readline installed
+FP_GHC_HAS_READLINE
+
 AC_PATH_PROGS(NHC,nhc nhc98)
 AC_PATH_PROG(HBC,hbc)
 
@@ -717,21 +725,6 @@ if test "$BootingFromHc" = "NO" -a "$WithGhc" = "" -a -d "$srcdir/ghc"; then
 AC_MSG_ERROR([GHC is required unless bootstrapping from .hc files.])
 fi;
 
-dnl ** --enable-threaded-rts (not used any more)
-dnl --------------------------------------------------------------
-AC_ARG_ENABLE(threaded-rts,
-[AC_HELP_STRING([--enable-threaded-rts],
-[DEPRECATED (backwards compatibility only). [default=no]])],
-[ if test x"$enableval" = x"yes"; then
-	ThreadedRts=YES
-  else
-	ThreadedRts=NO
-  fi
-],
-[ThreadedRts=NO]
-)
-AC_SUBST(ThreadedRts)
-
 dnl ** Enable the construction of Win32 DLLs?
 dnl --------------------------------------------------------------
 dnl
@@ -850,6 +843,7 @@ dnl     If gcc, make sure it's at least 2.1
 dnl
 FP_HAVE_GCC
 FP_MINGW_GCC
+FP_GCC_NEEDS_NO_OMIT_LFPTR
 
 dnl ** figure out how to invoke cpp directly (gcc -E is no good)
 AC_PROG_CPP
@@ -1236,7 +1230,18 @@ AC_TRY_LINK_FUNC(printf$LSBLStub,
             [Define to 1 if we have printf$LDBLStub (Apple Mac OS >= 10.4, PPC).])
     ])
 
+# test for GTK+
+AC_PATH_PROGS([GTK_CONFIG], [pkg-config])
+if test -n "$GTK_CONFIG"; then
+  if $GTK_CONFIG gtk+-2.0 --atleast-version=2.0; then
+    GTK_CONFIG="$GTK_CONFIG gtk+-2.0"
+  else
+    AC_MSG_WARN([GTK+ not usable, need at least version 2.0])
+    GTK_CONFIG=
+  fi
+fi
+AC_SUBST([GTK_CONFIG])
 
-AC_CONFIG_FILES([mk/config.mk])
+AC_CONFIG_FILES([mk/config.mk ghc.spec docs/users_guide/ug-book.xml])
 AC_CONFIG_COMMANDS([mk/stamp-h],[echo timestamp > mk/stamp-h])
 AC_OUTPUT
diff --git a/distrib/hc-build b/distrib/hc-build
index 1540e1575752e0959d3ff72ff8aa807a824fbf17..5ce9dfbdd91b9d5c5d15dde756f1b1cfc0cf94aa 100644
--- a/distrib/hc-build
+++ b/distrib/hc-build
@@ -46,7 +46,7 @@ esac
 echo "*** Building compiler..."
 ./configure --enable-hc-boot $configopts
 
-$MAKE -C glafp-utils boot all
+$MAKE -C utils boot all
 $MAKE -C ghc boot
 $MAKE -C libraries boot all GhcBootLibs=YES
 $MAKE -C ghc all
@@ -60,7 +60,7 @@ configopts=`echo $configopts | sed s/--enable-hc-boot-unregisterised//`
 
 # Reconfigure, using the newly-build ghc binary as our $(GHC), and
 # with hc bootstrapping disabled.
-HappyCmd="$PWD/distrib/fake-happy" ./configure --with-ghc="$PWD/ghc/compiler/ghc-inplace" $configopts
+HappyCmd="$PWD/distrib/fake-happy" ./configure --with-ghc="$PWD/compiler/ghc-inplace" $configopts
 
 PRIMOP_BITS="primop-data-decl.hs-incl \
 	      primop-tag.hs-incl  \
@@ -80,27 +80,24 @@ PRIMOP_BITS="primop-data-decl.hs-incl \
 find libraries hslibs | grep '\.[oa]$' | xargs rm -f
 
 # Do includes and RTS now
-$MAKE -C ghc/includes boot && $MAKE -C ghc/includes all
-$MAKE -C ghc/rts      boot && $MAKE -C ghc/rts      all
+$MAKE -C includes boot && $MAKE -C includes all
+$MAKE -C rts      boot && $MAKE -C rts      all
 
 # Now build a new set of libraries (GhcBootLibs only for now)
 $MAKE -C libraries boot all GhcBootLibs=YES
 
-# Build all of ghc/lib
-$MAKE -C ghc/lib clean && $MAKE -C ghc/lib boot all
+# Build all of compat
+$MAKE -C compat clean && $MAKE -C compat boot all
 
-# Build all of ghc/utils
-$MAKE -C ghc/utils clean && $MAKE -C ghc/utils boot all
+# Build all of utils
+$MAKE -C utils clean && $MAKE -C utils boot all
 
 # Build the rest of the libraries
 $MAKE -C libraries boot all
 
-# Now we can build hslibs (hsc2hs is required, so must be after ghc/utils)
-$MAKE -C hslibs  boot all
-
 # The reconfigure step updates a few files, which can lead to
 # unnecessary recompilations.  Touch a bunch of things here to avoid
 # having to recompile stuff that we've already built.
-(cd ghc/compiler; touch $PRIMOP_BITS parser/hschooks.o prelude/PrimOp.o main/Config.hs main/Config.o ghc-*)
+(cd compiler; touch $PRIMOP_BITS parser/hschooks.o prelude/PrimOp.o main/Config.hs main/Config.o ghc-*)
 
 # At this point, the tree should be safe to do 'make install' in.
diff --git a/docs/Makefile b/docs/Makefile
index a9140dd843424ed9bb6f5b2c9bfc5eaa3a1f3830..b384a934c66d39b9ea5beec3b5fc36519ba0d75d 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -1,6 +1,6 @@
 TOP = ..
 include $(TOP)/mk/boilerplate.mk
 
-SUBDIRS = docbook-cheat-sheet
+SUBDIRS = building docbook-cheat-sheet ext-core storage-mgt users_guide
 
 include $(TOP)/mk/target.mk
diff --git a/ghc/docs/building/Makefile b/docs/building/Makefile
similarity index 100%
rename from ghc/docs/building/Makefile
rename to docs/building/Makefile
diff --git a/ghc/docs/building/building.xml b/docs/building/building.xml
similarity index 100%
rename from ghc/docs/building/building.xml
rename to docs/building/building.xml
diff --git a/ghc/docs/comm/exts/ndp.html b/docs/comm/exts/ndp.html
similarity index 100%
rename from ghc/docs/comm/exts/ndp.html
rename to docs/comm/exts/ndp.html
diff --git a/ghc/docs/comm/exts/th.html b/docs/comm/exts/th.html
similarity index 100%
rename from ghc/docs/comm/exts/th.html
rename to docs/comm/exts/th.html
diff --git a/ghc/docs/comm/feedback.html b/docs/comm/feedback.html
similarity index 100%
rename from ghc/docs/comm/feedback.html
rename to docs/comm/feedback.html
diff --git a/ghc/docs/comm/genesis/genesis.html b/docs/comm/genesis/genesis.html
similarity index 100%
rename from ghc/docs/comm/genesis/genesis.html
rename to docs/comm/genesis/genesis.html
diff --git a/ghc/docs/comm/genesis/makefiles.html b/docs/comm/genesis/makefiles.html
similarity index 100%
rename from ghc/docs/comm/genesis/makefiles.html
rename to docs/comm/genesis/makefiles.html
diff --git a/ghc/docs/comm/genesis/modules.html b/docs/comm/genesis/modules.html
similarity index 100%
rename from ghc/docs/comm/genesis/modules.html
rename to docs/comm/genesis/modules.html
diff --git a/ghc/docs/comm/index.html b/docs/comm/index.html
similarity index 100%
rename from ghc/docs/comm/index.html
rename to docs/comm/index.html
diff --git a/ghc/docs/comm/others.html b/docs/comm/others.html
similarity index 100%
rename from ghc/docs/comm/others.html
rename to docs/comm/others.html
diff --git a/ghc/docs/comm/rts-libs/coding-style.html b/docs/comm/rts-libs/coding-style.html
similarity index 100%
rename from ghc/docs/comm/rts-libs/coding-style.html
rename to docs/comm/rts-libs/coding-style.html
diff --git a/ghc/docs/comm/rts-libs/foreignptr.html b/docs/comm/rts-libs/foreignptr.html
similarity index 100%
rename from ghc/docs/comm/rts-libs/foreignptr.html
rename to docs/comm/rts-libs/foreignptr.html
diff --git a/ghc/docs/comm/rts-libs/multi-thread.html b/docs/comm/rts-libs/multi-thread.html
similarity index 100%
rename from ghc/docs/comm/rts-libs/multi-thread.html
rename to docs/comm/rts-libs/multi-thread.html
diff --git a/ghc/docs/comm/rts-libs/non-blocking.html b/docs/comm/rts-libs/non-blocking.html
similarity index 100%
rename from ghc/docs/comm/rts-libs/non-blocking.html
rename to docs/comm/rts-libs/non-blocking.html
diff --git a/ghc/docs/comm/rts-libs/prelfound.html b/docs/comm/rts-libs/prelfound.html
similarity index 100%
rename from ghc/docs/comm/rts-libs/prelfound.html
rename to docs/comm/rts-libs/prelfound.html
diff --git a/ghc/docs/comm/rts-libs/prelude.html b/docs/comm/rts-libs/prelude.html
similarity index 100%
rename from ghc/docs/comm/rts-libs/prelude.html
rename to docs/comm/rts-libs/prelude.html
diff --git a/ghc/docs/comm/rts-libs/primitives.html b/docs/comm/rts-libs/primitives.html
similarity index 100%
rename from ghc/docs/comm/rts-libs/primitives.html
rename to docs/comm/rts-libs/primitives.html
diff --git a/ghc/docs/comm/rts-libs/stgc.html b/docs/comm/rts-libs/stgc.html
similarity index 100%
rename from ghc/docs/comm/rts-libs/stgc.html
rename to docs/comm/rts-libs/stgc.html
diff --git a/ghc/docs/comm/rts-libs/threaded-rts.html b/docs/comm/rts-libs/threaded-rts.html
similarity index 100%
rename from ghc/docs/comm/rts-libs/threaded-rts.html
rename to docs/comm/rts-libs/threaded-rts.html
diff --git a/ghc/docs/comm/the-beast/alien.html b/docs/comm/the-beast/alien.html
similarity index 100%
rename from ghc/docs/comm/the-beast/alien.html
rename to docs/comm/the-beast/alien.html
diff --git a/ghc/docs/comm/the-beast/basicTypes.html b/docs/comm/the-beast/basicTypes.html
similarity index 100%
rename from ghc/docs/comm/the-beast/basicTypes.html
rename to docs/comm/the-beast/basicTypes.html
diff --git a/ghc/docs/comm/the-beast/coding-style.html b/docs/comm/the-beast/coding-style.html
similarity index 100%
rename from ghc/docs/comm/the-beast/coding-style.html
rename to docs/comm/the-beast/coding-style.html
diff --git a/ghc/docs/comm/the-beast/data-types.html b/docs/comm/the-beast/data-types.html
similarity index 100%
rename from ghc/docs/comm/the-beast/data-types.html
rename to docs/comm/the-beast/data-types.html
diff --git a/ghc/docs/comm/the-beast/desugar.html b/docs/comm/the-beast/desugar.html
similarity index 100%
rename from ghc/docs/comm/the-beast/desugar.html
rename to docs/comm/the-beast/desugar.html
diff --git a/ghc/docs/comm/the-beast/driver.html b/docs/comm/the-beast/driver.html
similarity index 100%
rename from ghc/docs/comm/the-beast/driver.html
rename to docs/comm/the-beast/driver.html
diff --git a/ghc/docs/comm/the-beast/fexport.html b/docs/comm/the-beast/fexport.html
similarity index 100%
rename from ghc/docs/comm/the-beast/fexport.html
rename to docs/comm/the-beast/fexport.html
diff --git a/ghc/docs/comm/the-beast/ghci.html b/docs/comm/the-beast/ghci.html
similarity index 100%
rename from ghc/docs/comm/the-beast/ghci.html
rename to docs/comm/the-beast/ghci.html
diff --git a/ghc/docs/comm/the-beast/main.html b/docs/comm/the-beast/main.html
similarity index 100%
rename from ghc/docs/comm/the-beast/main.html
rename to docs/comm/the-beast/main.html
diff --git a/ghc/docs/comm/the-beast/mangler.html b/docs/comm/the-beast/mangler.html
similarity index 100%
rename from ghc/docs/comm/the-beast/mangler.html
rename to docs/comm/the-beast/mangler.html
diff --git a/ghc/docs/comm/the-beast/modules.html b/docs/comm/the-beast/modules.html
similarity index 100%
rename from ghc/docs/comm/the-beast/modules.html
rename to docs/comm/the-beast/modules.html
diff --git a/ghc/docs/comm/the-beast/names.html b/docs/comm/the-beast/names.html
similarity index 100%
rename from ghc/docs/comm/the-beast/names.html
rename to docs/comm/the-beast/names.html
diff --git a/ghc/docs/comm/the-beast/ncg.html b/docs/comm/the-beast/ncg.html
similarity index 100%
rename from ghc/docs/comm/the-beast/ncg.html
rename to docs/comm/the-beast/ncg.html
diff --git a/ghc/docs/comm/the-beast/optimistic.html b/docs/comm/the-beast/optimistic.html
similarity index 100%
rename from ghc/docs/comm/the-beast/optimistic.html
rename to docs/comm/the-beast/optimistic.html
diff --git a/ghc/docs/comm/the-beast/prelude.html b/docs/comm/the-beast/prelude.html
similarity index 100%
rename from ghc/docs/comm/the-beast/prelude.html
rename to docs/comm/the-beast/prelude.html
diff --git a/ghc/docs/comm/the-beast/renamer.html b/docs/comm/the-beast/renamer.html
similarity index 100%
rename from ghc/docs/comm/the-beast/renamer.html
rename to docs/comm/the-beast/renamer.html
diff --git a/ghc/docs/comm/the-beast/simplifier.html b/docs/comm/the-beast/simplifier.html
similarity index 100%
rename from ghc/docs/comm/the-beast/simplifier.html
rename to docs/comm/the-beast/simplifier.html
diff --git a/ghc/docs/comm/the-beast/stg.html b/docs/comm/the-beast/stg.html
similarity index 100%
rename from ghc/docs/comm/the-beast/stg.html
rename to docs/comm/the-beast/stg.html
diff --git a/ghc/docs/comm/the-beast/syntax.html b/docs/comm/the-beast/syntax.html
similarity index 100%
rename from ghc/docs/comm/the-beast/syntax.html
rename to docs/comm/the-beast/syntax.html
diff --git a/ghc/docs/comm/the-beast/typecheck.html b/docs/comm/the-beast/typecheck.html
similarity index 100%
rename from ghc/docs/comm/the-beast/typecheck.html
rename to docs/comm/the-beast/typecheck.html
diff --git a/ghc/docs/comm/the-beast/types.html b/docs/comm/the-beast/types.html
similarity index 100%
rename from ghc/docs/comm/the-beast/types.html
rename to docs/comm/the-beast/types.html
diff --git a/ghc/docs/comm/the-beast/vars.html b/docs/comm/the-beast/vars.html
similarity index 100%
rename from ghc/docs/comm/the-beast/vars.html
rename to docs/comm/the-beast/vars.html
diff --git a/ghc/docs/ext-core/Makefile b/docs/ext-core/Makefile
similarity index 100%
rename from ghc/docs/ext-core/Makefile
rename to docs/ext-core/Makefile
diff --git a/ghc/docs/ext-core/a4wide.sty b/docs/ext-core/a4wide.sty
similarity index 100%
rename from ghc/docs/ext-core/a4wide.sty
rename to docs/ext-core/a4wide.sty
diff --git a/ghc/docs/ext-core/code.sty b/docs/ext-core/code.sty
similarity index 100%
rename from ghc/docs/ext-core/code.sty
rename to docs/ext-core/code.sty
diff --git a/ghc/docs/ext-core/core.tex b/docs/ext-core/core.tex
similarity index 100%
rename from ghc/docs/ext-core/core.tex
rename to docs/ext-core/core.tex
diff --git a/ghc/docs/ghci/ghci.tex b/docs/ghci/ghci.tex
similarity index 100%
rename from ghc/docs/ghci/ghci.tex
rename to docs/ghci/ghci.tex
diff --git a/ghc/docs/rts/closure.ps b/docs/rts/closure.ps
similarity index 100%
rename from ghc/docs/rts/closure.ps
rename to docs/rts/closure.ps
diff --git a/ghc/docs/rts/closure.tex b/docs/rts/closure.tex
similarity index 100%
rename from ghc/docs/rts/closure.tex
rename to docs/rts/closure.tex
diff --git a/ghc/docs/rts/hugs_ret.pstex b/docs/rts/hugs_ret.pstex
similarity index 100%
rename from ghc/docs/rts/hugs_ret.pstex
rename to docs/rts/hugs_ret.pstex
diff --git a/ghc/docs/rts/hugs_ret.pstex_t b/docs/rts/hugs_ret.pstex_t
similarity index 100%
rename from ghc/docs/rts/hugs_ret.pstex_t
rename to docs/rts/hugs_ret.pstex_t
diff --git a/ghc/docs/rts/hugs_ret2.pstex b/docs/rts/hugs_ret2.pstex
similarity index 100%
rename from ghc/docs/rts/hugs_ret2.pstex
rename to docs/rts/hugs_ret2.pstex
diff --git a/ghc/docs/rts/hugs_ret2.pstex_t b/docs/rts/hugs_ret2.pstex_t
similarity index 100%
rename from ghc/docs/rts/hugs_ret2.pstex_t
rename to docs/rts/hugs_ret2.pstex_t
diff --git a/ghc/docs/rts/rts.tex b/docs/rts/rts.tex
similarity index 100%
rename from ghc/docs/rts/rts.tex
rename to docs/rts/rts.tex
diff --git a/ghc/docs/storage-mgt/Makefile b/docs/storage-mgt/Makefile
similarity index 100%
rename from ghc/docs/storage-mgt/Makefile
rename to docs/storage-mgt/Makefile
diff --git a/ghc/docs/storage-mgt/architecture.eepic b/docs/storage-mgt/architecture.eepic
similarity index 100%
rename from ghc/docs/storage-mgt/architecture.eepic
rename to docs/storage-mgt/architecture.eepic
diff --git a/ghc/docs/storage-mgt/architecture.fig b/docs/storage-mgt/architecture.fig
similarity index 100%
rename from ghc/docs/storage-mgt/architecture.fig
rename to docs/storage-mgt/architecture.fig
diff --git a/ghc/docs/storage-mgt/cacheprof_p.eps b/docs/storage-mgt/cacheprof_p.eps
similarity index 100%
rename from ghc/docs/storage-mgt/cacheprof_p.eps
rename to docs/storage-mgt/cacheprof_p.eps
diff --git a/ghc/docs/storage-mgt/code.sty b/docs/storage-mgt/code.sty
similarity index 100%
rename from ghc/docs/storage-mgt/code.sty
rename to docs/storage-mgt/code.sty
diff --git a/ghc/docs/storage-mgt/freelist.eepic b/docs/storage-mgt/freelist.eepic
similarity index 100%
rename from ghc/docs/storage-mgt/freelist.eepic
rename to docs/storage-mgt/freelist.eepic
diff --git a/ghc/docs/storage-mgt/freelist.fig b/docs/storage-mgt/freelist.fig
similarity index 100%
rename from ghc/docs/storage-mgt/freelist.fig
rename to docs/storage-mgt/freelist.fig
diff --git a/ghc/docs/storage-mgt/gen.eepic b/docs/storage-mgt/gen.eepic
similarity index 100%
rename from ghc/docs/storage-mgt/gen.eepic
rename to docs/storage-mgt/gen.eepic
diff --git a/ghc/docs/storage-mgt/gen.fig b/docs/storage-mgt/gen.fig
similarity index 100%
rename from ghc/docs/storage-mgt/gen.fig
rename to docs/storage-mgt/gen.fig
diff --git a/ghc/docs/storage-mgt/generation.eepic b/docs/storage-mgt/generation.eepic
similarity index 100%
rename from ghc/docs/storage-mgt/generation.eepic
rename to docs/storage-mgt/generation.eepic
diff --git a/ghc/docs/storage-mgt/generation.fig b/docs/storage-mgt/generation.fig
similarity index 100%
rename from ghc/docs/storage-mgt/generation.fig
rename to docs/storage-mgt/generation.fig
diff --git a/ghc/docs/storage-mgt/largeobjectpool.eepic b/docs/storage-mgt/largeobjectpool.eepic
similarity index 100%
rename from ghc/docs/storage-mgt/largeobjectpool.eepic
rename to docs/storage-mgt/largeobjectpool.eepic
diff --git a/ghc/docs/storage-mgt/largeobjectpool.fig b/docs/storage-mgt/largeobjectpool.fig
similarity index 100%
rename from ghc/docs/storage-mgt/largeobjectpool.fig
rename to docs/storage-mgt/largeobjectpool.fig
diff --git a/ghc/docs/storage-mgt/ldv.eepic b/docs/storage-mgt/ldv.eepic
similarity index 100%
rename from ghc/docs/storage-mgt/ldv.eepic
rename to docs/storage-mgt/ldv.eepic
diff --git a/ghc/docs/storage-mgt/ldv.fig b/docs/storage-mgt/ldv.fig
similarity index 100%
rename from ghc/docs/storage-mgt/ldv.fig
rename to docs/storage-mgt/ldv.fig
diff --git a/ghc/docs/storage-mgt/ldv.tex b/docs/storage-mgt/ldv.tex
similarity index 100%
rename from ghc/docs/storage-mgt/ldv.tex
rename to docs/storage-mgt/ldv.tex
diff --git a/ghc/docs/storage-mgt/megablock.eepic b/docs/storage-mgt/megablock.eepic
similarity index 100%
rename from ghc/docs/storage-mgt/megablock.eepic
rename to docs/storage-mgt/megablock.eepic
diff --git a/ghc/docs/storage-mgt/megablock.fig b/docs/storage-mgt/megablock.fig
similarity index 100%
rename from ghc/docs/storage-mgt/megablock.fig
rename to docs/storage-mgt/megablock.fig
diff --git a/ghc/docs/storage-mgt/nursery.eepic b/docs/storage-mgt/nursery.eepic
similarity index 100%
rename from ghc/docs/storage-mgt/nursery.eepic
rename to docs/storage-mgt/nursery.eepic
diff --git a/ghc/docs/storage-mgt/nursery.fig b/docs/storage-mgt/nursery.fig
similarity index 100%
rename from ghc/docs/storage-mgt/nursery.fig
rename to docs/storage-mgt/nursery.fig
diff --git a/ghc/docs/storage-mgt/reference.bib b/docs/storage-mgt/reference.bib
similarity index 100%
rename from ghc/docs/storage-mgt/reference.bib
rename to docs/storage-mgt/reference.bib
diff --git a/ghc/docs/storage-mgt/rp.tex b/docs/storage-mgt/rp.tex
similarity index 100%
rename from ghc/docs/storage-mgt/rp.tex
rename to docs/storage-mgt/rp.tex
diff --git a/ghc/docs/storage-mgt/sm.tex b/docs/storage-mgt/sm.tex
similarity index 100%
rename from ghc/docs/storage-mgt/sm.tex
rename to docs/storage-mgt/sm.tex
diff --git a/ghc/docs/storage-mgt/smallobjectpool.eepic b/docs/storage-mgt/smallobjectpool.eepic
similarity index 100%
rename from ghc/docs/storage-mgt/smallobjectpool.eepic
rename to docs/storage-mgt/smallobjectpool.eepic
diff --git a/ghc/docs/storage-mgt/smallobjectpool.fig b/docs/storage-mgt/smallobjectpool.fig
similarity index 100%
rename from ghc/docs/storage-mgt/smallobjectpool.fig
rename to docs/storage-mgt/smallobjectpool.fig
diff --git a/ghc/docs/storage-mgt/step.eepic b/docs/storage-mgt/step.eepic
similarity index 100%
rename from ghc/docs/storage-mgt/step.eepic
rename to docs/storage-mgt/step.eepic
diff --git a/ghc/docs/storage-mgt/step.fig b/docs/storage-mgt/step.fig
similarity index 100%
rename from ghc/docs/storage-mgt/step.fig
rename to docs/storage-mgt/step.fig
diff --git a/ghc/docs/users_guide/5-00-notes.xml b/docs/users_guide/5-00-notes.xml
similarity index 100%
rename from ghc/docs/users_guide/5-00-notes.xml
rename to docs/users_guide/5-00-notes.xml
diff --git a/ghc/docs/users_guide/5-02-notes.xml b/docs/users_guide/5-02-notes.xml
similarity index 100%
rename from ghc/docs/users_guide/5-02-notes.xml
rename to docs/users_guide/5-02-notes.xml
diff --git a/ghc/docs/users_guide/5-04-notes.xml b/docs/users_guide/5-04-notes.xml
similarity index 100%
rename from ghc/docs/users_guide/5-04-notes.xml
rename to docs/users_guide/5-04-notes.xml
diff --git a/ghc/docs/users_guide/6.0-notes.xml b/docs/users_guide/6.0-notes.xml
similarity index 100%
rename from ghc/docs/users_guide/6.0-notes.xml
rename to docs/users_guide/6.0-notes.xml
diff --git a/ghc/docs/users_guide/Makefile b/docs/users_guide/Makefile
similarity index 100%
rename from ghc/docs/users_guide/Makefile
rename to docs/users_guide/Makefile
diff --git a/ghc/docs/users_guide/bugs.xml b/docs/users_guide/bugs.xml
similarity index 100%
rename from ghc/docs/users_guide/bugs.xml
rename to docs/users_guide/bugs.xml
diff --git a/ghc/docs/users_guide/debugging.xml b/docs/users_guide/debugging.xml
similarity index 100%
rename from ghc/docs/users_guide/debugging.xml
rename to docs/users_guide/debugging.xml
diff --git a/ghc/docs/users_guide/ffi-chap.xml b/docs/users_guide/ffi-chap.xml
similarity index 100%
rename from ghc/docs/users_guide/ffi-chap.xml
rename to docs/users_guide/ffi-chap.xml
diff --git a/ghc/docs/users_guide/flags.xml b/docs/users_guide/flags.xml
similarity index 100%
rename from ghc/docs/users_guide/flags.xml
rename to docs/users_guide/flags.xml
diff --git a/ghc/docs/users_guide/ghci.xml b/docs/users_guide/ghci.xml
similarity index 100%
rename from ghc/docs/users_guide/ghci.xml
rename to docs/users_guide/ghci.xml
diff --git a/ghc/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml
similarity index 100%
rename from ghc/docs/users_guide/glasgow_exts.xml
rename to docs/users_guide/glasgow_exts.xml
diff --git a/ghc/docs/users_guide/gone_wrong.xml b/docs/users_guide/gone_wrong.xml
similarity index 100%
rename from ghc/docs/users_guide/gone_wrong.xml
rename to docs/users_guide/gone_wrong.xml
diff --git a/ghc/docs/users_guide/installing.xml b/docs/users_guide/installing.xml
similarity index 100%
rename from ghc/docs/users_guide/installing.xml
rename to docs/users_guide/installing.xml
diff --git a/ghc/docs/users_guide/intro.xml b/docs/users_guide/intro.xml
similarity index 100%
rename from ghc/docs/users_guide/intro.xml
rename to docs/users_guide/intro.xml
diff --git a/ghc/docs/users_guide/lang.xml b/docs/users_guide/lang.xml
similarity index 100%
rename from ghc/docs/users_guide/lang.xml
rename to docs/users_guide/lang.xml
diff --git a/ghc/docs/users_guide/license.xml b/docs/users_guide/license.xml
similarity index 100%
rename from ghc/docs/users_guide/license.xml
rename to docs/users_guide/license.xml
diff --git a/ghc/docs/users_guide/packages.xml b/docs/users_guide/packages.xml
similarity index 100%
rename from ghc/docs/users_guide/packages.xml
rename to docs/users_guide/packages.xml
diff --git a/ghc/docs/users_guide/parallel.xml b/docs/users_guide/parallel.xml
similarity index 100%
rename from ghc/docs/users_guide/parallel.xml
rename to docs/users_guide/parallel.xml
diff --git a/ghc/docs/users_guide/phases.xml b/docs/users_guide/phases.xml
similarity index 100%
rename from ghc/docs/users_guide/phases.xml
rename to docs/users_guide/phases.xml
diff --git a/ghc/docs/users_guide/primitives.xml b/docs/users_guide/primitives.xml
similarity index 100%
rename from ghc/docs/users_guide/primitives.xml
rename to docs/users_guide/primitives.xml
diff --git a/ghc/docs/users_guide/profiling.xml b/docs/users_guide/profiling.xml
similarity index 100%
rename from ghc/docs/users_guide/profiling.xml
rename to docs/users_guide/profiling.xml
diff --git a/ghc/docs/users_guide/runtime_control.xml b/docs/users_guide/runtime_control.xml
similarity index 100%
rename from ghc/docs/users_guide/runtime_control.xml
rename to docs/users_guide/runtime_control.xml
diff --git a/ghc/docs/users_guide/separate_compilation.xml b/docs/users_guide/separate_compilation.xml
similarity index 100%
rename from ghc/docs/users_guide/separate_compilation.xml
rename to docs/users_guide/separate_compilation.xml
diff --git a/ghc/docs/users_guide/sooner.xml b/docs/users_guide/sooner.xml
similarity index 100%
rename from ghc/docs/users_guide/sooner.xml
rename to docs/users_guide/sooner.xml
diff --git a/ghc/docs/users_guide/ug-book.xml.in b/docs/users_guide/ug-book.xml.in
similarity index 100%
rename from ghc/docs/users_guide/ug-book.xml.in
rename to docs/users_guide/ug-book.xml.in
diff --git a/ghc/docs/users_guide/ug-ent.xml b/docs/users_guide/ug-ent.xml
similarity index 100%
rename from ghc/docs/users_guide/ug-ent.xml
rename to docs/users_guide/ug-ent.xml
diff --git a/ghc/docs/users_guide/users_guide.xml b/docs/users_guide/users_guide.xml
similarity index 100%
rename from ghc/docs/users_guide/users_guide.xml
rename to docs/users_guide/users_guide.xml
diff --git a/ghc/docs/users_guide/using.xml b/docs/users_guide/using.xml
similarity index 100%
rename from ghc/docs/users_guide/using.xml
rename to docs/users_guide/using.xml
diff --git a/ghc/docs/users_guide/utils.xml b/docs/users_guide/utils.xml
similarity index 100%
rename from ghc/docs/users_guide/utils.xml
rename to docs/users_guide/utils.xml
diff --git a/ghc/docs/users_guide/win32-dlls.xml b/docs/users_guide/win32-dlls.xml
similarity index 100%
rename from ghc/docs/users_guide/win32-dlls.xml
rename to docs/users_guide/win32-dlls.xml
diff --git a/ghc/docs/vh/Makefile b/docs/vh/Makefile
similarity index 100%
rename from ghc/docs/vh/Makefile
rename to docs/vh/Makefile
diff --git a/ghc/docs/vh/vh.xml b/docs/vh/vh.xml
similarity index 100%
rename from ghc/docs/vh/vh.xml
rename to docs/vh/vh.xml
diff --git a/ghc/driver/Makefile b/driver/Makefile
similarity index 100%
rename from ghc/driver/Makefile
rename to driver/Makefile
diff --git a/ghc/driver/ghc-usage.txt b/driver/ghc-usage.txt
similarity index 100%
rename from ghc/driver/ghc-usage.txt
rename to driver/ghc-usage.txt
diff --git a/ghc/driver/ghc/Makefile b/driver/ghc/Makefile
similarity index 100%
rename from ghc/driver/ghc/Makefile
rename to driver/ghc/Makefile
diff --git a/ghc/driver/ghc/ghc.sh b/driver/ghc/ghc.sh
similarity index 100%
rename from ghc/driver/ghc/ghc.sh
rename to driver/ghc/ghc.sh
diff --git a/ghc/driver/ghci-usage.txt b/driver/ghci-usage.txt
similarity index 100%
rename from ghc/driver/ghci-usage.txt
rename to driver/ghci-usage.txt
diff --git a/ghc/driver/ghci/Makefile b/driver/ghci/Makefile
similarity index 95%
rename from ghc/driver/ghci/Makefile
rename to driver/ghci/Makefile
index 9392249f03d78aa3fb25fa51148ef8d344ca84b2..7c67ac546c08c80dfc63ca5e86000b2b7b763710 100644
--- a/ghc/driver/ghci/Makefile
+++ b/driver/ghci/Makefile
@@ -20,7 +20,7 @@ GHCBIN=$(libexecdir)/ghc-$(ProjectVersion)
 GHCLIB=$(libdir)
 endif # BIN_DIST
 else
-GHCBIN=$(FPTOOLS_TOP_ABS)/ghc/compiler/ghc-$(ProjectVersion)
+GHCBIN=$(FPTOOLS_TOP_ABS)/$(GHC_COMPILER_DIR_REL)/ghc-$(ProjectVersion)
 GHCLIB=$(FPTOOLS_TOP_ABS)
 endif
 
diff --git a/ghc/driver/ghci/ghci.c b/driver/ghci/ghci.c
similarity index 100%
rename from ghc/driver/ghci/ghci.c
rename to driver/ghci/ghci.c
diff --git a/ghc/driver/ghci/ghci.ico b/driver/ghci/ghci.ico
similarity index 100%
rename from ghc/driver/ghci/ghci.ico
rename to driver/ghci/ghci.ico
diff --git a/ghc/driver/ghci/ghci.rc b/driver/ghci/ghci.rc
similarity index 100%
rename from ghc/driver/ghci/ghci.rc
rename to driver/ghci/ghci.rc
diff --git a/ghc/driver/ghci/ghci.sh b/driver/ghci/ghci.sh
similarity index 100%
rename from ghc/driver/ghci/ghci.sh
rename to driver/ghci/ghci.sh
diff --git a/ghc/driver/ghci/ghcii.sh b/driver/ghci/ghcii.sh
similarity index 100%
rename from ghc/driver/ghci/ghcii.sh
rename to driver/ghci/ghcii.sh
diff --git a/ghc/driver/mangler/Makefile b/driver/mangler/Makefile
similarity index 100%
rename from ghc/driver/mangler/Makefile
rename to driver/mangler/Makefile
diff --git a/ghc/driver/mangler/ghc-asm.lprl b/driver/mangler/ghc-asm.lprl
similarity index 100%
rename from ghc/driver/mangler/ghc-asm.lprl
rename to driver/mangler/ghc-asm.lprl
diff --git a/ghc/driver/ordering-passes b/driver/ordering-passes
similarity index 100%
rename from ghc/driver/ordering-passes
rename to driver/ordering-passes
diff --git a/ghc/driver/split/Makefile b/driver/split/Makefile
similarity index 100%
rename from ghc/driver/split/Makefile
rename to driver/split/Makefile
diff --git a/ghc/driver/split/ghc-split.lprl b/driver/split/ghc-split.lprl
similarity index 100%
rename from ghc/driver/split/ghc-split.lprl
rename to driver/split/ghc-split.lprl
diff --git a/ghc/driver/test_mangler b/driver/test_mangler
similarity index 100%
rename from ghc/driver/test_mangler
rename to driver/test_mangler
diff --git a/ghc/ghc.spec.in b/ghc.spec.in
similarity index 100%
rename from ghc/ghc.spec.in
rename to ghc.spec.in
diff --git a/ghc/Makefile b/ghc/Makefile
index afdb50a0ca07a1b3f82d79d6397d67084b5db863..cacc3f7c8e38183abd6e7ebacdcf5785bc4ed619 100644
--- a/ghc/Makefile
+++ b/ghc/Makefile
@@ -32,10 +32,6 @@ SUBDIRS = includes lib utils driver docs compiler
 endif
 endif
 
-ifeq ($(IncludeTestDirsInBuild),YES)
-SUBDIRS += tests
-endif
-
 SRC_DIST_FILES += configure
 
 # Clean everything created by configure:
diff --git a/ghc/README b/ghc/README
deleted file mode 100644
index e5a9a6960dd866773c95c9d9e6052767e5e208de..0000000000000000000000000000000000000000
--- a/ghc/README
+++ /dev/null
@@ -1,53 +0,0 @@
-The Glasgow Haskell Compiler
-============================
-
-(this file is fptools/ghc/README in a source distribution, and
-fptools/README in a binary distribution).
-
-GHC is a batch compiler for Haskell 98.  See the file ANNOUNCE for
-information on the current version.
-
-Haskell is "the" standard lazy functional programming language.
-Haskell 98 is the current version of the language, released in
-December 1998.  The language definition is on the Web at
-http://www.haskell.org/definition/.
-
-More information on GHC can be found on its web page
-
-	http://www.haskell.org/ghc/
-
-Documentation
-=============
-
-In a binary distribution, pre-formatted documentation can be found in
-the html and ps directories.  Pre-formatted HTML documentation is also
-available on the GHC web page.
-
-In a source distribution, the unformatted (DocBook XML) documentation
-is in the following places:
-
-  * fptools/ghc/docs/users_guide  Users' Guide.
-  * fptools/hslibs/doc/hslibs	  Library documentation.
-  * fptools/docs  		  Build System Guide.
-
-We welcome your comments and suggestions about this software!  Please
-do not suffer or grumble in silence.  The "bug reports" section of the
-User's Guide says what we would like to know when you report a
-problem.
-
-Mailing Lists
-=============
-
-    glasgow-haskell-bugs@haskell.org	 (bug reports mailing list)
-    glasgow-haskell-users@haskell.org	 (users' mailing list)
-    cvs-ghc@haskell.org			 (developers & bleeding-edge users list)
-
-    subscribe at http://www.haskell.org/mailman/listinfo/
-
-Contributors
-=============
-
-Please see
-  
-   http://www.haskell.org/ghc/contributors.html
-
diff --git a/ghc/VERSION.in b/ghc/VERSION.in
deleted file mode 100644
index 7bb6a433895678c4745f74eb3feb302f4ca91266..0000000000000000000000000000000000000000
--- a/ghc/VERSION.in
+++ /dev/null
@@ -1 +0,0 @@
-@ProjectName@, version @ProjectVersion@
diff --git a/ghc/aclocal.m4 b/ghc/aclocal.m4
deleted file mode 100644
index 3a4a6f734d41ab4485b806beaaf430cdc0d4478f..0000000000000000000000000000000000000000
--- a/ghc/aclocal.m4
+++ /dev/null
@@ -1,131 +0,0 @@
-# FP_SETUP_PROJECT_INFO
-# ---------------------
-AC_DEFUN([FP_SETUP_PROJECT_INFO],
-[# Some renamings
-AC_SUBST([ProjectName], [$PACKAGE_NAME])
-AC_SUBST([ProjectNameShort], [$PACKAGE_TARNAME])
-AC_SUBST([ProjectVersion], [$PACKAGE_VERSION])
-
-# Split PACKAGE_VERSION into (possibly empty) parts
-VERSION_MAJOR=`echo $PACKAGE_VERSION | sed 's/^\(@<:@^.@:>@*\)\(\.\{0,1\}\(.*\)\)$/\1'/`
-VERSION_TMP=`echo $PACKAGE_VERSION | sed 's/^\(@<:@^.@:>@*\)\(\.\{0,1\}\(.*\)\)$/\3'/`
-VERSION_MINOR=`echo $VERSION_TMP | sed 's/^\(@<:@^.@:>@*\)\(\.\{0,1\}\(.*\)\)$/\1'/`
-ProjectPatchLevel=`echo $VERSION_TMP | sed 's/^\(@<:@^.@:>@*\)\(\.\{0,1\}\(.*\)\)$/\3'/`
-
-# Calculate project version as an integer, using 2 digits for minor version
-case $VERSION_MINOR in
-  ?) ProjectVersionInt=${VERSION_MAJOR}0${VERSION_MINOR} ;;
-  ??) ProjectVersionInt=${VERSION_MAJOR}${VERSION_MINOR} ;;
-  *) AC_MSG_ERROR([bad minor version in $PACKAGE_VERSION]) ;;
-esac
-AC_SUBST([ProjectVersionInt])
-
-# The project patchlevel is zero unless stated otherwise
-test -z "$ProjectPatchLevel" && ProjectPatchLevel=0
-
-# Remove dots from the patch level; this allows us to have versions like 6.4.1.20050508
-ProjectPatchLevel=`echo $ProjectPatchLevel | sed 's/\.//'`
-
-AC_SUBST([ProjectPatchLevel])
-])# FP_SETUP_PROJECT_INFO
-
-
-# FP_PROG_GHC_PKG
-# ----------------
-# Try to find a ghc-pkg matching the ghc mentioned in the environment variable
-# WithGhc. If the latter is unset or no matching ghc-pkg can be found, try to
-# find a plain ghc-pkg. Sets the output variable GhcPkgCmd.
-AC_DEFUN([FP_PROG_GHC_PKG],
-[AC_CACHE_CHECK([for ghc-pkg matching $WithGhc], fp_cv_matching_ghc_pkg,
-[fp_ghc_pkg_guess=`echo $WithGhc | sed 's,ghc\(@<:@^/\\@:>@*\)$,ghc-pkg\1,'`
-if "$fp_ghc_pkg_guess" -l > /dev/null 2>&1; then
-  fp_cv_matching_ghc_pkg=$fp_ghc_pkg_guess
-else
-  fp_cv_matching_ghc_pkg=no
-fi])
-if test x"$fp_cv_matching_ghc_pkg" = xno; then
-  AC_PATH_PROG([GhcPkgCmd], [ghc-pkg])
-else
-  GhcPkgCmd=$fp_cv_matching_ghc_pkg
-fi])# FP_PROG_GHC_PKG
-
-
-# FP_GHC_HAS_READLINE
-# -------------------
-AC_DEFUN([FP_GHC_HAS_READLINE],
-[AC_REQUIRE([FP_PROG_GHC_PKG])
-AC_CACHE_CHECK([whether ghc has readline package], [fp_cv_ghc_has_readline],
-[if "${GhcPkgCmd-ghc-pkg}" --show-package readline >/dev/null 2>&1; then
-  fp_cv_ghc_has_readline=yes
-else
-  fp_cv_ghc_has_readline=no
- fi])
-AC_SUBST([GhcHasReadline], [`echo $fp_cv_ghc_has_readline | sed 'y/yesno/YESNO/'`])
-])# FP_GHC_HAS_READLINE
-
-
-# FP_COMPARE_VERSIONS(VERSION1, TEST, VERSION2, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
-# ----------------------------------------------------------------------------------
-# Compare dotted version numbers VERSION1 and VERSION2 lexicographically according
-# to TEST (one of -eq, -ne, -lt, -le, -gt, or -ge).
-AC_DEFUN([FP_COMPARE_VERSIONS],
-[fp_version1=$1; fp_version2=$3
-fp_save_IFS=$IFS; IFS='.'
-while test x"$fp_version1" != x || test x"$fp_version2" != x
-do
-
-  set dummy $fp_version1; shift
-  fp_num1=""
-  test $[@%:@] = 0 || { fp_num1="[$]1"; shift; }
-  test x"$fp_num1" = x && fp_num1="0"
-  fp_version1="[$]*"
-
-  set dummy $fp_version2; shift
-  fp_num2=""
-  test $[@%:@] = 0 || { fp_num2="[$]1"; shift; }
-  test x"$fp_num2" = x && fp_num2="0"
-  fp_version2="[$]*"
-
-  test "$fp_num1" = "$fp_num2" || break;
-done
-IFS=$fp_save_IFS
-AS_IF([test "$fp_num1" $2 "$fp_num2"], [$4], [$5])[]dnl
-])# FP_COMPARE_VERSIONS
-
-
-# FP_HAVE_GCC
-# -----------
-# Extra testing of the result AC_PROG_CC, testing the gcc version no. Sets the
-# output variables HaveGcc and GccVersion.
-AC_DEFUN([FP_HAVE_GCC],
-[AC_REQUIRE([AC_PROG_CC])
-AC_CACHE_CHECK([whether your gcc is OK], [fp_cv_have_gcc],
-[if test -z "$GCC"; then
-  fp_cv_have_gcc='no'
-  AC_MSG_WARN([You would be better off with gcc, perhaps it is already installed, but not in your PATH?])
-else
-  fp_cv_have_gcc='yes'
-  gcc_version_str="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [[^0-9]]*\([[0-9]][[0-9]]*\)\.\([[0-9]][[0-9]]*\).*/\1\.\2/g' `"
-  FP_COMPARE_VERSIONS([$gcc_version_str], [-lt], [2.0],
-    [AC_MSG_ERROR([Need at least gcc version 2.0 (2.95.3 recommend)])])
-fi])
-AC_SUBST([HaveGcc], [`echo $fp_cv_have_gcc | sed 'y/yesno/YESNO/'`])
-AC_SUBST([GccVersion], [`gcc --version | grep mingw | cut -f 3 -d ' '`])
-])# FP_HAVE_GCC
-
-
-# FP_GCC_NEEDS_NO_OMIT_LFPTR
-# --------------------------
-# Some OSs (Mandrake Linux, in particular) configure GCC with
-# -momit-leaf-frame-pointer on by default. If this is the case, we need to turn
-# it off for mangling to work. The test is currently a bit crude, using only the
-# version number of gcc. Defines HAVE_GCC_MNO_OMIT_LFPTR.
-AC_DEFUN([FP_GCC_NEEDS_NO_OMIT_LFPTR],
-[AC_REQUIRE([FP_HAVE_GCC])
-AC_CACHE_CHECK([whether gcc needs -mno-omit-leaf-frame-pointer], [fp_cv_gcc_needs_no_omit_lfptr],
-[FP_COMPARE_VERSIONS([$gcc_version_str], [-ge], [3.2],
-  [fp_cv_gcc_needs_no_omit_lfptr=yes],
-  [fp_cv_gcc_needs_no_omit_lfptr=no])])
-if test "$fp_cv_gcc_needs_no_omit_lfptr" = "yes"; then
-   AC_DEFINE([HAVE_GCC_MNO_OMIT_LFPTR], [1], [Define to 1 if gcc supports -mno-omit-leaf-frame-pointer.])
-fi])# FP_GCC_NEEDS_NO_OMIT_LFPTR
diff --git a/ghc/lib/Makefile b/ghc/lib/Makefile
deleted file mode 100644
index ca08ea20bc2fc14bbe107a9903df46af6abcb02d..0000000000000000000000000000000000000000
--- a/ghc/lib/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-TOP=..
-include $(TOP)/mk/boilerplate.mk
-
-SUBDIRS = compat
-
-include $(TOP)/mk/target.mk
diff --git a/ghc/mk/boilerplate.mk b/ghc/mk/boilerplate.mk
deleted file mode 100644
index 0ab3f331a0c083752269140f0593e915402cc27a..0000000000000000000000000000000000000000
--- a/ghc/mk/boilerplate.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# GHC boilerplate.mk
-
-GHC_TOP := $(TOP)
-
-# Include this first, because the top-level .mk files might depend on
-# the values of $(ProjectXXX) variables.  (in fact they might/should not, 
-# but we're not brave enough to move this include later --SDM).
--include $(GHC_TOP)/mk/version.mk
-
-# We need to set TOP to be the TOP that the next level up expects!
-# The TOP variable is reset after the inclusion of the fptools
-# boilerplate, so we stash TOP away first:
-TOP:=$(GHC_TOP)/..
-
-include $(TOP)/mk/boilerplate.mk
-
-# Reset TOP
-TOP:=$(GHC_TOP)
-
-# -----------------------------------------------------------------
-# Everything after this point
-# augments or overrides previously set variables.
-# -----------------------------------------------------------------
-
--include $(GHC_TOP)/mk/config.mk
--include $(GHC_TOP)/mk/paths.mk
--include $(GHC_TOP)/mk/opts.mk
--include $(GHC_TOP)/mk/suffix.mk
diff --git a/ghc/mk/config.mk.in b/ghc/mk/config.mk.in
deleted file mode 100644
index e3060ec20ce7261b6808d62047a8a7420b8c5ce8..0000000000000000000000000000000000000000
--- a/ghc/mk/config.mk.in
+++ /dev/null
@@ -1,67 +0,0 @@
-# -*-makefile-*-
-# @configure_input@
-
-# -----------------------------------------------------------------------------
-# GHC binary distribution configuration
-
-# These settings are used by the top-level Makefile when building
-# binary distributions.
-
-# what to include in a binary distribution
-GhcMainDir = ghc
-GhcBinDistDirs = ghc libraries hslibs
-
-ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-GhcBinDistShScripts = ghc-$(ProjectVersion) ghci-$(ProjectVersion) ghc-pkg-$(ProjectVersion) hsc2hs
-else
-GhcBinDistShScripts =
-endif
-
-GhcBinDistPrlScripts = ghcprof
-GhcBinDistLibPrlScripts = ghc-asm ghc-split
-GhcBinDistBins = hp2ps runghc
-GhcBinDistOptBins = runhaskell
-GhcBinDistLinks = ghc ghci ghc-pkg
-GhcBinDistLibSplicedFiles = package.conf
-
-# -----------------------------------------------------------------------------
-# GHC-specific configuration settings
-
-# Set to YES if $(GHC) has the readline package installed
-GhcHasReadline	= @GhcHasReadline@
-
-# GTK+
-GTK_CONFIG = @GTK_CONFIG@
-
-# -----------------------------------------------------------------------------
-
-# We can build using the stage1 compiler by setting UseStage1=YES.
-# This is useful when building up a set of .hc files for
-# bootstrapping, because we need the ghc/lib/compat library and the
-# contents of ghc/utils compiled with the stage1 compiler.
-
-ifeq "$(UseStage1)" "YES"
-HC=$(GHC_STAGE1)
-MKDEPENDHS=$(GHC_STAGE1)
-endif
-
-# Some useful GHC version predicates:
-
-ifeq "$(UseStage1)" "YES"
-ghc_ge_504 = YES
-ghc_ge_601 = YES
-ghc_ge_602 = YES
-ghc_ge_603 = YES
-else
-ifeq "$(BootingFromHc)" "YES"
-ghc_ge_504 = YES
-ghc_ge_601 = YES
-ghc_ge_602 = YES
-ghc_ge_603 = YES
-else
-ghc_ge_504 = $(shell if (test $(GhcCanonVersion) -ge 504); then echo YES; else echo NO; fi)
-ghc_ge_601 = $(shell if (test $(GhcCanonVersion) -ge 601); then echo YES; else echo NO; fi)
-ghc_ge_602 = $(shell if (test $(GhcCanonVersion) -ge 602); then echo YES; else echo NO; fi)
-ghc_ge_603 = $(shell if (test $(GhcCanonVersion) -ge 603); then echo YES; else echo NO; fi)
-endif
-endif
diff --git a/ghc/mk/paths.mk b/ghc/mk/paths.mk
deleted file mode 100644
index 2e86122f2cec6ee8028b238fe90848e39955eb7e..0000000000000000000000000000000000000000
--- a/ghc/mk/paths.mk
+++ /dev/null
@@ -1,80 +0,0 @@
-# -----------------------------------------------------------------------------
-# $Id: paths.mk,v 1.44 2004/11/11 09:36:40 simonmar Exp $
-#
-# ghc project specific make variables
-#
-
-PROJECT_DIR		:= ghc
-
-#-----------------------------------------------------------------------------
-# Useful directories
-#
-#      xxx_DIR_REL      a directory relative to $(GHC_TOP)
-#      xxx_DIR          a directory (including $(GHC_TOP))
-
-GHC_INCLUDE_DIR_REL   	= includes
-GHC_COMPILER_DIR_REL  	= compiler
-GHC_RUNTIME_DIR_REL   	= rts
-GHC_UTILS_DIR_REL 	= utils
-GHC_DRIVER_DIR_REL	= driver
-GHC_LIB_DIR_REL		= lib
-
-GHC_UNLIT_DIR_REL	= $(GHC_UTILS_DIR_REL)/unlit
-GHC_HSTAGS_DIR_REL	= $(GHC_UTILS_DIR_REL)/hasktags
-GHC_TOUCHY_DIR_REL	= $(GHC_UTILS_DIR_REL)/touchy
-GHC_PKG_DIR_REL		= $(GHC_UTILS_DIR_REL)/ghc-pkg
-GHC_GENPRIMOP_DIR_REL	= $(GHC_UTILS_DIR_REL)/genprimopcode
-GHC_GENAPPLY_DIR_REL	= $(GHC_UTILS_DIR_REL)/genapply
-GHC_MANGLER_DIR_REL 	= $(GHC_DRIVER_DIR_REL)/mangler
-GHC_SPLIT_DIR_REL 	= $(GHC_DRIVER_DIR_REL)/split
-GHC_SYSMAN_DIR_REL	= $(GHC_RUNTIME_DIR_REL)/parallel
-GHC_LIB_COMPAT_DIR_REL	= $(GHC_LIB_DIR_REL)/compat
-
-GHC_INCLUDE_DIR   	= $(GHC_TOP)/$(GHC_INCLUDE_DIR_REL)
-GHC_COMPILER_DIR  	= $(GHC_TOP)/$(GHC_COMPILER_DIR_REL)
-GHC_RUNTIME_DIR   	= $(GHC_TOP)/$(GHC_RUNTIME_DIR_REL)
-GHC_UTILS_DIR	 	= $(GHC_TOP)/$(GHC_UTILS_DIR_REL)
-GHC_DRIVER_DIR		= $(GHC_TOP)/$(GHC_DRIVER_DIR_REL)
-GHC_PKG_DIR		= $(GHC_TOP)/$(GHC_PKG_DIR_REL)
-GHC_GENPRIMOP_DIR	= $(GHC_TOP)/$(GHC_GENPRIMOP_DIR_REL)
-GHC_GENAPPLY_DIR	= $(GHC_TOP)/$(GHC_GENAPPLY_DIR_REL)
-GHC_MANGLER_DIR         = $(GHC_TOP)/$(GHC_MANGLER_DIR_REL)
-GHC_SPLIT_DIR           = $(GHC_TOP)/$(GHC_SPLIT_DIR_REL)
-GHC_LIB_COMPAT_DIR      = $(GHC_TOP)/$(GHC_LIB_COMPAT_DIR_REL)
-
-# -----------------------------------------------------------------------------
-# Names of programs in the GHC tree
-#
-#      xxx_PGM	        the name of an executable, without the path
-
-GHC_UNLIT_PGM		= unlit$(exeext)
-GHC_HSTAGS_PGM		= hasktags
-GHC_TOUCHY_PGM		= touchy$(exeext)
-GHC_MANGLER_PGM		= ghc-asm
-GHC_SPLIT_PGM		= ghc-split
-GHC_SYSMAN_PGM 		= SysMan
-GHC_PKG_INPLACE_PGM	= ghc-pkg-inplace
-GHC_GENPRIMOP_PGM	= genprimopcode
-GHC_GENAPPLY_PGM	= genapply
-
-# -----------------------------------------------------------------------------
-# Auxilliary programs used by GHC
-#
-#      xxx              the pathname to an executable (some using $(TOP))
-
-ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-GHC_CP			= "xcopy /y"
-GHC_PERL		= perl
-else
-GHC_CP			= $(CP)
-GHC_PERL		= $(PERL)
-endif
-
-GHC_UNLIT		= $(GHC_UNLIT_DIR)/$(GHC_UNLIT_PGM)
-GHC_HSTAGS		= $(GHC_HSTAGS_DIR)/$(GHC_HSTAGS_PGM)
-GHC_MANGLER		= $(GHC_MANGLER_DIR)/$(GHC_MANGLER_PGM)
-GHC_SPLIT		= $(GHC_SPLIT_DIR)/$(GHC_SPLIT_PGM)
-GHC_SYSMAN 		= $(GHC_SYSMAN_DIR)/$(GHC_SYSMAN_PGM)
-GHC_PKG_INPLACE		= $(GHC_PKG_DIR)/$(GHC_PKG_INPLACE_PGM)
-GHC_GENPRIMOP		= $(GHC_GENPRIMOP_DIR)/$(GHC_GENPRIMOP_PGM)
-GHC_GENAPPLY		= $(GHC_GENAPPLY_DIR)/$(GHC_GENAPPLY_PGM)
diff --git a/ghc/mk/target.mk b/ghc/mk/target.mk
deleted file mode 100644
index 0d49585a90ca70829cdf57bc90ff164051e61dfc..0000000000000000000000000000000000000000
--- a/ghc/mk/target.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-#
-# target.mk project stub
-#
-
-# We need to set TOP to be the TOP that the next level up expects!
-# The TOP variable is reset after the inclusion of the fptools
-# boilerplate, so we stash TOP away first:
-GHC_TOP := $(TOP)
-TOP:=$(TOP)/..
-
-include $(TOP)/mk/target.mk
-
-# Reset TOP
-TOP:=$(GHC_TOP)
diff --git a/ghc/mk/version.mk.in b/ghc/mk/version.mk.in
deleted file mode 100644
index e8e1656b7cfde7d1030e3fb53f464e2c0b9d0fc9..0000000000000000000000000000000000000000
--- a/ghc/mk/version.mk.in
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-# Project-specific version information.
-#
-# Note:
-#   this config file is intended to centralise all
-#   project version information. To bump up the version
-#   info on your package, edit this file and recompile
-#   all the dependents. This file lives in the source tree.
-#
-# In the case of the ghc/ project, if you make changes
-# to this file, you'll *have to* to rebuild the driver
-# in your build tree(s). The ghc/driver/Makefile has got
-# a dependency that will force such rebuilding to happen,
-# but it does require you to do a 'make' in ghc/driver.
-
-#
-# Ghc project settings:
-# 
-# ProjectVersion    is treated as a *string*
-# ProjectVersionInt is treated as an *integer* (for cpp defines)
-
-# Versioning scheme: A.B.C
-#         A: major version, decimal, any number of digits
-#         B: minor version, decimal, any number of digits
-#	  C: patchlevel, one digit, omitted if zero.
-#
-# ProjectVersionInt does *not* contain the patchlevel (rationale: this
-# figure is used for conditional compilations, and library interfaces
-# etc. are not supposed to change between patchlevels).
-#
-# The ProjectVersionInt is included in interface files, and GHC
-# checks that it's reading interface generated by the same ProjectVersion
-# as itself. It does this even though interface file syntax may not 
-# change between versions.  Rationale: calling conventions or other 
-# random .o-file stuff might change even if the .hi syntax doesn't
-
-ProjectName       = @ProjectName@
-ProjectNameShort  = @ProjectNameShort@
-ProjectVersion    = @ProjectVersion@
-ProjectVersionInt = @ProjectVersionInt@
-ProjectPatchLevel = @ProjectPatchLevel@
-
-# Interface file version (hi-boot files only)
-#
-# A GHC built with HscIfaceFileVersion=n will look for 
-#	M.hi-boot-n, and only then for 
-#	M.hi-boot.
-# (It'll be happy with the latter if the former doesn't exist.)
-#
-#
-# This variable is used ONLY for hi-boot files.  Its only purpose is
-# to allow you to have a single directory with multiple .hi-boot files
-# for the same module, each corresponding to a different version of
-# GHC.
-#
-# HscIfaceFileVersion is propagated to hsc via
-# ghc/compiler/main/Config.hs, which is automatically generated by
-# ghc/compiler/Makefile.
-
-HscIfaceFileVersion=6
diff --git a/ghc/utils/prof/cgprof/Makefile b/ghc/utils/prof/cgprof/Makefile
deleted file mode 100644
index fd6ac040a79bf0909eee44baccb663e1c15514a8..0000000000000000000000000000000000000000
--- a/ghc/utils/prof/cgprof/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.2 2003/08/01 15:38:41 panne Exp $
-#
-# (c) The GHC Team, 2000
-#
-
-TOP=../../..
-include $(TOP)/mk/boilerplate.mk
-
-C_PROG = cgprof
-INSTALL_LIBEXECS=$(C_PROG)
-
-SRC_CC_OPTS += -Wall -I$(GHC_INCLUDE_DIR)
-
-include $(TOP)/mk/target.mk
diff --git a/ghc/utils/prof/icons/Makefile b/ghc/utils/prof/icons/Makefile
deleted file mode 100644
index 5b3eb4d40b0a697a30a97cdc8df750b2bbed7275..0000000000000000000000000000000000000000
--- a/ghc/utils/prof/icons/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.1 2000/04/05 10:11:55 simonmar Exp $
-#
-# (c) The GHC Team, 2000
-#
-
-TOP=../../..
-include $(TOP)/mk/boilerplate.mk
-
-override datadir=$(libdir)/icons
-INSTALL_DATAS=$(wildcard *.xbm)
-
-include $(TOP)/mk/target.mk
diff --git a/glafp-utils/Makefile b/glafp-utils/Makefile
deleted file mode 100644
index d9a8b2e35104e2cf94a4897e6d3f628e680a4f9a..0000000000000000000000000000000000000000
--- a/glafp-utils/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-#################################################################################
-#
-#			    glafp-utils/Makefile
-#
-#		Main Makefile for project glafp-utils
-#
-#################################################################################
-
-TOP=.
-include $(TOP)/mk/boilerplate.mk
-
-# We need to write mkdependC first (in that order), to be sure that
-# make depend will succeed in all the other directories.
-SUBDIRS = mkdependC mkdirhier runstdtest
-ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-SUBDIRS += lndir
-endif
-
-include $(TOP)/mk/target.mk
diff --git a/glafp-utils/PATCHLEVEL b/glafp-utils/PATCHLEVEL
deleted file mode 100644
index a20156b9cbbc098267adb7b119d286242718a2de..0000000000000000000000000000000000000000
--- a/glafp-utils/PATCHLEVEL
+++ /dev/null
@@ -1 +0,0 @@
-Miscellaneous FP-projects-related tools, version 2.01, patchlevel 0
diff --git a/glafp-utils/README b/glafp-utils/README
deleted file mode 100644
index 8967522e5a25268e74605947908e0ebdd7301038..0000000000000000000000000000000000000000
--- a/glafp-utils/README
+++ /dev/null
@@ -1,31 +0,0 @@
-This directory tree's worth of stuff are utility bits that are used in
-more than one of the Glasgow functional-programming tools.  (For the
-project-specific bits, try <project>/utils/<blah>.)
-
- lndir		from X imake stuff (via DuBois); make a shadow tree
-		of symbolic links
-
- ltx		a "latex" wrapper.  Re-runs latex/bibtex/makeindex
-		enough times to "do the right thing."
-
- mkdependC	script version of C makedepend (from X11R4 via DuBois)
-
- mkdirhier	"mkdir a/b/c/d" will do "mkdir a; mkdir a/b; ..."
-		(assuming none of those dirs exist)
-
- runstdtest	runs a pgm with some flags & some stdin; checks for an
-		expected exit code, expected stdout, and expected
-		stderr.  (Expect this to change :-)
-
- verbatim	pre-processor for LaTeX files that typesets text between
-		@...@ in typewriter font.
-
- sgmlverb	pre-processor for SGML that does essentially the same thing
-		as verbatim.
-
- docbook	scripts to process DocBook files stolen from Cygnus DocBook
- 		tools.
-
- genargs	converts whitespace separated strings into partial
-		Haskell lists.
-
diff --git a/glafp-utils/mk/boilerplate.mk b/glafp-utils/mk/boilerplate.mk
deleted file mode 100644
index e645586a5d07ce7136231cb5e4a017a6128a94c4..0000000000000000000000000000000000000000
--- a/glafp-utils/mk/boilerplate.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-################################################################################
-#
-#			    GHC boilerplate.mk
-#
-#		Boilerplate Makefile for an fptools project
-#
-################################################################################
-
-# Begin by slurping in the boilerplate from one level up.
-# Remember, TOP is the top level of the innermost level
-# (FPTOOLS_TOP is the fptools top)
-
-# We need to set TOP to be the TOP that the next level up expects!
-GLAFP_UTILS_TOP := $(TOP)
-TOP:=$(GLAFP_UTILS_TOP)/..
-
-include $(TOP)/mk/boilerplate.mk
-
-TOP:=$(GLAFP_UTILS_TOP)
-
-# -----------------------------------------------------------------
-# Everything after this point
-# augments or overrides previously set variables.
-# (these files are optional, so `make' won't fret if
-#  cannot get to them).
-# -----------------------------------------------------------------
-
-#Not currently used: -include $(GLAFP_UTILS_TOP)/mk/paths.mk
-#Not currently used: -include $(GLAFP_UTILS_TOP)/mk/suffix.mk
-
-# No ways, please
-WAYS=
diff --git a/glafp-utils/mk/target.mk b/glafp-utils/mk/target.mk
deleted file mode 100644
index a2ed36c3c9dffd124f56be839e211bdf6e9b7e95..0000000000000000000000000000000000000000
--- a/glafp-utils/mk/target.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# (c) The GHC Team 2000
-# 
-
-TOP:=$(TOP)/..
-include $(TOP)/mk/target.mk
-TOP:=$(GLAFP_UTILS_TOP)
diff --git a/glafp-utils/sgmlverb/Makefile b/glafp-utils/sgmlverb/Makefile
deleted file mode 100644
index 4ae120326fe0c33be4d005a95199314433ebce59..0000000000000000000000000000000000000000
--- a/glafp-utils/sgmlverb/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-TOP=..
-include $(TOP)/mk/boilerplate.mk
-
-C_SRCS = sgmlverb.c
-C_PROG = sgmlverb
-LIBS = $(FLEX_LIB)
-
-override SRC_FLEX_OPTS=-8
-
-# sgmlverb.c isn't in distclean
-MAINTAINER_CLEAN_FILES += sgmlverb.c
-
-#
-# For src distributions, include flex output.
-#
-SRC_DIST_FILES += sgmlverb.c
-
-include $(TOP)/mk/target.mk
diff --git a/glafp-utils/sgmlverb/sgmlverb.lex b/glafp-utils/sgmlverb/sgmlverb.lex
deleted file mode 100644
index 812cb8416c1fb32622824c7d40d2774de79061bb..0000000000000000000000000000000000000000
--- a/glafp-utils/sgmlverb/sgmlverb.lex
+++ /dev/null
@@ -1,68 +0,0 @@
-
-  /*	This Lex script acts as a filter to pre-process Latex files.
-
-	It surrounds groups of lines beginning with a ">" sign, and
-	preceded and followed by a blank line, with \begin{verbatim} 
-	and \end{verbatim}.  The ">" may be preceded by a digit or digit
-	range (eg 4>, 2-5>, 3->); in this case the digits are removed.  
-	They are meant to be used for filtering out versions.
-
-	It takes words surrounded with @ signs (thus @letrec@) and makes them
-	come out in typewriter font, regardless of the current mode.
-  */
-
-%START  NORM  VERB  VERBENV
-sp			[ \t]*
-nl			{sp}\n{sp}
-comment                 \%.*$
-miranda			([0-9]+(\-([0-9]+)?)?)?>
-%{
-#define PUSH		states[top++] =
-#define POP		BEGIN states[--top]
-#define yywrap() 	1
-#define YY_SKIP_YYWRAP
-%}
-%%
-			int states[256];
-			int top;
-			BEGIN NORM;
-			top = 0;
-<NORM>@@		{ printf ("@"); }
-<NORM>@			{ printf ("<tt>"); PUSH NORM;  BEGIN VERB; }
-<NORM>\\%               { printf ("&percnt;"); }
-<NORM>{comment}         { }
-<VERB>@			{ printf ("</tt>");  POP; }
-<VERB>@@		{ printf ("@"); }
-<VERB>\>		{ printf ("&gt;"); }
-<VERB>\<		{ printf ("&lt;"); }
-<VERB>\#		{ printf ("&num;"); }
-<VERB>\$		{ printf ("&dollar;"); }
-<VERB>\%		{ printf ("&percnt;"); }
-<VERB>\&		{ printf ("&amp;"); }
-<VERB>\~		{ printf ("&tilde;"); }
-<VERB>\^		{ printf ("&circ;"); }
-
-<NORM>\<verb\>		 { printf ("<verb>"); PUSH NORM; BEGIN VERBENV; }
-<NORM>\<code\>		 { printf ("<code>"); PUSH NORM; BEGIN VERBENV; }
-<NORM>\\begin\{code\}	 { printf ("<code>"); PUSH NORM; BEGIN VERBENV; }
-<VERBENV>\<\/verb\>	 { printf ("</verb>"); POP; }
-<VERBENV>\<\/code\>	 { printf ("</code>"); POP; }
-<VERBENV>\<\\end\{code\} { printf ("</code>"); POP; }
-<VERBENV>\&\&		 { printf ("&"); }
-<VERBENV>\&		 { printf ("&ero;"); }
-<VERBENV>\<\/		 { printf ("&etago;"); }
-
-%%
-int
-main()
-{
-    yylex();
-    return(0);
-}
-
-/*
-<VERB>\_		{ printf ("{\\char'137}"); }
-<VERB>\\		{ printf ("{\\char'134}"); }
-<VERB>\{		{ printf ("{\\char'173}"); }
-<VERB>\}		{ printf ("{\\char'175}"); }
-*/
diff --git a/ghc/includes/Block.h b/includes/Block.h
similarity index 100%
rename from ghc/includes/Block.h
rename to includes/Block.h
diff --git a/ghc/includes/Bytecodes.h b/includes/Bytecodes.h
similarity index 100%
rename from ghc/includes/Bytecodes.h
rename to includes/Bytecodes.h
diff --git a/ghc/includes/ClosureMacros.h b/includes/ClosureMacros.h
similarity index 100%
rename from ghc/includes/ClosureMacros.h
rename to includes/ClosureMacros.h
diff --git a/ghc/includes/ClosureTypes.h b/includes/ClosureTypes.h
similarity index 100%
rename from ghc/includes/ClosureTypes.h
rename to includes/ClosureTypes.h
diff --git a/ghc/includes/Closures.h b/includes/Closures.h
similarity index 100%
rename from ghc/includes/Closures.h
rename to includes/Closures.h
diff --git a/ghc/includes/Cmm.h b/includes/Cmm.h
similarity index 100%
rename from ghc/includes/Cmm.h
rename to includes/Cmm.h
diff --git a/ghc/includes/Constants.h b/includes/Constants.h
similarity index 100%
rename from ghc/includes/Constants.h
rename to includes/Constants.h
diff --git a/ghc/includes/DNInvoke.h b/includes/DNInvoke.h
similarity index 100%
rename from ghc/includes/DNInvoke.h
rename to includes/DNInvoke.h
diff --git a/ghc/includes/Dotnet.h b/includes/Dotnet.h
similarity index 100%
rename from ghc/includes/Dotnet.h
rename to includes/Dotnet.h
diff --git a/ghc/includes/GranSim.h b/includes/GranSim.h
similarity index 100%
rename from ghc/includes/GranSim.h
rename to includes/GranSim.h
diff --git a/ghc/includes/Hooks.h b/includes/Hooks.h
similarity index 100%
rename from ghc/includes/Hooks.h
rename to includes/Hooks.h
diff --git a/ghc/includes/HsFFI.h b/includes/HsFFI.h
similarity index 100%
rename from ghc/includes/HsFFI.h
rename to includes/HsFFI.h
diff --git a/ghc/includes/InfoTables.h b/includes/InfoTables.h
similarity index 100%
rename from ghc/includes/InfoTables.h
rename to includes/InfoTables.h
diff --git a/ghc/includes/Linker.h b/includes/Linker.h
similarity index 100%
rename from ghc/includes/Linker.h
rename to includes/Linker.h
diff --git a/ghc/includes/Liveness.h b/includes/Liveness.h
similarity index 100%
rename from ghc/includes/Liveness.h
rename to includes/Liveness.h
diff --git a/ghc/includes/MachDeps.h b/includes/MachDeps.h
similarity index 100%
rename from ghc/includes/MachDeps.h
rename to includes/MachDeps.h
diff --git a/ghc/includes/MachRegs.h b/includes/MachRegs.h
similarity index 100%
rename from ghc/includes/MachRegs.h
rename to includes/MachRegs.h
diff --git a/ghc/includes/Makefile b/includes/Makefile
similarity index 99%
rename from ghc/includes/Makefile
rename to includes/Makefile
index cb33ade0141d78bc336ef798522f566047c7bb97..83b74d49a782a54acc7fee3485e89a5cc9cf77a0 100644
--- a/ghc/includes/Makefile
+++ b/includes/Makefile
@@ -28,7 +28,7 @@ boot :: gmp.h
 all :: $(H_CONFIG) $(H_PLATFORM)
 
 # gmp.h is copied from the GMP directory
-gmp.h : $(FPTOOLS_TOP)/ghc/rts/gmp/gmp.h
+gmp.h : $(FPTOOLS_TOP)/rts/gmp/gmp.h
 	$(CP) $< $@
 
 # The fptools configure script creates the configuration header file and puts it
diff --git a/ghc/includes/OSThreads.h b/includes/OSThreads.h
similarity index 100%
rename from ghc/includes/OSThreads.h
rename to includes/OSThreads.h
diff --git a/ghc/includes/Parallel.h b/includes/Parallel.h
similarity index 100%
rename from ghc/includes/Parallel.h
rename to includes/Parallel.h
diff --git a/ghc/includes/README b/includes/README
similarity index 100%
rename from ghc/includes/README
rename to includes/README
diff --git a/ghc/includes/Regs.h b/includes/Regs.h
similarity index 100%
rename from ghc/includes/Regs.h
rename to includes/Regs.h
diff --git a/ghc/includes/Rts.h b/includes/Rts.h
similarity index 100%
rename from ghc/includes/Rts.h
rename to includes/Rts.h
diff --git a/ghc/includes/RtsAPI.h b/includes/RtsAPI.h
similarity index 100%
rename from ghc/includes/RtsAPI.h
rename to includes/RtsAPI.h
diff --git a/ghc/includes/RtsConfig.h b/includes/RtsConfig.h
similarity index 100%
rename from ghc/includes/RtsConfig.h
rename to includes/RtsConfig.h
diff --git a/ghc/includes/RtsExternal.h b/includes/RtsExternal.h
similarity index 100%
rename from ghc/includes/RtsExternal.h
rename to includes/RtsExternal.h
diff --git a/ghc/includes/RtsFlags.h b/includes/RtsFlags.h
similarity index 100%
rename from ghc/includes/RtsFlags.h
rename to includes/RtsFlags.h
diff --git a/ghc/includes/RtsMessages.h b/includes/RtsMessages.h
similarity index 100%
rename from ghc/includes/RtsMessages.h
rename to includes/RtsMessages.h
diff --git a/ghc/includes/RtsTypes.h b/includes/RtsTypes.h
similarity index 100%
rename from ghc/includes/RtsTypes.h
rename to includes/RtsTypes.h
diff --git a/ghc/includes/SMP.h b/includes/SMP.h
similarity index 100%
rename from ghc/includes/SMP.h
rename to includes/SMP.h
diff --git a/ghc/includes/STM.h b/includes/STM.h
similarity index 100%
rename from ghc/includes/STM.h
rename to includes/STM.h
diff --git a/ghc/includes/SchedAPI.h b/includes/SchedAPI.h
similarity index 100%
rename from ghc/includes/SchedAPI.h
rename to includes/SchedAPI.h
diff --git a/ghc/includes/Signals.h b/includes/Signals.h
similarity index 100%
rename from ghc/includes/Signals.h
rename to includes/Signals.h
diff --git a/ghc/includes/Stable.h b/includes/Stable.h
similarity index 100%
rename from ghc/includes/Stable.h
rename to includes/Stable.h
diff --git a/ghc/includes/Stg.h b/includes/Stg.h
similarity index 100%
rename from ghc/includes/Stg.h
rename to includes/Stg.h
diff --git a/ghc/includes/StgDLL.h b/includes/StgDLL.h
similarity index 100%
rename from ghc/includes/StgDLL.h
rename to includes/StgDLL.h
diff --git a/ghc/includes/StgFun.h b/includes/StgFun.h
similarity index 100%
rename from ghc/includes/StgFun.h
rename to includes/StgFun.h
diff --git a/ghc/includes/StgLdvProf.h b/includes/StgLdvProf.h
similarity index 100%
rename from ghc/includes/StgLdvProf.h
rename to includes/StgLdvProf.h
diff --git a/ghc/includes/StgMiscClosures.h b/includes/StgMiscClosures.h
similarity index 100%
rename from ghc/includes/StgMiscClosures.h
rename to includes/StgMiscClosures.h
diff --git a/ghc/includes/StgProf.h b/includes/StgProf.h
similarity index 100%
rename from ghc/includes/StgProf.h
rename to includes/StgProf.h
diff --git a/ghc/includes/StgTicky.h b/includes/StgTicky.h
similarity index 100%
rename from ghc/includes/StgTicky.h
rename to includes/StgTicky.h
diff --git a/ghc/includes/StgTypes.h b/includes/StgTypes.h
similarity index 100%
rename from ghc/includes/StgTypes.h
rename to includes/StgTypes.h
diff --git a/ghc/includes/Storage.h b/includes/Storage.h
similarity index 100%
rename from ghc/includes/Storage.h
rename to includes/Storage.h
diff --git a/ghc/includes/TSO.h b/includes/TSO.h
similarity index 100%
rename from ghc/includes/TSO.h
rename to includes/TSO.h
diff --git a/ghc/includes/TailCalls.h b/includes/TailCalls.h
similarity index 100%
rename from ghc/includes/TailCalls.h
rename to includes/TailCalls.h
diff --git a/ghc/includes/config.h b/includes/config.h
similarity index 100%
rename from ghc/includes/config.h
rename to includes/config.h
diff --git a/ghc/includes/ghcconfig.h b/includes/ghcconfig.h
similarity index 100%
rename from ghc/includes/ghcconfig.h
rename to includes/ghcconfig.h
diff --git a/ghc/includes/ieee-flpt.h b/includes/ieee-flpt.h
similarity index 100%
rename from ghc/includes/ieee-flpt.h
rename to includes/ieee-flpt.h
diff --git a/ghc/includes/mkDerivedConstants.c b/includes/mkDerivedConstants.c
similarity index 100%
rename from ghc/includes/mkDerivedConstants.c
rename to includes/mkDerivedConstants.c
diff --git a/libraries/mk/boilerplate.mk b/libraries/mk/boilerplate.mk
index a9c22bcf743d3ce02bcfbf359f190bc42cacfd75..3f15f8d2976795f9770e47ab56bf7b56fa82dd6e 100644
--- a/libraries/mk/boilerplate.mk
+++ b/libraries/mk/boilerplate.mk
@@ -1,6 +1,3 @@
-# -----------------------------------------------------------------------------
-# $Id: boilerplate.mk,v 1.1 2001/07/31 16:40:34 simonmar Exp $
-
 # Begin by slurping in the boilerplate from one level up.
 # Remember, TOP is the top level of the innermost level
 # (FPTOOLS_TOP is the fptools top)
@@ -11,12 +8,6 @@
 LIBRARIES_TOP := $(TOP)
 TOP:=$(TOP)/..
 
-# Also set GHC_TOP here, because we need to get at bits of GHC's config
-GHC_TOP := $(TOP)/ghc
-
-# Pull in GHC's version & project info
--include $(GHC_TOP)/mk/version.mk
-
 # Pull in the fptools boilerplate
 include $(TOP)/mk/boilerplate.mk
 
@@ -27,8 +18,6 @@ TOP:=$(LIBRARIES_TOP)
 # Everything after this point
 # augments or overrides previously set variables.
 
--include $(GHC_TOP)/mk/paths.mk
-
 -include $(TOP)/mk/paths.mk
 -include $(TOP)/mk/opts.mk
 -include $(TOP)/mk/suffix.mk
diff --git a/mk/boilerplate.mk b/mk/boilerplate.mk
index 13c7a863b7f68e3c420f1fd4bc401410372f62b7..94ba7d5743ec745a159b4d8610cc4de684a584d1 100644
--- a/mk/boilerplate.mk
+++ b/mk/boilerplate.mk
@@ -2,10 +2,10 @@
 #
 #			    mk/boilerplate.mk
 #
-#		The Glorious fptools Boilerplate Makefile
+#		The Glorious GHC Boilerplate Makefile
 #
 # This one file should be included (directly or indirectly) by all Makefiles 
-# in the fptools hierarchy.
+# in the GHC hierarchy.
 #
 #################################################################################
 
diff --git a/mk/bootstrap.mk b/mk/bootstrap.mk
index 5bbc41f567ba99d69a41e9e9540c2902aedbea07..1501d5500c3fca649728010d3faad4573b7228d2 100644
--- a/mk/bootstrap.mk
+++ b/mk/bootstrap.mk
@@ -67,7 +67,7 @@ PLATFORM_CC_OPTS += -D__GLASGOW_HASKELL__=$(ProjectVersionInt)
 
 HC_BOOT_CC_OPTS = $(PLATFORM_HC_BOOT_CC_OPTS) $(PLATFORM_CC_OPTS) $(CC_OPTS)
 
-SRC_CC_OPTS += -I$(FPTOOLS_TOP_ABS)/ghc/includes -I$(FPTOOLS_TOP_ABS)/libraries/base/include -I$(FPTOOLS_TOP_ABS)/libraries/unix/include -I$(FPTOOLS_TOP_ABS)/libraries/parsec/include
+SRC_CC_OPTS += -I$(FPTOOLS_TOP_ABS)/$(GHC_INCLUDE_DIR_REL) -I$(FPTOOLS_TOP_ABS)/libraries/base/include -I$(FPTOOLS_TOP_ABS)/libraries/unix/include -I$(FPTOOLS_TOP_ABS)/libraries/parsec/include
 
 # C code compiled with UseGhcForCc=YES assumes the existence of certain CPP
 # symbols defined by GHC (eg. __GLASGOW_HASKELL__), so we better make sure
@@ -89,11 +89,11 @@ UNDERSCORE=
 endif
 
 ifeq "$(HaveLibGmp)" "NO"
-DASH_L_GHC_RTS_GMP_DIR=-L$(FPTOOLS_TOP_ABS)/ghc/rts/gmp
+DASH_L_GHC_RTS_GMP_DIR=-L$(FPTOOLS_TOP_ABS)/$(GHC_RTS_DIR_REL)/gmp
 endif
 
 HC_BOOT_LD_OPTS =				\
-   -L$(FPTOOLS_TOP_ABS)/ghc/rts			\
+   -L$(FPTOOLS_TOP_ABS)/$(GHC_RTS_DIR_REL)	\
    $(DASH_L_GHC_RTS_GMP_DIR)                    \
    -L$(FPTOOLS_TOP_ABS)/libraries/base		\
    -L$(FPTOOLS_TOP_ABS)/libraries/base/cbits	\
diff --git a/mk/config.mk.in b/mk/config.mk.in
index 23162f936312b3465d14010d6b1b808cbe27184d..774d6375e02c24d969a3f43a603922cb7492d307 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -25,12 +25,6 @@
 #
 # This is one of only two files that configure generates (the other is config.h)
 #
-# There is a section below for each project within the fptools suite
-#
-#	PLUS
-#
-# a section corresponding to each of the main .mk files 
-# included by boilerplate.mk (see boilerplate.mk for a list).
 
 ifneq "$(findstring 3.7, $(MAKE_VERSION))" ""
 ifeq "$(findstring 3.79.1, $(MAKE_VERSION))" ""
@@ -40,7 +34,34 @@ endif
 
 ################################################################################
 #
-#		Project-wide platform variables
+# GHC Version
+#
+
+# ProjectVersion    is treated as a *string*
+# ProjectVersionInt is treated as an *integer* (for cpp defines)
+
+# Versioning scheme: A.B.C
+#         A: major version, decimal, any number of digits
+#         B: minor version, decimal, any number of digits
+#	  C: patchlevel, one digit, omitted if zero.
+#
+# ProjectVersionInt does *not* contain the patchlevel (rationale: this
+# figure is used for conditional compilations, and library interfaces
+# etc. are not supposed to change between patchlevels).
+#
+# The ProjectVersionInt is included in interface files, and GHC
+# checks that it's reading interface generated by the same ProjectVersion
+# as itself. It does this even though interface file syntax may not 
+# change between versions.  Rationale: calling conventions or other 
+# random .o-file stuff might change even if the .hi syntax doesn't
+
+ProjectVersion    = @ProjectVersion@
+ProjectVersionInt = @ProjectVersionInt@
+ProjectPatchLevel = @ProjectPatchLevel@
+
+################################################################################
+#
+#		Platform variables
 #
 ################################################################################
 
@@ -127,6 +148,12 @@ BuildVendor_CPP                 = @BuildVendor_CPP@
 @TargetVendor_CPP@_TARGET_VENDOR  = 1
 @BuildVendor_CPP@_BUILD_VENDOR    = 1
 
+################################################################################
+#
+#		Global configuration options
+#
+################################################################################
+
 # Leading underscores on symbol names in object files
 # Valid options: YES/NO
 #
@@ -142,14 +169,6 @@ else
 Windows=NO
 endif
 
-################################################################################
-#
-#		project-wide flags
-#
-# 	Set of options applicable to all fptools projects
-#
-################################################################################
-
 # BootingFromHc - build GHC and the libraries from .hc files?
 BootingFromHc = @BootingFromHc@
 
@@ -157,39 +176,6 @@ BootingFromHc = @BootingFromHc@
 # rather than registerised code, i.e., disable the mangler?
 BootingFromUnregisterisedHc = @BootingFromUnregisterisedHc@
 
-# Build Order: we build Happy, Haddock and Alex before GHC if they are
-# in this source tree, just in case our GHC build depends on these
-# local builds rather than installed versions of the tools.
-#
-# Build the libs first if we're bootstrapping from .hc files.
-ifeq "$(BootingFromHc)" "YES"
-AllProjects = glafp-utils happy alex haddock libraries hslibs ghc greencard hdirect hood nofib docs
-else
-AllProjects = glafp-utils happy alex haddock ghc libraries hslibs greencard hdirect hood nofib docs
-endif
-
-#
-# (OPTIONAL) set ProjectsToBuild to a list of projects to be built.  If this
-# list is empty, then all projects present in the source tree will be built.
-#
-ProjectsToBuild =
-
-#
-# set ProjectsDontInstall to a list of projects which are normally built but
-# not installed.
-#
-ProjectsDontInstall = glafp-utils nofib
-
-#
-# Should the various project tests directories be built?
-#
-IncludeTestDirsInBuild=NO
-
-#
-# Should the various project example directories be built?
-#
-IncludeExampleDirsInBuild=NO
-
 #
 # Which ways should DocBook XML documents be built?
 # options are: dvi ps pdf html chm HxS
@@ -198,18 +184,9 @@ XMLDocWays=
 
 ################################################################################
 #
-#		GHC project
-# 
-# 	Set of (configurable) options needed by the ghc tree
-#	plus their default options (if any).
-#
-################################################################################
-
-#---------------------------------------------------------------
-#
 # Variables that control how the compiler itself is built
 #
-#---------------------------------------------------------------
+################################################################################
 
 # The compiler used to build GHC is $(GHC).  To change the actual compiler
 # used, re-configure with --with-ghc=<path-to-ghc>.
@@ -219,7 +196,7 @@ XMLDocWays=
 GhcCompilerWays=
 
 # Extra option flags to pass to the compiler that compiles the compiler
-# (Ones that are essential are wired into ghc/compiler/Makefile)
+# (Ones that are essential are wired into compiler/Makefile)
 # Typical options to use here:
 #
 #	-DDEBUG		include debugging code and assertions (will make the
@@ -297,6 +274,25 @@ endif
 BuildingParallel=$(subst mp,YES,$(filter mp,$(WAYS)))
 BuildingGranSim=$(subst mg,YES,$(filter mg,$(WAYS)))
 
+# Interface file version (hi-boot files only)
+#
+# A GHC built with HscIfaceFileVersion=n will look for 
+#	M.hi-boot-n, and only then for 
+#	M.hi-boot.
+# (It'll be happy with the latter if the former doesn't exist.)
+#
+#
+# This variable is used ONLY for hi-boot files.  Its only purpose is
+# to allow you to have a single directory with multiple .hi-boot files
+# for the same module, each corresponding to a different version of
+# GHC.
+#
+# HscIfaceFileVersion is propagated to hsc via
+# compiler/main/Config.hs, which is automatically generated by
+# compiler/Makefile.
+
+HscIfaceFileVersion=6
+
 #------------------------------------------------------------------------------
 # Options for Libraries
 
@@ -380,23 +376,6 @@ ifeq "$(TargetArch_CPP)" "ia64"
 SplitObjs=NO
 endif
 
-# ----------------------------------------------------------------------------
-# Options for GHC's RTS
-
-# For an optimised RTS (you probably don't want to change these; we build
-# a debugging RTS by default now.  Use -debug to get it).
-GhcRtsHcOpts=-optc-O2
-GhcRtsCcOpts=-fomit-frame-pointer
-
-# Include the front panel code?  Needs GTK+.
-GhcRtsWithFrontPanel = NO
-
-################################################################################
-#
-# libraries project
-#
-################################################################################
-
 # Build the Haskell Readline bindings?
 #
 GhcLibsWithReadline=@GhcLibsWithReadline@
@@ -424,41 +403,20 @@ DotnetSupport=@DotnetSupport@
 #
 GhcLibsWithUnix=@GhcLibsWithUnix@
 
-################################################################################
-#
-#		happy project
-#
-# 	Happy specific options
-#
-################################################################################
-
-# The compiler you'd like to use to compile Happy
-WithHappyHc = @WithHc@
-
-# HappyHcOpts gives the flags to pass to the Haskell compiler used
-# 	      to compile the Happy sources with.
-#
-HappyHcOpts = -O
+# ----------------------------------------------------------------------------
+# Options for GHC's RTS
 
-################################################################################
-#
-#		haggis project
-#
-# 	Haggis specific options
-#
-################################################################################
+# For an optimised RTS (you probably don't want to change these; we build
+# a debugging RTS by default now.  Use -debug to get it).
+GhcRtsHcOpts=-optc-O2
+GhcRtsCcOpts=-fomit-frame-pointer
 
-################################################################################
-#
-#		greencard project
-#
-# 	GreenCard specific options
-#
-################################################################################
+# Include the front panel code?  Needs GTK+.
+GhcRtsWithFrontPanel = NO
 
 ################################################################################
 #
-#		nofib project
+#		nofib
 #
 # 	nofib specific options
 #
@@ -488,14 +446,6 @@ NoFibHcOpts = -O
 # Number of times to run each program
 NoFibRuns = 5
 
-# ==============================================================================
-#
-#			END OF PROJECT-SPECIFIC STUFF
-#
-#		Now come the generic configuration options
-#
-# ==============================================================================
-
 ################################################################################
 #
 #		Paths (see paths.mk)
@@ -553,11 +503,11 @@ libdir		= $(prefix)
 else
 
 #
-# Unix: override libdir and datadir to put project-specific stuff in
+# Unix: override libdir and datadir to put ghc-specific stuff in
 # a subdirectory with the version number included.
 #
-libdir     = $(if $(ProjectNameShort),$(libdir0)/$(ProjectNameShort)-$(ProjectVersion),$(libdir0))
-datadir    = $(if $(ProjectNameShort),$(datadir0)/$(ProjectNameShort)-$(ProjectVersion),$(datadir0))
+libdir     = $(libdir0)/ghc-$(ProjectVersion)
+datadir    = $(datadir0)/ghc-$(ProjectVersion)
 
 endif # Windows
 
@@ -658,50 +608,141 @@ GC_CPP_OPTS += -P -E -x c -traditional -D__GLASGOW_HASKELL__
 
 ################################################################################
 #
-#		Utilities programs: where to find them
+#	Layout of the source tree
 #
 ################################################################################
 
-#-----------------------------------------------------------------------------
-# FPtools Utility locations
-
-# By default, the various utils needed to be build ghc and chums
-# is set up to point to the utils/ directory. Define here the
-# path prefix for the utilities. Notice that it's a prefix with
-# a trailing slash, so that it can be concatenated directly on
-# front of a program name; if it's not set then we just look
-# along the shell's $(PATH)
-#
-# If instead you want to use installed or your own versions of these,
-# override the various *_PREFIX in build.mk, i.e., having the following
-# in build.mk:
-#
-#   MKDEPENDC_PREFIX=
-#
-# will force `make' to rummage around in your PATH to find `mkdependC' (not
-# sure it would need it in the first place, but still).
-#
-GLAFP_UTILS  		= $(FPTOOLS_TOP)/glafp-utils
+# Here we provide defines for the various directories in the source tree,
+# so we can move things around more easily.  A define $(GHC_FOO_DIR_REL)
+# indicates a directory relative to the top of the source tree, whereas
+# $(GHC_FOO_DIR) is a directory relative to the current directory.
+# $(GHC_FOO_DIR_ABS) is the absolute path to the directory.
+
+GHC_UTILS_DIR_REL	= utils
+GHC_INCLUDE_DIR_REL	= includes
+GHC_COMPILER_DIR_REL	= compiler
+GHC_RTS_DIR_REL	   	= rts
+GHC_UTILS_DIR_REL 	= utils
+GHC_DRIVER_DIR_REL	= driver
+GHC_COMPAT_DIR_REL	= compat
+
+GHC_MKDEPENDC_DIR_REL	= $(GHC_UTILS_DIR_REL)/mkdependC
+GHC_LTX_DIR_REL		= $(GHC_UTILS_DIR_REL)/ltx
+GHC_RUNTEST_DIR_REL	= $(GHC_UTILS_DIR_REL)/runstdtest
+GHC_LNDIR_DIR_REL	= $(GHC_UTILS_DIR_REL)/lndir
+GHC_MKDIRHIER_DIR_REL	= $(GHC_UTILS_DIR_REL)/mkdirhier
+GHC_DOCBOOK_DIR_REL	= $(GHC_UTILS_DIR_REL)/docbook
+GHC_UNLIT_DIR_REL    	= $(GHC_UTILS_DIR_REL)/unlit
+GHC_HP2PS_DIR_REL	= $(GHC_UTILS_DIR_REL)/hp2ps
+GHC_HSTAGS_DIR_REL	= $(GHC_UTILS_DIR_REL)/hasktags
+GHC_HSC2HS_DIR_REL	= $(GHC_UTILS_DIR_REL)/hsc2hs
+GHC_TOUCHY_DIR_REL	= $(GHC_UTILS_DIR_REL)/touchy
+GHC_PKG_DIR_REL		= $(GHC_UTILS_DIR_REL)/ghc-pkg
+GHC_GENPRIMOP_DIR_REL	= $(GHC_UTILS_DIR_REL)/genprimopcode
+GHC_GENAPPLY_DIR_REL	= $(GHC_UTILS_DIR_REL)/genapply
+
+GHC_MANGLER_DIR_REL	= $(GHC_DRIVER_DIR_REL)/mangler
+GHC_SPLIT_DIR_REL	= $(GHC_DRIVER_DIR_REL)/split
+GHC_SYSMAN_DIR_REL	= $(GHC_RTS_DIR_REL)/parallel
+
+GHC_UTILS_DIR		= $(FPTOOLS_TOP)/$(GHC_UTILS_DIR_REL)
+GHC_INCLUDE_DIR	  	= $(FPTOOLS_TOP)/$(GHC_INCLUDE_DIR_REL)
+GHC_COMPILER_DIR	= $(FPTOOLS_TOP)/$(GHC_COMPILER_DIR_REL)
+GHC_RTS_DIR	   	= $(FPTOOLS_TOP)/$(GHC_RTS_DIR_REL)
+GHC_UTILS_DIR 		= $(FPTOOLS_TOP)/$(GHC_UTILS_DIR_REL)
+GHC_DRIVER_DIR		= $(FPTOOLS_TOP)/$(GHC_DRIVER_DIR_REL)
+GHC_COMPAT_DIR		= $(FPTOOLS_TOP)/$(GHC_COMPAT_DIR_REL)
+
+GHC_MKDEPENDC_DIR	= $(FPTOOLS_TOP)/$(GHC_MKDEPENDC_DIR_REL)
+GHC_LTX_DIR		= $(FPTOOLS_TOP)/$(GHC_LTX_DIR_REL)
+GHC_RUNTEST_DIR		= $(FPTOOLS_TOP)/$(GHC_RUNTEST_DIR_REL)
+GHC_LNDIR_DIR		= $(FPTOOLS_TOP)/$(GHC_LNDIR_DIR_REL)
+GHC_MKDIRHIER_DIR	= $(FPTOOLS_TOP)/$(GHC_MKDIRHIER_DIR_REL)
+GHC_DOCBOOK_DIR		= $(FPTOOLS_TOP)/$(GHC_DOCBOOK_DIR_REL)
+GHC_UNLIT_DIR    	= $(FPTOOLS_TOP)/$(GHC_UNLIT_DIR_REL)
+GHC_HP2PS_DIR		= $(FPTOOLS_TOP)/$(GHC_HP2PS_DIR_REL)
+GHC_HSTAGS_DIR		= $(FPTOOLS_TOP)/$(GHC_HSTAGS_DIR_REL)
+GHC_HSC2HS_DIR		= $(FPTOOLS_TOP)/$(GHC_HSC2HS_DIR_REL)
+GHC_TOUCHY_DIR		= $(FPTOOLS_TOP)/$(GHC_TOUCHY_DIR_REL)
+GHC_PKG_DIR		= $(FPTOOLS_TOP)/$(GHC_PKG_DIR_REL)
+GHC_GENPRIMOP_DIR	= $(FPTOOLS_TOP)/$(GHC_GENPRIMOP_DIR_REL)
+GHC_GENAPPLY_DIR	= $(FPTOOLS_TOP)/$(GHC_GENAPPLY_DIR_REL)
+
+GHC_MANGLER_DIR		= $(FPTOOLS_TOP)/$(GHC_MANGLER_DIR_REL)
+GHC_SPLIT_DIR		= $(FPTOOLS_TOP)/$(GHC_SPLIT_DIR_REL)
+GHC_SYSMAN_DIR		= $(FPTOOLS_TOP)/$(GHC_SYSMAN_DIR_REL)
+
+GHC_UTILS_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_UTILS_DIR_REL)
+GHC_INCLUDE_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_INCLUDE_DIR_REL)
+GHC_COMPILER_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_COMPILER_DIR_REL)
+GHC_RTS_DIR_ABS	   	= $(FPTOOLS_TOP_ABS)/$(GHC_RTS_DIR_REL)
+GHC_UTILS_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_UTILS_DIR_REL)
+GHC_DRIVER_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_DRIVER_DIR_REL)
+GHC_COMPAT_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_COMPAT_DIR_REL)
+
+GHC_MKDEPENDC_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_MKDEPENDC_DIR_REL)
+GHC_LTX_DIR_ABS		= $(FPTOOLS_TOP_ABS)/$(GHC_LTX_DIR_REL)
+GHC_RUNTEST_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_RUNTEST_DIR_REL)
+GHC_LNDIR_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_LNDIR_DIR_REL)
+GHC_MKDIRHIER_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_MKDIRHIER_DIR_REL)
+GHC_DOCBOOK_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_DOCBOOK_DIR_REL)
+GHC_UNLIT_DIR    	= $(FPTOOLS_TOP_ABS)/$(GHC_UNLIT_DIR_REL)
+GHC_HP2PS_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_HP2PS_DIR_REL)
+GHC_HSTAGS_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_HSTAGS_DIR_REL)
+GHC_HSC2HS_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)
+GHC_TOUCHY_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_TOUCHY_DIR_REL)
+GHC_PKG_DIR_ABS		= $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL)
+GHC_GENPRIMOP_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_GENPRIMOP_DIR_REL)
+GHC_GENAPPLY_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_GENAPPLY_DIR_REL)
+
+GHC_MANGLER_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_MANGLER_DIR_REL)
+GHC_SYSMAN_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_SYSMAN_DIR_REL)
+GHC_SPLIT_DIR_ABS	= $(FPTOOLS_TOP_ABS)/$(GHC_SPLIT_DIR_REL)
 
-SCRIPT_PREFIX 		= $(GLAFP_UTILS)/scripts/
-MKDEPENDC_PREFIX	= $(GLAFP_UTILS)/mkdependC/
-LTX_PREFIX		= $(GLAFP_UTILS)/ltx/
-RUNTEST_PREFIX		= $(GLAFP_UTILS)/runstdtest/
-VERBATIM_PREFIX		= $(GLAFP_UTILS)/verbatim/
-SGMLVERB_PREFIX		= $(GLAFP_UTILS)/sgmlverb/
-ETAGS_PREFIX		= $(GLAFP_UTILS)/etags/
-LNDIR_PREFIX		= $(GLAFP_UTILS)/lndir/
-MKDIRHIER_PREFIX	= $(GLAFP_UTILS)/mkdirhier/
-DOCBOOK_PREFIX		= $(GLAFP_UTILS)/docbook/
-
-HADDOCK_PREFIX		= $(FPTOOLS_TOP)/haddock/
+# -----------------------------------------------------------------------------
+# Names of programs in the GHC tree
+#
+#      xxx_PGM	        the name of an executable, without the path
+#      xxx		the executable relative to the current dir
+
+GHC_UNLIT_PGM		= unlit$(exeext)
+GHC_HSTAGS_PGM		= hasktags
+GHC_HSC2HS_INPLACE_PGM	= hsc2hs-inplace
+GHC_TOUCHY_PGM		= touchy$(exeext)
+GHC_MANGLER_PGM		= ghc-asm
+GHC_SPLIT_PGM		= ghc-split
+GHC_SYSMAN_PGM 		= SysMan
+GHC_PKG_INPLACE_PGM	= ghc-pkg-inplace
+GHC_GENPRIMOP_PGM	= genprimopcode
+GHC_GENAPPLY_PGM	= genapply
+GHC_MKDEPENDC_PGM 	= mkdependC
+GHC_LTX_PGM 		= ltx
+GHC_MKDIRHIER_PGM	= mkdirhier
+GHC_LNDIR_PGM		= lndir
+GHC_RUNTEST_PGM		= runstdtest
 
-LITERATE_PREFIX    	= $(FPTOOLS_TOP)/literate/
+ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+GHC_CP			= "xcopy /y"
+GHC_PERL		= perl
+else
+GHC_CP			= $(CP)
+GHC_PERL		= $(PERL)
+endif
 
-UNLIT_PREFIX    	= $(FPTOOLS_TOP)/ghc/utils/unlit/
-HP2PS_PREFIX            = $(FPTOOLS_TOP)/ghc/utils/hp2ps/
-HSTAGS_PREFIX           = $(FPTOOLS_TOP)/ghc/utils/hasktags/
-HSC2HS_PREFIX		= $(FPTOOLS_TOP)/ghc/utils/hsc2hs/
+UNLIT			= $(GHC_UNLIT_DIR)/$(GHC_UNLIT_PGM)
+HSTAGS			= $(GHC_HSTAGS_DIR)/$(GHC_HSTAGS_PGM)
+HSC2HS_INPLACE		= $(GHC_HSC2HS_DIR)/$(GHC_HSC2HS_INPLACE_PGM)
+MANGLER			= $(GHC_MANGLER_DIR)/$(GHC_MANGLER_PGM)
+SPLIT			= $(GHC_SPLIT_DIR)/$(GHC_SPLIT_PGM)
+SYSMAN 			= $(GHC_SYSMAN_DIR)/$(GHC_SYSMAN_PGM)
+GHC_PKG_INPLACE		= $(GHC_PKG_DIR)/$(GHC_PKG_INPLACE_PGM)
+GENPRIMOP		= $(GHC_GENPRIMOP_DIR)/$(GHC_GENPRIMOP_PGM)
+GENAPPLY		= $(GHC_GENAPPLY_DIR)/$(GHC_GENAPPLY_PGM)
+MKDEPENDC 		= $(GHC_MKDEPENDC_DIR)/$(GHC_MKDEPENDC_PGM)
+LTX 			= $(GHC_LTX_DIR)/$(GHC_LTX_PGM)
+MKDIRHIER		= $(GHC_MKDIRHIER_DIR)/$(GHC_MKDIRHIER_PGM)
+LNDIR			= $(GHC_LNDIR_DIR)/$(GHC_LNDIR_PGM)
+RUNTEST			= $(GHC_RUNTEST_DIR)/$(GHC_RUNTEST_PGM)
 
 #-----------------------------------------------------------------------------
 # Haskell compilers and mkdependHS
@@ -722,6 +763,9 @@ GhcMajVersion	= @GhcMajVersion@
 GhcMinVersion	= @GhcMinVersion@
 GhcPatchLevel	= @GhcPatchLevel@
 
+# Set to YES if $(GHC) has the readline package installed
+GhcHasReadline	= @GhcHasReadline@
+
 # Canonicalised ghc version number, used for easy (integer) version
 # comparisons.  We must expand $(GhcMinVersion) to two digits by
 # adding a leading zero if necessary:
@@ -734,17 +778,45 @@ endif
 HBC		= @HBC@
 NHC		= @NHC@
 
+# Setting UseStage1=YES forces use of the stage1 compiler to compile
+# Haskell code, rather than the installed compiler.
+ifeq "$(UseStage1)" "YES"
+HC		=$(GHC_STAGE1)
+MKDEPENDHS	=$(GHC_STAGE1)
+else
 HC	        = @WithHc@
 MKDEPENDHS	= $(GHC)
+endif
 
 # Sometimes we want to invoke ghc from the build tree in different
-# projects (eg. it's handy to have a nofib & a ghc build in the same
+# places (eg. it's handy to have a nofib & a ghc build in the same
 # tree).  We can refer to "this ghc" as $(GHC_INPLACE):
 
-GHC_INPLACE 	= $(FPTOOLS_TOP)/ghc/compiler/ghc-inplace
-GHC_STAGE1 	= $(FPTOOLS_TOP)/ghc/compiler/stage1/ghc-inplace
-GHC_STAGE2 	= $(FPTOOLS_TOP)/ghc/compiler/stage2/ghc-inplace
-GHC_STAGE3 	= $(FPTOOLS_TOP)/ghc/compiler/stage3/ghc-inplace
+GHC_INPLACE 	= $(GHC_COMPILER_DIR)/ghc-inplace
+GHC_STAGE1 	= $(GHC_COMPILER_DIR)/stage1/ghc-inplace
+GHC_STAGE2 	= $(GHC_COMPILER_DIR)/stage2/ghc-inplace
+GHC_STAGE3 	= $(GHC_COMPILER_DIR)/stage3/ghc-inplace
+
+# Some useful GHC version predicates:
+
+ifeq "$(UseStage1)" "YES"
+ghc_ge_504 = YES
+ghc_ge_601 = YES
+ghc_ge_602 = YES
+ghc_ge_603 = YES
+else
+ifeq "$(BootingFromHc)" "YES"
+ghc_ge_504 = YES
+ghc_ge_601 = YES
+ghc_ge_602 = YES
+ghc_ge_603 = YES
+else
+ghc_ge_504 = $(shell if (test $(GhcCanonVersion) -ge 504); then echo YES; else echo NO; fi)
+ghc_ge_601 = $(shell if (test $(GhcCanonVersion) -ge 601); then echo YES; else echo NO; fi)
+ghc_ge_602 = $(shell if (test $(GhcCanonVersion) -ge 602); then echo YES; else echo NO; fi)
+ghc_ge_603 = $(shell if (test $(GhcCanonVersion) -ge 603); then echo YES; else echo NO; fi)
+endif
+endif
 
 #-----------------------------------------------------------------------------
 # C compiler
@@ -859,7 +931,7 @@ LdIsGNULd		= @LdIsGNULd@
 # The reason for having to do this is that overly long command lines
 # cause unnecessary trouble with some shells (e.g., /bin/sh on Solaris
 # 2.5.1), which is why this backdoor is provided. The situation of overly
-# long command lines is either encountered while doing `make boot' in ghc/compiler, 
+# long command lines is either encountered while doing `make boot' in compiler/, 
 # or when linking the compiler binary (`hsc'). 
 #
 # We do not use SHELL to execute long commands, as `make' will more than likely
@@ -893,6 +965,9 @@ TIME			= @TimeCmd@
 TROFF			= troff
 UNAME			= uname
 
+# GTK+
+GTK_CONFIG = @GTK_CONFIG@
+
 #-----------------------------------------------------------------------------
 # DocBook XML stuff
 
@@ -912,16 +987,6 @@ XSLTPROC_LABEL_OPTS	= --stringparam toc.section.depth 3 \
 #-----------------------------------------------------------------------------
 # 		FPtools support software
 
-# Stuff from fptools/glafp-utils
-MKDEPENDC 		= $(MKDEPENDC_PREFIX)mkdependC
-LTX 			= $(LTX_PREFIX)ltx
-MKDIRHIER		= $(MKDIRHIER_PREFIX)mkdirhier
-LNDIR			= $(LNDIR_PREFIX)lndir
-ETAGS			= $(ETAGS_PREFIX)etags
-VERBATIM		= $(VERBATIM_PREFIX)verbatim
-SGMLVERB		= $(SGMLVERB_PREFIX)sgmlverb
-RUNTEST			= $(RUNTEST_PREFIX)runstdtest
-
 BLD_DLL			= dllwrap
 
 #
@@ -969,31 +1034,9 @@ GHC_ALEX_OPTS		= -g
 # Haddock
 # 
 HADDOCK			= @HaddockCmd@
-HADDOCK_INPLACE		= $(HADDOCK_PREFIX)/src/haddock-inplace
-
-#
-# Stuff from fptools/literate
-#
-LIT2PGM 		= $(LITERATE_PREFIX)lit2pgm
-LIT2HTML      		= $(LITERATE_PREFIX)lit2html
-LIT2LATEX     		= $(LITERATE_PREFIX)lit2latex
-MKDEPENDLIT   		= $(LITERATE_PREFIX)mkdependlit
-LIT2CHANGELOG 		= $(LITERATE_PREFIX)lit2changelog
-LIT2TEXT 		= $(LITERATE_PREFIX)lit2text
-
-#
-# Stuff from fptools/ghc/utils
-#
-UNLIT	 		= $(UNLIT_PREFIX)unlit$(exeext)
-HP2PS			= $(HP2PS_PREFIX)hp2ps$(exeext)
-HSTAGS			= $(HSTAGS_PREFIX)hasktags
-HSC2HS			= $(HSC2HS_PREFIX)hsc2hs-inplace
 
 #
-# Options for the compiling different `ways'. Various projects within
-# the glorious fptools tree support building in various user-configured
-# ways. For instance, you could set up one `way' such that the prelude
-# libraries all were built with the option -ffoldr-build-on.
+# Options for compiling in different `ways'. 
 # 
 # To configure up your own way, have a look at some of the standard ways
 # such as profiling, and create your own set of WAY_*_OPTS defs below.
@@ -1002,15 +1045,6 @@ HSC2HS			= $(HSC2HS_PREFIX)hsc2hs-inplace
 # to the list of ways they support.
 #
 
-#
-# IMPORTANT! The WAYS variable configures the different `ways'
-# you want to build a project (or maybe just parts of it, as is
-# the case for ghc/). This variable is intended set inside the
-# project mk setup, enforcing a global fptools WAYS is a bit too
-# much (do you *really* want to build glafp-utils the profiled-concurrent 
-# way?)
-#
-
 #
 # Definitions of the different ways:
 #   
@@ -1032,7 +1066,7 @@ USER_WAYS=a b c d e f g h j k l m n o A B
 # The following ways currently have treated specially, p u t mg,
 # as the driver script treats these guys specially and needs to carefully be told
 # about the options for these. Hence, we hide the required command line options
-# for these in the ghc/driver, as this is the only place they are needed.
+# for these in the driver, as this is the only place they are needed.
 # 
 # If you want to add to these default options, fill in the variables below:
 
diff --git a/mk/package.mk b/mk/package.mk
index 37e286bca7949ae257ac09ed7826a8c8942a51cc..fbabfeb1e4c4fe9d6e867f2a9e30a3e593dcae4b 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -3,13 +3,8 @@
 
 ifneq "$(PACKAGE)" ""
 
-ifeq "$(STANDALONE_PACKAGE)" ""
-ifeq "$(ProjectNameShort)" "ghc"
+# FIXME: does anyone do this any more?
 STANDALONE_PACKAGE = NO
-else
-STANDALONE_PACKAGE = YES
-endif
-endif
 
 # -----------------------------------------------------------------------------
 # Directory layouts, installation etc.
@@ -104,7 +99,7 @@ package.conf.installed : package.conf.in
 	sed -e 's/""//g' -e 's/:[ 	]*,/: /g' >$@
 
 # we could be more accurate here and add a dependency on
-# ghc/driver/package.conf, but that doesn't work too well because of
+# driver/package.conf, but that doesn't work too well because of
 # make's limited accuracy with modification times: when doing 'make
 # boot' in multiple packages, make won't detect that the package
 # configuration needs updating if it was updated already in the last
diff --git a/mk/paths.mk b/mk/paths.mk
index 84f8988b17228efc50adb5f9487ae1c8bc3c46b7..b616e7d28db95287ac6aaab0f2b76a0c948503d6 100644
--- a/mk/paths.mk
+++ b/mk/paths.mk
@@ -230,7 +230,7 @@ TAGS_C_SRCS=$(C_SRCS)
 #
 # NOTE: $(SCRIPT_OBJS) is not in MOSTLY_CLEAN_FILES, because in some
 # places in the tree it appears that we have source files in $(SCRIPT_OBJS).
-# Specifically glafp-utils/mkdependC/mkdependC.prl and others in ghc/driver and
+# Specifically glafp-utils/mkdependC/mkdependC.prl and others in driver/ and
 # possibly others elsewhere in the tree.  ToDo: fix this properly.
 MOSTLY_CLEAN_FILES += $(HS_OBJS) $(C_OBJS) $(HSC_C_OBJS) $(GC_C_OBJS)
 CLEAN_FILES        += $(HS_PROG) $(C_PROG) $(SCRIPT_PROG) $(SCRIPT_LINK) \
diff --git a/mk/suffix.mk b/mk/suffix.mk
index 984c311ef43c9b6aa0d9a2f7a5f38470bea68157..276c0c02f0213d12a01a7a716f253940448650af 100644
--- a/mk/suffix.mk
+++ b/mk/suffix.mk
@@ -26,7 +26,7 @@
 # Haskell Suffix Rules
 
 # The $(odir) support is for building GHC, where we need to build three
-# different versions from the same sources.  See ghc/compiler/Makefile.
+# different versions from the same sources.  See compiler/Makefile.
 ifneq "$(odir)" ""
 odir_ = $(odir)/
 else
@@ -165,7 +165,7 @@ endif # BootingFromHc
 #
 ifneq "$(BootingFromHc)" "YES"
 %_hsc.c %_hsc.h %.hs : %.hsc
-	$(HSC2HS) $(HSC2HS_OPTS) $<
+	$(HSC2HS_INPLACE) $(HSC2HS_OPTS) $<
 	@touch $(patsubst %.hsc,%_hsc.c,$<)
 endif
 
diff --git a/mk/target.mk b/mk/target.mk
index 7a49c354170a4c04c66135324e81ccfcbd890018..0334896b3fabf8d3725ebba053ea6cc30bab3224 100644
--- a/mk/target.mk
+++ b/mk/target.mk
@@ -2,14 +2,14 @@
 #
 #			target.mk
 #
-#		Standard targets for fptools
+#		Standard targets for GHC
 #
 #################################################################################
 
 #
 # This file contain three groups of target rules:
 #
-# 1.  FPtools targets
+# 1.  GHC targets
 #	depend*
 #	runtests*
 #
@@ -19,7 +19,7 @@
 #       install-docs*
 #	clean* distclean* mostlyclean* maintainer-clean*
 #	tags*
-#	dvi ps (no info) FPTOOLS adds: pdf rtf html chm HxS
+#	dvi ps (no info) GHC adds: pdf rtf html chm HxS
 #	check
 #
 # 3. Some of the above targets have a version that
@@ -50,7 +50,7 @@ include $(TOP)/mk/package.mk
 include $(TOP)/mk/suffix.mk
 
 ##################################################################
-# 		FPtools standard targets
+# 		GHC standard targets
 #
 # depend:
 #
@@ -202,7 +202,7 @@ endif
 #      directories where files are installed, and their parent
 #      directories. There is a script called `mkinstalldirs' which is
 #      convenient for this; find it in the Texinfo package.
-#      (FPTOOLS: we use a close relative of the suggested script, situated
+#      (GHC: we use a close relative of the suggested script, situated
 #       in glafp-utils/mkdirhier -- SOF)
 
 
@@ -373,7 +373,7 @@ SRC_BLD_DLL_OPTS += --export-all --output-def=HS$(PACKAGE)$(_cbits)$(_way).def D
 ifneq "$(PACKAGE) $(IS_CBITS_LIB)" "std YES"
 ifneq "$(PACKAGE)" "rts"
 SRC_BLD_DLL_OPTS += -lHSstd_cbits_imp -L$(GHC_LIB_DIR)/std/cbits
-SRC_BLD_DLL_OPTS += -lHSrts_$(way_)imp -L$(GHC_RUNTIME_DIR)
+SRC_BLD_DLL_OPTS += -lHSrts_$(way_)imp -L$(GHC_RTS_DIR)
 ifneq "$(PACKAGE)" "std"
   ifeq "$(IS_CBITS_LIB)" ""
   SRC_BLD_DLL_OPTS += -lHSstd_$(way_)imp -L$(GHC_LIB_DIR)/std 
@@ -382,7 +382,7 @@ endif
 endif
 endif
 
-SRC_BLD_DLL_OPTS += -lgmp -L. -L$(GHC_RUNTIME_DIR)/gmp
+SRC_BLD_DLL_OPTS += -lgmp -L. -L$(GHC_RTS_DIR)/gmp
 ifeq "$(IS_CBITS_LIB)" ""
 SRC_BLD_DLL_OPTS += $(patsubst %,-lHS%_$(way_)imp, $(PACKAGE_DEPS))
 SRC_BLD_DLL_OPTS += $(patsubst %,-L../%, $(PACKAGE_DEPS))
@@ -1077,21 +1077,21 @@ ifeq "$(way)" ""
 # since these are way-independent
 all docs TAGS clean distclean mostlyclean maintainer-clean install ::
 	@echo "------------------------------------------------------------------------"
-	@echo "===fptools== Recursively making \`$@' for ways: $(WAYS) ..."
+	@echo "== Recursively making \`$@' for ways: $(WAYS) ..."
 	@echo "PWD = $(shell pwd)"
 	@echo "------------------------------------------------------------------------"
 # Don't rely on -e working, instead we check exit return codes from sub-makes.
 	@case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \
 	for i in $(WAYS) ; do \
 	  echo "------------------------------------------------------------------------"; \
-	  echo "==fptools== $(MAKE) way=$$i $@;"; \
+	  echo "== $(MAKE) way=$$i $@;"; \
 	  echo "PWD = $(shell pwd)"; \
 	  echo "------------------------------------------------------------------------"; \
 	  $(MAKE) way=$$i --no-print-directory $(MFLAGS) $@ ; \
 	  if [ $$? -eq 0 ] ; then true; else exit $$x_on_err; fi; \
 	done
 	@echo "------------------------------------------------------------------------"
-	@echo "===fptools== Finished recursively making \`$@' for ways: $(WAYS) ..."
+	@echo "== Finished recursively making \`$@' for ways: $(WAYS) ..."
 	@echo "PWD = $(shell pwd)"
 	@echo "------------------------------------------------------------------------"
 
@@ -1171,21 +1171,21 @@ endif
 
 $(ALL_TARGET) docs runtests $(BOOT_TARGET) TAGS clean distclean mostlyclean maintainer-clean $(INSTALL_TARGET) $(INSTALL_DOCS_TARGET) html chm HxS ps dvi txt::
 	@echo "------------------------------------------------------------------------"
-	@echo "===fptools== Recursively making \`$@' in $(SUBDIRS) ..."
+	@echo "== Recursively making \`$@' in $(SUBDIRS) ..."
 	@echo "PWD = $(shell pwd)"
 	@echo "------------------------------------------------------------------------"
 # Don't rely on -e working, instead we check exit return codes from sub-makes.
 	@case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \
 	for i in $(SUBDIRS); do \
 	  echo "------------------------------------------------------------------------"; \
-	  echo "==fptools== $(MAKE) $@ $(MFLAGS);"; \
+	  echo "== $(MAKE) $@ $(MFLAGS);"; \
 	  echo " in $(shell pwd)/$$i"; \
 	  echo "------------------------------------------------------------------------"; \
 	  $(MAKE) --no-print-directory -C $$i $(MFLAGS) $@; \
 	  if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ;  then true; else exit 1; fi; \
 	done
 	@echo "------------------------------------------------------------------------"
-	@echo "===fptools== Finished making \`$@' in $(SUBDIRS) ..."
+	@echo "== Finished making \`$@' in $(SUBDIRS) ..."
 	@echo "PWD = $(shell pwd)"
 	@echo "------------------------------------------------------------------------"
 
diff --git a/ghc/rts/Adjustor.c b/rts/Adjustor.c
similarity index 100%
rename from ghc/rts/Adjustor.c
rename to rts/Adjustor.c
diff --git a/ghc/rts/AdjustorAsm.S b/rts/AdjustorAsm.S
similarity index 100%
rename from ghc/rts/AdjustorAsm.S
rename to rts/AdjustorAsm.S
diff --git a/ghc/rts/Apply.cmm b/rts/Apply.cmm
similarity index 100%
rename from ghc/rts/Apply.cmm
rename to rts/Apply.cmm
diff --git a/ghc/rts/Apply.h b/rts/Apply.h
similarity index 100%
rename from ghc/rts/Apply.h
rename to rts/Apply.h
diff --git a/ghc/rts/Arena.c b/rts/Arena.c
similarity index 100%
rename from ghc/rts/Arena.c
rename to rts/Arena.c
diff --git a/ghc/rts/Arena.h b/rts/Arena.h
similarity index 100%
rename from ghc/rts/Arena.h
rename to rts/Arena.h
diff --git a/ghc/rts/AutoApply.h b/rts/AutoApply.h
similarity index 100%
rename from ghc/rts/AutoApply.h
rename to rts/AutoApply.h
diff --git a/ghc/rts/AwaitEvent.h b/rts/AwaitEvent.h
similarity index 100%
rename from ghc/rts/AwaitEvent.h
rename to rts/AwaitEvent.h
diff --git a/ghc/rts/BlockAlloc.c b/rts/BlockAlloc.c
similarity index 100%
rename from ghc/rts/BlockAlloc.c
rename to rts/BlockAlloc.c
diff --git a/ghc/rts/BlockAlloc.h b/rts/BlockAlloc.h
similarity index 100%
rename from ghc/rts/BlockAlloc.h
rename to rts/BlockAlloc.h
diff --git a/ghc/rts/Capability.c b/rts/Capability.c
similarity index 100%
rename from ghc/rts/Capability.c
rename to rts/Capability.c
diff --git a/ghc/rts/Capability.h b/rts/Capability.h
similarity index 100%
rename from ghc/rts/Capability.h
rename to rts/Capability.h
diff --git a/ghc/rts/ClosureFlags.c b/rts/ClosureFlags.c
similarity index 100%
rename from ghc/rts/ClosureFlags.c
rename to rts/ClosureFlags.c
diff --git a/ghc/rts/Disassembler.c b/rts/Disassembler.c
similarity index 100%
rename from ghc/rts/Disassembler.c
rename to rts/Disassembler.c
diff --git a/ghc/rts/Disassembler.h b/rts/Disassembler.h
similarity index 100%
rename from ghc/rts/Disassembler.h
rename to rts/Disassembler.h
diff --git a/ghc/rts/Exception.cmm b/rts/Exception.cmm
similarity index 100%
rename from ghc/rts/Exception.cmm
rename to rts/Exception.cmm
diff --git a/ghc/rts/Exception.h b/rts/Exception.h
similarity index 100%
rename from ghc/rts/Exception.h
rename to rts/Exception.h
diff --git a/ghc/rts/FrontPanel.c b/rts/FrontPanel.c
similarity index 100%
rename from ghc/rts/FrontPanel.c
rename to rts/FrontPanel.c
diff --git a/ghc/rts/FrontPanel.h b/rts/FrontPanel.h
similarity index 100%
rename from ghc/rts/FrontPanel.h
rename to rts/FrontPanel.h
diff --git a/ghc/rts/GC.c b/rts/GC.c
similarity index 100%
rename from ghc/rts/GC.c
rename to rts/GC.c
diff --git a/ghc/rts/GCCompact.c b/rts/GCCompact.c
similarity index 100%
rename from ghc/rts/GCCompact.c
rename to rts/GCCompact.c
diff --git a/ghc/rts/GCCompact.h b/rts/GCCompact.h
similarity index 100%
rename from ghc/rts/GCCompact.h
rename to rts/GCCompact.h
diff --git a/ghc/rts/GetTime.h b/rts/GetTime.h
similarity index 100%
rename from ghc/rts/GetTime.h
rename to rts/GetTime.h
diff --git a/ghc/rts/HSprel.def b/rts/HSprel.def
similarity index 100%
rename from ghc/rts/HSprel.def
rename to rts/HSprel.def
diff --git a/ghc/rts/Hash.c b/rts/Hash.c
similarity index 100%
rename from ghc/rts/Hash.c
rename to rts/Hash.c
diff --git a/ghc/rts/Hash.h b/rts/Hash.h
similarity index 100%
rename from ghc/rts/Hash.h
rename to rts/Hash.h
diff --git a/ghc/rts/HeapStackCheck.cmm b/rts/HeapStackCheck.cmm
similarity index 100%
rename from ghc/rts/HeapStackCheck.cmm
rename to rts/HeapStackCheck.cmm
diff --git a/ghc/rts/HsFFI.c b/rts/HsFFI.c
similarity index 100%
rename from ghc/rts/HsFFI.c
rename to rts/HsFFI.c
diff --git a/ghc/rts/Interpreter.c b/rts/Interpreter.c
similarity index 100%
rename from ghc/rts/Interpreter.c
rename to rts/Interpreter.c
diff --git a/ghc/rts/Interpreter.h b/rts/Interpreter.h
similarity index 100%
rename from ghc/rts/Interpreter.h
rename to rts/Interpreter.h
diff --git a/ghc/rts/LdvProfile.c b/rts/LdvProfile.c
similarity index 100%
rename from ghc/rts/LdvProfile.c
rename to rts/LdvProfile.c
diff --git a/ghc/rts/LdvProfile.h b/rts/LdvProfile.h
similarity index 100%
rename from ghc/rts/LdvProfile.h
rename to rts/LdvProfile.h
diff --git a/ghc/rts/Linker.c b/rts/Linker.c
similarity index 100%
rename from ghc/rts/Linker.c
rename to rts/Linker.c
diff --git a/ghc/rts/LinkerInternals.h b/rts/LinkerInternals.h
similarity index 100%
rename from ghc/rts/LinkerInternals.h
rename to rts/LinkerInternals.h
diff --git a/ghc/rts/MBlock.c b/rts/MBlock.c
similarity index 100%
rename from ghc/rts/MBlock.c
rename to rts/MBlock.c
diff --git a/ghc/rts/MBlock.h b/rts/MBlock.h
similarity index 100%
rename from ghc/rts/MBlock.h
rename to rts/MBlock.h
diff --git a/ghc/rts/Main.c b/rts/Main.c
similarity index 100%
rename from ghc/rts/Main.c
rename to rts/Main.c
diff --git a/ghc/rts/Makefile b/rts/Makefile
similarity index 99%
rename from ghc/rts/Makefile
rename to rts/Makefile
index ef3e24403294d0e105a75da8ebb0832dce121b74..2319788d6567758c581ebcc383c23a1c917d08ee 100644
--- a/ghc/rts/Makefile
+++ b/rts/Makefile
@@ -195,7 +195,7 @@ AUTO_APPLY_CMM = AutoApply$(_way).cmm
 ifneq "$(BootingFromHc)" "YES"
 $(AUTO_APPLY_CMM): $(GHC_GENAPPLY)
 	@$(RM) $@
-	$(GHC_GENAPPLY) $(if $(filter $(way), u debug_u), -u) >$@
+	$(GENAPPLY) $(if $(filter $(way), u debug_u), -u) >$@
 endif
 
 EXTRA_CMM_SRCS += $(AUTO_APPLY_CMM)
diff --git a/ghc/rts/PosixSource.h b/rts/PosixSource.h
similarity index 100%
rename from ghc/rts/PosixSource.h
rename to rts/PosixSource.h
diff --git a/ghc/rts/Prelude.h b/rts/Prelude.h
similarity index 100%
rename from ghc/rts/Prelude.h
rename to rts/Prelude.h
diff --git a/ghc/rts/PrimOps.cmm b/rts/PrimOps.cmm
similarity index 100%
rename from ghc/rts/PrimOps.cmm
rename to rts/PrimOps.cmm
diff --git a/ghc/rts/Printer.c b/rts/Printer.c
similarity index 100%
rename from ghc/rts/Printer.c
rename to rts/Printer.c
diff --git a/ghc/rts/Printer.h b/rts/Printer.h
similarity index 100%
rename from ghc/rts/Printer.h
rename to rts/Printer.h
diff --git a/ghc/rts/ProfHeap.c b/rts/ProfHeap.c
similarity index 100%
rename from ghc/rts/ProfHeap.c
rename to rts/ProfHeap.c
diff --git a/ghc/rts/ProfHeap.h b/rts/ProfHeap.h
similarity index 100%
rename from ghc/rts/ProfHeap.h
rename to rts/ProfHeap.h
diff --git a/ghc/rts/Profiling.c b/rts/Profiling.c
similarity index 100%
rename from ghc/rts/Profiling.c
rename to rts/Profiling.c
diff --git a/ghc/rts/Profiling.h b/rts/Profiling.h
similarity index 100%
rename from ghc/rts/Profiling.h
rename to rts/Profiling.h
diff --git a/ghc/rts/Proftimer.c b/rts/Proftimer.c
similarity index 100%
rename from ghc/rts/Proftimer.c
rename to rts/Proftimer.c
diff --git a/ghc/rts/Proftimer.h b/rts/Proftimer.h
similarity index 100%
rename from ghc/rts/Proftimer.h
rename to rts/Proftimer.h
diff --git a/ghc/rts/RetainerProfile.c b/rts/RetainerProfile.c
similarity index 100%
rename from ghc/rts/RetainerProfile.c
rename to rts/RetainerProfile.c
diff --git a/ghc/rts/RetainerProfile.h b/rts/RetainerProfile.h
similarity index 100%
rename from ghc/rts/RetainerProfile.h
rename to rts/RetainerProfile.h
diff --git a/ghc/rts/RetainerSet.c b/rts/RetainerSet.c
similarity index 100%
rename from ghc/rts/RetainerSet.c
rename to rts/RetainerSet.c
diff --git a/ghc/rts/RetainerSet.h b/rts/RetainerSet.h
similarity index 100%
rename from ghc/rts/RetainerSet.h
rename to rts/RetainerSet.h
diff --git a/ghc/rts/RtsAPI.c b/rts/RtsAPI.c
similarity index 100%
rename from ghc/rts/RtsAPI.c
rename to rts/RtsAPI.c
diff --git a/ghc/rts/RtsDllMain.c b/rts/RtsDllMain.c
similarity index 100%
rename from ghc/rts/RtsDllMain.c
rename to rts/RtsDllMain.c
diff --git a/ghc/rts/RtsFlags.c b/rts/RtsFlags.c
similarity index 100%
rename from ghc/rts/RtsFlags.c
rename to rts/RtsFlags.c
diff --git a/ghc/rts/RtsMessages.c b/rts/RtsMessages.c
similarity index 100%
rename from ghc/rts/RtsMessages.c
rename to rts/RtsMessages.c
diff --git a/ghc/rts/RtsSignals.h b/rts/RtsSignals.h
similarity index 100%
rename from ghc/rts/RtsSignals.h
rename to rts/RtsSignals.h
diff --git a/ghc/rts/RtsStartup.c b/rts/RtsStartup.c
similarity index 100%
rename from ghc/rts/RtsStartup.c
rename to rts/RtsStartup.c
diff --git a/ghc/rts/RtsUtils.c b/rts/RtsUtils.c
similarity index 100%
rename from ghc/rts/RtsUtils.c
rename to rts/RtsUtils.c
diff --git a/ghc/rts/RtsUtils.h b/rts/RtsUtils.h
similarity index 100%
rename from ghc/rts/RtsUtils.h
rename to rts/RtsUtils.h
diff --git a/ghc/rts/STM.c b/rts/STM.c
similarity index 100%
rename from ghc/rts/STM.c
rename to rts/STM.c
diff --git a/ghc/rts/Sanity.c b/rts/Sanity.c
similarity index 100%
rename from ghc/rts/Sanity.c
rename to rts/Sanity.c
diff --git a/ghc/rts/Sanity.h b/rts/Sanity.h
similarity index 100%
rename from ghc/rts/Sanity.h
rename to rts/Sanity.h
diff --git a/ghc/rts/Schedule.c b/rts/Schedule.c
similarity index 100%
rename from ghc/rts/Schedule.c
rename to rts/Schedule.c
diff --git a/ghc/rts/Schedule.h b/rts/Schedule.h
similarity index 100%
rename from ghc/rts/Schedule.h
rename to rts/Schedule.h
diff --git a/ghc/rts/Sparks.c b/rts/Sparks.c
similarity index 100%
rename from ghc/rts/Sparks.c
rename to rts/Sparks.c
diff --git a/ghc/rts/Sparks.h b/rts/Sparks.h
similarity index 100%
rename from ghc/rts/Sparks.h
rename to rts/Sparks.h
diff --git a/ghc/rts/Stable.c b/rts/Stable.c
similarity index 100%
rename from ghc/rts/Stable.c
rename to rts/Stable.c
diff --git a/ghc/rts/Stats.c b/rts/Stats.c
similarity index 100%
rename from ghc/rts/Stats.c
rename to rts/Stats.c
diff --git a/ghc/rts/Stats.h b/rts/Stats.h
similarity index 100%
rename from ghc/rts/Stats.h
rename to rts/Stats.h
diff --git a/ghc/rts/StgCRun.c b/rts/StgCRun.c
similarity index 100%
rename from ghc/rts/StgCRun.c
rename to rts/StgCRun.c
diff --git a/ghc/rts/StgMiscClosures.cmm b/rts/StgMiscClosures.cmm
similarity index 100%
rename from ghc/rts/StgMiscClosures.cmm
rename to rts/StgMiscClosures.cmm
diff --git a/ghc/rts/StgPrimFloat.c b/rts/StgPrimFloat.c
similarity index 100%
rename from ghc/rts/StgPrimFloat.c
rename to rts/StgPrimFloat.c
diff --git a/ghc/rts/StgRun.h b/rts/StgRun.h
similarity index 100%
rename from ghc/rts/StgRun.h
rename to rts/StgRun.h
diff --git a/ghc/rts/StgStartup.cmm b/rts/StgStartup.cmm
similarity index 100%
rename from ghc/rts/StgStartup.cmm
rename to rts/StgStartup.cmm
diff --git a/ghc/rts/StgStdThunks.cmm b/rts/StgStdThunks.cmm
similarity index 100%
rename from ghc/rts/StgStdThunks.cmm
rename to rts/StgStdThunks.cmm
diff --git a/ghc/rts/Storage.c b/rts/Storage.c
similarity index 100%
rename from ghc/rts/Storage.c
rename to rts/Storage.c
diff --git a/ghc/rts/Task.c b/rts/Task.c
similarity index 100%
rename from ghc/rts/Task.c
rename to rts/Task.c
diff --git a/ghc/rts/Task.h b/rts/Task.h
similarity index 100%
rename from ghc/rts/Task.h
rename to rts/Task.h
diff --git a/ghc/rts/ThreadLabels.c b/rts/ThreadLabels.c
similarity index 100%
rename from ghc/rts/ThreadLabels.c
rename to rts/ThreadLabels.c
diff --git a/ghc/rts/ThreadLabels.h b/rts/ThreadLabels.h
similarity index 100%
rename from ghc/rts/ThreadLabels.h
rename to rts/ThreadLabels.h
diff --git a/ghc/rts/Ticker.h b/rts/Ticker.h
similarity index 100%
rename from ghc/rts/Ticker.h
rename to rts/Ticker.h
diff --git a/ghc/rts/Ticky.c b/rts/Ticky.c
similarity index 100%
rename from ghc/rts/Ticky.c
rename to rts/Ticky.c
diff --git a/ghc/rts/Ticky.h b/rts/Ticky.h
similarity index 100%
rename from ghc/rts/Ticky.h
rename to rts/Ticky.h
diff --git a/ghc/rts/Timer.c b/rts/Timer.c
similarity index 100%
rename from ghc/rts/Timer.c
rename to rts/Timer.c
diff --git a/ghc/rts/Timer.h b/rts/Timer.h
similarity index 100%
rename from ghc/rts/Timer.h
rename to rts/Timer.h
diff --git a/ghc/rts/Updates.cmm b/rts/Updates.cmm
similarity index 100%
rename from ghc/rts/Updates.cmm
rename to rts/Updates.cmm
diff --git a/ghc/rts/Updates.h b/rts/Updates.h
similarity index 100%
rename from ghc/rts/Updates.h
rename to rts/Updates.h
diff --git a/ghc/rts/VisCallbacks.c b/rts/VisCallbacks.c
similarity index 100%
rename from ghc/rts/VisCallbacks.c
rename to rts/VisCallbacks.c
diff --git a/ghc/rts/VisCallbacks.h b/rts/VisCallbacks.h
similarity index 100%
rename from ghc/rts/VisCallbacks.h
rename to rts/VisCallbacks.h
diff --git a/ghc/rts/VisSupport.c b/rts/VisSupport.c
similarity index 100%
rename from ghc/rts/VisSupport.c
rename to rts/VisSupport.c
diff --git a/ghc/rts/VisSupport.h b/rts/VisSupport.h
similarity index 100%
rename from ghc/rts/VisSupport.h
rename to rts/VisSupport.h
diff --git a/ghc/rts/VisWindow.c b/rts/VisWindow.c
similarity index 100%
rename from ghc/rts/VisWindow.c
rename to rts/VisWindow.c
diff --git a/ghc/rts/VisWindow.h b/rts/VisWindow.h
similarity index 100%
rename from ghc/rts/VisWindow.h
rename to rts/VisWindow.h
diff --git a/ghc/rts/Weak.c b/rts/Weak.c
similarity index 100%
rename from ghc/rts/Weak.c
rename to rts/Weak.c
diff --git a/ghc/rts/Weak.h b/rts/Weak.h
similarity index 100%
rename from ghc/rts/Weak.h
rename to rts/Weak.h
diff --git a/ghc/rts/dotnet/Invoke.c b/rts/dotnet/Invoke.c
similarity index 100%
rename from ghc/rts/dotnet/Invoke.c
rename to rts/dotnet/Invoke.c
diff --git a/ghc/rts/dotnet/Invoker.cpp b/rts/dotnet/Invoker.cpp
similarity index 100%
rename from ghc/rts/dotnet/Invoker.cpp
rename to rts/dotnet/Invoker.cpp
diff --git a/ghc/rts/dotnet/Invoker.h b/rts/dotnet/Invoker.h
similarity index 100%
rename from ghc/rts/dotnet/Invoker.h
rename to rts/dotnet/Invoker.h
diff --git a/ghc/rts/dotnet/InvokerClient.h b/rts/dotnet/InvokerClient.h
similarity index 100%
rename from ghc/rts/dotnet/InvokerClient.h
rename to rts/dotnet/InvokerClient.h
diff --git a/ghc/rts/dotnet/Makefile b/rts/dotnet/Makefile
similarity index 100%
rename from ghc/rts/dotnet/Makefile
rename to rts/dotnet/Makefile
diff --git a/ghc/rts/dotnet/invoker.snk b/rts/dotnet/invoker.snk
similarity index 100%
rename from ghc/rts/dotnet/invoker.snk
rename to rts/dotnet/invoker.snk
diff --git a/ghc/rts/ghc-frontpanel.glade b/rts/ghc-frontpanel.glade
similarity index 100%
rename from ghc/rts/ghc-frontpanel.glade
rename to rts/ghc-frontpanel.glade
diff --git a/ghc/rts/gmp/.gdbinit b/rts/gmp/.gdbinit
similarity index 100%
rename from ghc/rts/gmp/.gdbinit
rename to rts/gmp/.gdbinit
diff --git a/ghc/rts/gmp/AUTHORS b/rts/gmp/AUTHORS
similarity index 100%
rename from ghc/rts/gmp/AUTHORS
rename to rts/gmp/AUTHORS
diff --git a/ghc/rts/gmp/COPYING b/rts/gmp/COPYING
similarity index 100%
rename from ghc/rts/gmp/COPYING
rename to rts/gmp/COPYING
diff --git a/ghc/rts/gmp/COPYING.LIB b/rts/gmp/COPYING.LIB
similarity index 100%
rename from ghc/rts/gmp/COPYING.LIB
rename to rts/gmp/COPYING.LIB
diff --git a/ghc/rts/gmp/INSTALL b/rts/gmp/INSTALL
similarity index 100%
rename from ghc/rts/gmp/INSTALL
rename to rts/gmp/INSTALL
diff --git a/ghc/rts/gmp/Makefile.am b/rts/gmp/Makefile.am
similarity index 100%
rename from ghc/rts/gmp/Makefile.am
rename to rts/gmp/Makefile.am
diff --git a/ghc/rts/gmp/Makefile.in b/rts/gmp/Makefile.in
similarity index 100%
rename from ghc/rts/gmp/Makefile.in
rename to rts/gmp/Makefile.in
diff --git a/ghc/rts/gmp/NEWS b/rts/gmp/NEWS
similarity index 100%
rename from ghc/rts/gmp/NEWS
rename to rts/gmp/NEWS
diff --git a/ghc/rts/gmp/README b/rts/gmp/README
similarity index 100%
rename from ghc/rts/gmp/README
rename to rts/gmp/README
diff --git a/ghc/rts/gmp/acconfig.h b/rts/gmp/acconfig.h
similarity index 100%
rename from ghc/rts/gmp/acconfig.h
rename to rts/gmp/acconfig.h
diff --git a/ghc/rts/gmp/acinclude.m4 b/rts/gmp/acinclude.m4
similarity index 100%
rename from ghc/rts/gmp/acinclude.m4
rename to rts/gmp/acinclude.m4
diff --git a/ghc/rts/gmp/aclocal.m4 b/rts/gmp/aclocal.m4
similarity index 100%
rename from ghc/rts/gmp/aclocal.m4
rename to rts/gmp/aclocal.m4
diff --git a/ghc/rts/gmp/ansi2knr.1 b/rts/gmp/ansi2knr.1
similarity index 100%
rename from ghc/rts/gmp/ansi2knr.1
rename to rts/gmp/ansi2knr.1
diff --git a/ghc/rts/gmp/ansi2knr.c b/rts/gmp/ansi2knr.c
similarity index 100%
rename from ghc/rts/gmp/ansi2knr.c
rename to rts/gmp/ansi2knr.c
diff --git a/ghc/rts/gmp/assert.c b/rts/gmp/assert.c
similarity index 100%
rename from ghc/rts/gmp/assert.c
rename to rts/gmp/assert.c
diff --git a/ghc/rts/gmp/compat.c b/rts/gmp/compat.c
similarity index 100%
rename from ghc/rts/gmp/compat.c
rename to rts/gmp/compat.c
diff --git a/ghc/rts/gmp/config.guess b/rts/gmp/config.guess
similarity index 100%
rename from ghc/rts/gmp/config.guess
rename to rts/gmp/config.guess
diff --git a/ghc/rts/gmp/config.in b/rts/gmp/config.in
similarity index 100%
rename from ghc/rts/gmp/config.in
rename to rts/gmp/config.in
diff --git a/ghc/rts/gmp/config.sub b/rts/gmp/config.sub
similarity index 100%
rename from ghc/rts/gmp/config.sub
rename to rts/gmp/config.sub
diff --git a/ghc/rts/gmp/configure b/rts/gmp/configure
similarity index 100%
rename from ghc/rts/gmp/configure
rename to rts/gmp/configure
diff --git a/ghc/rts/gmp/configure.in b/rts/gmp/configure.in
similarity index 100%
rename from ghc/rts/gmp/configure.in
rename to rts/gmp/configure.in
diff --git a/ghc/rts/gmp/depcomp b/rts/gmp/depcomp
similarity index 100%
rename from ghc/rts/gmp/depcomp
rename to rts/gmp/depcomp
diff --git a/ghc/rts/gmp/errno.c b/rts/gmp/errno.c
similarity index 100%
rename from ghc/rts/gmp/errno.c
rename to rts/gmp/errno.c
diff --git a/ghc/rts/gmp/extract-dbl.c b/rts/gmp/extract-dbl.c
similarity index 100%
rename from ghc/rts/gmp/extract-dbl.c
rename to rts/gmp/extract-dbl.c
diff --git a/ghc/rts/gmp/gmp-impl.h b/rts/gmp/gmp-impl.h
similarity index 100%
rename from ghc/rts/gmp/gmp-impl.h
rename to rts/gmp/gmp-impl.h
diff --git a/ghc/rts/gmp/gmp.h b/rts/gmp/gmp.h
similarity index 100%
rename from ghc/rts/gmp/gmp.h
rename to rts/gmp/gmp.h
diff --git a/ghc/rts/gmp/insert-dbl.c b/rts/gmp/insert-dbl.c
similarity index 100%
rename from ghc/rts/gmp/insert-dbl.c
rename to rts/gmp/insert-dbl.c
diff --git a/ghc/rts/gmp/install-sh b/rts/gmp/install-sh
similarity index 100%
rename from ghc/rts/gmp/install-sh
rename to rts/gmp/install-sh
diff --git a/ghc/rts/gmp/longlong.h b/rts/gmp/longlong.h
similarity index 100%
rename from ghc/rts/gmp/longlong.h
rename to rts/gmp/longlong.h
diff --git a/ghc/rts/gmp/ltconfig b/rts/gmp/ltconfig
similarity index 100%
rename from ghc/rts/gmp/ltconfig
rename to rts/gmp/ltconfig
diff --git a/ghc/rts/gmp/ltmain.sh b/rts/gmp/ltmain.sh
similarity index 100%
rename from ghc/rts/gmp/ltmain.sh
rename to rts/gmp/ltmain.sh
diff --git a/ghc/rts/gmp/mdate-sh b/rts/gmp/mdate-sh
similarity index 100%
rename from ghc/rts/gmp/mdate-sh
rename to rts/gmp/mdate-sh
diff --git a/ghc/rts/gmp/memory.c b/rts/gmp/memory.c
similarity index 100%
rename from ghc/rts/gmp/memory.c
rename to rts/gmp/memory.c
diff --git a/ghc/rts/gmp/missing b/rts/gmp/missing
similarity index 100%
rename from ghc/rts/gmp/missing
rename to rts/gmp/missing
diff --git a/ghc/rts/gmp/mkinstalldirs b/rts/gmp/mkinstalldirs
similarity index 100%
rename from ghc/rts/gmp/mkinstalldirs
rename to rts/gmp/mkinstalldirs
diff --git a/ghc/rts/gmp/mp.h b/rts/gmp/mp.h
similarity index 100%
rename from ghc/rts/gmp/mp.h
rename to rts/gmp/mp.h
diff --git a/ghc/rts/gmp/mp_bpl.c b/rts/gmp/mp_bpl.c
similarity index 100%
rename from ghc/rts/gmp/mp_bpl.c
rename to rts/gmp/mp_bpl.c
diff --git a/ghc/rts/gmp/mp_clz_tab.c b/rts/gmp/mp_clz_tab.c
similarity index 100%
rename from ghc/rts/gmp/mp_clz_tab.c
rename to rts/gmp/mp_clz_tab.c
diff --git a/ghc/rts/gmp/mp_minv_tab.c b/rts/gmp/mp_minv_tab.c
similarity index 100%
rename from ghc/rts/gmp/mp_minv_tab.c
rename to rts/gmp/mp_minv_tab.c
diff --git a/ghc/rts/gmp/mp_set_fns.c b/rts/gmp/mp_set_fns.c
similarity index 100%
rename from ghc/rts/gmp/mp_set_fns.c
rename to rts/gmp/mp_set_fns.c
diff --git a/ghc/rts/gmp/mpn/Makefile.am b/rts/gmp/mpn/Makefile.am
similarity index 100%
rename from ghc/rts/gmp/mpn/Makefile.am
rename to rts/gmp/mpn/Makefile.am
diff --git a/ghc/rts/gmp/mpn/Makefile.in b/rts/gmp/mpn/Makefile.in
similarity index 100%
rename from ghc/rts/gmp/mpn/Makefile.in
rename to rts/gmp/mpn/Makefile.in
diff --git a/ghc/rts/gmp/mpn/README b/rts/gmp/mpn/README
similarity index 100%
rename from ghc/rts/gmp/mpn/README
rename to rts/gmp/mpn/README
diff --git a/ghc/rts/gmp/mpn/a29k/add_n.s b/rts/gmp/mpn/a29k/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/a29k/add_n.s
rename to rts/gmp/mpn/a29k/add_n.s
diff --git a/ghc/rts/gmp/mpn/a29k/addmul_1.s b/rts/gmp/mpn/a29k/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/a29k/addmul_1.s
rename to rts/gmp/mpn/a29k/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/a29k/lshift.s b/rts/gmp/mpn/a29k/lshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/a29k/lshift.s
rename to rts/gmp/mpn/a29k/lshift.s
diff --git a/ghc/rts/gmp/mpn/a29k/mul_1.s b/rts/gmp/mpn/a29k/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/a29k/mul_1.s
rename to rts/gmp/mpn/a29k/mul_1.s
diff --git a/ghc/rts/gmp/mpn/a29k/rshift.s b/rts/gmp/mpn/a29k/rshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/a29k/rshift.s
rename to rts/gmp/mpn/a29k/rshift.s
diff --git a/ghc/rts/gmp/mpn/a29k/sub_n.s b/rts/gmp/mpn/a29k/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/a29k/sub_n.s
rename to rts/gmp/mpn/a29k/sub_n.s
diff --git a/ghc/rts/gmp/mpn/a29k/submul_1.s b/rts/gmp/mpn/a29k/submul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/a29k/submul_1.s
rename to rts/gmp/mpn/a29k/submul_1.s
diff --git a/ghc/rts/gmp/mpn/a29k/udiv.s b/rts/gmp/mpn/a29k/udiv.s
similarity index 100%
rename from ghc/rts/gmp/mpn/a29k/udiv.s
rename to rts/gmp/mpn/a29k/udiv.s
diff --git a/ghc/rts/gmp/mpn/a29k/umul.s b/rts/gmp/mpn/a29k/umul.s
similarity index 100%
rename from ghc/rts/gmp/mpn/a29k/umul.s
rename to rts/gmp/mpn/a29k/umul.s
diff --git a/ghc/rts/gmp/mpn/alpha/README b/rts/gmp/mpn/alpha/README
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/README
rename to rts/gmp/mpn/alpha/README
diff --git a/ghc/rts/gmp/mpn/alpha/add_n.asm b/rts/gmp/mpn/alpha/add_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/add_n.asm
rename to rts/gmp/mpn/alpha/add_n.asm
diff --git a/ghc/rts/gmp/mpn/alpha/addmul_1.asm b/rts/gmp/mpn/alpha/addmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/addmul_1.asm
rename to rts/gmp/mpn/alpha/addmul_1.asm
diff --git a/ghc/rts/gmp/mpn/alpha/cntlz.asm b/rts/gmp/mpn/alpha/cntlz.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/cntlz.asm
rename to rts/gmp/mpn/alpha/cntlz.asm
diff --git a/ghc/rts/gmp/mpn/alpha/default.m4 b/rts/gmp/mpn/alpha/default.m4
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/default.m4
rename to rts/gmp/mpn/alpha/default.m4
diff --git a/ghc/rts/gmp/mpn/alpha/ev5/add_n.asm b/rts/gmp/mpn/alpha/ev5/add_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/ev5/add_n.asm
rename to rts/gmp/mpn/alpha/ev5/add_n.asm
diff --git a/ghc/rts/gmp/mpn/alpha/ev5/lshift.asm b/rts/gmp/mpn/alpha/ev5/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/ev5/lshift.asm
rename to rts/gmp/mpn/alpha/ev5/lshift.asm
diff --git a/ghc/rts/gmp/mpn/alpha/ev5/rshift.asm b/rts/gmp/mpn/alpha/ev5/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/ev5/rshift.asm
rename to rts/gmp/mpn/alpha/ev5/rshift.asm
diff --git a/ghc/rts/gmp/mpn/alpha/ev5/sub_n.asm b/rts/gmp/mpn/alpha/ev5/sub_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/ev5/sub_n.asm
rename to rts/gmp/mpn/alpha/ev5/sub_n.asm
diff --git a/ghc/rts/gmp/mpn/alpha/ev6/addmul_1.asm b/rts/gmp/mpn/alpha/ev6/addmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/ev6/addmul_1.asm
rename to rts/gmp/mpn/alpha/ev6/addmul_1.asm
diff --git a/ghc/rts/gmp/mpn/alpha/ev6/gmp-mparam.h b/rts/gmp/mpn/alpha/ev6/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/ev6/gmp-mparam.h
rename to rts/gmp/mpn/alpha/ev6/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/alpha/gmp-mparam.h b/rts/gmp/mpn/alpha/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/gmp-mparam.h
rename to rts/gmp/mpn/alpha/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/alpha/invert_limb.asm b/rts/gmp/mpn/alpha/invert_limb.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/invert_limb.asm
rename to rts/gmp/mpn/alpha/invert_limb.asm
diff --git a/ghc/rts/gmp/mpn/alpha/lshift.asm b/rts/gmp/mpn/alpha/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/lshift.asm
rename to rts/gmp/mpn/alpha/lshift.asm
diff --git a/ghc/rts/gmp/mpn/alpha/mul_1.asm b/rts/gmp/mpn/alpha/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/mul_1.asm
rename to rts/gmp/mpn/alpha/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/alpha/rshift.asm b/rts/gmp/mpn/alpha/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/rshift.asm
rename to rts/gmp/mpn/alpha/rshift.asm
diff --git a/ghc/rts/gmp/mpn/alpha/sub_n.asm b/rts/gmp/mpn/alpha/sub_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/sub_n.asm
rename to rts/gmp/mpn/alpha/sub_n.asm
diff --git a/ghc/rts/gmp/mpn/alpha/submul_1.asm b/rts/gmp/mpn/alpha/submul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/submul_1.asm
rename to rts/gmp/mpn/alpha/submul_1.asm
diff --git a/ghc/rts/gmp/mpn/alpha/udiv_qrnnd.S b/rts/gmp/mpn/alpha/udiv_qrnnd.S
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/udiv_qrnnd.S
rename to rts/gmp/mpn/alpha/udiv_qrnnd.S
diff --git a/ghc/rts/gmp/mpn/alpha/umul.asm b/rts/gmp/mpn/alpha/umul.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/umul.asm
rename to rts/gmp/mpn/alpha/umul.asm
diff --git a/ghc/rts/gmp/mpn/alpha/unicos.m4 b/rts/gmp/mpn/alpha/unicos.m4
similarity index 100%
rename from ghc/rts/gmp/mpn/alpha/unicos.m4
rename to rts/gmp/mpn/alpha/unicos.m4
diff --git a/ghc/rts/gmp/mpn/arm/add_n.S b/rts/gmp/mpn/arm/add_n.S
similarity index 100%
rename from ghc/rts/gmp/mpn/arm/add_n.S
rename to rts/gmp/mpn/arm/add_n.S
diff --git a/ghc/rts/gmp/mpn/arm/addmul_1.S b/rts/gmp/mpn/arm/addmul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/arm/addmul_1.S
rename to rts/gmp/mpn/arm/addmul_1.S
diff --git a/ghc/rts/gmp/mpn/arm/gmp-mparam.h b/rts/gmp/mpn/arm/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/arm/gmp-mparam.h
rename to rts/gmp/mpn/arm/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/arm/mul_1.S b/rts/gmp/mpn/arm/mul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/arm/mul_1.S
rename to rts/gmp/mpn/arm/mul_1.S
diff --git a/ghc/rts/gmp/mpn/arm/sub_n.S b/rts/gmp/mpn/arm/sub_n.S
similarity index 100%
rename from ghc/rts/gmp/mpn/arm/sub_n.S
rename to rts/gmp/mpn/arm/sub_n.S
diff --git a/ghc/rts/gmp/mpn/asm-defs.m4 b/rts/gmp/mpn/asm-defs.m4
similarity index 100%
rename from ghc/rts/gmp/mpn/asm-defs.m4
rename to rts/gmp/mpn/asm-defs.m4
diff --git a/ghc/rts/gmp/mpn/clipper/add_n.s b/rts/gmp/mpn/clipper/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/clipper/add_n.s
rename to rts/gmp/mpn/clipper/add_n.s
diff --git a/ghc/rts/gmp/mpn/clipper/mul_1.s b/rts/gmp/mpn/clipper/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/clipper/mul_1.s
rename to rts/gmp/mpn/clipper/mul_1.s
diff --git a/ghc/rts/gmp/mpn/clipper/sub_n.s b/rts/gmp/mpn/clipper/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/clipper/sub_n.s
rename to rts/gmp/mpn/clipper/sub_n.s
diff --git a/ghc/rts/gmp/mpn/cray/README b/rts/gmp/mpn/cray/README
similarity index 100%
rename from ghc/rts/gmp/mpn/cray/README
rename to rts/gmp/mpn/cray/README
diff --git a/ghc/rts/gmp/mpn/cray/add_n.c b/rts/gmp/mpn/cray/add_n.c
similarity index 100%
rename from ghc/rts/gmp/mpn/cray/add_n.c
rename to rts/gmp/mpn/cray/add_n.c
diff --git a/ghc/rts/gmp/mpn/cray/addmul_1.c b/rts/gmp/mpn/cray/addmul_1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/cray/addmul_1.c
rename to rts/gmp/mpn/cray/addmul_1.c
diff --git a/ghc/rts/gmp/mpn/cray/gmp-mparam.h b/rts/gmp/mpn/cray/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/cray/gmp-mparam.h
rename to rts/gmp/mpn/cray/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/cray/mul_1.c b/rts/gmp/mpn/cray/mul_1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/cray/mul_1.c
rename to rts/gmp/mpn/cray/mul_1.c
diff --git a/ghc/rts/gmp/mpn/cray/mulww.f b/rts/gmp/mpn/cray/mulww.f
similarity index 100%
rename from ghc/rts/gmp/mpn/cray/mulww.f
rename to rts/gmp/mpn/cray/mulww.f
diff --git a/ghc/rts/gmp/mpn/cray/mulww.s b/rts/gmp/mpn/cray/mulww.s
similarity index 100%
rename from ghc/rts/gmp/mpn/cray/mulww.s
rename to rts/gmp/mpn/cray/mulww.s
diff --git a/ghc/rts/gmp/mpn/cray/sub_n.c b/rts/gmp/mpn/cray/sub_n.c
similarity index 100%
rename from ghc/rts/gmp/mpn/cray/sub_n.c
rename to rts/gmp/mpn/cray/sub_n.c
diff --git a/ghc/rts/gmp/mpn/cray/submul_1.c b/rts/gmp/mpn/cray/submul_1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/cray/submul_1.c
rename to rts/gmp/mpn/cray/submul_1.c
diff --git a/ghc/rts/gmp/mpn/generic/add_n.c b/rts/gmp/mpn/generic/add_n.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/add_n.c
rename to rts/gmp/mpn/generic/add_n.c
diff --git a/ghc/rts/gmp/mpn/generic/addmul_1.c b/rts/gmp/mpn/generic/addmul_1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/addmul_1.c
rename to rts/gmp/mpn/generic/addmul_1.c
diff --git a/ghc/rts/gmp/mpn/generic/addsub_n.c b/rts/gmp/mpn/generic/addsub_n.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/addsub_n.c
rename to rts/gmp/mpn/generic/addsub_n.c
diff --git a/ghc/rts/gmp/mpn/generic/bdivmod.c b/rts/gmp/mpn/generic/bdivmod.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/bdivmod.c
rename to rts/gmp/mpn/generic/bdivmod.c
diff --git a/ghc/rts/gmp/mpn/generic/bz_divrem_n.c b/rts/gmp/mpn/generic/bz_divrem_n.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/bz_divrem_n.c
rename to rts/gmp/mpn/generic/bz_divrem_n.c
diff --git a/ghc/rts/gmp/mpn/generic/cmp.c b/rts/gmp/mpn/generic/cmp.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/cmp.c
rename to rts/gmp/mpn/generic/cmp.c
diff --git a/ghc/rts/gmp/mpn/generic/diveby3.c b/rts/gmp/mpn/generic/diveby3.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/diveby3.c
rename to rts/gmp/mpn/generic/diveby3.c
diff --git a/ghc/rts/gmp/mpn/generic/divrem.c b/rts/gmp/mpn/generic/divrem.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/divrem.c
rename to rts/gmp/mpn/generic/divrem.c
diff --git a/ghc/rts/gmp/mpn/generic/divrem_1.c b/rts/gmp/mpn/generic/divrem_1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/divrem_1.c
rename to rts/gmp/mpn/generic/divrem_1.c
diff --git a/ghc/rts/gmp/mpn/generic/divrem_2.c b/rts/gmp/mpn/generic/divrem_2.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/divrem_2.c
rename to rts/gmp/mpn/generic/divrem_2.c
diff --git a/ghc/rts/gmp/mpn/generic/dump.c b/rts/gmp/mpn/generic/dump.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/dump.c
rename to rts/gmp/mpn/generic/dump.c
diff --git a/ghc/rts/gmp/mpn/generic/gcd.c b/rts/gmp/mpn/generic/gcd.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/gcd.c
rename to rts/gmp/mpn/generic/gcd.c
diff --git a/ghc/rts/gmp/mpn/generic/gcd_1.c b/rts/gmp/mpn/generic/gcd_1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/gcd_1.c
rename to rts/gmp/mpn/generic/gcd_1.c
diff --git a/ghc/rts/gmp/mpn/generic/gcdext.c b/rts/gmp/mpn/generic/gcdext.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/gcdext.c
rename to rts/gmp/mpn/generic/gcdext.c
diff --git a/ghc/rts/gmp/mpn/generic/get_str.c b/rts/gmp/mpn/generic/get_str.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/get_str.c
rename to rts/gmp/mpn/generic/get_str.c
diff --git a/ghc/rts/gmp/mpn/generic/gmp-mparam.h b/rts/gmp/mpn/generic/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/gmp-mparam.h
rename to rts/gmp/mpn/generic/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/generic/hamdist.c b/rts/gmp/mpn/generic/hamdist.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/hamdist.c
rename to rts/gmp/mpn/generic/hamdist.c
diff --git a/ghc/rts/gmp/mpn/generic/inlines.c b/rts/gmp/mpn/generic/inlines.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/inlines.c
rename to rts/gmp/mpn/generic/inlines.c
diff --git a/ghc/rts/gmp/mpn/generic/jacbase.c b/rts/gmp/mpn/generic/jacbase.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/jacbase.c
rename to rts/gmp/mpn/generic/jacbase.c
diff --git a/ghc/rts/gmp/mpn/generic/lshift.c b/rts/gmp/mpn/generic/lshift.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/lshift.c
rename to rts/gmp/mpn/generic/lshift.c
diff --git a/ghc/rts/gmp/mpn/generic/mod_1.c b/rts/gmp/mpn/generic/mod_1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/mod_1.c
rename to rts/gmp/mpn/generic/mod_1.c
diff --git a/ghc/rts/gmp/mpn/generic/mod_1_rs.c b/rts/gmp/mpn/generic/mod_1_rs.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/mod_1_rs.c
rename to rts/gmp/mpn/generic/mod_1_rs.c
diff --git a/ghc/rts/gmp/mpn/generic/mul.c b/rts/gmp/mpn/generic/mul.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/mul.c
rename to rts/gmp/mpn/generic/mul.c
diff --git a/ghc/rts/gmp/mpn/generic/mul_1.c b/rts/gmp/mpn/generic/mul_1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/mul_1.c
rename to rts/gmp/mpn/generic/mul_1.c
diff --git a/ghc/rts/gmp/mpn/generic/mul_basecase.c b/rts/gmp/mpn/generic/mul_basecase.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/mul_basecase.c
rename to rts/gmp/mpn/generic/mul_basecase.c
diff --git a/ghc/rts/gmp/mpn/generic/mul_fft.c b/rts/gmp/mpn/generic/mul_fft.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/mul_fft.c
rename to rts/gmp/mpn/generic/mul_fft.c
diff --git a/ghc/rts/gmp/mpn/generic/mul_n.c b/rts/gmp/mpn/generic/mul_n.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/mul_n.c
rename to rts/gmp/mpn/generic/mul_n.c
diff --git a/ghc/rts/gmp/mpn/generic/perfsqr.c b/rts/gmp/mpn/generic/perfsqr.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/perfsqr.c
rename to rts/gmp/mpn/generic/perfsqr.c
diff --git a/ghc/rts/gmp/mpn/generic/popcount.c b/rts/gmp/mpn/generic/popcount.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/popcount.c
rename to rts/gmp/mpn/generic/popcount.c
diff --git a/ghc/rts/gmp/mpn/generic/pre_mod_1.c b/rts/gmp/mpn/generic/pre_mod_1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/pre_mod_1.c
rename to rts/gmp/mpn/generic/pre_mod_1.c
diff --git a/ghc/rts/gmp/mpn/generic/random.c b/rts/gmp/mpn/generic/random.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/random.c
rename to rts/gmp/mpn/generic/random.c
diff --git a/ghc/rts/gmp/mpn/generic/random2.c b/rts/gmp/mpn/generic/random2.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/random2.c
rename to rts/gmp/mpn/generic/random2.c
diff --git a/ghc/rts/gmp/mpn/generic/rshift.c b/rts/gmp/mpn/generic/rshift.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/rshift.c
rename to rts/gmp/mpn/generic/rshift.c
diff --git a/ghc/rts/gmp/mpn/generic/sb_divrem_mn.c b/rts/gmp/mpn/generic/sb_divrem_mn.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/sb_divrem_mn.c
rename to rts/gmp/mpn/generic/sb_divrem_mn.c
diff --git a/ghc/rts/gmp/mpn/generic/scan0.c b/rts/gmp/mpn/generic/scan0.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/scan0.c
rename to rts/gmp/mpn/generic/scan0.c
diff --git a/ghc/rts/gmp/mpn/generic/scan1.c b/rts/gmp/mpn/generic/scan1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/scan1.c
rename to rts/gmp/mpn/generic/scan1.c
diff --git a/ghc/rts/gmp/mpn/generic/set_str.c b/rts/gmp/mpn/generic/set_str.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/set_str.c
rename to rts/gmp/mpn/generic/set_str.c
diff --git a/ghc/rts/gmp/mpn/generic/sqr_basecase.c b/rts/gmp/mpn/generic/sqr_basecase.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/sqr_basecase.c
rename to rts/gmp/mpn/generic/sqr_basecase.c
diff --git a/ghc/rts/gmp/mpn/generic/sqrtrem.c b/rts/gmp/mpn/generic/sqrtrem.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/sqrtrem.c
rename to rts/gmp/mpn/generic/sqrtrem.c
diff --git a/ghc/rts/gmp/mpn/generic/sub_n.c b/rts/gmp/mpn/generic/sub_n.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/sub_n.c
rename to rts/gmp/mpn/generic/sub_n.c
diff --git a/ghc/rts/gmp/mpn/generic/submul_1.c b/rts/gmp/mpn/generic/submul_1.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/submul_1.c
rename to rts/gmp/mpn/generic/submul_1.c
diff --git a/ghc/rts/gmp/mpn/generic/tdiv_qr.c b/rts/gmp/mpn/generic/tdiv_qr.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/tdiv_qr.c
rename to rts/gmp/mpn/generic/tdiv_qr.c
diff --git a/ghc/rts/gmp/mpn/generic/udiv_w_sdiv.c b/rts/gmp/mpn/generic/udiv_w_sdiv.c
similarity index 100%
rename from ghc/rts/gmp/mpn/generic/udiv_w_sdiv.c
rename to rts/gmp/mpn/generic/udiv_w_sdiv.c
diff --git a/ghc/rts/gmp/mpn/hppa/README b/rts/gmp/mpn/hppa/README
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/README
rename to rts/gmp/mpn/hppa/README
diff --git a/ghc/rts/gmp/mpn/hppa/add_n.s b/rts/gmp/mpn/hppa/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/add_n.s
rename to rts/gmp/mpn/hppa/add_n.s
diff --git a/ghc/rts/gmp/mpn/hppa/gmp-mparam.h b/rts/gmp/mpn/hppa/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/gmp-mparam.h
rename to rts/gmp/mpn/hppa/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/addmul_1.s b/rts/gmp/mpn/hppa/hppa1_1/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/addmul_1.s
rename to rts/gmp/mpn/hppa/hppa1_1/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/mul_1.s b/rts/gmp/mpn/hppa/hppa1_1/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/mul_1.s
rename to rts/gmp/mpn/hppa/hppa1_1/mul_1.s
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/add_n.s b/rts/gmp/mpn/hppa/hppa1_1/pa7100/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/add_n.s
rename to rts/gmp/mpn/hppa/hppa1_1/pa7100/add_n.s
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/addmul_1.S b/rts/gmp/mpn/hppa/hppa1_1/pa7100/addmul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/addmul_1.S
rename to rts/gmp/mpn/hppa/hppa1_1/pa7100/addmul_1.S
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/lshift.s b/rts/gmp/mpn/hppa/hppa1_1/pa7100/lshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/lshift.s
rename to rts/gmp/mpn/hppa/hppa1_1/pa7100/lshift.s
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/rshift.s b/rts/gmp/mpn/hppa/hppa1_1/pa7100/rshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/rshift.s
rename to rts/gmp/mpn/hppa/hppa1_1/pa7100/rshift.s
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/sub_n.s b/rts/gmp/mpn/hppa/hppa1_1/pa7100/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/sub_n.s
rename to rts/gmp/mpn/hppa/hppa1_1/pa7100/sub_n.s
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/submul_1.S b/rts/gmp/mpn/hppa/hppa1_1/pa7100/submul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/pa7100/submul_1.S
rename to rts/gmp/mpn/hppa/hppa1_1/pa7100/submul_1.S
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/submul_1.s b/rts/gmp/mpn/hppa/hppa1_1/submul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/submul_1.s
rename to rts/gmp/mpn/hppa/hppa1_1/submul_1.s
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/udiv_qrnnd.S b/rts/gmp/mpn/hppa/hppa1_1/udiv_qrnnd.S
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/udiv_qrnnd.S
rename to rts/gmp/mpn/hppa/hppa1_1/udiv_qrnnd.S
diff --git a/ghc/rts/gmp/mpn/hppa/hppa1_1/umul.s b/rts/gmp/mpn/hppa/hppa1_1/umul.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa1_1/umul.s
rename to rts/gmp/mpn/hppa/hppa1_1/umul.s
diff --git a/ghc/rts/gmp/mpn/hppa/hppa2_0/add_n.s b/rts/gmp/mpn/hppa/hppa2_0/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa2_0/add_n.s
rename to rts/gmp/mpn/hppa/hppa2_0/add_n.s
diff --git a/ghc/rts/gmp/mpn/hppa/hppa2_0/sub_n.s b/rts/gmp/mpn/hppa/hppa2_0/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/hppa2_0/sub_n.s
rename to rts/gmp/mpn/hppa/hppa2_0/sub_n.s
diff --git a/ghc/rts/gmp/mpn/hppa/lshift.s b/rts/gmp/mpn/hppa/lshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/lshift.s
rename to rts/gmp/mpn/hppa/lshift.s
diff --git a/ghc/rts/gmp/mpn/hppa/rshift.s b/rts/gmp/mpn/hppa/rshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/rshift.s
rename to rts/gmp/mpn/hppa/rshift.s
diff --git a/ghc/rts/gmp/mpn/hppa/sub_n.s b/rts/gmp/mpn/hppa/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/sub_n.s
rename to rts/gmp/mpn/hppa/sub_n.s
diff --git a/ghc/rts/gmp/mpn/hppa/udiv_qrnnd.s b/rts/gmp/mpn/hppa/udiv_qrnnd.s
similarity index 100%
rename from ghc/rts/gmp/mpn/hppa/udiv_qrnnd.s
rename to rts/gmp/mpn/hppa/udiv_qrnnd.s
diff --git a/ghc/rts/gmp/mpn/i960/README b/rts/gmp/mpn/i960/README
similarity index 100%
rename from ghc/rts/gmp/mpn/i960/README
rename to rts/gmp/mpn/i960/README
diff --git a/ghc/rts/gmp/mpn/i960/add_n.s b/rts/gmp/mpn/i960/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/i960/add_n.s
rename to rts/gmp/mpn/i960/add_n.s
diff --git a/ghc/rts/gmp/mpn/i960/addmul_1.s b/rts/gmp/mpn/i960/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/i960/addmul_1.s
rename to rts/gmp/mpn/i960/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/i960/mul_1.s b/rts/gmp/mpn/i960/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/i960/mul_1.s
rename to rts/gmp/mpn/i960/mul_1.s
diff --git a/ghc/rts/gmp/mpn/i960/sub_n.s b/rts/gmp/mpn/i960/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/i960/sub_n.s
rename to rts/gmp/mpn/i960/sub_n.s
diff --git a/ghc/rts/gmp/mpn/lisp/gmpasm-mode.el b/rts/gmp/mpn/lisp/gmpasm-mode.el
similarity index 100%
rename from ghc/rts/gmp/mpn/lisp/gmpasm-mode.el
rename to rts/gmp/mpn/lisp/gmpasm-mode.el
diff --git a/ghc/rts/gmp/mpn/m68k/add_n.S b/rts/gmp/mpn/m68k/add_n.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m68k/add_n.S
rename to rts/gmp/mpn/m68k/add_n.S
diff --git a/ghc/rts/gmp/mpn/m68k/lshift.S b/rts/gmp/mpn/m68k/lshift.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m68k/lshift.S
rename to rts/gmp/mpn/m68k/lshift.S
diff --git a/ghc/rts/gmp/mpn/m68k/mc68020/addmul_1.S b/rts/gmp/mpn/m68k/mc68020/addmul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m68k/mc68020/addmul_1.S
rename to rts/gmp/mpn/m68k/mc68020/addmul_1.S
diff --git a/ghc/rts/gmp/mpn/m68k/mc68020/mul_1.S b/rts/gmp/mpn/m68k/mc68020/mul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m68k/mc68020/mul_1.S
rename to rts/gmp/mpn/m68k/mc68020/mul_1.S
diff --git a/ghc/rts/gmp/mpn/m68k/mc68020/submul_1.S b/rts/gmp/mpn/m68k/mc68020/submul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m68k/mc68020/submul_1.S
rename to rts/gmp/mpn/m68k/mc68020/submul_1.S
diff --git a/ghc/rts/gmp/mpn/m68k/mc68020/udiv.S b/rts/gmp/mpn/m68k/mc68020/udiv.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m68k/mc68020/udiv.S
rename to rts/gmp/mpn/m68k/mc68020/udiv.S
diff --git a/ghc/rts/gmp/mpn/m68k/mc68020/umul.S b/rts/gmp/mpn/m68k/mc68020/umul.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m68k/mc68020/umul.S
rename to rts/gmp/mpn/m68k/mc68020/umul.S
diff --git a/ghc/rts/gmp/mpn/m68k/rshift.S b/rts/gmp/mpn/m68k/rshift.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m68k/rshift.S
rename to rts/gmp/mpn/m68k/rshift.S
diff --git a/ghc/rts/gmp/mpn/m68k/sub_n.S b/rts/gmp/mpn/m68k/sub_n.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m68k/sub_n.S
rename to rts/gmp/mpn/m68k/sub_n.S
diff --git a/ghc/rts/gmp/mpn/m68k/syntax.h b/rts/gmp/mpn/m68k/syntax.h
similarity index 100%
rename from ghc/rts/gmp/mpn/m68k/syntax.h
rename to rts/gmp/mpn/m68k/syntax.h
diff --git a/ghc/rts/gmp/mpn/m88k/add_n.s b/rts/gmp/mpn/m88k/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/m88k/add_n.s
rename to rts/gmp/mpn/m88k/add_n.s
diff --git a/ghc/rts/gmp/mpn/m88k/mc88110/add_n.S b/rts/gmp/mpn/m88k/mc88110/add_n.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m88k/mc88110/add_n.S
rename to rts/gmp/mpn/m88k/mc88110/add_n.S
diff --git a/ghc/rts/gmp/mpn/m88k/mc88110/addmul_1.s b/rts/gmp/mpn/m88k/mc88110/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/m88k/mc88110/addmul_1.s
rename to rts/gmp/mpn/m88k/mc88110/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/m88k/mc88110/mul_1.s b/rts/gmp/mpn/m88k/mc88110/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/m88k/mc88110/mul_1.s
rename to rts/gmp/mpn/m88k/mc88110/mul_1.s
diff --git a/ghc/rts/gmp/mpn/m88k/mc88110/sub_n.S b/rts/gmp/mpn/m88k/mc88110/sub_n.S
similarity index 100%
rename from ghc/rts/gmp/mpn/m88k/mc88110/sub_n.S
rename to rts/gmp/mpn/m88k/mc88110/sub_n.S
diff --git a/ghc/rts/gmp/mpn/m88k/mul_1.s b/rts/gmp/mpn/m88k/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/m88k/mul_1.s
rename to rts/gmp/mpn/m88k/mul_1.s
diff --git a/ghc/rts/gmp/mpn/m88k/sub_n.s b/rts/gmp/mpn/m88k/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/m88k/sub_n.s
rename to rts/gmp/mpn/m88k/sub_n.s
diff --git a/ghc/rts/gmp/mpn/mips2/add_n.s b/rts/gmp/mpn/mips2/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips2/add_n.s
rename to rts/gmp/mpn/mips2/add_n.s
diff --git a/ghc/rts/gmp/mpn/mips2/addmul_1.s b/rts/gmp/mpn/mips2/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips2/addmul_1.s
rename to rts/gmp/mpn/mips2/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/mips2/lshift.s b/rts/gmp/mpn/mips2/lshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips2/lshift.s
rename to rts/gmp/mpn/mips2/lshift.s
diff --git a/ghc/rts/gmp/mpn/mips2/mul_1.s b/rts/gmp/mpn/mips2/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips2/mul_1.s
rename to rts/gmp/mpn/mips2/mul_1.s
diff --git a/ghc/rts/gmp/mpn/mips2/rshift.s b/rts/gmp/mpn/mips2/rshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips2/rshift.s
rename to rts/gmp/mpn/mips2/rshift.s
diff --git a/ghc/rts/gmp/mpn/mips2/sub_n.s b/rts/gmp/mpn/mips2/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips2/sub_n.s
rename to rts/gmp/mpn/mips2/sub_n.s
diff --git a/ghc/rts/gmp/mpn/mips2/submul_1.s b/rts/gmp/mpn/mips2/submul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips2/submul_1.s
rename to rts/gmp/mpn/mips2/submul_1.s
diff --git a/ghc/rts/gmp/mpn/mips2/umul.s b/rts/gmp/mpn/mips2/umul.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips2/umul.s
rename to rts/gmp/mpn/mips2/umul.s
diff --git a/ghc/rts/gmp/mpn/mips3/README b/rts/gmp/mpn/mips3/README
similarity index 100%
rename from ghc/rts/gmp/mpn/mips3/README
rename to rts/gmp/mpn/mips3/README
diff --git a/ghc/rts/gmp/mpn/mips3/add_n.s b/rts/gmp/mpn/mips3/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips3/add_n.s
rename to rts/gmp/mpn/mips3/add_n.s
diff --git a/ghc/rts/gmp/mpn/mips3/addmul_1.s b/rts/gmp/mpn/mips3/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips3/addmul_1.s
rename to rts/gmp/mpn/mips3/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/mips3/gmp-mparam.h b/rts/gmp/mpn/mips3/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/mips3/gmp-mparam.h
rename to rts/gmp/mpn/mips3/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/mips3/lshift.s b/rts/gmp/mpn/mips3/lshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips3/lshift.s
rename to rts/gmp/mpn/mips3/lshift.s
diff --git a/ghc/rts/gmp/mpn/mips3/mul_1.s b/rts/gmp/mpn/mips3/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips3/mul_1.s
rename to rts/gmp/mpn/mips3/mul_1.s
diff --git a/ghc/rts/gmp/mpn/mips3/rshift.s b/rts/gmp/mpn/mips3/rshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips3/rshift.s
rename to rts/gmp/mpn/mips3/rshift.s
diff --git a/ghc/rts/gmp/mpn/mips3/sub_n.s b/rts/gmp/mpn/mips3/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips3/sub_n.s
rename to rts/gmp/mpn/mips3/sub_n.s
diff --git a/ghc/rts/gmp/mpn/mips3/submul_1.s b/rts/gmp/mpn/mips3/submul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/mips3/submul_1.s
rename to rts/gmp/mpn/mips3/submul_1.s
diff --git a/ghc/rts/gmp/mpn/mp_bases.c b/rts/gmp/mpn/mp_bases.c
similarity index 100%
rename from ghc/rts/gmp/mpn/mp_bases.c
rename to rts/gmp/mpn/mp_bases.c
diff --git a/ghc/rts/gmp/mpn/ns32k/add_n.s b/rts/gmp/mpn/ns32k/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/ns32k/add_n.s
rename to rts/gmp/mpn/ns32k/add_n.s
diff --git a/ghc/rts/gmp/mpn/ns32k/addmul_1.s b/rts/gmp/mpn/ns32k/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/ns32k/addmul_1.s
rename to rts/gmp/mpn/ns32k/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/ns32k/mul_1.s b/rts/gmp/mpn/ns32k/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/ns32k/mul_1.s
rename to rts/gmp/mpn/ns32k/mul_1.s
diff --git a/ghc/rts/gmp/mpn/ns32k/sub_n.s b/rts/gmp/mpn/ns32k/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/ns32k/sub_n.s
rename to rts/gmp/mpn/ns32k/sub_n.s
diff --git a/ghc/rts/gmp/mpn/ns32k/submul_1.s b/rts/gmp/mpn/ns32k/submul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/ns32k/submul_1.s
rename to rts/gmp/mpn/ns32k/submul_1.s
diff --git a/ghc/rts/gmp/mpn/pa64/README b/rts/gmp/mpn/pa64/README
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/README
rename to rts/gmp/mpn/pa64/README
diff --git a/ghc/rts/gmp/mpn/pa64/add_n.s b/rts/gmp/mpn/pa64/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/add_n.s
rename to rts/gmp/mpn/pa64/add_n.s
diff --git a/ghc/rts/gmp/mpn/pa64/addmul_1.S b/rts/gmp/mpn/pa64/addmul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/addmul_1.S
rename to rts/gmp/mpn/pa64/addmul_1.S
diff --git a/ghc/rts/gmp/mpn/pa64/gmp-mparam.h b/rts/gmp/mpn/pa64/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/gmp-mparam.h
rename to rts/gmp/mpn/pa64/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/pa64/lshift.s b/rts/gmp/mpn/pa64/lshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/lshift.s
rename to rts/gmp/mpn/pa64/lshift.s
diff --git a/ghc/rts/gmp/mpn/pa64/mul_1.S b/rts/gmp/mpn/pa64/mul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/mul_1.S
rename to rts/gmp/mpn/pa64/mul_1.S
diff --git a/ghc/rts/gmp/mpn/pa64/rshift.s b/rts/gmp/mpn/pa64/rshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/rshift.s
rename to rts/gmp/mpn/pa64/rshift.s
diff --git a/ghc/rts/gmp/mpn/pa64/sub_n.s b/rts/gmp/mpn/pa64/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/sub_n.s
rename to rts/gmp/mpn/pa64/sub_n.s
diff --git a/ghc/rts/gmp/mpn/pa64/submul_1.S b/rts/gmp/mpn/pa64/submul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/submul_1.S
rename to rts/gmp/mpn/pa64/submul_1.S
diff --git a/ghc/rts/gmp/mpn/pa64/udiv_qrnnd.c b/rts/gmp/mpn/pa64/udiv_qrnnd.c
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/udiv_qrnnd.c
rename to rts/gmp/mpn/pa64/udiv_qrnnd.c
diff --git a/ghc/rts/gmp/mpn/pa64/umul_ppmm.S b/rts/gmp/mpn/pa64/umul_ppmm.S
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64/umul_ppmm.S
rename to rts/gmp/mpn/pa64/umul_ppmm.S
diff --git a/ghc/rts/gmp/mpn/pa64w/README b/rts/gmp/mpn/pa64w/README
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/README
rename to rts/gmp/mpn/pa64w/README
diff --git a/ghc/rts/gmp/mpn/pa64w/add_n.s b/rts/gmp/mpn/pa64w/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/add_n.s
rename to rts/gmp/mpn/pa64w/add_n.s
diff --git a/ghc/rts/gmp/mpn/pa64w/addmul_1.S b/rts/gmp/mpn/pa64w/addmul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/addmul_1.S
rename to rts/gmp/mpn/pa64w/addmul_1.S
diff --git a/ghc/rts/gmp/mpn/pa64w/gmp-mparam.h b/rts/gmp/mpn/pa64w/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/gmp-mparam.h
rename to rts/gmp/mpn/pa64w/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/pa64w/lshift.s b/rts/gmp/mpn/pa64w/lshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/lshift.s
rename to rts/gmp/mpn/pa64w/lshift.s
diff --git a/ghc/rts/gmp/mpn/pa64w/mul_1.S b/rts/gmp/mpn/pa64w/mul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/mul_1.S
rename to rts/gmp/mpn/pa64w/mul_1.S
diff --git a/ghc/rts/gmp/mpn/pa64w/rshift.s b/rts/gmp/mpn/pa64w/rshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/rshift.s
rename to rts/gmp/mpn/pa64w/rshift.s
diff --git a/ghc/rts/gmp/mpn/pa64w/sub_n.s b/rts/gmp/mpn/pa64w/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/sub_n.s
rename to rts/gmp/mpn/pa64w/sub_n.s
diff --git a/ghc/rts/gmp/mpn/pa64w/submul_1.S b/rts/gmp/mpn/pa64w/submul_1.S
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/submul_1.S
rename to rts/gmp/mpn/pa64w/submul_1.S
diff --git a/ghc/rts/gmp/mpn/pa64w/udiv_qrnnd.c b/rts/gmp/mpn/pa64w/udiv_qrnnd.c
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/udiv_qrnnd.c
rename to rts/gmp/mpn/pa64w/udiv_qrnnd.c
diff --git a/ghc/rts/gmp/mpn/pa64w/umul_ppmm.S b/rts/gmp/mpn/pa64w/umul_ppmm.S
similarity index 100%
rename from ghc/rts/gmp/mpn/pa64w/umul_ppmm.S
rename to rts/gmp/mpn/pa64w/umul_ppmm.S
diff --git a/ghc/rts/gmp/mpn/power/add_n.s b/rts/gmp/mpn/power/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/power/add_n.s
rename to rts/gmp/mpn/power/add_n.s
diff --git a/ghc/rts/gmp/mpn/power/addmul_1.s b/rts/gmp/mpn/power/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/power/addmul_1.s
rename to rts/gmp/mpn/power/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/power/lshift.s b/rts/gmp/mpn/power/lshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/power/lshift.s
rename to rts/gmp/mpn/power/lshift.s
diff --git a/ghc/rts/gmp/mpn/power/mul_1.s b/rts/gmp/mpn/power/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/power/mul_1.s
rename to rts/gmp/mpn/power/mul_1.s
diff --git a/ghc/rts/gmp/mpn/power/rshift.s b/rts/gmp/mpn/power/rshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/power/rshift.s
rename to rts/gmp/mpn/power/rshift.s
diff --git a/ghc/rts/gmp/mpn/power/sdiv.s b/rts/gmp/mpn/power/sdiv.s
similarity index 100%
rename from ghc/rts/gmp/mpn/power/sdiv.s
rename to rts/gmp/mpn/power/sdiv.s
diff --git a/ghc/rts/gmp/mpn/power/sub_n.s b/rts/gmp/mpn/power/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/power/sub_n.s
rename to rts/gmp/mpn/power/sub_n.s
diff --git a/ghc/rts/gmp/mpn/power/submul_1.s b/rts/gmp/mpn/power/submul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/power/submul_1.s
rename to rts/gmp/mpn/power/submul_1.s
diff --git a/ghc/rts/gmp/mpn/power/umul.s b/rts/gmp/mpn/power/umul.s
similarity index 100%
rename from ghc/rts/gmp/mpn/power/umul.s
rename to rts/gmp/mpn/power/umul.s
diff --git a/ghc/rts/gmp/mpn/powerpc32/add_n.asm b/rts/gmp/mpn/powerpc32/add_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/add_n.asm
rename to rts/gmp/mpn/powerpc32/add_n.asm
diff --git a/ghc/rts/gmp/mpn/powerpc32/addmul_1.asm b/rts/gmp/mpn/powerpc32/addmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/addmul_1.asm
rename to rts/gmp/mpn/powerpc32/addmul_1.asm
diff --git a/ghc/rts/gmp/mpn/powerpc32/aix.m4 b/rts/gmp/mpn/powerpc32/aix.m4
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/aix.m4
rename to rts/gmp/mpn/powerpc32/aix.m4
diff --git a/ghc/rts/gmp/mpn/powerpc32/gmp-mparam.h b/rts/gmp/mpn/powerpc32/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/gmp-mparam.h
rename to rts/gmp/mpn/powerpc32/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/powerpc32/lshift.asm b/rts/gmp/mpn/powerpc32/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/lshift.asm
rename to rts/gmp/mpn/powerpc32/lshift.asm
diff --git a/ghc/rts/gmp/mpn/powerpc32/mul_1.asm b/rts/gmp/mpn/powerpc32/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/mul_1.asm
rename to rts/gmp/mpn/powerpc32/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/powerpc32/regmap.m4 b/rts/gmp/mpn/powerpc32/regmap.m4
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/regmap.m4
rename to rts/gmp/mpn/powerpc32/regmap.m4
diff --git a/ghc/rts/gmp/mpn/powerpc32/rshift.asm b/rts/gmp/mpn/powerpc32/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/rshift.asm
rename to rts/gmp/mpn/powerpc32/rshift.asm
diff --git a/ghc/rts/gmp/mpn/powerpc32/sub_n.asm b/rts/gmp/mpn/powerpc32/sub_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/sub_n.asm
rename to rts/gmp/mpn/powerpc32/sub_n.asm
diff --git a/ghc/rts/gmp/mpn/powerpc32/submul_1.asm b/rts/gmp/mpn/powerpc32/submul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/submul_1.asm
rename to rts/gmp/mpn/powerpc32/submul_1.asm
diff --git a/ghc/rts/gmp/mpn/powerpc32/umul.asm b/rts/gmp/mpn/powerpc32/umul.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc32/umul.asm
rename to rts/gmp/mpn/powerpc32/umul.asm
diff --git a/ghc/rts/gmp/mpn/powerpc64/README b/rts/gmp/mpn/powerpc64/README
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/README
rename to rts/gmp/mpn/powerpc64/README
diff --git a/ghc/rts/gmp/mpn/powerpc64/add_n.asm b/rts/gmp/mpn/powerpc64/add_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/add_n.asm
rename to rts/gmp/mpn/powerpc64/add_n.asm
diff --git a/ghc/rts/gmp/mpn/powerpc64/addmul_1.asm b/rts/gmp/mpn/powerpc64/addmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/addmul_1.asm
rename to rts/gmp/mpn/powerpc64/addmul_1.asm
diff --git a/ghc/rts/gmp/mpn/powerpc64/addsub_n.asm b/rts/gmp/mpn/powerpc64/addsub_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/addsub_n.asm
rename to rts/gmp/mpn/powerpc64/addsub_n.asm
diff --git a/ghc/rts/gmp/mpn/powerpc64/aix.m4 b/rts/gmp/mpn/powerpc64/aix.m4
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/aix.m4
rename to rts/gmp/mpn/powerpc64/aix.m4
diff --git a/ghc/rts/gmp/mpn/powerpc64/copyd.asm b/rts/gmp/mpn/powerpc64/copyd.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/copyd.asm
rename to rts/gmp/mpn/powerpc64/copyd.asm
diff --git a/ghc/rts/gmp/mpn/powerpc64/copyi.asm b/rts/gmp/mpn/powerpc64/copyi.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/copyi.asm
rename to rts/gmp/mpn/powerpc64/copyi.asm
diff --git a/ghc/rts/gmp/mpn/powerpc64/gmp-mparam.h b/rts/gmp/mpn/powerpc64/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/gmp-mparam.h
rename to rts/gmp/mpn/powerpc64/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/powerpc64/lshift.asm b/rts/gmp/mpn/powerpc64/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/lshift.asm
rename to rts/gmp/mpn/powerpc64/lshift.asm
diff --git a/ghc/rts/gmp/mpn/powerpc64/mul_1.asm b/rts/gmp/mpn/powerpc64/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/mul_1.asm
rename to rts/gmp/mpn/powerpc64/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/powerpc64/rshift.asm b/rts/gmp/mpn/powerpc64/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/rshift.asm
rename to rts/gmp/mpn/powerpc64/rshift.asm
diff --git a/ghc/rts/gmp/mpn/powerpc64/sub_n.asm b/rts/gmp/mpn/powerpc64/sub_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/sub_n.asm
rename to rts/gmp/mpn/powerpc64/sub_n.asm
diff --git a/ghc/rts/gmp/mpn/powerpc64/submul_1.asm b/rts/gmp/mpn/powerpc64/submul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/powerpc64/submul_1.asm
rename to rts/gmp/mpn/powerpc64/submul_1.asm
diff --git a/ghc/rts/gmp/mpn/pyr/add_n.s b/rts/gmp/mpn/pyr/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pyr/add_n.s
rename to rts/gmp/mpn/pyr/add_n.s
diff --git a/ghc/rts/gmp/mpn/pyr/addmul_1.s b/rts/gmp/mpn/pyr/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pyr/addmul_1.s
rename to rts/gmp/mpn/pyr/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/pyr/mul_1.s b/rts/gmp/mpn/pyr/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pyr/mul_1.s
rename to rts/gmp/mpn/pyr/mul_1.s
diff --git a/ghc/rts/gmp/mpn/pyr/sub_n.s b/rts/gmp/mpn/pyr/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/pyr/sub_n.s
rename to rts/gmp/mpn/pyr/sub_n.s
diff --git a/ghc/rts/gmp/mpn/sh/add_n.s b/rts/gmp/mpn/sh/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/sh/add_n.s
rename to rts/gmp/mpn/sh/add_n.s
diff --git a/ghc/rts/gmp/mpn/sh/sh2/addmul_1.s b/rts/gmp/mpn/sh/sh2/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/sh/sh2/addmul_1.s
rename to rts/gmp/mpn/sh/sh2/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/sh/sh2/mul_1.s b/rts/gmp/mpn/sh/sh2/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/sh/sh2/mul_1.s
rename to rts/gmp/mpn/sh/sh2/mul_1.s
diff --git a/ghc/rts/gmp/mpn/sh/sh2/submul_1.s b/rts/gmp/mpn/sh/sh2/submul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/sh/sh2/submul_1.s
rename to rts/gmp/mpn/sh/sh2/submul_1.s
diff --git a/ghc/rts/gmp/mpn/sh/sub_n.s b/rts/gmp/mpn/sh/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/sh/sub_n.s
rename to rts/gmp/mpn/sh/sub_n.s
diff --git a/ghc/rts/gmp/mpn/sparc32/README b/rts/gmp/mpn/sparc32/README
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/README
rename to rts/gmp/mpn/sparc32/README
diff --git a/ghc/rts/gmp/mpn/sparc32/add_n.asm b/rts/gmp/mpn/sparc32/add_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/add_n.asm
rename to rts/gmp/mpn/sparc32/add_n.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/addmul_1.asm b/rts/gmp/mpn/sparc32/addmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/addmul_1.asm
rename to rts/gmp/mpn/sparc32/addmul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/lshift.asm b/rts/gmp/mpn/sparc32/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/lshift.asm
rename to rts/gmp/mpn/sparc32/lshift.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/mul_1.asm b/rts/gmp/mpn/sparc32/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/mul_1.asm
rename to rts/gmp/mpn/sparc32/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/rshift.asm b/rts/gmp/mpn/sparc32/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/rshift.asm
rename to rts/gmp/mpn/sparc32/rshift.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/sub_n.asm b/rts/gmp/mpn/sparc32/sub_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/sub_n.asm
rename to rts/gmp/mpn/sparc32/sub_n.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/submul_1.asm b/rts/gmp/mpn/sparc32/submul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/submul_1.asm
rename to rts/gmp/mpn/sparc32/submul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/udiv_fp.asm b/rts/gmp/mpn/sparc32/udiv_fp.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/udiv_fp.asm
rename to rts/gmp/mpn/sparc32/udiv_fp.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/udiv_nfp.asm b/rts/gmp/mpn/sparc32/udiv_nfp.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/udiv_nfp.asm
rename to rts/gmp/mpn/sparc32/udiv_nfp.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/umul.asm b/rts/gmp/mpn/sparc32/umul.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/umul.asm
rename to rts/gmp/mpn/sparc32/umul.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/v8/addmul_1.asm b/rts/gmp/mpn/sparc32/v8/addmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/v8/addmul_1.asm
rename to rts/gmp/mpn/sparc32/v8/addmul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/v8/mul_1.asm b/rts/gmp/mpn/sparc32/v8/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/v8/mul_1.asm
rename to rts/gmp/mpn/sparc32/v8/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/v8/submul_1.asm b/rts/gmp/mpn/sparc32/v8/submul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/v8/submul_1.asm
rename to rts/gmp/mpn/sparc32/v8/submul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/v8/supersparc/udiv.asm b/rts/gmp/mpn/sparc32/v8/supersparc/udiv.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/v8/supersparc/udiv.asm
rename to rts/gmp/mpn/sparc32/v8/supersparc/udiv.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/v8/umul.asm b/rts/gmp/mpn/sparc32/v8/umul.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/v8/umul.asm
rename to rts/gmp/mpn/sparc32/v8/umul.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/v9/README b/rts/gmp/mpn/sparc32/v9/README
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/v9/README
rename to rts/gmp/mpn/sparc32/v9/README
diff --git a/ghc/rts/gmp/mpn/sparc32/v9/addmul_1.asm b/rts/gmp/mpn/sparc32/v9/addmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/v9/addmul_1.asm
rename to rts/gmp/mpn/sparc32/v9/addmul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/v9/gmp-mparam.h b/rts/gmp/mpn/sparc32/v9/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/v9/gmp-mparam.h
rename to rts/gmp/mpn/sparc32/v9/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/sparc32/v9/mul_1.asm b/rts/gmp/mpn/sparc32/v9/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/v9/mul_1.asm
rename to rts/gmp/mpn/sparc32/v9/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc32/v9/submul_1.asm b/rts/gmp/mpn/sparc32/v9/submul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc32/v9/submul_1.asm
rename to rts/gmp/mpn/sparc32/v9/submul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/README b/rts/gmp/mpn/sparc64/README
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/README
rename to rts/gmp/mpn/sparc64/README
diff --git a/ghc/rts/gmp/mpn/sparc64/add_n.asm b/rts/gmp/mpn/sparc64/add_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/add_n.asm
rename to rts/gmp/mpn/sparc64/add_n.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/addmul1h.asm b/rts/gmp/mpn/sparc64/addmul1h.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/addmul1h.asm
rename to rts/gmp/mpn/sparc64/addmul1h.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/addmul_1.asm b/rts/gmp/mpn/sparc64/addmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/addmul_1.asm
rename to rts/gmp/mpn/sparc64/addmul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/copyi.asm b/rts/gmp/mpn/sparc64/copyi.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/copyi.asm
rename to rts/gmp/mpn/sparc64/copyi.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/gmp-mparam.h b/rts/gmp/mpn/sparc64/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/gmp-mparam.h
rename to rts/gmp/mpn/sparc64/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/sparc64/lshift.asm b/rts/gmp/mpn/sparc64/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/lshift.asm
rename to rts/gmp/mpn/sparc64/lshift.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/mul_1.asm b/rts/gmp/mpn/sparc64/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/mul_1.asm
rename to rts/gmp/mpn/sparc64/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/mul_1h.asm b/rts/gmp/mpn/sparc64/mul_1h.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/mul_1h.asm
rename to rts/gmp/mpn/sparc64/mul_1h.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/rshift.asm b/rts/gmp/mpn/sparc64/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/rshift.asm
rename to rts/gmp/mpn/sparc64/rshift.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/sub_n.asm b/rts/gmp/mpn/sparc64/sub_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/sub_n.asm
rename to rts/gmp/mpn/sparc64/sub_n.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/submul1h.asm b/rts/gmp/mpn/sparc64/submul1h.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/submul1h.asm
rename to rts/gmp/mpn/sparc64/submul1h.asm
diff --git a/ghc/rts/gmp/mpn/sparc64/submul_1.asm b/rts/gmp/mpn/sparc64/submul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/sparc64/submul_1.asm
rename to rts/gmp/mpn/sparc64/submul_1.asm
diff --git a/ghc/rts/gmp/mpn/thumb/add_n.s b/rts/gmp/mpn/thumb/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/thumb/add_n.s
rename to rts/gmp/mpn/thumb/add_n.s
diff --git a/ghc/rts/gmp/mpn/thumb/sub_n.s b/rts/gmp/mpn/thumb/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/thumb/sub_n.s
rename to rts/gmp/mpn/thumb/sub_n.s
diff --git a/ghc/rts/gmp/mpn/underscore.h b/rts/gmp/mpn/underscore.h
similarity index 100%
rename from ghc/rts/gmp/mpn/underscore.h
rename to rts/gmp/mpn/underscore.h
diff --git a/ghc/rts/gmp/mpn/vax/add_n.s b/rts/gmp/mpn/vax/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/vax/add_n.s
rename to rts/gmp/mpn/vax/add_n.s
diff --git a/ghc/rts/gmp/mpn/vax/addmul_1.s b/rts/gmp/mpn/vax/addmul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/vax/addmul_1.s
rename to rts/gmp/mpn/vax/addmul_1.s
diff --git a/ghc/rts/gmp/mpn/vax/lshift.s b/rts/gmp/mpn/vax/lshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/vax/lshift.s
rename to rts/gmp/mpn/vax/lshift.s
diff --git a/ghc/rts/gmp/mpn/vax/mul_1.s b/rts/gmp/mpn/vax/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/vax/mul_1.s
rename to rts/gmp/mpn/vax/mul_1.s
diff --git a/ghc/rts/gmp/mpn/vax/rshift.s b/rts/gmp/mpn/vax/rshift.s
similarity index 100%
rename from ghc/rts/gmp/mpn/vax/rshift.s
rename to rts/gmp/mpn/vax/rshift.s
diff --git a/ghc/rts/gmp/mpn/vax/sub_n.s b/rts/gmp/mpn/vax/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/vax/sub_n.s
rename to rts/gmp/mpn/vax/sub_n.s
diff --git a/ghc/rts/gmp/mpn/vax/submul_1.s b/rts/gmp/mpn/vax/submul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/vax/submul_1.s
rename to rts/gmp/mpn/vax/submul_1.s
diff --git a/ghc/rts/gmp/mpn/x86/README b/rts/gmp/mpn/x86/README
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/README
rename to rts/gmp/mpn/x86/README
diff --git a/ghc/rts/gmp/mpn/x86/README.family b/rts/gmp/mpn/x86/README.family
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/README.family
rename to rts/gmp/mpn/x86/README.family
diff --git a/ghc/rts/gmp/mpn/x86/addsub_n.S b/rts/gmp/mpn/x86/addsub_n.S
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/addsub_n.S
rename to rts/gmp/mpn/x86/addsub_n.S
diff --git a/ghc/rts/gmp/mpn/x86/aors_n.asm b/rts/gmp/mpn/x86/aors_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/aors_n.asm
rename to rts/gmp/mpn/x86/aors_n.asm
diff --git a/ghc/rts/gmp/mpn/x86/aorsmul_1.asm b/rts/gmp/mpn/x86/aorsmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/aorsmul_1.asm
rename to rts/gmp/mpn/x86/aorsmul_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/copyd.asm b/rts/gmp/mpn/x86/copyd.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/copyd.asm
rename to rts/gmp/mpn/x86/copyd.asm
diff --git a/ghc/rts/gmp/mpn/x86/copyi.asm b/rts/gmp/mpn/x86/copyi.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/copyi.asm
rename to rts/gmp/mpn/x86/copyi.asm
diff --git a/ghc/rts/gmp/mpn/x86/diveby3.asm b/rts/gmp/mpn/x86/diveby3.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/diveby3.asm
rename to rts/gmp/mpn/x86/diveby3.asm
diff --git a/ghc/rts/gmp/mpn/x86/divrem_1.asm b/rts/gmp/mpn/x86/divrem_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/divrem_1.asm
rename to rts/gmp/mpn/x86/divrem_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/README b/rts/gmp/mpn/x86/k6/README
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/README
rename to rts/gmp/mpn/x86/k6/README
diff --git a/ghc/rts/gmp/mpn/x86/k6/aors_n.asm b/rts/gmp/mpn/x86/k6/aors_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/aors_n.asm
rename to rts/gmp/mpn/x86/k6/aors_n.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/aorsmul_1.asm b/rts/gmp/mpn/x86/k6/aorsmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/aorsmul_1.asm
rename to rts/gmp/mpn/x86/k6/aorsmul_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/cross.pl b/rts/gmp/mpn/x86/k6/cross.pl
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/cross.pl
rename to rts/gmp/mpn/x86/k6/cross.pl
diff --git a/ghc/rts/gmp/mpn/x86/k6/diveby3.asm b/rts/gmp/mpn/x86/k6/diveby3.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/diveby3.asm
rename to rts/gmp/mpn/x86/k6/diveby3.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/gmp-mparam.h b/rts/gmp/mpn/x86/k6/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/gmp-mparam.h
rename to rts/gmp/mpn/x86/k6/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/x86/k6/k62mmx/copyd.asm b/rts/gmp/mpn/x86/k6/k62mmx/copyd.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/k62mmx/copyd.asm
rename to rts/gmp/mpn/x86/k6/k62mmx/copyd.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/k62mmx/copyi.asm b/rts/gmp/mpn/x86/k6/k62mmx/copyi.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/k62mmx/copyi.asm
rename to rts/gmp/mpn/x86/k6/k62mmx/copyi.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/k62mmx/lshift.asm b/rts/gmp/mpn/x86/k6/k62mmx/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/k62mmx/lshift.asm
rename to rts/gmp/mpn/x86/k6/k62mmx/lshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/k62mmx/rshift.asm b/rts/gmp/mpn/x86/k6/k62mmx/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/k62mmx/rshift.asm
rename to rts/gmp/mpn/x86/k6/k62mmx/rshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/mmx/com_n.asm b/rts/gmp/mpn/x86/k6/mmx/com_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/mmx/com_n.asm
rename to rts/gmp/mpn/x86/k6/mmx/com_n.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/mmx/logops_n.asm b/rts/gmp/mpn/x86/k6/mmx/logops_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/mmx/logops_n.asm
rename to rts/gmp/mpn/x86/k6/mmx/logops_n.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/mmx/lshift.asm b/rts/gmp/mpn/x86/k6/mmx/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/mmx/lshift.asm
rename to rts/gmp/mpn/x86/k6/mmx/lshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/mmx/popham.asm b/rts/gmp/mpn/x86/k6/mmx/popham.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/mmx/popham.asm
rename to rts/gmp/mpn/x86/k6/mmx/popham.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/mmx/rshift.asm b/rts/gmp/mpn/x86/k6/mmx/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/mmx/rshift.asm
rename to rts/gmp/mpn/x86/k6/mmx/rshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/mul_1.asm b/rts/gmp/mpn/x86/k6/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/mul_1.asm
rename to rts/gmp/mpn/x86/k6/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/mul_basecase.asm b/rts/gmp/mpn/x86/k6/mul_basecase.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/mul_basecase.asm
rename to rts/gmp/mpn/x86/k6/mul_basecase.asm
diff --git a/ghc/rts/gmp/mpn/x86/k6/sqr_basecase.asm b/rts/gmp/mpn/x86/k6/sqr_basecase.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k6/sqr_basecase.asm
rename to rts/gmp/mpn/x86/k6/sqr_basecase.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/README b/rts/gmp/mpn/x86/k7/README
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/README
rename to rts/gmp/mpn/x86/k7/README
diff --git a/ghc/rts/gmp/mpn/x86/k7/aors_n.asm b/rts/gmp/mpn/x86/k7/aors_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/aors_n.asm
rename to rts/gmp/mpn/x86/k7/aors_n.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/aorsmul_1.asm b/rts/gmp/mpn/x86/k7/aorsmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/aorsmul_1.asm
rename to rts/gmp/mpn/x86/k7/aorsmul_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/diveby3.asm b/rts/gmp/mpn/x86/k7/diveby3.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/diveby3.asm
rename to rts/gmp/mpn/x86/k7/diveby3.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/gmp-mparam.h b/rts/gmp/mpn/x86/k7/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/gmp-mparam.h
rename to rts/gmp/mpn/x86/k7/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/x86/k7/mmx/copyd.asm b/rts/gmp/mpn/x86/k7/mmx/copyd.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/mmx/copyd.asm
rename to rts/gmp/mpn/x86/k7/mmx/copyd.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/mmx/copyi.asm b/rts/gmp/mpn/x86/k7/mmx/copyi.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/mmx/copyi.asm
rename to rts/gmp/mpn/x86/k7/mmx/copyi.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/mmx/divrem_1.asm b/rts/gmp/mpn/x86/k7/mmx/divrem_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/mmx/divrem_1.asm
rename to rts/gmp/mpn/x86/k7/mmx/divrem_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/mmx/lshift.asm b/rts/gmp/mpn/x86/k7/mmx/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/mmx/lshift.asm
rename to rts/gmp/mpn/x86/k7/mmx/lshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/mmx/mod_1.asm b/rts/gmp/mpn/x86/k7/mmx/mod_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/mmx/mod_1.asm
rename to rts/gmp/mpn/x86/k7/mmx/mod_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/mmx/popham.asm b/rts/gmp/mpn/x86/k7/mmx/popham.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/mmx/popham.asm
rename to rts/gmp/mpn/x86/k7/mmx/popham.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/mmx/rshift.asm b/rts/gmp/mpn/x86/k7/mmx/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/mmx/rshift.asm
rename to rts/gmp/mpn/x86/k7/mmx/rshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/mul_1.asm b/rts/gmp/mpn/x86/k7/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/mul_1.asm
rename to rts/gmp/mpn/x86/k7/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/mul_basecase.asm b/rts/gmp/mpn/x86/k7/mul_basecase.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/mul_basecase.asm
rename to rts/gmp/mpn/x86/k7/mul_basecase.asm
diff --git a/ghc/rts/gmp/mpn/x86/k7/sqr_basecase.asm b/rts/gmp/mpn/x86/k7/sqr_basecase.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/k7/sqr_basecase.asm
rename to rts/gmp/mpn/x86/k7/sqr_basecase.asm
diff --git a/ghc/rts/gmp/mpn/x86/lshift.asm b/rts/gmp/mpn/x86/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/lshift.asm
rename to rts/gmp/mpn/x86/lshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/mod_1.asm b/rts/gmp/mpn/x86/mod_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/mod_1.asm
rename to rts/gmp/mpn/x86/mod_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/mul_1.asm b/rts/gmp/mpn/x86/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/mul_1.asm
rename to rts/gmp/mpn/x86/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/mul_basecase.asm b/rts/gmp/mpn/x86/mul_basecase.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/mul_basecase.asm
rename to rts/gmp/mpn/x86/mul_basecase.asm
diff --git a/ghc/rts/gmp/mpn/x86/p6/README b/rts/gmp/mpn/x86/p6/README
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/p6/README
rename to rts/gmp/mpn/x86/p6/README
diff --git a/ghc/rts/gmp/mpn/x86/p6/aorsmul_1.asm b/rts/gmp/mpn/x86/p6/aorsmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/p6/aorsmul_1.asm
rename to rts/gmp/mpn/x86/p6/aorsmul_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/p6/diveby3.asm b/rts/gmp/mpn/x86/p6/diveby3.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/p6/diveby3.asm
rename to rts/gmp/mpn/x86/p6/diveby3.asm
diff --git a/ghc/rts/gmp/mpn/x86/p6/gmp-mparam.h b/rts/gmp/mpn/x86/p6/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/p6/gmp-mparam.h
rename to rts/gmp/mpn/x86/p6/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/x86/p6/mmx/divrem_1.asm b/rts/gmp/mpn/x86/p6/mmx/divrem_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/p6/mmx/divrem_1.asm
rename to rts/gmp/mpn/x86/p6/mmx/divrem_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/p6/mmx/mod_1.asm b/rts/gmp/mpn/x86/p6/mmx/mod_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/p6/mmx/mod_1.asm
rename to rts/gmp/mpn/x86/p6/mmx/mod_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/p6/mmx/popham.asm b/rts/gmp/mpn/x86/p6/mmx/popham.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/p6/mmx/popham.asm
rename to rts/gmp/mpn/x86/p6/mmx/popham.asm
diff --git a/ghc/rts/gmp/mpn/x86/p6/p3mmx/popham.asm b/rts/gmp/mpn/x86/p6/p3mmx/popham.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/p6/p3mmx/popham.asm
rename to rts/gmp/mpn/x86/p6/p3mmx/popham.asm
diff --git a/ghc/rts/gmp/mpn/x86/p6/sqr_basecase.asm b/rts/gmp/mpn/x86/p6/sqr_basecase.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/p6/sqr_basecase.asm
rename to rts/gmp/mpn/x86/p6/sqr_basecase.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/README b/rts/gmp/mpn/x86/pentium/README
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/README
rename to rts/gmp/mpn/x86/pentium/README
diff --git a/ghc/rts/gmp/mpn/x86/pentium/aors_n.asm b/rts/gmp/mpn/x86/pentium/aors_n.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/aors_n.asm
rename to rts/gmp/mpn/x86/pentium/aors_n.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/aorsmul_1.asm b/rts/gmp/mpn/x86/pentium/aorsmul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/aorsmul_1.asm
rename to rts/gmp/mpn/x86/pentium/aorsmul_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/diveby3.asm b/rts/gmp/mpn/x86/pentium/diveby3.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/diveby3.asm
rename to rts/gmp/mpn/x86/pentium/diveby3.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/gmp-mparam.h b/rts/gmp/mpn/x86/pentium/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/gmp-mparam.h
rename to rts/gmp/mpn/x86/pentium/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/x86/pentium/lshift.asm b/rts/gmp/mpn/x86/pentium/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/lshift.asm
rename to rts/gmp/mpn/x86/pentium/lshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/mmx/gmp-mparam.h b/rts/gmp/mpn/x86/pentium/mmx/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/mmx/gmp-mparam.h
rename to rts/gmp/mpn/x86/pentium/mmx/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/x86/pentium/mmx/lshift.asm b/rts/gmp/mpn/x86/pentium/mmx/lshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/mmx/lshift.asm
rename to rts/gmp/mpn/x86/pentium/mmx/lshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/mmx/popham.asm b/rts/gmp/mpn/x86/pentium/mmx/popham.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/mmx/popham.asm
rename to rts/gmp/mpn/x86/pentium/mmx/popham.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/mmx/rshift.asm b/rts/gmp/mpn/x86/pentium/mmx/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/mmx/rshift.asm
rename to rts/gmp/mpn/x86/pentium/mmx/rshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/mul_1.asm b/rts/gmp/mpn/x86/pentium/mul_1.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/mul_1.asm
rename to rts/gmp/mpn/x86/pentium/mul_1.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/mul_basecase.asm b/rts/gmp/mpn/x86/pentium/mul_basecase.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/mul_basecase.asm
rename to rts/gmp/mpn/x86/pentium/mul_basecase.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/rshift.asm b/rts/gmp/mpn/x86/pentium/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/rshift.asm
rename to rts/gmp/mpn/x86/pentium/rshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/pentium/sqr_basecase.asm b/rts/gmp/mpn/x86/pentium/sqr_basecase.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/pentium/sqr_basecase.asm
rename to rts/gmp/mpn/x86/pentium/sqr_basecase.asm
diff --git a/ghc/rts/gmp/mpn/x86/rshift.asm b/rts/gmp/mpn/x86/rshift.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/rshift.asm
rename to rts/gmp/mpn/x86/rshift.asm
diff --git a/ghc/rts/gmp/mpn/x86/udiv.asm b/rts/gmp/mpn/x86/udiv.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/udiv.asm
rename to rts/gmp/mpn/x86/udiv.asm
diff --git a/ghc/rts/gmp/mpn/x86/umul.asm b/rts/gmp/mpn/x86/umul.asm
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/umul.asm
rename to rts/gmp/mpn/x86/umul.asm
diff --git a/ghc/rts/gmp/mpn/x86/x86-defs.m4 b/rts/gmp/mpn/x86/x86-defs.m4
similarity index 100%
rename from ghc/rts/gmp/mpn/x86/x86-defs.m4
rename to rts/gmp/mpn/x86/x86-defs.m4
diff --git a/ghc/rts/gmp/mpn/z8000/add_n.s b/rts/gmp/mpn/z8000/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/z8000/add_n.s
rename to rts/gmp/mpn/z8000/add_n.s
diff --git a/ghc/rts/gmp/mpn/z8000/gmp-mparam.h b/rts/gmp/mpn/z8000/gmp-mparam.h
similarity index 100%
rename from ghc/rts/gmp/mpn/z8000/gmp-mparam.h
rename to rts/gmp/mpn/z8000/gmp-mparam.h
diff --git a/ghc/rts/gmp/mpn/z8000/mul_1.s b/rts/gmp/mpn/z8000/mul_1.s
similarity index 100%
rename from ghc/rts/gmp/mpn/z8000/mul_1.s
rename to rts/gmp/mpn/z8000/mul_1.s
diff --git a/ghc/rts/gmp/mpn/z8000/sub_n.s b/rts/gmp/mpn/z8000/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/z8000/sub_n.s
rename to rts/gmp/mpn/z8000/sub_n.s
diff --git a/ghc/rts/gmp/mpn/z8000x/add_n.s b/rts/gmp/mpn/z8000x/add_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/z8000x/add_n.s
rename to rts/gmp/mpn/z8000x/add_n.s
diff --git a/ghc/rts/gmp/mpn/z8000x/sub_n.s b/rts/gmp/mpn/z8000x/sub_n.s
similarity index 100%
rename from ghc/rts/gmp/mpn/z8000x/sub_n.s
rename to rts/gmp/mpn/z8000x/sub_n.s
diff --git a/ghc/rts/gmp/mpz/Makefile.am b/rts/gmp/mpz/Makefile.am
similarity index 100%
rename from ghc/rts/gmp/mpz/Makefile.am
rename to rts/gmp/mpz/Makefile.am
diff --git a/ghc/rts/gmp/mpz/Makefile.in b/rts/gmp/mpz/Makefile.in
similarity index 100%
rename from ghc/rts/gmp/mpz/Makefile.in
rename to rts/gmp/mpz/Makefile.in
diff --git a/ghc/rts/gmp/mpz/README b/rts/gmp/mpz/README
similarity index 100%
rename from ghc/rts/gmp/mpz/README
rename to rts/gmp/mpz/README
diff --git a/ghc/rts/gmp/mpz/abs.c b/rts/gmp/mpz/abs.c
similarity index 100%
rename from ghc/rts/gmp/mpz/abs.c
rename to rts/gmp/mpz/abs.c
diff --git a/ghc/rts/gmp/mpz/add.c b/rts/gmp/mpz/add.c
similarity index 100%
rename from ghc/rts/gmp/mpz/add.c
rename to rts/gmp/mpz/add.c
diff --git a/ghc/rts/gmp/mpz/add_ui.c b/rts/gmp/mpz/add_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/add_ui.c
rename to rts/gmp/mpz/add_ui.c
diff --git a/ghc/rts/gmp/mpz/addmul_ui.c b/rts/gmp/mpz/addmul_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/addmul_ui.c
rename to rts/gmp/mpz/addmul_ui.c
diff --git a/ghc/rts/gmp/mpz/and.c b/rts/gmp/mpz/and.c
similarity index 100%
rename from ghc/rts/gmp/mpz/and.c
rename to rts/gmp/mpz/and.c
diff --git a/ghc/rts/gmp/mpz/array_init.c b/rts/gmp/mpz/array_init.c
similarity index 100%
rename from ghc/rts/gmp/mpz/array_init.c
rename to rts/gmp/mpz/array_init.c
diff --git a/ghc/rts/gmp/mpz/bin_ui.c b/rts/gmp/mpz/bin_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/bin_ui.c
rename to rts/gmp/mpz/bin_ui.c
diff --git a/ghc/rts/gmp/mpz/bin_uiui.c b/rts/gmp/mpz/bin_uiui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/bin_uiui.c
rename to rts/gmp/mpz/bin_uiui.c
diff --git a/ghc/rts/gmp/mpz/cdiv_q.c b/rts/gmp/mpz/cdiv_q.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cdiv_q.c
rename to rts/gmp/mpz/cdiv_q.c
diff --git a/ghc/rts/gmp/mpz/cdiv_q_ui.c b/rts/gmp/mpz/cdiv_q_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cdiv_q_ui.c
rename to rts/gmp/mpz/cdiv_q_ui.c
diff --git a/ghc/rts/gmp/mpz/cdiv_qr.c b/rts/gmp/mpz/cdiv_qr.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cdiv_qr.c
rename to rts/gmp/mpz/cdiv_qr.c
diff --git a/ghc/rts/gmp/mpz/cdiv_qr_ui.c b/rts/gmp/mpz/cdiv_qr_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cdiv_qr_ui.c
rename to rts/gmp/mpz/cdiv_qr_ui.c
diff --git a/ghc/rts/gmp/mpz/cdiv_r.c b/rts/gmp/mpz/cdiv_r.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cdiv_r.c
rename to rts/gmp/mpz/cdiv_r.c
diff --git a/ghc/rts/gmp/mpz/cdiv_r_ui.c b/rts/gmp/mpz/cdiv_r_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cdiv_r_ui.c
rename to rts/gmp/mpz/cdiv_r_ui.c
diff --git a/ghc/rts/gmp/mpz/cdiv_ui.c b/rts/gmp/mpz/cdiv_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cdiv_ui.c
rename to rts/gmp/mpz/cdiv_ui.c
diff --git a/ghc/rts/gmp/mpz/clear.c b/rts/gmp/mpz/clear.c
similarity index 100%
rename from ghc/rts/gmp/mpz/clear.c
rename to rts/gmp/mpz/clear.c
diff --git a/ghc/rts/gmp/mpz/clrbit.c b/rts/gmp/mpz/clrbit.c
similarity index 100%
rename from ghc/rts/gmp/mpz/clrbit.c
rename to rts/gmp/mpz/clrbit.c
diff --git a/ghc/rts/gmp/mpz/cmp.c b/rts/gmp/mpz/cmp.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cmp.c
rename to rts/gmp/mpz/cmp.c
diff --git a/ghc/rts/gmp/mpz/cmp_si.c b/rts/gmp/mpz/cmp_si.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cmp_si.c
rename to rts/gmp/mpz/cmp_si.c
diff --git a/ghc/rts/gmp/mpz/cmp_ui.c b/rts/gmp/mpz/cmp_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cmp_ui.c
rename to rts/gmp/mpz/cmp_ui.c
diff --git a/ghc/rts/gmp/mpz/cmpabs.c b/rts/gmp/mpz/cmpabs.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cmpabs.c
rename to rts/gmp/mpz/cmpabs.c
diff --git a/ghc/rts/gmp/mpz/cmpabs_ui.c b/rts/gmp/mpz/cmpabs_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/cmpabs_ui.c
rename to rts/gmp/mpz/cmpabs_ui.c
diff --git a/ghc/rts/gmp/mpz/com.c b/rts/gmp/mpz/com.c
similarity index 100%
rename from ghc/rts/gmp/mpz/com.c
rename to rts/gmp/mpz/com.c
diff --git a/ghc/rts/gmp/mpz/divexact.c b/rts/gmp/mpz/divexact.c
similarity index 100%
rename from ghc/rts/gmp/mpz/divexact.c
rename to rts/gmp/mpz/divexact.c
diff --git a/ghc/rts/gmp/mpz/dump.c b/rts/gmp/mpz/dump.c
similarity index 100%
rename from ghc/rts/gmp/mpz/dump.c
rename to rts/gmp/mpz/dump.c
diff --git a/ghc/rts/gmp/mpz/fac_ui.c b/rts/gmp/mpz/fac_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fac_ui.c
rename to rts/gmp/mpz/fac_ui.c
diff --git a/ghc/rts/gmp/mpz/fdiv_q.c b/rts/gmp/mpz/fdiv_q.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fdiv_q.c
rename to rts/gmp/mpz/fdiv_q.c
diff --git a/ghc/rts/gmp/mpz/fdiv_q_2exp.c b/rts/gmp/mpz/fdiv_q_2exp.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fdiv_q_2exp.c
rename to rts/gmp/mpz/fdiv_q_2exp.c
diff --git a/ghc/rts/gmp/mpz/fdiv_q_ui.c b/rts/gmp/mpz/fdiv_q_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fdiv_q_ui.c
rename to rts/gmp/mpz/fdiv_q_ui.c
diff --git a/ghc/rts/gmp/mpz/fdiv_qr.c b/rts/gmp/mpz/fdiv_qr.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fdiv_qr.c
rename to rts/gmp/mpz/fdiv_qr.c
diff --git a/ghc/rts/gmp/mpz/fdiv_qr_ui.c b/rts/gmp/mpz/fdiv_qr_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fdiv_qr_ui.c
rename to rts/gmp/mpz/fdiv_qr_ui.c
diff --git a/ghc/rts/gmp/mpz/fdiv_r.c b/rts/gmp/mpz/fdiv_r.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fdiv_r.c
rename to rts/gmp/mpz/fdiv_r.c
diff --git a/ghc/rts/gmp/mpz/fdiv_r_2exp.c b/rts/gmp/mpz/fdiv_r_2exp.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fdiv_r_2exp.c
rename to rts/gmp/mpz/fdiv_r_2exp.c
diff --git a/ghc/rts/gmp/mpz/fdiv_r_ui.c b/rts/gmp/mpz/fdiv_r_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fdiv_r_ui.c
rename to rts/gmp/mpz/fdiv_r_ui.c
diff --git a/ghc/rts/gmp/mpz/fdiv_ui.c b/rts/gmp/mpz/fdiv_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fdiv_ui.c
rename to rts/gmp/mpz/fdiv_ui.c
diff --git a/ghc/rts/gmp/mpz/fib_ui.c b/rts/gmp/mpz/fib_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fib_ui.c
rename to rts/gmp/mpz/fib_ui.c
diff --git a/ghc/rts/gmp/mpz/fits_sint_p.c b/rts/gmp/mpz/fits_sint_p.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fits_sint_p.c
rename to rts/gmp/mpz/fits_sint_p.c
diff --git a/ghc/rts/gmp/mpz/fits_slong_p.c b/rts/gmp/mpz/fits_slong_p.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fits_slong_p.c
rename to rts/gmp/mpz/fits_slong_p.c
diff --git a/ghc/rts/gmp/mpz/fits_sshort_p.c b/rts/gmp/mpz/fits_sshort_p.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fits_sshort_p.c
rename to rts/gmp/mpz/fits_sshort_p.c
diff --git a/ghc/rts/gmp/mpz/fits_uint_p.c b/rts/gmp/mpz/fits_uint_p.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fits_uint_p.c
rename to rts/gmp/mpz/fits_uint_p.c
diff --git a/ghc/rts/gmp/mpz/fits_ulong_p.c b/rts/gmp/mpz/fits_ulong_p.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fits_ulong_p.c
rename to rts/gmp/mpz/fits_ulong_p.c
diff --git a/ghc/rts/gmp/mpz/fits_ushort_p.c b/rts/gmp/mpz/fits_ushort_p.c
similarity index 100%
rename from ghc/rts/gmp/mpz/fits_ushort_p.c
rename to rts/gmp/mpz/fits_ushort_p.c
diff --git a/ghc/rts/gmp/mpz/gcd.c b/rts/gmp/mpz/gcd.c
similarity index 100%
rename from ghc/rts/gmp/mpz/gcd.c
rename to rts/gmp/mpz/gcd.c
diff --git a/ghc/rts/gmp/mpz/gcd_ui.c b/rts/gmp/mpz/gcd_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/gcd_ui.c
rename to rts/gmp/mpz/gcd_ui.c
diff --git a/ghc/rts/gmp/mpz/gcdext.c b/rts/gmp/mpz/gcdext.c
similarity index 100%
rename from ghc/rts/gmp/mpz/gcdext.c
rename to rts/gmp/mpz/gcdext.c
diff --git a/ghc/rts/gmp/mpz/get_d.c b/rts/gmp/mpz/get_d.c
similarity index 100%
rename from ghc/rts/gmp/mpz/get_d.c
rename to rts/gmp/mpz/get_d.c
diff --git a/ghc/rts/gmp/mpz/get_si.c b/rts/gmp/mpz/get_si.c
similarity index 100%
rename from ghc/rts/gmp/mpz/get_si.c
rename to rts/gmp/mpz/get_si.c
diff --git a/ghc/rts/gmp/mpz/get_str.c b/rts/gmp/mpz/get_str.c
similarity index 100%
rename from ghc/rts/gmp/mpz/get_str.c
rename to rts/gmp/mpz/get_str.c
diff --git a/ghc/rts/gmp/mpz/get_ui.c b/rts/gmp/mpz/get_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/get_ui.c
rename to rts/gmp/mpz/get_ui.c
diff --git a/ghc/rts/gmp/mpz/getlimbn.c b/rts/gmp/mpz/getlimbn.c
similarity index 100%
rename from ghc/rts/gmp/mpz/getlimbn.c
rename to rts/gmp/mpz/getlimbn.c
diff --git a/ghc/rts/gmp/mpz/hamdist.c b/rts/gmp/mpz/hamdist.c
similarity index 100%
rename from ghc/rts/gmp/mpz/hamdist.c
rename to rts/gmp/mpz/hamdist.c
diff --git a/ghc/rts/gmp/mpz/init.c b/rts/gmp/mpz/init.c
similarity index 100%
rename from ghc/rts/gmp/mpz/init.c
rename to rts/gmp/mpz/init.c
diff --git a/ghc/rts/gmp/mpz/inp_raw.c b/rts/gmp/mpz/inp_raw.c
similarity index 100%
rename from ghc/rts/gmp/mpz/inp_raw.c
rename to rts/gmp/mpz/inp_raw.c
diff --git a/ghc/rts/gmp/mpz/inp_str.c b/rts/gmp/mpz/inp_str.c
similarity index 100%
rename from ghc/rts/gmp/mpz/inp_str.c
rename to rts/gmp/mpz/inp_str.c
diff --git a/ghc/rts/gmp/mpz/invert.c b/rts/gmp/mpz/invert.c
similarity index 100%
rename from ghc/rts/gmp/mpz/invert.c
rename to rts/gmp/mpz/invert.c
diff --git a/ghc/rts/gmp/mpz/ior.c b/rts/gmp/mpz/ior.c
similarity index 100%
rename from ghc/rts/gmp/mpz/ior.c
rename to rts/gmp/mpz/ior.c
diff --git a/ghc/rts/gmp/mpz/iset.c b/rts/gmp/mpz/iset.c
similarity index 100%
rename from ghc/rts/gmp/mpz/iset.c
rename to rts/gmp/mpz/iset.c
diff --git a/ghc/rts/gmp/mpz/iset_d.c b/rts/gmp/mpz/iset_d.c
similarity index 100%
rename from ghc/rts/gmp/mpz/iset_d.c
rename to rts/gmp/mpz/iset_d.c
diff --git a/ghc/rts/gmp/mpz/iset_si.c b/rts/gmp/mpz/iset_si.c
similarity index 100%
rename from ghc/rts/gmp/mpz/iset_si.c
rename to rts/gmp/mpz/iset_si.c
diff --git a/ghc/rts/gmp/mpz/iset_str.c b/rts/gmp/mpz/iset_str.c
similarity index 100%
rename from ghc/rts/gmp/mpz/iset_str.c
rename to rts/gmp/mpz/iset_str.c
diff --git a/ghc/rts/gmp/mpz/iset_ui.c b/rts/gmp/mpz/iset_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/iset_ui.c
rename to rts/gmp/mpz/iset_ui.c
diff --git a/ghc/rts/gmp/mpz/jacobi.c b/rts/gmp/mpz/jacobi.c
similarity index 100%
rename from ghc/rts/gmp/mpz/jacobi.c
rename to rts/gmp/mpz/jacobi.c
diff --git a/ghc/rts/gmp/mpz/kronsz.c b/rts/gmp/mpz/kronsz.c
similarity index 100%
rename from ghc/rts/gmp/mpz/kronsz.c
rename to rts/gmp/mpz/kronsz.c
diff --git a/ghc/rts/gmp/mpz/kronuz.c b/rts/gmp/mpz/kronuz.c
similarity index 100%
rename from ghc/rts/gmp/mpz/kronuz.c
rename to rts/gmp/mpz/kronuz.c
diff --git a/ghc/rts/gmp/mpz/kronzs.c b/rts/gmp/mpz/kronzs.c
similarity index 100%
rename from ghc/rts/gmp/mpz/kronzs.c
rename to rts/gmp/mpz/kronzs.c
diff --git a/ghc/rts/gmp/mpz/kronzu.c b/rts/gmp/mpz/kronzu.c
similarity index 100%
rename from ghc/rts/gmp/mpz/kronzu.c
rename to rts/gmp/mpz/kronzu.c
diff --git a/ghc/rts/gmp/mpz/lcm.c b/rts/gmp/mpz/lcm.c
similarity index 100%
rename from ghc/rts/gmp/mpz/lcm.c
rename to rts/gmp/mpz/lcm.c
diff --git a/ghc/rts/gmp/mpz/legendre.c b/rts/gmp/mpz/legendre.c
similarity index 100%
rename from ghc/rts/gmp/mpz/legendre.c
rename to rts/gmp/mpz/legendre.c
diff --git a/ghc/rts/gmp/mpz/mod.c b/rts/gmp/mpz/mod.c
similarity index 100%
rename from ghc/rts/gmp/mpz/mod.c
rename to rts/gmp/mpz/mod.c
diff --git a/ghc/rts/gmp/mpz/mul.c b/rts/gmp/mpz/mul.c
similarity index 100%
rename from ghc/rts/gmp/mpz/mul.c
rename to rts/gmp/mpz/mul.c
diff --git a/ghc/rts/gmp/mpz/mul_2exp.c b/rts/gmp/mpz/mul_2exp.c
similarity index 100%
rename from ghc/rts/gmp/mpz/mul_2exp.c
rename to rts/gmp/mpz/mul_2exp.c
diff --git a/ghc/rts/gmp/mpz/mul_siui.c b/rts/gmp/mpz/mul_siui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/mul_siui.c
rename to rts/gmp/mpz/mul_siui.c
diff --git a/ghc/rts/gmp/mpz/neg.c b/rts/gmp/mpz/neg.c
similarity index 100%
rename from ghc/rts/gmp/mpz/neg.c
rename to rts/gmp/mpz/neg.c
diff --git a/ghc/rts/gmp/mpz/nextprime.c b/rts/gmp/mpz/nextprime.c
similarity index 100%
rename from ghc/rts/gmp/mpz/nextprime.c
rename to rts/gmp/mpz/nextprime.c
diff --git a/ghc/rts/gmp/mpz/out_raw.c b/rts/gmp/mpz/out_raw.c
similarity index 100%
rename from ghc/rts/gmp/mpz/out_raw.c
rename to rts/gmp/mpz/out_raw.c
diff --git a/ghc/rts/gmp/mpz/out_str.c b/rts/gmp/mpz/out_str.c
similarity index 100%
rename from ghc/rts/gmp/mpz/out_str.c
rename to rts/gmp/mpz/out_str.c
diff --git a/ghc/rts/gmp/mpz/perfpow.c b/rts/gmp/mpz/perfpow.c
similarity index 100%
rename from ghc/rts/gmp/mpz/perfpow.c
rename to rts/gmp/mpz/perfpow.c
diff --git a/ghc/rts/gmp/mpz/perfsqr.c b/rts/gmp/mpz/perfsqr.c
similarity index 100%
rename from ghc/rts/gmp/mpz/perfsqr.c
rename to rts/gmp/mpz/perfsqr.c
diff --git a/ghc/rts/gmp/mpz/popcount.c b/rts/gmp/mpz/popcount.c
similarity index 100%
rename from ghc/rts/gmp/mpz/popcount.c
rename to rts/gmp/mpz/popcount.c
diff --git a/ghc/rts/gmp/mpz/pow_ui.c b/rts/gmp/mpz/pow_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/pow_ui.c
rename to rts/gmp/mpz/pow_ui.c
diff --git a/ghc/rts/gmp/mpz/powm.c b/rts/gmp/mpz/powm.c
similarity index 100%
rename from ghc/rts/gmp/mpz/powm.c
rename to rts/gmp/mpz/powm.c
diff --git a/ghc/rts/gmp/mpz/powm_ui.c b/rts/gmp/mpz/powm_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/powm_ui.c
rename to rts/gmp/mpz/powm_ui.c
diff --git a/ghc/rts/gmp/mpz/pprime_p.c b/rts/gmp/mpz/pprime_p.c
similarity index 100%
rename from ghc/rts/gmp/mpz/pprime_p.c
rename to rts/gmp/mpz/pprime_p.c
diff --git a/ghc/rts/gmp/mpz/random.c b/rts/gmp/mpz/random.c
similarity index 100%
rename from ghc/rts/gmp/mpz/random.c
rename to rts/gmp/mpz/random.c
diff --git a/ghc/rts/gmp/mpz/random2.c b/rts/gmp/mpz/random2.c
similarity index 100%
rename from ghc/rts/gmp/mpz/random2.c
rename to rts/gmp/mpz/random2.c
diff --git a/ghc/rts/gmp/mpz/realloc.c b/rts/gmp/mpz/realloc.c
similarity index 100%
rename from ghc/rts/gmp/mpz/realloc.c
rename to rts/gmp/mpz/realloc.c
diff --git a/ghc/rts/gmp/mpz/remove.c b/rts/gmp/mpz/remove.c
similarity index 100%
rename from ghc/rts/gmp/mpz/remove.c
rename to rts/gmp/mpz/remove.c
diff --git a/ghc/rts/gmp/mpz/root.c b/rts/gmp/mpz/root.c
similarity index 100%
rename from ghc/rts/gmp/mpz/root.c
rename to rts/gmp/mpz/root.c
diff --git a/ghc/rts/gmp/mpz/rrandomb.c b/rts/gmp/mpz/rrandomb.c
similarity index 100%
rename from ghc/rts/gmp/mpz/rrandomb.c
rename to rts/gmp/mpz/rrandomb.c
diff --git a/ghc/rts/gmp/mpz/scan0.c b/rts/gmp/mpz/scan0.c
similarity index 100%
rename from ghc/rts/gmp/mpz/scan0.c
rename to rts/gmp/mpz/scan0.c
diff --git a/ghc/rts/gmp/mpz/scan1.c b/rts/gmp/mpz/scan1.c
similarity index 100%
rename from ghc/rts/gmp/mpz/scan1.c
rename to rts/gmp/mpz/scan1.c
diff --git a/ghc/rts/gmp/mpz/set.c b/rts/gmp/mpz/set.c
similarity index 100%
rename from ghc/rts/gmp/mpz/set.c
rename to rts/gmp/mpz/set.c
diff --git a/ghc/rts/gmp/mpz/set_d.c b/rts/gmp/mpz/set_d.c
similarity index 100%
rename from ghc/rts/gmp/mpz/set_d.c
rename to rts/gmp/mpz/set_d.c
diff --git a/ghc/rts/gmp/mpz/set_f.c b/rts/gmp/mpz/set_f.c
similarity index 100%
rename from ghc/rts/gmp/mpz/set_f.c
rename to rts/gmp/mpz/set_f.c
diff --git a/ghc/rts/gmp/mpz/set_q.c b/rts/gmp/mpz/set_q.c
similarity index 100%
rename from ghc/rts/gmp/mpz/set_q.c
rename to rts/gmp/mpz/set_q.c
diff --git a/ghc/rts/gmp/mpz/set_si.c b/rts/gmp/mpz/set_si.c
similarity index 100%
rename from ghc/rts/gmp/mpz/set_si.c
rename to rts/gmp/mpz/set_si.c
diff --git a/ghc/rts/gmp/mpz/set_str.c b/rts/gmp/mpz/set_str.c
similarity index 100%
rename from ghc/rts/gmp/mpz/set_str.c
rename to rts/gmp/mpz/set_str.c
diff --git a/ghc/rts/gmp/mpz/set_ui.c b/rts/gmp/mpz/set_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/set_ui.c
rename to rts/gmp/mpz/set_ui.c
diff --git a/ghc/rts/gmp/mpz/setbit.c b/rts/gmp/mpz/setbit.c
similarity index 100%
rename from ghc/rts/gmp/mpz/setbit.c
rename to rts/gmp/mpz/setbit.c
diff --git a/ghc/rts/gmp/mpz/size.c b/rts/gmp/mpz/size.c
similarity index 100%
rename from ghc/rts/gmp/mpz/size.c
rename to rts/gmp/mpz/size.c
diff --git a/ghc/rts/gmp/mpz/sizeinbase.c b/rts/gmp/mpz/sizeinbase.c
similarity index 100%
rename from ghc/rts/gmp/mpz/sizeinbase.c
rename to rts/gmp/mpz/sizeinbase.c
diff --git a/ghc/rts/gmp/mpz/sqrt.c b/rts/gmp/mpz/sqrt.c
similarity index 100%
rename from ghc/rts/gmp/mpz/sqrt.c
rename to rts/gmp/mpz/sqrt.c
diff --git a/ghc/rts/gmp/mpz/sqrtrem.c b/rts/gmp/mpz/sqrtrem.c
similarity index 100%
rename from ghc/rts/gmp/mpz/sqrtrem.c
rename to rts/gmp/mpz/sqrtrem.c
diff --git a/ghc/rts/gmp/mpz/sub.c b/rts/gmp/mpz/sub.c
similarity index 100%
rename from ghc/rts/gmp/mpz/sub.c
rename to rts/gmp/mpz/sub.c
diff --git a/ghc/rts/gmp/mpz/sub_ui.c b/rts/gmp/mpz/sub_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/sub_ui.c
rename to rts/gmp/mpz/sub_ui.c
diff --git a/ghc/rts/gmp/mpz/swap.c b/rts/gmp/mpz/swap.c
similarity index 100%
rename from ghc/rts/gmp/mpz/swap.c
rename to rts/gmp/mpz/swap.c
diff --git a/ghc/rts/gmp/mpz/tdiv_q.c b/rts/gmp/mpz/tdiv_q.c
similarity index 100%
rename from ghc/rts/gmp/mpz/tdiv_q.c
rename to rts/gmp/mpz/tdiv_q.c
diff --git a/ghc/rts/gmp/mpz/tdiv_q_2exp.c b/rts/gmp/mpz/tdiv_q_2exp.c
similarity index 100%
rename from ghc/rts/gmp/mpz/tdiv_q_2exp.c
rename to rts/gmp/mpz/tdiv_q_2exp.c
diff --git a/ghc/rts/gmp/mpz/tdiv_q_ui.c b/rts/gmp/mpz/tdiv_q_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/tdiv_q_ui.c
rename to rts/gmp/mpz/tdiv_q_ui.c
diff --git a/ghc/rts/gmp/mpz/tdiv_qr.c b/rts/gmp/mpz/tdiv_qr.c
similarity index 100%
rename from ghc/rts/gmp/mpz/tdiv_qr.c
rename to rts/gmp/mpz/tdiv_qr.c
diff --git a/ghc/rts/gmp/mpz/tdiv_qr_ui.c b/rts/gmp/mpz/tdiv_qr_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/tdiv_qr_ui.c
rename to rts/gmp/mpz/tdiv_qr_ui.c
diff --git a/ghc/rts/gmp/mpz/tdiv_r.c b/rts/gmp/mpz/tdiv_r.c
similarity index 100%
rename from ghc/rts/gmp/mpz/tdiv_r.c
rename to rts/gmp/mpz/tdiv_r.c
diff --git a/ghc/rts/gmp/mpz/tdiv_r_2exp.c b/rts/gmp/mpz/tdiv_r_2exp.c
similarity index 100%
rename from ghc/rts/gmp/mpz/tdiv_r_2exp.c
rename to rts/gmp/mpz/tdiv_r_2exp.c
diff --git a/ghc/rts/gmp/mpz/tdiv_r_ui.c b/rts/gmp/mpz/tdiv_r_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/tdiv_r_ui.c
rename to rts/gmp/mpz/tdiv_r_ui.c
diff --git a/ghc/rts/gmp/mpz/tdiv_ui.c b/rts/gmp/mpz/tdiv_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/tdiv_ui.c
rename to rts/gmp/mpz/tdiv_ui.c
diff --git a/ghc/rts/gmp/mpz/tstbit.c b/rts/gmp/mpz/tstbit.c
similarity index 100%
rename from ghc/rts/gmp/mpz/tstbit.c
rename to rts/gmp/mpz/tstbit.c
diff --git a/ghc/rts/gmp/mpz/ui_pow_ui.c b/rts/gmp/mpz/ui_pow_ui.c
similarity index 100%
rename from ghc/rts/gmp/mpz/ui_pow_ui.c
rename to rts/gmp/mpz/ui_pow_ui.c
diff --git a/ghc/rts/gmp/mpz/urandomb.c b/rts/gmp/mpz/urandomb.c
similarity index 100%
rename from ghc/rts/gmp/mpz/urandomb.c
rename to rts/gmp/mpz/urandomb.c
diff --git a/ghc/rts/gmp/mpz/urandomm.c b/rts/gmp/mpz/urandomm.c
similarity index 100%
rename from ghc/rts/gmp/mpz/urandomm.c
rename to rts/gmp/mpz/urandomm.c
diff --git a/ghc/rts/gmp/mpz/xor.c b/rts/gmp/mpz/xor.c
similarity index 100%
rename from ghc/rts/gmp/mpz/xor.c
rename to rts/gmp/mpz/xor.c
diff --git a/ghc/rts/gmp/rand.c b/rts/gmp/rand.c
similarity index 100%
rename from ghc/rts/gmp/rand.c
rename to rts/gmp/rand.c
diff --git a/ghc/rts/gmp/randclr.c b/rts/gmp/randclr.c
similarity index 100%
rename from ghc/rts/gmp/randclr.c
rename to rts/gmp/randclr.c
diff --git a/ghc/rts/gmp/randlc.c b/rts/gmp/randlc.c
similarity index 100%
rename from ghc/rts/gmp/randlc.c
rename to rts/gmp/randlc.c
diff --git a/ghc/rts/gmp/randlc2x.c b/rts/gmp/randlc2x.c
similarity index 100%
rename from ghc/rts/gmp/randlc2x.c
rename to rts/gmp/randlc2x.c
diff --git a/ghc/rts/gmp/randraw.c b/rts/gmp/randraw.c
similarity index 100%
rename from ghc/rts/gmp/randraw.c
rename to rts/gmp/randraw.c
diff --git a/ghc/rts/gmp/randsd.c b/rts/gmp/randsd.c
similarity index 100%
rename from ghc/rts/gmp/randsd.c
rename to rts/gmp/randsd.c
diff --git a/ghc/rts/gmp/randsdui.c b/rts/gmp/randsdui.c
similarity index 100%
rename from ghc/rts/gmp/randsdui.c
rename to rts/gmp/randsdui.c
diff --git a/ghc/rts/gmp/stack-alloc.c b/rts/gmp/stack-alloc.c
similarity index 100%
rename from ghc/rts/gmp/stack-alloc.c
rename to rts/gmp/stack-alloc.c
diff --git a/ghc/rts/gmp/stack-alloc.h b/rts/gmp/stack-alloc.h
similarity index 100%
rename from ghc/rts/gmp/stack-alloc.h
rename to rts/gmp/stack-alloc.h
diff --git a/ghc/rts/gmp/stamp-h.in b/rts/gmp/stamp-h.in
similarity index 100%
rename from ghc/rts/gmp/stamp-h.in
rename to rts/gmp/stamp-h.in
diff --git a/ghc/rts/gmp/stamp-vti b/rts/gmp/stamp-vti
similarity index 100%
rename from ghc/rts/gmp/stamp-vti
rename to rts/gmp/stamp-vti
diff --git a/ghc/rts/gmp/urandom.h b/rts/gmp/urandom.h
similarity index 100%
rename from ghc/rts/gmp/urandom.h
rename to rts/gmp/urandom.h
diff --git a/ghc/rts/gmp/version.c b/rts/gmp/version.c
similarity index 100%
rename from ghc/rts/gmp/version.c
rename to rts/gmp/version.c
diff --git a/ghc/rts/gmp/version.texi b/rts/gmp/version.texi
similarity index 100%
rename from ghc/rts/gmp/version.texi
rename to rts/gmp/version.texi
diff --git a/ghc/rts/hooks/FlagDefaults.c b/rts/hooks/FlagDefaults.c
similarity index 100%
rename from ghc/rts/hooks/FlagDefaults.c
rename to rts/hooks/FlagDefaults.c
diff --git a/ghc/rts/hooks/InitEachPE.c b/rts/hooks/InitEachPE.c
similarity index 100%
rename from ghc/rts/hooks/InitEachPE.c
rename to rts/hooks/InitEachPE.c
diff --git a/ghc/rts/hooks/MallocFail.c b/rts/hooks/MallocFail.c
similarity index 100%
rename from ghc/rts/hooks/MallocFail.c
rename to rts/hooks/MallocFail.c
diff --git a/ghc/rts/hooks/OnExit.c b/rts/hooks/OnExit.c
similarity index 100%
rename from ghc/rts/hooks/OnExit.c
rename to rts/hooks/OnExit.c
diff --git a/ghc/rts/hooks/OutOfHeap.c b/rts/hooks/OutOfHeap.c
similarity index 100%
rename from ghc/rts/hooks/OutOfHeap.c
rename to rts/hooks/OutOfHeap.c
diff --git a/ghc/rts/hooks/RtsOpts.c b/rts/hooks/RtsOpts.c
similarity index 100%
rename from ghc/rts/hooks/RtsOpts.c
rename to rts/hooks/RtsOpts.c
diff --git a/ghc/rts/hooks/ShutdownEachPEHook.c b/rts/hooks/ShutdownEachPEHook.c
similarity index 100%
rename from ghc/rts/hooks/ShutdownEachPEHook.c
rename to rts/hooks/ShutdownEachPEHook.c
diff --git a/ghc/rts/hooks/StackOverflow.c b/rts/hooks/StackOverflow.c
similarity index 100%
rename from ghc/rts/hooks/StackOverflow.c
rename to rts/hooks/StackOverflow.c
diff --git a/ghc/rts/package.conf.in b/rts/package.conf.in
similarity index 97%
rename from ghc/rts/package.conf.in
rename to rts/package.conf.in
index 2550415e5abacbe35335d7537e60337eeb317cc9..935b71d6a6d362f21bd761833515a438d42bbb62 100644
--- a/ghc/rts/package.conf.in
+++ b/rts/package.conf.in
@@ -21,9 +21,9 @@ library-dirs:		LIB_DIR
 			/* force the dist-provided gcc-lib/ into scope. */
 # endif
 #else /* !INSTALLING */
-library-dirs:		FPTOOLS_TOP_ABS"/ghc/rts"
+library-dirs:		FPTOOLS_TOP_ABS"/rts"
 # if !defined(HAVE_LIBGMP) && !defined(HAVE_FRAMEWORK_GMP)
-			, FPTOOLS_TOP_ABS"/ghc/rts/gmp"
+			, FPTOOLS_TOP_ABS"/rts/gmp"
 # endif
 #endif
 
@@ -60,7 +60,7 @@ include-dirs:		INCLUDE_DIR
 			, INCLUDE_DIR"/mingw"
 # endif
 #else /* !INSTALLING */
-include-dirs:		FPTOOLS_TOP_ABS"/ghc/includes"
+include-dirs:		FPTOOLS_TOP_ABS"/includes"
 #endif
 
 includes:		Stg.h
diff --git a/ghc/rts/parallel/0Hash.c b/rts/parallel/0Hash.c
similarity index 100%
rename from ghc/rts/parallel/0Hash.c
rename to rts/parallel/0Hash.c
diff --git a/ghc/rts/parallel/0Parallel.h b/rts/parallel/0Parallel.h
similarity index 100%
rename from ghc/rts/parallel/0Parallel.h
rename to rts/parallel/0Parallel.h
diff --git a/ghc/rts/parallel/0Unpack.c b/rts/parallel/0Unpack.c
similarity index 100%
rename from ghc/rts/parallel/0Unpack.c
rename to rts/parallel/0Unpack.c
diff --git a/ghc/rts/parallel/Dist.c b/rts/parallel/Dist.c
similarity index 100%
rename from ghc/rts/parallel/Dist.c
rename to rts/parallel/Dist.c
diff --git a/ghc/rts/parallel/Dist.h b/rts/parallel/Dist.h
similarity index 100%
rename from ghc/rts/parallel/Dist.h
rename to rts/parallel/Dist.h
diff --git a/ghc/rts/parallel/FetchMe.h b/rts/parallel/FetchMe.h
similarity index 100%
rename from ghc/rts/parallel/FetchMe.h
rename to rts/parallel/FetchMe.h
diff --git a/ghc/rts/parallel/FetchMe.hc b/rts/parallel/FetchMe.hc
similarity index 100%
rename from ghc/rts/parallel/FetchMe.hc
rename to rts/parallel/FetchMe.hc
diff --git a/ghc/rts/parallel/Global.c b/rts/parallel/Global.c
similarity index 100%
rename from ghc/rts/parallel/Global.c
rename to rts/parallel/Global.c
diff --git a/ghc/rts/parallel/GranSim.c b/rts/parallel/GranSim.c
similarity index 100%
rename from ghc/rts/parallel/GranSim.c
rename to rts/parallel/GranSim.c
diff --git a/ghc/rts/parallel/GranSimRts.h b/rts/parallel/GranSimRts.h
similarity index 100%
rename from ghc/rts/parallel/GranSimRts.h
rename to rts/parallel/GranSimRts.h
diff --git a/ghc/rts/parallel/HLC.h b/rts/parallel/HLC.h
similarity index 100%
rename from ghc/rts/parallel/HLC.h
rename to rts/parallel/HLC.h
diff --git a/ghc/rts/parallel/HLComms.c b/rts/parallel/HLComms.c
similarity index 100%
rename from ghc/rts/parallel/HLComms.c
rename to rts/parallel/HLComms.c
diff --git a/ghc/rts/parallel/LLC.h b/rts/parallel/LLC.h
similarity index 100%
rename from ghc/rts/parallel/LLC.h
rename to rts/parallel/LLC.h
diff --git a/ghc/rts/parallel/LLComms.c b/rts/parallel/LLComms.c
similarity index 100%
rename from ghc/rts/parallel/LLComms.c
rename to rts/parallel/LLComms.c
diff --git a/ghc/rts/parallel/PEOpCodes.h b/rts/parallel/PEOpCodes.h
similarity index 100%
rename from ghc/rts/parallel/PEOpCodes.h
rename to rts/parallel/PEOpCodes.h
diff --git a/ghc/rts/parallel/Pack.c b/rts/parallel/Pack.c
similarity index 100%
rename from ghc/rts/parallel/Pack.c
rename to rts/parallel/Pack.c
diff --git a/ghc/rts/parallel/ParInit.c b/rts/parallel/ParInit.c
similarity index 100%
rename from ghc/rts/parallel/ParInit.c
rename to rts/parallel/ParInit.c
diff --git a/ghc/rts/parallel/ParInit.h b/rts/parallel/ParInit.h
similarity index 100%
rename from ghc/rts/parallel/ParInit.h
rename to rts/parallel/ParInit.h
diff --git a/ghc/rts/parallel/ParTicky.c b/rts/parallel/ParTicky.c
similarity index 100%
rename from ghc/rts/parallel/ParTicky.c
rename to rts/parallel/ParTicky.c
diff --git a/ghc/rts/parallel/ParTicky.h b/rts/parallel/ParTicky.h
similarity index 100%
rename from ghc/rts/parallel/ParTicky.h
rename to rts/parallel/ParTicky.h
diff --git a/ghc/rts/parallel/ParTypes.h b/rts/parallel/ParTypes.h
similarity index 100%
rename from ghc/rts/parallel/ParTypes.h
rename to rts/parallel/ParTypes.h
diff --git a/ghc/rts/parallel/Parallel.c b/rts/parallel/Parallel.c
similarity index 100%
rename from ghc/rts/parallel/Parallel.c
rename to rts/parallel/Parallel.c
diff --git a/ghc/rts/parallel/ParallelDebug.c b/rts/parallel/ParallelDebug.c
similarity index 100%
rename from ghc/rts/parallel/ParallelDebug.c
rename to rts/parallel/ParallelDebug.c
diff --git a/ghc/rts/parallel/ParallelDebug.h b/rts/parallel/ParallelDebug.h
similarity index 100%
rename from ghc/rts/parallel/ParallelDebug.h
rename to rts/parallel/ParallelDebug.h
diff --git a/ghc/rts/parallel/ParallelRts.h b/rts/parallel/ParallelRts.h
similarity index 100%
rename from ghc/rts/parallel/ParallelRts.h
rename to rts/parallel/ParallelRts.h
diff --git a/ghc/rts/parallel/RBH.c b/rts/parallel/RBH.c
similarity index 100%
rename from ghc/rts/parallel/RBH.c
rename to rts/parallel/RBH.c
diff --git a/ghc/rts/parallel/SysMan.c b/rts/parallel/SysMan.c
similarity index 100%
rename from ghc/rts/parallel/SysMan.c
rename to rts/parallel/SysMan.c
diff --git a/ghc/rts/posix/GetTime.c b/rts/posix/GetTime.c
similarity index 100%
rename from ghc/rts/posix/GetTime.c
rename to rts/posix/GetTime.c
diff --git a/ghc/rts/posix/Itimer.c b/rts/posix/Itimer.c
similarity index 100%
rename from ghc/rts/posix/Itimer.c
rename to rts/posix/Itimer.c
diff --git a/ghc/rts/posix/Itimer.h b/rts/posix/Itimer.h
similarity index 100%
rename from ghc/rts/posix/Itimer.h
rename to rts/posix/Itimer.h
diff --git a/ghc/rts/posix/OSThreads.c b/rts/posix/OSThreads.c
similarity index 100%
rename from ghc/rts/posix/OSThreads.c
rename to rts/posix/OSThreads.c
diff --git a/ghc/rts/posix/Select.c b/rts/posix/Select.c
similarity index 100%
rename from ghc/rts/posix/Select.c
rename to rts/posix/Select.c
diff --git a/ghc/rts/posix/Select.h b/rts/posix/Select.h
similarity index 100%
rename from ghc/rts/posix/Select.h
rename to rts/posix/Select.h
diff --git a/ghc/rts/posix/Signals.c b/rts/posix/Signals.c
similarity index 100%
rename from ghc/rts/posix/Signals.c
rename to rts/posix/Signals.c
diff --git a/ghc/rts/posix/Signals.h b/rts/posix/Signals.h
similarity index 100%
rename from ghc/rts/posix/Signals.h
rename to rts/posix/Signals.h
diff --git a/ghc/rts/win32/AsyncIO.c b/rts/win32/AsyncIO.c
similarity index 100%
rename from ghc/rts/win32/AsyncIO.c
rename to rts/win32/AsyncIO.c
diff --git a/ghc/rts/win32/AsyncIO.h b/rts/win32/AsyncIO.h
similarity index 100%
rename from ghc/rts/win32/AsyncIO.h
rename to rts/win32/AsyncIO.h
diff --git a/ghc/rts/win32/AwaitEvent.c b/rts/win32/AwaitEvent.c
similarity index 100%
rename from ghc/rts/win32/AwaitEvent.c
rename to rts/win32/AwaitEvent.c
diff --git a/ghc/rts/win32/ConsoleHandler.c b/rts/win32/ConsoleHandler.c
similarity index 100%
rename from ghc/rts/win32/ConsoleHandler.c
rename to rts/win32/ConsoleHandler.c
diff --git a/ghc/rts/win32/ConsoleHandler.h b/rts/win32/ConsoleHandler.h
similarity index 100%
rename from ghc/rts/win32/ConsoleHandler.h
rename to rts/win32/ConsoleHandler.h
diff --git a/ghc/rts/win32/GetTime.c b/rts/win32/GetTime.c
similarity index 100%
rename from ghc/rts/win32/GetTime.c
rename to rts/win32/GetTime.c
diff --git a/ghc/rts/win32/IOManager.c b/rts/win32/IOManager.c
similarity index 100%
rename from ghc/rts/win32/IOManager.c
rename to rts/win32/IOManager.c
diff --git a/ghc/rts/win32/IOManager.h b/rts/win32/IOManager.h
similarity index 100%
rename from ghc/rts/win32/IOManager.h
rename to rts/win32/IOManager.h
diff --git a/ghc/rts/win32/OSThreads.c b/rts/win32/OSThreads.c
similarity index 100%
rename from ghc/rts/win32/OSThreads.c
rename to rts/win32/OSThreads.c
diff --git a/ghc/rts/win32/Ticker.c b/rts/win32/Ticker.c
similarity index 100%
rename from ghc/rts/win32/Ticker.c
rename to rts/win32/Ticker.c
diff --git a/ghc/rts/win32/WorkQueue.c b/rts/win32/WorkQueue.c
similarity index 100%
rename from ghc/rts/win32/WorkQueue.c
rename to rts/win32/WorkQueue.c
diff --git a/ghc/rts/win32/WorkQueue.h b/rts/win32/WorkQueue.h
similarity index 100%
rename from ghc/rts/win32/WorkQueue.h
rename to rts/win32/WorkQueue.h
diff --git a/ghc/utils/Makefile b/utils/Makefile
similarity index 55%
rename from ghc/utils/Makefile
rename to utils/Makefile
index 7348160a74afb09a8c940fcdecb5feece9c681e1..9416d7728bdb54b78d66eda6c6b71dacaf8b322f 100644
--- a/ghc/utils/Makefile
+++ b/utils/Makefile
@@ -3,12 +3,13 @@ include $(TOP)/mk/boilerplate.mk
 
 ifneq "$(BIN_DIST_NAME)" ""
 # We're doing a binary-dist, descend into a subset of the dirs.
-SUBDIRS = hp2ps stat2resid unlit
+SUBDIRS = hp2ps unlit
 else
 ifeq "$(BootingFromHc)" "YES"
-SUBDIRS = genapply genprimopcode ghc-pkg unlit
+SUBDIRS = mkdependC mkdirhier runstdtest genapply genprimopcode ghc-pkg unlit
 else
-SUBDIRS = hasktags ghc-pkg hp2ps hsc2hs parallel stat2resid prof unlit genprimopcode genapply runghc
+SUBDIRS = mkdependC mkdirhier runstdtest ghc-pkg hasktags hp2ps hsc2hs lndir \
+	  parallel prof unlit genprimopcode genapply runghc
 endif
 endif
 
@@ -16,8 +17,19 @@ ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
 SUBDIRS += touchy
 endif
 
-# hstags died when the new parser was introduced.
-#	  hstags	\
+# Utils that we don't build by default:
+#	nofib-analyse
+
+# Utils that are old and/or bitrotted:
+#	stat2resid
+#	debugNCG
+#	ext-core
+#	genargs
+#	heap-view
+#	pvm
+#	verbatim
+#	ltx
+#	hstags
 
 # "heap-view" is not in the list because (a) it requires
 #  a Haskell compiler (which you may not have yet), and (b) you are
diff --git a/ghc/utils/debugNCG/Diff_Gcc_Nat.hs b/utils/debugNCG/Diff_Gcc_Nat.hs
similarity index 100%
rename from ghc/utils/debugNCG/Diff_Gcc_Nat.hs
rename to utils/debugNCG/Diff_Gcc_Nat.hs
diff --git a/ghc/utils/debugNCG/Makefile b/utils/debugNCG/Makefile
similarity index 100%
rename from ghc/utils/debugNCG/Makefile
rename to utils/debugNCG/Makefile
diff --git a/ghc/utils/debugNCG/README b/utils/debugNCG/README
similarity index 100%
rename from ghc/utils/debugNCG/README
rename to utils/debugNCG/README
diff --git a/ghc/utils/ext-core/Check.hs b/utils/ext-core/Check.hs
similarity index 100%
rename from ghc/utils/ext-core/Check.hs
rename to utils/ext-core/Check.hs
diff --git a/ghc/utils/ext-core/Core.hs b/utils/ext-core/Core.hs
similarity index 100%
rename from ghc/utils/ext-core/Core.hs
rename to utils/ext-core/Core.hs
diff --git a/ghc/utils/ext-core/Driver.hs b/utils/ext-core/Driver.hs
similarity index 100%
rename from ghc/utils/ext-core/Driver.hs
rename to utils/ext-core/Driver.hs
diff --git a/ghc/utils/ext-core/Env.hs b/utils/ext-core/Env.hs
similarity index 100%
rename from ghc/utils/ext-core/Env.hs
rename to utils/ext-core/Env.hs
diff --git a/ghc/utils/ext-core/Interp.hs b/utils/ext-core/Interp.hs
similarity index 100%
rename from ghc/utils/ext-core/Interp.hs
rename to utils/ext-core/Interp.hs
diff --git a/ghc/utils/ext-core/Lex.hs b/utils/ext-core/Lex.hs
similarity index 100%
rename from ghc/utils/ext-core/Lex.hs
rename to utils/ext-core/Lex.hs
diff --git a/ghc/utils/ext-core/ParseGlue.hs b/utils/ext-core/ParseGlue.hs
similarity index 100%
rename from ghc/utils/ext-core/ParseGlue.hs
rename to utils/ext-core/ParseGlue.hs
diff --git a/ghc/utils/ext-core/Parser.y b/utils/ext-core/Parser.y
similarity index 100%
rename from ghc/utils/ext-core/Parser.y
rename to utils/ext-core/Parser.y
diff --git a/ghc/utils/ext-core/Prep.hs b/utils/ext-core/Prep.hs
similarity index 100%
rename from ghc/utils/ext-core/Prep.hs
rename to utils/ext-core/Prep.hs
diff --git a/ghc/utils/ext-core/Prims.hs b/utils/ext-core/Prims.hs
similarity index 100%
rename from ghc/utils/ext-core/Prims.hs
rename to utils/ext-core/Prims.hs
diff --git a/ghc/utils/ext-core/Printer.hs b/utils/ext-core/Printer.hs
similarity index 100%
rename from ghc/utils/ext-core/Printer.hs
rename to utils/ext-core/Printer.hs
diff --git a/ghc/utils/ext-core/README b/utils/ext-core/README
similarity index 100%
rename from ghc/utils/ext-core/README
rename to utils/ext-core/README
diff --git a/ghc/utils/genapply/GenApply.hs b/utils/genapply/GenApply.hs
similarity index 100%
rename from ghc/utils/genapply/GenApply.hs
rename to utils/genapply/GenApply.hs
diff --git a/ghc/utils/genapply/Makefile b/utils/genapply/Makefile
similarity index 92%
rename from ghc/utils/genapply/Makefile
rename to utils/genapply/Makefile
index 41084d6c5c661e0f6784bfa64aad10a96a717650..f9a10a22de117167427ac6e742b56548ccd14235 100644
--- a/ghc/utils/genapply/Makefile
+++ b/utils/genapply/Makefile
@@ -3,7 +3,7 @@ include $(TOP)/mk/boilerplate.mk
 
 HS_PROG = $(GHC_GENAPPLY_PGM)
 
-# genapply is needed to boot in ghc/rts...
+# genapply is needed to boot in rts/...
 ifneq "$(BootingFromHc)" "YES"
 boot :: all
 endif
diff --git a/glafp-utils/genargs/Makefile b/utils/genargs/Makefile
similarity index 100%
rename from glafp-utils/genargs/Makefile
rename to utils/genargs/Makefile
diff --git a/glafp-utils/genargs/genargs.pl b/utils/genargs/genargs.pl
similarity index 100%
rename from glafp-utils/genargs/genargs.pl
rename to utils/genargs/genargs.pl
diff --git a/ghc/utils/genprimopcode/Main.hs b/utils/genprimopcode/Main.hs
similarity index 100%
rename from ghc/utils/genprimopcode/Main.hs
rename to utils/genprimopcode/Main.hs
diff --git a/ghc/utils/genprimopcode/Makefile b/utils/genprimopcode/Makefile
similarity index 100%
rename from ghc/utils/genprimopcode/Makefile
rename to utils/genprimopcode/Makefile
diff --git a/ghc/utils/ghc-pkg/Main.hs b/utils/ghc-pkg/Main.hs
similarity index 100%
rename from ghc/utils/ghc-pkg/Main.hs
rename to utils/ghc-pkg/Main.hs
diff --git a/ghc/utils/ghc-pkg/Makefile b/utils/ghc-pkg/Makefile
similarity index 89%
rename from ghc/utils/ghc-pkg/Makefile
rename to utils/ghc-pkg/Makefile
index d513a91b1c78b7ed3cdbd4dfcccc1b80bddd9780..c8a075d5b76d5d896d6330eaf1f0df50c46d99dc 100644
--- a/ghc/utils/ghc-pkg/Makefile
+++ b/utils/ghc-pkg/Makefile
@@ -1,5 +1,3 @@
-# -----------------------------------------------------------------------------
-
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
@@ -12,7 +10,7 @@ INSTALLING=1
 SRC_HC_OPTS += -cpp -Wall -fno-warn-name-shadowing -fno-warn-unused-matches
 
 # This causes libghccompat.a to be used:
-include $(GHC_LIB_COMPAT_DIR)/compat.mk
+include $(GHC_COMPAT_DIR)/compat.mk
 
 # This is required because libghccompat.a must be built with
 # $(GhcHcOpts) because it is linked to the compiler, and hence
@@ -43,7 +41,7 @@ EXTRA_SRCS += $(VERSION_HS)
 
 boot :: $(VERSION_HS)
 
-Version.hs : Makefile $(TOP)/mk/version.mk
+Version.hs : Makefile $(TOP)/mk/config.mk
 	@$(RM) -f $(VERSION_HS)
 	@echo "Creating $(VERSION_HS) ... "
 	@echo "module Version where" >>$(VERSION_HS)
@@ -66,8 +64,8 @@ GHCPKGBIN=$(libexecdir)/$(HS_PROG)
 PKGCONF=$(libdir)/package.conf
 endif # BIN_DIST
 else
-GHCPKGBIN=$(FPTOOLS_TOP_ABS)/ghc/utils/ghc-pkg/$(HS_PROG)
-PKGCONF=$(FPTOOLS_TOP_ABS_PLATFORM)/ghc/driver/package.conf.inplace
+GHCPKGBIN=$(FPTOOLS_TOP_ABS)/utils/ghc-pkg/$(HS_PROG)
+PKGCONF=$(FPTOOLS_TOP_ABS_PLATFORM)/driver/package.conf.inplace
 endif
 
 ifneq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
@@ -102,7 +100,7 @@ clean distclean maintainer-clean ::
 	$(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@
 endif
 
-# ghc-pkg is needed to boot in ghc/rts and library dirs
+# ghc-pkg is needed to boot in rts/ and library dirs
 # Do a recursive 'make all' after generating dependencies, because this
 # will work with 'make -j'.
 ifneq "$(BootingFromHc)" "YES"
diff --git a/ghc/utils/ghc-pkg/ghc-pkg.sh b/utils/ghc-pkg/ghc-pkg.sh
similarity index 100%
rename from ghc/utils/ghc-pkg/ghc-pkg.sh
rename to utils/ghc-pkg/ghc-pkg.sh
diff --git a/ghc/utils/hasktags/HaskTags.hs b/utils/hasktags/HaskTags.hs
similarity index 100%
rename from ghc/utils/hasktags/HaskTags.hs
rename to utils/hasktags/HaskTags.hs
diff --git a/ghc/utils/hasktags/Makefile b/utils/hasktags/Makefile
similarity index 81%
rename from ghc/utils/hasktags/Makefile
rename to utils/hasktags/Makefile
index 59a03d8abd05386dbd5f0150d2049fd49929d5be..99afec685dea9a1b7d97fa47f0594e8a91fd4d4c 100644
--- a/ghc/utils/hasktags/Makefile
+++ b/utils/hasktags/Makefile
@@ -1,10 +1,6 @@
-
 TOP=../..
-
 include $(TOP)/mk/boilerplate.mk
 
-CURRENT_DIR=ghc/utils/hasktags
-
 HS_PROG = hasktags
 
 CLEAN_FILES += Main.hi
diff --git a/ghc/utils/hasktags/README b/utils/hasktags/README
similarity index 100%
rename from ghc/utils/hasktags/README
rename to utils/hasktags/README
diff --git a/ghc/utils/heap-view/Graph.lhs b/utils/heap-view/Graph.lhs
similarity index 100%
rename from ghc/utils/heap-view/Graph.lhs
rename to utils/heap-view/Graph.lhs
diff --git a/ghc/utils/heap-view/HaskXLib.c b/utils/heap-view/HaskXLib.c
similarity index 100%
rename from ghc/utils/heap-view/HaskXLib.c
rename to utils/heap-view/HaskXLib.c
diff --git a/ghc/utils/heap-view/HpView.lhs b/utils/heap-view/HpView.lhs
similarity index 100%
rename from ghc/utils/heap-view/HpView.lhs
rename to utils/heap-view/HpView.lhs
diff --git a/ghc/utils/heap-view/HpView2.lhs b/utils/heap-view/HpView2.lhs
similarity index 100%
rename from ghc/utils/heap-view/HpView2.lhs
rename to utils/heap-view/HpView2.lhs
diff --git a/ghc/utils/heap-view/MAIL b/utils/heap-view/MAIL
similarity index 100%
rename from ghc/utils/heap-view/MAIL
rename to utils/heap-view/MAIL
diff --git a/ghc/utils/heap-view/Makefile b/utils/heap-view/Makefile
similarity index 80%
rename from ghc/utils/heap-view/Makefile
rename to utils/heap-view/Makefile
index 2d8a819df33c84e573926271a55895e2173aa5ce..e8fa8faf087f17cb8f9257d87ae860358418aa88 100644
--- a/ghc/utils/heap-view/Makefile
+++ b/utils/heap-view/Makefile
@@ -1,8 +1,3 @@
-#---------------------------------------------------------------------
-# $Id: Makefile,v 1.3 1997/03/13 09:36:28 sof Exp $
-#
-#---------------------------------------------------------------------
-
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
diff --git a/ghc/utils/heap-view/Makefile.original b/utils/heap-view/Makefile.original
similarity index 100%
rename from ghc/utils/heap-view/Makefile.original
rename to utils/heap-view/Makefile.original
diff --git a/ghc/utils/heap-view/Parse.lhs b/utils/heap-view/Parse.lhs
similarity index 100%
rename from ghc/utils/heap-view/Parse.lhs
rename to utils/heap-view/Parse.lhs
diff --git a/ghc/utils/heap-view/README b/utils/heap-view/README
similarity index 100%
rename from ghc/utils/heap-view/README
rename to utils/heap-view/README
diff --git a/ghc/utils/heap-view/common-bits b/utils/heap-view/common-bits
similarity index 100%
rename from ghc/utils/heap-view/common-bits
rename to utils/heap-view/common-bits
diff --git a/ghc/utils/hp2ps/AreaBelow.c b/utils/hp2ps/AreaBelow.c
similarity index 100%
rename from ghc/utils/hp2ps/AreaBelow.c
rename to utils/hp2ps/AreaBelow.c
diff --git a/ghc/utils/hp2ps/AreaBelow.h b/utils/hp2ps/AreaBelow.h
similarity index 100%
rename from ghc/utils/hp2ps/AreaBelow.h
rename to utils/hp2ps/AreaBelow.h
diff --git a/ghc/utils/hp2ps/AuxFile.c b/utils/hp2ps/AuxFile.c
similarity index 100%
rename from ghc/utils/hp2ps/AuxFile.c
rename to utils/hp2ps/AuxFile.c
diff --git a/ghc/utils/hp2ps/AuxFile.h b/utils/hp2ps/AuxFile.h
similarity index 100%
rename from ghc/utils/hp2ps/AuxFile.h
rename to utils/hp2ps/AuxFile.h
diff --git a/ghc/utils/hp2ps/Axes.c b/utils/hp2ps/Axes.c
similarity index 100%
rename from ghc/utils/hp2ps/Axes.c
rename to utils/hp2ps/Axes.c
diff --git a/ghc/utils/hp2ps/Axes.h b/utils/hp2ps/Axes.h
similarity index 100%
rename from ghc/utils/hp2ps/Axes.h
rename to utils/hp2ps/Axes.h
diff --git a/ghc/utils/hp2ps/CHANGES b/utils/hp2ps/CHANGES
similarity index 100%
rename from ghc/utils/hp2ps/CHANGES
rename to utils/hp2ps/CHANGES
diff --git a/ghc/utils/hp2ps/Curves.c b/utils/hp2ps/Curves.c
similarity index 100%
rename from ghc/utils/hp2ps/Curves.c
rename to utils/hp2ps/Curves.c
diff --git a/ghc/utils/hp2ps/Curves.h b/utils/hp2ps/Curves.h
similarity index 100%
rename from ghc/utils/hp2ps/Curves.h
rename to utils/hp2ps/Curves.h
diff --git a/ghc/utils/hp2ps/Defines.h b/utils/hp2ps/Defines.h
similarity index 100%
rename from ghc/utils/hp2ps/Defines.h
rename to utils/hp2ps/Defines.h
diff --git a/ghc/utils/hp2ps/Deviation.c b/utils/hp2ps/Deviation.c
similarity index 100%
rename from ghc/utils/hp2ps/Deviation.c
rename to utils/hp2ps/Deviation.c
diff --git a/ghc/utils/hp2ps/Deviation.h b/utils/hp2ps/Deviation.h
similarity index 100%
rename from ghc/utils/hp2ps/Deviation.h
rename to utils/hp2ps/Deviation.h
diff --git a/ghc/utils/hp2ps/Dimensions.c b/utils/hp2ps/Dimensions.c
similarity index 100%
rename from ghc/utils/hp2ps/Dimensions.c
rename to utils/hp2ps/Dimensions.c
diff --git a/ghc/utils/hp2ps/Dimensions.h b/utils/hp2ps/Dimensions.h
similarity index 100%
rename from ghc/utils/hp2ps/Dimensions.h
rename to utils/hp2ps/Dimensions.h
diff --git a/ghc/utils/hp2ps/Error.c b/utils/hp2ps/Error.c
similarity index 100%
rename from ghc/utils/hp2ps/Error.c
rename to utils/hp2ps/Error.c
diff --git a/ghc/utils/hp2ps/Error.h b/utils/hp2ps/Error.h
similarity index 100%
rename from ghc/utils/hp2ps/Error.h
rename to utils/hp2ps/Error.h
diff --git a/ghc/utils/hp2ps/HpFile.c b/utils/hp2ps/HpFile.c
similarity index 100%
rename from ghc/utils/hp2ps/HpFile.c
rename to utils/hp2ps/HpFile.c
diff --git a/ghc/utils/hp2ps/HpFile.h b/utils/hp2ps/HpFile.h
similarity index 100%
rename from ghc/utils/hp2ps/HpFile.h
rename to utils/hp2ps/HpFile.h
diff --git a/ghc/utils/hp2ps/Key.c b/utils/hp2ps/Key.c
similarity index 100%
rename from ghc/utils/hp2ps/Key.c
rename to utils/hp2ps/Key.c
diff --git a/ghc/utils/hp2ps/Key.h b/utils/hp2ps/Key.h
similarity index 100%
rename from ghc/utils/hp2ps/Key.h
rename to utils/hp2ps/Key.h
diff --git a/ghc/utils/hp2ps/Main.c b/utils/hp2ps/Main.c
similarity index 100%
rename from ghc/utils/hp2ps/Main.c
rename to utils/hp2ps/Main.c
diff --git a/ghc/utils/hp2ps/Main.h b/utils/hp2ps/Main.h
similarity index 100%
rename from ghc/utils/hp2ps/Main.h
rename to utils/hp2ps/Main.h
diff --git a/ghc/utils/hp2ps/Makefile b/utils/hp2ps/Makefile
similarity index 100%
rename from ghc/utils/hp2ps/Makefile
rename to utils/hp2ps/Makefile
diff --git a/ghc/utils/hp2ps/Marks.c b/utils/hp2ps/Marks.c
similarity index 100%
rename from ghc/utils/hp2ps/Marks.c
rename to utils/hp2ps/Marks.c
diff --git a/ghc/utils/hp2ps/Marks.h b/utils/hp2ps/Marks.h
similarity index 100%
rename from ghc/utils/hp2ps/Marks.h
rename to utils/hp2ps/Marks.h
diff --git a/ghc/utils/hp2ps/PsFile.c b/utils/hp2ps/PsFile.c
similarity index 100%
rename from ghc/utils/hp2ps/PsFile.c
rename to utils/hp2ps/PsFile.c
diff --git a/ghc/utils/hp2ps/PsFile.h b/utils/hp2ps/PsFile.h
similarity index 100%
rename from ghc/utils/hp2ps/PsFile.h
rename to utils/hp2ps/PsFile.h
diff --git a/ghc/utils/hp2ps/README.GHC b/utils/hp2ps/README.GHC
similarity index 100%
rename from ghc/utils/hp2ps/README.GHC
rename to utils/hp2ps/README.GHC
diff --git a/ghc/utils/hp2ps/Reorder.c b/utils/hp2ps/Reorder.c
similarity index 100%
rename from ghc/utils/hp2ps/Reorder.c
rename to utils/hp2ps/Reorder.c
diff --git a/ghc/utils/hp2ps/Reorder.h b/utils/hp2ps/Reorder.h
similarity index 100%
rename from ghc/utils/hp2ps/Reorder.h
rename to utils/hp2ps/Reorder.h
diff --git a/ghc/utils/hp2ps/Scale.c b/utils/hp2ps/Scale.c
similarity index 100%
rename from ghc/utils/hp2ps/Scale.c
rename to utils/hp2ps/Scale.c
diff --git a/ghc/utils/hp2ps/Scale.h b/utils/hp2ps/Scale.h
similarity index 100%
rename from ghc/utils/hp2ps/Scale.h
rename to utils/hp2ps/Scale.h
diff --git a/ghc/utils/hp2ps/Shade.c b/utils/hp2ps/Shade.c
similarity index 100%
rename from ghc/utils/hp2ps/Shade.c
rename to utils/hp2ps/Shade.c
diff --git a/ghc/utils/hp2ps/Shade.h b/utils/hp2ps/Shade.h
similarity index 100%
rename from ghc/utils/hp2ps/Shade.h
rename to utils/hp2ps/Shade.h
diff --git a/ghc/utils/hp2ps/TopTwenty.c b/utils/hp2ps/TopTwenty.c
similarity index 100%
rename from ghc/utils/hp2ps/TopTwenty.c
rename to utils/hp2ps/TopTwenty.c
diff --git a/ghc/utils/hp2ps/TopTwenty.h b/utils/hp2ps/TopTwenty.h
similarity index 100%
rename from ghc/utils/hp2ps/TopTwenty.h
rename to utils/hp2ps/TopTwenty.h
diff --git a/ghc/utils/hp2ps/TraceElement.c b/utils/hp2ps/TraceElement.c
similarity index 100%
rename from ghc/utils/hp2ps/TraceElement.c
rename to utils/hp2ps/TraceElement.c
diff --git a/ghc/utils/hp2ps/TraceElement.h b/utils/hp2ps/TraceElement.h
similarity index 100%
rename from ghc/utils/hp2ps/TraceElement.h
rename to utils/hp2ps/TraceElement.h
diff --git a/ghc/utils/hp2ps/Utilities.c b/utils/hp2ps/Utilities.c
similarity index 100%
rename from ghc/utils/hp2ps/Utilities.c
rename to utils/hp2ps/Utilities.c
diff --git a/ghc/utils/hp2ps/Utilities.h b/utils/hp2ps/Utilities.h
similarity index 100%
rename from ghc/utils/hp2ps/Utilities.h
rename to utils/hp2ps/Utilities.h
diff --git a/ghc/utils/hp2ps/hp2ps.1 b/utils/hp2ps/hp2ps.1
similarity index 100%
rename from ghc/utils/hp2ps/hp2ps.1
rename to utils/hp2ps/hp2ps.1
diff --git a/ghc/utils/hp2ps/makefile.original b/utils/hp2ps/makefile.original
similarity index 100%
rename from ghc/utils/hp2ps/makefile.original
rename to utils/hp2ps/makefile.original
diff --git a/ghc/utils/hsc2hs/Main.hs b/utils/hsc2hs/Main.hs
similarity index 100%
rename from ghc/utils/hsc2hs/Main.hs
rename to utils/hsc2hs/Main.hs
diff --git a/ghc/utils/hsc2hs/Makefile b/utils/hsc2hs/Makefile
similarity index 92%
rename from ghc/utils/hsc2hs/Makefile
rename to utils/hsc2hs/Makefile
index ccaf68eec8b271c4beb92639ce6ccbb8b13f273c..0216983e08b0cc7ca760dd2487f4d2e43ebbb5eb 100644
--- a/ghc/utils/hsc2hs/Makefile
+++ b/utils/hsc2hs/Makefile
@@ -5,13 +5,10 @@
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
-CURRENT_DIR=ghc/utils/hsc2hs
-INCLUDE_DIR=ghc/includes
-
 INSTALLING=1
 
 # This causes libghccompat.a to be used:
-include $(GHC_LIB_COMPAT_DIR)/compat.mk
+include $(GHC_COMPAT_DIR)/compat.mk
 
 # This is required because libghccompat.a must be built with
 # $(GhcHcOpts) because it is linked to the compiler, and hence
@@ -59,14 +56,14 @@ HSC2HS_DIR=$(libdir)
 HSC2HS_EXTRA=--cc=$(bindir)/ghc-$(ProjectVersion)
 endif # BIN_DIST
 else
-HSC2HS_BINDIR=$(FPTOOLS_TOP_ABS)/$(CURRENT_DIR)
-HSC2HS_DIR=$(FPTOOLS_TOP_ABS_PLATFORM)/$(CURRENT_DIR)
+HSC2HS_BINDIR=$(FPTOOLS_TOP_ABS)/$(GHC_HSC2HS_DIR_REL)
+HSC2HS_DIR=$(FPTOOLS_TOP_ABS_PLATFORM)/$(GHC_HSC2HS_DIR_REL)
 
 ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
 extra_flags=$(addprefix --cflag=,$(filter-out -O,$(SRC_CC_OPTS)))
 endif
 
-HSC2HS_EXTRA="--cc=$(CC) --ld=$(CC) $(extra_flags) --cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt) -I$(FPTOOLS_TOP_ABS_PLATFORM)/$(INCLUDE_DIR)"
+HSC2HS_EXTRA="--cc=$(CC) --ld=$(CC) $(extra_flags) --cflag=-D__GLASGOW_HASKELL__=$(ProjectVersionInt) -I$(FPTOOLS_TOP_ABS_PLATFORM)/$(GHC_INCLUDE_DIR_REL)"
 endif
 
 $(SCRIPT_PROG) : Makefile
diff --git a/ghc/utils/hsc2hs/Makefile.inc b/utils/hsc2hs/Makefile.inc
similarity index 100%
rename from ghc/utils/hsc2hs/Makefile.inc
rename to utils/hsc2hs/Makefile.inc
diff --git a/ghc/utils/hsc2hs/Makefile.nhc98 b/utils/hsc2hs/Makefile.nhc98
similarity index 100%
rename from ghc/utils/hsc2hs/Makefile.nhc98
rename to utils/hsc2hs/Makefile.nhc98
diff --git a/ghc/utils/hsc2hs/hsc2hs.sh b/utils/hsc2hs/hsc2hs.sh
similarity index 100%
rename from ghc/utils/hsc2hs/hsc2hs.sh
rename to utils/hsc2hs/hsc2hs.sh
diff --git a/ghc/utils/hsc2hs/template-hsc.h b/utils/hsc2hs/template-hsc.h
similarity index 100%
rename from ghc/utils/hsc2hs/template-hsc.h
rename to utils/hsc2hs/template-hsc.h
diff --git a/ghc/utils/hstags/Makefile b/utils/hstags/Makefile
similarity index 100%
rename from ghc/utils/hstags/Makefile
rename to utils/hstags/Makefile
diff --git a/ghc/utils/hstags/README b/utils/hstags/README
similarity index 100%
rename from ghc/utils/hstags/README
rename to utils/hstags/README
diff --git a/ghc/utils/hstags/hstags-help.c b/utils/hstags/hstags-help.c
similarity index 100%
rename from ghc/utils/hstags/hstags-help.c
rename to utils/hstags/hstags-help.c
diff --git a/ghc/utils/hstags/hstags.prl b/utils/hstags/hstags.prl
similarity index 100%
rename from ghc/utils/hstags/hstags.prl
rename to utils/hstags/hstags.prl
diff --git a/ghc/utils/hstags/prefix.txt b/utils/hstags/prefix.txt
similarity index 100%
rename from ghc/utils/hstags/prefix.txt
rename to utils/hstags/prefix.txt
diff --git a/glafp-utils/lndir/Makefile b/utils/lndir/Makefile
similarity index 97%
rename from glafp-utils/lndir/Makefile
rename to utils/lndir/Makefile
index d85f92cf7e3ad22e95ecbdbe12a8e811c169bfe5..c8223df094dbe3dea306d1180dea1f807a6412db 100644
--- a/glafp-utils/lndir/Makefile
+++ b/utils/lndir/Makefile
@@ -1,4 +1,4 @@
-TOP=..
+TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
 C_SRCS=lndir.c
diff --git a/glafp-utils/lndir/lndir-Xos.h b/utils/lndir/lndir-Xos.h
similarity index 100%
rename from glafp-utils/lndir/lndir-Xos.h
rename to utils/lndir/lndir-Xos.h
diff --git a/glafp-utils/lndir/lndir-Xosdefs.h b/utils/lndir/lndir-Xosdefs.h
similarity index 100%
rename from glafp-utils/lndir/lndir-Xosdefs.h
rename to utils/lndir/lndir-Xosdefs.h
diff --git a/glafp-utils/lndir/lndir.c b/utils/lndir/lndir.c
similarity index 100%
rename from glafp-utils/lndir/lndir.c
rename to utils/lndir/lndir.c
diff --git a/glafp-utils/ltx/Makefile b/utils/ltx/Makefile
similarity index 95%
rename from glafp-utils/ltx/Makefile
rename to utils/ltx/Makefile
index 6271c07b42388b3aa47f88c074a1757afde90e06..480fa0d812cf1969c7961a01eb1b1983806cca32 100644
--- a/glafp-utils/ltx/Makefile
+++ b/utils/ltx/Makefile
@@ -1,4 +1,4 @@
-TOP=..
+TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
 SCRIPT_PROG=ltx
diff --git a/glafp-utils/ltx/ltx.prl b/utils/ltx/ltx.prl
similarity index 100%
rename from glafp-utils/ltx/ltx.prl
rename to utils/ltx/ltx.prl
diff --git a/glafp-utils/mkdependC/Makefile b/utils/mkdependC/Makefile
similarity index 97%
rename from glafp-utils/mkdependC/Makefile
rename to utils/mkdependC/Makefile
index 9a96fdf276d802651361ea4d77d2790b669c76b9..9b07685bb3e34beae318c792f7b590c37463c344 100644
--- a/glafp-utils/mkdependC/Makefile
+++ b/utils/mkdependC/Makefile
@@ -2,7 +2,7 @@
 # Boilerplate Makefile for building perl script that
 # needs some configured constants prepended to it.
 #
-TOP=..
+TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
 boot :: all
diff --git a/glafp-utils/mkdependC/mkdependC.prl b/utils/mkdependC/mkdependC.prl
similarity index 100%
rename from glafp-utils/mkdependC/mkdependC.prl
rename to utils/mkdependC/mkdependC.prl
diff --git a/glafp-utils/mkdirhier/Makefile b/utils/mkdirhier/Makefile
similarity index 87%
rename from glafp-utils/mkdirhier/Makefile
rename to utils/mkdirhier/Makefile
index 8ae4c4a50f80a8271d464c4d9f9c1f0290a96563..f698112dbbb2af492ba44cc527798d46f15d22b0 100644
--- a/glafp-utils/mkdirhier/Makefile
+++ b/utils/mkdirhier/Makefile
@@ -1,9 +1,8 @@
-#
-#
-
-TOP=..
+TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
+boot :: all
+
 SCRIPT_PROG=mkdirhier
 SCRIPT_OBJS=mkdirhier.sh
 INTERP=$(SHELL)
diff --git a/glafp-utils/mkdirhier/mkdirhier.sh b/utils/mkdirhier/mkdirhier.sh
similarity index 100%
rename from glafp-utils/mkdirhier/mkdirhier.sh
rename to utils/mkdirhier/mkdirhier.sh
diff --git a/glafp-utils/nofib-analyse/CmdLine.hs b/utils/nofib-analyse/CmdLine.hs
similarity index 100%
rename from glafp-utils/nofib-analyse/CmdLine.hs
rename to utils/nofib-analyse/CmdLine.hs
diff --git a/glafp-utils/nofib-analyse/GenUtils.lhs b/utils/nofib-analyse/GenUtils.lhs
similarity index 100%
rename from glafp-utils/nofib-analyse/GenUtils.lhs
rename to utils/nofib-analyse/GenUtils.lhs
diff --git a/glafp-utils/nofib-analyse/Main.hs b/utils/nofib-analyse/Main.hs
similarity index 100%
rename from glafp-utils/nofib-analyse/Main.hs
rename to utils/nofib-analyse/Main.hs
diff --git a/glafp-utils/nofib-analyse/Makefile b/utils/nofib-analyse/Makefile
similarity index 51%
rename from glafp-utils/nofib-analyse/Makefile
rename to utils/nofib-analyse/Makefile
index 01323bf0b15f7d7277afc481e87f1278e83b05ea..155b8df978dac226d7ed33f066fde48b18f3554f 100644
--- a/glafp-utils/nofib-analyse/Makefile
+++ b/utils/nofib-analyse/Makefile
@@ -1,8 +1,4 @@
-# -----------------------------------------------------------------------------
-# $Id: Makefile,v 1.6 2005/06/07 10:58:31 simonmar Exp $
-# (c) Simon Marlow 1999-2000
-
-TOP=..
+TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
 SRC_HC_OPTS    += -fglasgow-exts -package util -package data -package text -cpp -package lang
diff --git a/glafp-utils/nofib-analyse/Printf.lhs b/utils/nofib-analyse/Printf.lhs
similarity index 100%
rename from glafp-utils/nofib-analyse/Printf.lhs
rename to utils/nofib-analyse/Printf.lhs
diff --git a/glafp-utils/nofib-analyse/Slurp.hs b/utils/nofib-analyse/Slurp.hs
similarity index 100%
rename from glafp-utils/nofib-analyse/Slurp.hs
rename to utils/nofib-analyse/Slurp.hs
diff --git a/ghc/utils/parallel/AVG.pl b/utils/parallel/AVG.pl
similarity index 100%
rename from ghc/utils/parallel/AVG.pl
rename to utils/parallel/AVG.pl
diff --git a/ghc/utils/parallel/GrAnSim.el b/utils/parallel/GrAnSim.el
similarity index 100%
rename from ghc/utils/parallel/GrAnSim.el
rename to utils/parallel/GrAnSim.el
diff --git a/ghc/utils/parallel/Makefile b/utils/parallel/Makefile
similarity index 100%
rename from ghc/utils/parallel/Makefile
rename to utils/parallel/Makefile
diff --git a/ghc/utils/parallel/RTS2gran.pl b/utils/parallel/RTS2gran.pl
similarity index 100%
rename from ghc/utils/parallel/RTS2gran.pl
rename to utils/parallel/RTS2gran.pl
diff --git a/ghc/utils/parallel/SN.pl b/utils/parallel/SN.pl
similarity index 100%
rename from ghc/utils/parallel/SN.pl
rename to utils/parallel/SN.pl
diff --git a/ghc/utils/parallel/SPLIT.pl b/utils/parallel/SPLIT.pl
similarity index 100%
rename from ghc/utils/parallel/SPLIT.pl
rename to utils/parallel/SPLIT.pl
diff --git a/ghc/utils/parallel/avg-RTS.pl b/utils/parallel/avg-RTS.pl
similarity index 100%
rename from ghc/utils/parallel/avg-RTS.pl
rename to utils/parallel/avg-RTS.pl
diff --git a/ghc/utils/parallel/get_SN.pl b/utils/parallel/get_SN.pl
similarity index 100%
rename from ghc/utils/parallel/get_SN.pl
rename to utils/parallel/get_SN.pl
diff --git a/ghc/utils/parallel/ghc-fool-sort.pl b/utils/parallel/ghc-fool-sort.pl
similarity index 100%
rename from ghc/utils/parallel/ghc-fool-sort.pl
rename to utils/parallel/ghc-fool-sort.pl
diff --git a/ghc/utils/parallel/ghc-unfool-sort.pl b/utils/parallel/ghc-unfool-sort.pl
similarity index 100%
rename from ghc/utils/parallel/ghc-unfool-sort.pl
rename to utils/parallel/ghc-unfool-sort.pl
diff --git a/ghc/utils/parallel/gp-ext-imp.pl b/utils/parallel/gp-ext-imp.pl
similarity index 100%
rename from ghc/utils/parallel/gp-ext-imp.pl
rename to utils/parallel/gp-ext-imp.pl
diff --git a/ghc/utils/parallel/gr2RTS.pl b/utils/parallel/gr2RTS.pl
similarity index 100%
rename from ghc/utils/parallel/gr2RTS.pl
rename to utils/parallel/gr2RTS.pl
diff --git a/ghc/utils/parallel/gr2ap.bash b/utils/parallel/gr2ap.bash
similarity index 100%
rename from ghc/utils/parallel/gr2ap.bash
rename to utils/parallel/gr2ap.bash
diff --git a/ghc/utils/parallel/gr2gran.bash b/utils/parallel/gr2gran.bash
similarity index 100%
rename from ghc/utils/parallel/gr2gran.bash
rename to utils/parallel/gr2gran.bash
diff --git a/ghc/utils/parallel/gr2java.pl b/utils/parallel/gr2java.pl
similarity index 100%
rename from ghc/utils/parallel/gr2java.pl
rename to utils/parallel/gr2java.pl
diff --git a/ghc/utils/parallel/gr2jv.bash b/utils/parallel/gr2jv.bash
similarity index 100%
rename from ghc/utils/parallel/gr2jv.bash
rename to utils/parallel/gr2jv.bash
diff --git a/ghc/utils/parallel/gr2pe.pl b/utils/parallel/gr2pe.pl
similarity index 100%
rename from ghc/utils/parallel/gr2pe.pl
rename to utils/parallel/gr2pe.pl
diff --git a/ghc/utils/parallel/gr2ps.bash b/utils/parallel/gr2ps.bash
similarity index 100%
rename from ghc/utils/parallel/gr2ps.bash
rename to utils/parallel/gr2ps.bash
diff --git a/ghc/utils/parallel/gr2qp.pl b/utils/parallel/gr2qp.pl
similarity index 100%
rename from ghc/utils/parallel/gr2qp.pl
rename to utils/parallel/gr2qp.pl
diff --git a/ghc/utils/parallel/gran-extr.pl b/utils/parallel/gran-extr.pl
similarity index 100%
rename from ghc/utils/parallel/gran-extr.pl
rename to utils/parallel/gran-extr.pl
diff --git a/ghc/utils/parallel/grs2gr.pl b/utils/parallel/grs2gr.pl
similarity index 100%
rename from ghc/utils/parallel/grs2gr.pl
rename to utils/parallel/grs2gr.pl
diff --git a/ghc/utils/parallel/par-aux.pl b/utils/parallel/par-aux.pl
similarity index 100%
rename from ghc/utils/parallel/par-aux.pl
rename to utils/parallel/par-aux.pl
diff --git a/ghc/utils/parallel/ps-scale-y.pl b/utils/parallel/ps-scale-y.pl
similarity index 100%
rename from ghc/utils/parallel/ps-scale-y.pl
rename to utils/parallel/ps-scale-y.pl
diff --git a/ghc/utils/parallel/qp2ap.pl b/utils/parallel/qp2ap.pl
similarity index 100%
rename from ghc/utils/parallel/qp2ap.pl
rename to utils/parallel/qp2ap.pl
diff --git a/ghc/utils/parallel/qp2ps.pl b/utils/parallel/qp2ps.pl
similarity index 100%
rename from ghc/utils/parallel/qp2ps.pl
rename to utils/parallel/qp2ps.pl
diff --git a/ghc/utils/parallel/sn_filter.pl b/utils/parallel/sn_filter.pl
similarity index 100%
rename from ghc/utils/parallel/sn_filter.pl
rename to utils/parallel/sn_filter.pl
diff --git a/ghc/utils/parallel/stats.pl b/utils/parallel/stats.pl
similarity index 100%
rename from ghc/utils/parallel/stats.pl
rename to utils/parallel/stats.pl
diff --git a/ghc/utils/parallel/template.pl b/utils/parallel/template.pl
similarity index 100%
rename from ghc/utils/parallel/template.pl
rename to utils/parallel/template.pl
diff --git a/ghc/utils/parallel/tf.pl b/utils/parallel/tf.pl
similarity index 100%
rename from ghc/utils/parallel/tf.pl
rename to utils/parallel/tf.pl
diff --git a/ghc/utils/prof/Makefile b/utils/prof/Makefile
similarity index 81%
rename from ghc/utils/prof/Makefile
rename to utils/prof/Makefile
index 7887be7f1ddcd5018a171a3dc6a9b2c4439e8b59..994d8c83f5bf8f7c3448ed12e12eea4c62332aa5 100644
--- a/ghc/utils/prof/Makefile
+++ b/utils/prof/Makefile
@@ -1,9 +1,3 @@
-#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.5 2000/09/05 10:16:41 simonmar Exp $
-#
-# (c) The GHC Team, 2000
-#
-
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
diff --git a/utils/prof/cgprof/Makefile b/utils/prof/cgprof/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..17c567537a6a8000f9911bccc319d26dc2740ce5
--- /dev/null
+++ b/utils/prof/cgprof/Makefile
@@ -0,0 +1,9 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+
+C_PROG = cgprof
+INSTALL_LIBEXECS=$(C_PROG)
+
+SRC_CC_OPTS += -Wall -I$(GHC_INCLUDE_DIR)
+
+include $(TOP)/mk/target.mk
diff --git a/ghc/utils/prof/cgprof/README b/utils/prof/cgprof/README
similarity index 100%
rename from ghc/utils/prof/cgprof/README
rename to utils/prof/cgprof/README
diff --git a/ghc/utils/prof/cgprof/cgprof.c b/utils/prof/cgprof/cgprof.c
similarity index 100%
rename from ghc/utils/prof/cgprof/cgprof.c
rename to utils/prof/cgprof/cgprof.c
diff --git a/ghc/utils/prof/cgprof/cgprof.h b/utils/prof/cgprof/cgprof.h
similarity index 100%
rename from ghc/utils/prof/cgprof/cgprof.h
rename to utils/prof/cgprof/cgprof.h
diff --git a/ghc/utils/prof/cgprof/daVinci.c b/utils/prof/cgprof/daVinci.c
similarity index 100%
rename from ghc/utils/prof/cgprof/daVinci.c
rename to utils/prof/cgprof/daVinci.c
diff --git a/ghc/utils/prof/cgprof/daVinci.h b/utils/prof/cgprof/daVinci.h
similarity index 100%
rename from ghc/utils/prof/cgprof/daVinci.h
rename to utils/prof/cgprof/daVinci.h
diff --git a/ghc/utils/prof/cgprof/main.c b/utils/prof/cgprof/main.c
similarity index 100%
rename from ghc/utils/prof/cgprof/main.c
rename to utils/prof/cgprof/main.c
diff --git a/ghc/utils/prof/cgprof/matrix.c b/utils/prof/cgprof/matrix.c
similarity index 100%
rename from ghc/utils/prof/cgprof/matrix.c
rename to utils/prof/cgprof/matrix.c
diff --git a/ghc/utils/prof/cgprof/matrix.h b/utils/prof/cgprof/matrix.h
similarity index 100%
rename from ghc/utils/prof/cgprof/matrix.h
rename to utils/prof/cgprof/matrix.h
diff --git a/ghc/utils/prof/cgprof/symbol.c b/utils/prof/cgprof/symbol.c
similarity index 100%
rename from ghc/utils/prof/cgprof/symbol.c
rename to utils/prof/cgprof/symbol.c
diff --git a/ghc/utils/prof/cgprof/symbol.h b/utils/prof/cgprof/symbol.h
similarity index 100%
rename from ghc/utils/prof/cgprof/symbol.h
rename to utils/prof/cgprof/symbol.h
diff --git a/ghc/utils/prof/ghcprof.prl b/utils/prof/ghcprof.prl
similarity index 100%
rename from ghc/utils/prof/ghcprof.prl
rename to utils/prof/ghcprof.prl
diff --git a/utils/prof/icons/Makefile b/utils/prof/icons/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..fde1b16d3aa0d25269c107d636b46382ccf425a2
--- /dev/null
+++ b/utils/prof/icons/Makefile
@@ -0,0 +1,7 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+
+override datadir=$(libdir)/icons
+INSTALL_DATAS=$(wildcard *.xbm)
+
+include $(TOP)/mk/target.mk
diff --git a/ghc/utils/prof/icons/absdelta.xbm b/utils/prof/icons/absdelta.xbm
similarity index 100%
rename from ghc/utils/prof/icons/absdelta.xbm
rename to utils/prof/icons/absdelta.xbm
diff --git a/ghc/utils/prof/icons/absolute.xbm b/utils/prof/icons/absolute.xbm
similarity index 100%
rename from ghc/utils/prof/icons/absolute.xbm
rename to utils/prof/icons/absolute.xbm
diff --git a/ghc/utils/prof/icons/comm.xbm b/utils/prof/icons/comm.xbm
similarity index 100%
rename from ghc/utils/prof/icons/comm.xbm
rename to utils/prof/icons/comm.xbm
diff --git a/ghc/utils/prof/icons/commslack.xbm b/utils/prof/icons/commslack.xbm
similarity index 100%
rename from ghc/utils/prof/icons/commslack.xbm
rename to utils/prof/icons/commslack.xbm
diff --git a/ghc/utils/prof/icons/comp.xbm b/utils/prof/icons/comp.xbm
similarity index 100%
rename from ghc/utils/prof/icons/comp.xbm
rename to utils/prof/icons/comp.xbm
diff --git a/ghc/utils/prof/icons/compress.xbm b/utils/prof/icons/compress.xbm
similarity index 100%
rename from ghc/utils/prof/icons/compress.xbm
rename to utils/prof/icons/compress.xbm
diff --git a/ghc/utils/prof/icons/compslack.xbm b/utils/prof/icons/compslack.xbm
similarity index 100%
rename from ghc/utils/prof/icons/compslack.xbm
rename to utils/prof/icons/compslack.xbm
diff --git a/ghc/utils/prof/icons/delete.xbm b/utils/prof/icons/delete.xbm
similarity index 100%
rename from ghc/utils/prof/icons/delete.xbm
rename to utils/prof/icons/delete.xbm
diff --git a/ghc/utils/prof/icons/help.xbm b/utils/prof/icons/help.xbm
similarity index 100%
rename from ghc/utils/prof/icons/help.xbm
rename to utils/prof/icons/help.xbm
diff --git a/ghc/utils/prof/icons/hrel.xbm b/utils/prof/icons/hrel.xbm
similarity index 100%
rename from ghc/utils/prof/icons/hrel.xbm
rename to utils/prof/icons/hrel.xbm
diff --git a/ghc/utils/prof/icons/hrelslack.xbm b/utils/prof/icons/hrelslack.xbm
similarity index 100%
rename from ghc/utils/prof/icons/hrelslack.xbm
rename to utils/prof/icons/hrelslack.xbm
diff --git a/ghc/utils/prof/icons/jump.xbm b/utils/prof/icons/jump.xbm
similarity index 100%
rename from ghc/utils/prof/icons/jump.xbm
rename to utils/prof/icons/jump.xbm
diff --git a/ghc/utils/prof/icons/mycomm.xbm b/utils/prof/icons/mycomm.xbm
similarity index 100%
rename from ghc/utils/prof/icons/mycomm.xbm
rename to utils/prof/icons/mycomm.xbm
diff --git a/ghc/utils/prof/icons/oxpara.xbm b/utils/prof/icons/oxpara.xbm
similarity index 100%
rename from ghc/utils/prof/icons/oxpara.xbm
rename to utils/prof/icons/oxpara.xbm
diff --git a/ghc/utils/prof/icons/percent.xbm b/utils/prof/icons/percent.xbm
similarity index 100%
rename from ghc/utils/prof/icons/percent.xbm
rename to utils/prof/icons/percent.xbm
diff --git a/ghc/utils/prof/icons/reldelta.xbm b/utils/prof/icons/reldelta.xbm
similarity index 100%
rename from ghc/utils/prof/icons/reldelta.xbm
rename to utils/prof/icons/reldelta.xbm
diff --git a/ghc/utils/prof/icons/sync.xbm b/utils/prof/icons/sync.xbm
similarity index 100%
rename from ghc/utils/prof/icons/sync.xbm
rename to utils/prof/icons/sync.xbm
diff --git a/ghc/utils/prof/icons/time.xbm b/utils/prof/icons/time.xbm
similarity index 100%
rename from ghc/utils/prof/icons/time.xbm
rename to utils/prof/icons/time.xbm
diff --git a/ghc/utils/prof/icons/time1.xbm b/utils/prof/icons/time1.xbm
similarity index 100%
rename from ghc/utils/prof/icons/time1.xbm
rename to utils/prof/icons/time1.xbm
diff --git a/ghc/utils/prof/icons/uncompress.xbm b/utils/prof/icons/uncompress.xbm
similarity index 100%
rename from ghc/utils/prof/icons/uncompress.xbm
rename to utils/prof/icons/uncompress.xbm
diff --git a/ghc/utils/prof/icons/undo.xbm b/utils/prof/icons/undo.xbm
similarity index 100%
rename from ghc/utils/prof/icons/undo.xbm
rename to utils/prof/icons/undo.xbm
diff --git a/ghc/utils/prof/icons/wait.xbm b/utils/prof/icons/wait.xbm
similarity index 100%
rename from ghc/utils/prof/icons/wait.xbm
rename to utils/prof/icons/wait.xbm
diff --git a/ghc/utils/prof/icons/weightdelta.xbm b/utils/prof/icons/weightdelta.xbm
similarity index 100%
rename from ghc/utils/prof/icons/weightdelta.xbm
rename to utils/prof/icons/weightdelta.xbm
diff --git a/ghc/utils/pvm/README b/utils/pvm/README
similarity index 100%
rename from ghc/utils/pvm/README
rename to utils/pvm/README
diff --git a/ghc/utils/pvm/debugger.emacs b/utils/pvm/debugger.emacs
similarity index 100%
rename from ghc/utils/pvm/debugger.emacs
rename to utils/pvm/debugger.emacs
diff --git a/ghc/utils/pvm/debugger2 b/utils/pvm/debugger2
similarity index 100%
rename from ghc/utils/pvm/debugger2
rename to utils/pvm/debugger2
diff --git a/ghc/utils/runghc/Makefile b/utils/runghc/Makefile
similarity index 94%
rename from ghc/utils/runghc/Makefile
rename to utils/runghc/Makefile
index fd1831330563648673ca50f77d84403449cf5903..90e49495302b3049ea83a885e9bcc6eaa3d0323f 100644
--- a/ghc/utils/runghc/Makefile
+++ b/utils/runghc/Makefile
@@ -8,7 +8,7 @@ UseGhcForCc = YES
 SRC_MKDEPENDC_OPTS += -I$(GHC_INCLUDE_DIR)
 
 # This causes libghccompat.a to be used:
-include $(GHC_LIB_COMPAT_DIR)/compat.mk
+include $(GHC_COMPAT_DIR)/compat.mk
 
 # This is required because libghccompat.a must be built with
 # $(GhcHcOpts) because it is linked to the compiler, and hence
diff --git a/ghc/utils/runghc/runghc.hs b/utils/runghc/runghc.hs
similarity index 100%
rename from ghc/utils/runghc/runghc.hs
rename to utils/runghc/runghc.hs
diff --git a/glafp-utils/runstdtest/Makefile b/utils/runstdtest/Makefile
similarity index 77%
rename from glafp-utils/runstdtest/Makefile
rename to utils/runstdtest/Makefile
index ec2f66abc7615393f547c22d0ea43c5a86ccdef4..0bd2babfc2bc4ecd8a2c33dd7f52e8d0412ded8d 100644
--- a/glafp-utils/runstdtest/Makefile
+++ b/utils/runstdtest/Makefile
@@ -1,7 +1,4 @@
-# $Id: Makefile,v 1.5 2000/09/05 10:16:41 simonmar Exp $
-#
-
-TOP=..
+TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
 SCRIPT_PROG=runstdtest
diff --git a/glafp-utils/runstdtest/runstdtest.prl b/utils/runstdtest/runstdtest.prl
similarity index 100%
rename from glafp-utils/runstdtest/runstdtest.prl
rename to utils/runstdtest/runstdtest.prl
diff --git a/ghc/utils/stat2resid/Makefile b/utils/stat2resid/Makefile
similarity index 88%
rename from ghc/utils/stat2resid/Makefile
rename to utils/stat2resid/Makefile
index 42c0c4107f0d818478464117aea34dacef83f622..f474f5229ddb56fc511b0b3f68f8f5025a514753 100644
--- a/ghc/utils/stat2resid/Makefile
+++ b/utils/stat2resid/Makefile
@@ -1,6 +1,3 @@
-#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.11 2000/09/05 10:16:41 simonmar Exp $
-
 TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
diff --git a/ghc/utils/stat2resid/parse-gcstats.prl b/utils/stat2resid/parse-gcstats.prl
similarity index 100%
rename from ghc/utils/stat2resid/parse-gcstats.prl
rename to utils/stat2resid/parse-gcstats.prl
diff --git a/ghc/utils/stat2resid/prefix.txt b/utils/stat2resid/prefix.txt
similarity index 100%
rename from ghc/utils/stat2resid/prefix.txt
rename to utils/stat2resid/prefix.txt
diff --git a/ghc/utils/stat2resid/process-gcstats.prl b/utils/stat2resid/process-gcstats.prl
similarity index 100%
rename from ghc/utils/stat2resid/process-gcstats.prl
rename to utils/stat2resid/process-gcstats.prl
diff --git a/ghc/utils/stat2resid/stat2resid.prl b/utils/stat2resid/stat2resid.prl
similarity index 100%
rename from ghc/utils/stat2resid/stat2resid.prl
rename to utils/stat2resid/stat2resid.prl
diff --git a/ghc/utils/touchy/Makefile b/utils/touchy/Makefile
similarity index 100%
rename from ghc/utils/touchy/Makefile
rename to utils/touchy/Makefile
diff --git a/ghc/utils/touchy/touchy.c b/utils/touchy/touchy.c
similarity index 100%
rename from ghc/utils/touchy/touchy.c
rename to utils/touchy/touchy.c
diff --git a/ghc/utils/unlit/Makefile b/utils/unlit/Makefile
similarity index 100%
rename from ghc/utils/unlit/Makefile
rename to utils/unlit/Makefile
diff --git a/ghc/utils/unlit/README b/utils/unlit/README
similarity index 100%
rename from ghc/utils/unlit/README
rename to utils/unlit/README
diff --git a/ghc/utils/unlit/unlit.c b/utils/unlit/unlit.c
similarity index 100%
rename from ghc/utils/unlit/unlit.c
rename to utils/unlit/unlit.c
diff --git a/glafp-utils/verbatim/Makefile b/utils/verbatim/Makefile
similarity index 96%
rename from glafp-utils/verbatim/Makefile
rename to utils/verbatim/Makefile
index eb40f0d1a36c1437d62abdca3409e82536e962a7..4a4301dfe0823879b8b0151f081902283723c775 100644
--- a/glafp-utils/verbatim/Makefile
+++ b/utils/verbatim/Makefile
@@ -1,4 +1,4 @@
-TOP=..
+TOP=../..
 include $(TOP)/mk/boilerplate.mk
 
 C_SRCS = verbatim.c
diff --git a/glafp-utils/verbatim/verbatim.lex b/utils/verbatim/verbatim.lex
similarity index 100%
rename from glafp-utils/verbatim/verbatim.lex
rename to utils/verbatim/verbatim.lex